You are on page 1of 42

OPTIMIZATION OF DELAY AND MAXIMIZATION OF AVERAGE REVENUE SUBJECTED TO MINIMUM BANDWIDTH CONSTRAINT IN WIRELESS COMMUNICATION MESH NETWORKS

Major Project-I Report Submitted in partial fulfilment of the requirements for the award of the degree BACHELOR OF TECHNOLOGY IN ELECTRICAL AND ELECTRONICS ENGINEERING BY
ABHISHEK VERMA (09EE03) CHIRAG MAHAPATRA (09EE30) JITESH AGARWAL (09EE42) MANTHAN PANCHOLI (09EE65) ROHAN GUPTA (09EE79)

Under the guidance of Dr. ASHVINI CHATURVEDI


DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA, SURATHKAL SRINIVASNAGAR-575025, KARNATAKA, INDIA DECEMBER, 2012

DECLARATION

We hereby declare that the project work report entitled Optimization of Delay and Maximization of Average Revenue Subjected to Minimum Bandwidth Constraint in Wireless Communication Mesh Networks which is being submitted to the National Institute of Technology Karnataka, Surathkal for the award of the Degree of Bachelor of Technology in Electrical and Electronics Engineering is a bonafide report of the work carried out by us. The material contained in this report has not been submitted to any university or institution for the award of any degree.

SI. NO. 1 2 3 4 5

NAME

ROLL NO. 09EE03 09EE30 09EE42 09EE65 09EE79

Signature

Abhishek Verma
Chirag Mahapatra Jitesh Agarwal Manthan Pancholi Rohan Gupta

Department of Electrical and Electronics Engineering

PLACE : NITK, SURATHKAL DATE : 4th December, 2012

CERTIFICATE

This is to certify that the B-tech project work report entitled Optimization of Delay and Maximization of Average Revenue subjected to minimum bandwidth constraint in Wireless Communication Mesh Networks submitted by:

SI. NO. 1 2 3 4 5

NAME Abhishek Verma Chirag Mahapatra Jitesh Agarwal Manthan Pancholi Rohan Gupta

ROLL NO. 09EE03 09EE30 09EE42 09EE65 09EE79

As the record of the work carried out by them, is accepted as the B-Tech. Project Work Report Submission, in partial fulfilment of the requirements for the award of Degree of Bachelor of Technology in Electrical and Electronics Engineering.

Dr. ASHVINI CHATURVEDI Project Guide, Department of Electrical and Electronics Engineering, National Institute of Technology Karnataka, Surathkal

Dr. K.P VITTAL Head of the Department, Department of Electrical and Electronics Engineering, National Institute of Technology Karnataka, Surathkal

ACKNOWLEDGEMENT

The extensive endeavour, bliss and euphoria to accomplish the task certainly would not have been realized without the expression and gratitude of people who made it possible. We take this opportunity to acknowledge all those whose support and encouragement has helped us in tuning this project. We are grateful to our guide, Dr. Ashvini Chaturvedi, department of Electrical and Electronics Engineering for not only providing us opportunity to showcase but also all facilities and experience in the completion of this project. He bestowed his guidance at appropriate times without which it would have been very difficult for us to complete the project. An assemblage of this nature could never have been attempted without the support of our guide.

Our thanks are also due to Prof. K.P. Vittal, the head of the Electrical and Electronics department who has allowed us use of the facilities at the department.

Abhishek Verma (09EE03) Chirag Mahapatra (09EE30) Jitesh Agarwal (09EE42) Manthan Pancholi (09EE65) Rohan Gupta (09EE79)

INDEX

Serial No

Topic

Page No.

1. 2. 3. 4.

Abstract Introduction Motivation Literature Survey Paper 1: WiFi access point pricing as a dynamic game. by J. Musacchio and J. Walrand. Paper 2: Market Models and Pricing Mechanisms in a Multihop Wireless Hotspot Network. by Kai Chen, Zhenyu Yang, Christian Wagener, Klara Nahrstedt Paper 3: Efficient multicast routing with delay constraints., by G. Feng and T.S.P. Yum, International Journal of Communication Systems Paper 4: A Delay-Constrained Shortest Path Algorithm for Multicast Routing in Multimedia Applications. by M.F. Mokbel, W.A. El-Haweet, M.N. ElDerini

1 1 2 2

5. 6. 7. 8. 9.

Part A Part B Appendix I Appendix II Reference

8 15 22 31 37

ABSTRACT
The development of wireless LAN technologies offers a novel platform for internet service resale via wireless community mesh networks that provide high network coverage and lower infrastructure cost. In a wireless community mesh network, access point functions as both the Internet service provider and Internet access provider to the mesh network neighbours (endusers) since the upstream Internet service providers of the access point is not able to monitor and bill for the resold traffic within the community mesh network. In this Internet service resale business, the access provider sets their pricing policy as an Internet reseller to maximize its revenue, while the end-users who are price sensitive, respond to this pricing policy by controlling their Internet usage. Using a queuing theory model, we propose an optimal pricing model to achieve revenue maximization for a mesh network access provider. The users sensitivity to the price is modelled in order to discover the optimal price. The effects of the price on the traffic load and the maximum number of users at the access point are explored since price is viewed as an additional strategy to encourage a better usage of the limited bandwidth resource. Monte Carlo simulation results are presented to verify the analytically optimal price based on the proposed pricing model. Another key aspect of wireless mesh networks is the scope of multicast routing. This is when there is a single source and multiple receivers. This is advantageous when multimedia applications like videoconferencing and remote collaboration is used. Solving an optimal multicast tree is an NP problem i.e. it cannot be done in polynomial time. Hence, we can try to get an approximate solution using heuristics. There are two key ways of optimizing one: via minimizing the cost, two: via minimizing the delay. Both these methods are not optimal since there is an upper threshold to the delay incurred in the network and the cost cannot be prohibitively high. Here, we propose an optimal solution in O(n2) time.

INTRODUCTION
The low-cost wireless mesh network (WMN) technology induces the expanding of wireless community mesh networks or WMNs. It is viewed as an opportunity to expand markets for telecommunication services to empower local communities and to expand economic capacity and commerce in rural areas. Internet access is one of the most common applications of WMNs. A WMN interconnects stationary and / or mobile users and provides internet access as well as communications within the network. The nodes connected to the Internet are called access points (APs). In the WMN, the objectives of most end-users would be to access the Internet at a reasonable cost. In this sense, APs are Internet access providers who also resell Internet services to end-users within the WMN. The upstream Internet service providers (ISPs) will not be able to monitor resold traffic within the WMN in order to bill the endusers. The APs set the pricing policy to generate revenue to cover their costs and maximize their profit. For the end-users as buyers of resold Internet services, each end-user derives some value from accessing and using the Internet, based on the APs pricing policy. Each end-users willingness to pay for the Internet service is dependent on their perceived need for the access. Hence, it is important to analyze the end-users behaviour when a pricing strategy is investigated to maximize revenue for an AP provider Quality of service (QoS) is another aspect that affects the end-users usage behaviour. As the WMN expands, the AP whose uplink has a limited data capacity will inevitably result in the end-users having to face traffic congestion at the AP node. In general, congestion control is especially important for besteffort services, since there is no congestion avoidance mechanisms implemented in the
1|Page

network. Pricing is widely viewed as a mechanism to give users incentives to use the network efficiently or a means for network usage control. Using price, the network could send signals to the users, providing them with incentives that influence their usage behaviour and decisions. By these means, APs can provide a better and more stable service to end-users.

MOTIVATION
In this project, we will investigate how price impacts the end-users traffic and the system utilization at the AP node. We model a typical mesh network in which there is a single AP providing Internet connectivity and services to the end-user nodes, as an M/M/1/S queue system. The M/M/1/S is a special type of Markovian system, where customers arrive according to a Poisson process and are served by a single server with an exponential servicetime distribution. The system can accommodate only S maximum customers simultaneously. In this model, as long as the end-user accepts the price charged by the AP and there is room in the queuing system, the end-user is served and the AP earns the revenue based on the endusers usage. The end-users demand is modelled as a function of the service price. The utility function is an important concept which is widely used in literature to give a measure of the users sensitivity to the price and their perceived QoS level. For the general case of Internet provision, when ISPs offers a service at a particular price to the users, these users will respond to this price by changing their usage to maximize their utility. From an economic point of view, the utility function is strictly related to the users demand curve, which is associated to the users willingness-to-pay and their perceived QoS level. Since it is difficult to find direct knowledge of users utility function, we will model these dependences in our analytical pricing model instead of using a utility function to represent the end-users demand. If the price charged by the AP is out of the range of the end-users willingness to pay, the end-user is likely to decrease their Internet usage. It is evident that there is a trade-off between the price and the amount of end-users Internet usage. A lower price attracts more end-users with large demands but yields less revenue per end-user, while a higher price yields more revenue per end-user but might discourage more end-users from using the service. In this project, an optimal pricing model to maximize the APs revenue based on the end-users behaviour model is presented. In this pricing model, the traffic intensity, the end-users willingness to pay and the QoS metric are taken into account to develop the optimal pricing algorithm. The proposed pricing scheme can determine an optimal price in order to maximize the revenue, while maintaining the traffic intensity and the maximum of end-users, S, at the AP to a reasonable level. Further, we focus on usage-based pricing. Usage-based pricing is incentive compatible since it encourages customers to use network resources more efficiently. Customers are willing to pay an additional per-usage charge in order to improve the network performance (QoS charge) and to avoid the performance degradation due to the network congestion. However, our objective is to investigate the effects of the end-users willingnessto-pay on the optimal price that maximizes the APs revenue for a finite capacity system.

LITERATURE SURVEY

Paper 1: WiFi access point pricing as a dynamic game. by J. Musacchio and J. Walrand. Abstract
2|Page

This paper studies the economic interest of a wireless access point owner and his paying client, and models their interaction as a dynamic game. The key feature of this game is that the players have asymmetric informationthe client knows more than the access provider. From the paper it can be inferred that if a client has a web browser utility function (a temporal utility function that grows linearly), it is a Nash equilibrium for the provider to charge the client a constant price per unit time. On the other hand, if the client has a file transferor utility function (a utility function that is a step function), the client would be unwilling to pay until the final time slot of the file transfer. It also studies an expanded game where an access point sells to a reseller, which in turn sells to a mobile client and show that if the client has a web browser utility function, that constant price is a Nash equilibrium of the three player game. Finally, it states a two player game in which the access point does not know whether he faces a web browser or file transfer or type client, and show conditions for which it is not a Nash equilibrium for the access point to maintain a constant price. Introduction Today there is a large and growing number of wireless access points deployed by homes and businesses for private LANs. Many of these access points could potentially be used to provide Internet access to users from the general public that lie or are passing within communication range of the access point. However, owners of private WiFi networks often choose to encrypt their networks to prevent outsiders from accessing them. Without a mechanism for a potential client to compensate the owner of the network, the network owner has no reason to accept the increased network traffic and security risk that would come from allowing the public to access his network. If it were possible to provide incentives to owners of existing private wireless access points to open their networks to the public, as well as provide incentives to people and institutions to deploy access points where there are gaps in coverage, the result might be nearly ubiquitous WiFi coverage. In contrast to cellular phone networks deployed by a few large providers, this ubiquitous access network would be deployed by thousands, perhaps millions, of autonomous self-interested agents. Conclusion We have seen that if the client is a web browser, with a utility function that grows linearly with connection duration, it is a PBE for the access point to charge a constant price in each time slot. Though the value of the price charged depends on U (utility per slot), the fact that constant price is a PBE is true for any distributions of type variables U and (the intended session length) so long as U and are finite-mean and independent. The result even extends to a multi-hop case where an access point sells to a reseller which in turn sells to a client. These results suggest that if a client has a web browsing utility function, that we could expect an access point to charge constant price without third party supervision, and without the need for contracts. An architecture based on micropayments would likely lead to a functioning market. However, if the client has a file transferor utility, where utility has a step with respect to time, then the access point price is not constant in PBE. Furthermore, when the file length has a bounded distribution, clients are pessimistic, and the PBE can be very inefficient in terms of social welfare. The access point prices are not constant even when there is only a small probability of the client being a file transferor, as we saw in the Bayesian Model. When the Bayesian Model is modified for clients that have an unbounded intended session length, it remains true that prices are not constant, and furthermore it is not a PBE for the access point to charge reasonable prices in every slot. Where a reasonable price is one in which there
3|Page

is a nonzero probability of the clients one slot utility exceeding it. Despite the disappointing properties of the equilibria in the file transferor cases, the direct charging model is viable, if the granularity of the slots is chosen judiciously. For one reason, the web browsing model is a more realistic representation of a typical clients utility. Most mobile users are probably interested in browsing the web, using e-mail, or perhaps downloading small files. As long as the e-mail spool or small files can be downloaded in less than one slot, then the step discontinuities in client utility disappear when looked at using the discrete time scale of the game. However, the slot size should not be made too large, because the client might not feel comfortable paying in advance for a large block of time. From a game theory perspective, an access point with marginal cost per slot would be tempted to take a slot payment and then not serve the client. With any choice of time slot length, users will on occasion download files that take longer than one time slot to complete. To address this issue the file transfer software that already exists today that allow clients to resume an interrupted file transfer at some later time must be used. A client using such software does get partial utility for partial files, and thus her utility function would look more like that of our web-browser model than of our file transferor model.

Paper 2: Market Models and Pricing Mechanisms in a Multihop Wireless Hotspot Network. by Kai Chen, Zhenyu Yang, Christian Wagener, Klara Nahrstedt. Abstract Multihop wireless hotspot network has been recently proposed to extend the coverage area of a base station. However, with selfish node in the network, multihop packet forwarding cannot take place without an incentive mechanism. In this paper, we adopt the pay for service incentive model. i.e., clients pay the relaying nodes for their packet forwarding service. Our focus in this paper is to determine a fair pricing for packet forwarding. To this end, we model the system as a market where the pricing for packet forwarding is determined by demand and supply. Depending on the network communication scenario, the market models are different. We classify the network into four different scenarios and propose different pricing mechanisms for them. Our simulation results show that the pricing mechanisms are able to guide the market into an equilibrium state quickly. We also show that maintaining communication among the relaying nodes is important to achieve a stable market pricing. Introduction We consider a multihop hotspot network. In this architecture, a mobile client may not be able to reach the base station (BS) via single hop direct communication. Instead, the client must rely on another node which is closer to the BS to forward its packets. Such nodes are called the relaying nodes (RN). This is the multihop wireless hotspot network. Compared to the traditional single-hop hotspot network where every node communicates directly to the BS, a multihop hotspot network offers a few advantages. First, it extends the coverage of the BS to a larger area, which is helpful especially when installing additional BS is not possible due to real property restrictions. Second, it may increase the throughput of a client who receives very bad signal from the BS, while a nearby relaying node has much better wireless signal quality. This situation is possible considering the irregular signal propagation property in a physical environment with partitions and obstacles. Finally, by multihop forwarding, a client does not need to have subscription to the BS to use its service. This is helpful when a client roams outside its own hotspot ISPs service area. In this paper, the authors focus on providing
4|Page

incentive for packet forwarding in a two-hop hotspot network. Since packet forwarding consumes a RNs resources such as bandwidth and energy, a selfish RN would not be willing to forward others packets without an incentive mechanism. In this paper, they adopt the pay for service incentive model, i.e., clients pay the RNs to forward their packets. In human society, monetary rewards are often given for providing service. Here, packet forwarding can be considered as RNs service to the clients, considering the fact that the RNs are owned and controlled by human users. This paper focuses on determining a fair pricing for the packet forwarding service in this network. The system is modelled as a market where the pricing for packet forwarding is determined by demand and supply. The RNs compete for clients traffic; clients can choose a RN who can offer a better price, similar to 2 in a multiple-buyer multiple-seller market. Its difference with the conventional market is that the communication scenarios in this network can be very complex, leading to different market structures. The market structure in this network depends on the number of RNs, the communication among the RNs, and the reachability of the clients to the RNs. For example, if there is only one single RN in the network, the RN becomes a monopolist who has unique pricing power. Therefore, the RN can probe the client(s) with different prices to maximize its profit. However, if there are multiple RNs, such pricing power is rather limited. Instead, the RNs have to compete with each other by undercutting each others price. The authors classify the network into four different scenarios and propose different pricing mechanisms for them. They have introduced a hill-climbing algorithm for a monopoly market (i.e. single RN in the network), and a second lowest marginal cost pricing mechanism for a market with multiple RNs and perfect reachability. We further extend these basic network scenarios to cover a situation where a client can only reach a subset of the relaying nodes, and another situation where the relaying nodes do not have communication among them. Conclusion In this paper, the focus is on the packet forwarding incentive problem in a two-hop wireless hotspot network. The authors adopt the credit (or micro-payment) based incentive approach, i.e., the clients pay the relaying nodes for their packet forwarding service. The system is modelled as a market where the pricing for packet forwarding is determined by demand and supply. The network is classified into four different scenarios, and different pricing solutions are proposed for each of them. In particular, hill-climbing algorithms is designed for a monopoly market, and introduce a VCG-like second lowest marginal cost pricing mechanism for a market with multiple relaying nodes which guarantees truthful reporting of marginal costs. The work is further extended the network scenarios to cover the situation where a client can only reach a subset of the relaying nodes, and another situation where the relaying nodes do not have communication among them. The simulation results show that the pricing mechanisms are able to guide the market into an equilibrium state quickly. The analysis in this paper underscores the importance of keeping communication among the relaying nodes, therefore, the base station should be encouraged to act as intermediate to reliably relay pricing messages among them. Paper 3: G. Feng and T.S.P. Yum, Efficient multicast routing with delay constraints., International Journal of Communication Systems Abstract To support real-time multimedia applications in BISDN networks, QoS guaranteed multicast routing is essential. Traditional multicast routing algorithms used for solving the Steiner tree
5|Page

problem cannot be used in this scenario, because QoS constraints on links are not considered. In this paper, we present two efficient source-based multicast routing algorithms in directed networks. The objective of the routing algorithms is to minimize the multicast tree cost while maintaining a bound on delay. Simulation results show that these two heuristics can greatly improve the multicast tree cost measure in comparison with the shortest path routing schemes. Their performance is close to that of the known CST algorithm proposed by Kompell et al., but requiring a much shorter computation time. Introduction Multimedia applications such as videoconferencing and remote collaboration rely on the ability of the network to provide multicasting communication. Multimedia traffic consists of audio and video that consume large bandwidth and require a certain quality-of-service (QoS) when transferred through networks. Hence efficient multicast routing algorithms which are capable of constructing low-cost multicast trees that satisfy the constraints imposed by the QoS requirements are essential for real-time multimedia services. Current multicast routing protocols, such as PIM,2 DVMRP,3 are based on simple algorithms: shortest path multicasting and reverse path multicasting. These multicast algorithms usually assume simply additive cost metric. Algorithms for constructing multicast trees have been developed with two optimization goals. The "rst is the minimum average path delay, which is the average of the minimum path delay from the source to each of the destinations in the multicast group. This can be done in O(n2) time using Dijkstra's shortest path algorithm,4 where n is the number of nodes in the graph. The second goal is to minimize the cost of the multicast tree, which is the sum of the cost on the edges in the multicast tree. The least cost tree is called a Steiner tree, and the problem of finding a Steiner tree is known to be NP-complete.4 Many heuristics for low-cost multicast routes take O(n3) to O(n4) time5,6 and can produce solutions that are within twice the cost of the optimal solution. Conclusion The planning and running of multimedia applications in BISDN require an efficient multicast protocol. We have presented two efficient multicast routing algorithms that can produce good solutions and scale to large size networks. Algorithm A is very simple and is suitable for static multicast connection requests, while Algorithm B allows the tuning of the tree cost by the run time and can support multicasting dynamics. These two properties are important for multiparty conferencing applications where the setup speed of multicast connection is critical and the multicast group is dynamic. The performance of Algorithm B is found to be very close to that of CST but at a much lower time complexity. Paper 4: A Delay-Constrained Shortest Path Algorithm for Multicast Routing in Multimedia Applications. by M.F. Mokbel, W.A. El-Haweet, M.N. El-Derini Abstract A new heuristic algorithm is proposed for constructing multicast tree for multimedia and real-time applications. The tree is used to concurrently transmit packets from source to multiple destinations such that exactly one copy of any packet traverses the links of the multicast tree. Since multimedia applications require some Quality of Service, QoS, a multicast tree is needed to satisfy two main goals, the minimum path
6|Page

cost from source to each destination (Shortest Path Tree) and a certain end-to-end delay constraint from source to each destination. This problem is known to be NP-Complete. The proposed heuristic algorithm solves this problem in polynomial time and gives near optimal tree. We first mention some related work in this area then we formalize the problem and introduce the new algorithm with its pseudo code and the proof of its complexity and its correctness by showing that it always finds a feasible tree if one exists. Other heuristic algorithms are examined and compared with the proposed algorithm via simulation. Introduction Handling group communication is a key requirement for numerous applications that have one source sends the same information concurrently to multiple destinations. Multicast routing refers to the construction of a tree rooted at the source and spanning all destinations. Generally, there are two types of such a tree, the Steiner tree and the shortest path tree. Steiner tree or group-shared tree tends to minimize the total cost of the resulting tree, this is an NP-Complete problem, number of heuristics to this problem can be found in Shortest path tree or source-based trees tends to minimize the cost of each path from source to any destination, this can be achieved in polynomial time by using one of the two famous algorithms of Bellman and Dijkstra and pruning the undesired links. Recently, with the rapid evolution of multimedia and real-time applications like audio/video conferencing, interactive distributed games and real-time remote control system, certain QoS need to be guaranteed in the resulted tree. One such QoS, and the most important one, is the end-toend delay between source and each destination, where the information must be sent within a certain delay constraint D. By adding this constraint to the original problem of multicast routing, the problem is reformulated and the multicast tree should be either delay constrained Steiner tree, or delay-constrained shortest path tree. Delay constrained Steiner tree is an NP-Complete problem, several heuristics are introduced for this problem each trying to get near optimal tree cost, without regarding to the cost of each individual path for each destination. Delay-constrained shortest path tree is also an NP-Complete problem. An optimal algorithm for this problem is presented, but its execution time is exponential and used only for comparison with other algorithms. Heuristic for this problem is presented, which tries to get a near optimal tree from the point of view of each destination without regarding the total cost of the tree. An exhaustive comparison between the previous heuristics for the two problems can be found. In this paper we investigate the problem of delay constrained shortest path tree since it is appropriate in some applications like Video on Demand (VoD), where the multicast group has a frequent change, and every user wants to get his information in the lowest possible cost for him without regarding the total cost of the routing tree. Also shortest path tree always gives average cost per destination less than Steiner tree. Conclusion In this paper we propose a polynomial time heuristic algorithm that computes the shortest path tree with delay constraint. The algorithm has a running time O(K2N2) where K is a variable adjusted from 1 to N and N is the number of nodes in the network. Simulation experiments have been done to compare the efficiency of the new algorithm with other previous algorithms and with the optimal results. Empirical results show that our algorithm is always dominating previous algorithms and gives optimal
7|Page

results with certain value of K. Simulations are also done to determine the appropriate value of K that gives the optimal result. It is clear that a small value of K could be enough which makes the running time of the algorithm near O(N2). The work in this algorithm can be extended in three ways. Firstly, a distributed version of this algorithm could be introduced by limiting the data kept in each node. Secondly, the dynamic change of group members should be considered to be embedded on the algorithm and not to start the algorithm from the beginning. Finally, this algorithm should be incorporated in an appropriate protocol to be used in real networks.

PART A
PROPOSED APPROACH
In reported work, an Optimal Pricing Model for Wireless Community Mesh Networks is implemented. Firstly, the network comprising of a single access provider and multiple users is designed using M/M/1 queuing theory and then using probability theory the blocking probability is defined. The blocking probability is used as an indicator minimum bandwidth to determine the limitation for the value of blocking probability. The average revenue of the access provider is maximized subject to certain constraints controlled by QoS and the optimal price is found. The analytical results are compared with the results obtained from Monte Carlo simulations. Formulation of Objective Function When end-users connect to an AP to access the Internet, the AP has a total bandwidth of B (Mbits/sec) available for all the end-users. Suppose that end-users arrive at the AP according to a Poisson process distribution with an arrival rate (users/minute) and each end-user utilizes (transmits and receives) a certain amount of data during their connection to the Internet before disconnecting. Literature on data analysis of internet traffic describes the sizes of the files transmitted over the Internet as being heavy tail distributed. The transmission durations also follows a heavy-tailed distribution due to the heavy-tailed distributed file sizes. It is generally assumed that the service time is strongly correlated to the file size. In this context, the service time is taken to be equal to the transmission time of a file, which is proportional to the size of the file. For simplification, we suppose that file sizes are exponentially distributed with mean F (Mbits). When there are N1 users in the system at the same time, each user is allocated an instantaneous bandwidth of B/N. This system is shown in the following figure and is equivalent to an M/M/1/S PS (Processor Sharing) queue with arrival rate and exponentially distributed service rate (minute). The figure shows that the system moves from one state to the other based on arrival rate and service rate .

8|Page

Therefore, the traffic intensity is denoted as = / . In practice, it is suggested that a shared resource should be designed in such a way that its utilization is less than two-third of its full capacity (=1). In an M/M/1/S queue system, when there are S customers in the system or the system is saturated, the blocking probability PS is:

(1) Since the maximum value of end-users that can be accommodated (S) is determined by the blocking probability given a certain traffic intensity , the minimum bandwidth allocation for a certain PS is B/S given a certain traffic intensity . Therefore, we can also say a minimum bandwidth allocated to the end-users can be determined by a given PS. From the viewpoint of the AP providers, the lower blocking probability (PS) implies that more end-users can obtain services and more revenue can be generated. However, according to Eq.1 the lower blocking\ probability also means that the maximum of end-users (S) in the system is higher. Hence, from the end-user point of view, even while their requests can be accommodated with higher probability due to the lower blocking probability, the minimum bandwidth that can be allocated to them might be lower. In this pricing model, we use the blocking probability as an indicator of the minimum bandwidth to determine the limitation for the value of PS, we will use the blocking probability to model the end-users reaction to the minimum bandwidth. According to queue theory, the average number of customers at the services facility NS is: (2) However, the arriving end-users are price sensitive. Their responses to the price charged by the AP depend on a number of factors. A probabilistic model for end-users willingness-topay the quoted price using a Pareto distribution of customer capacity to pay is used. Every end-user has the capacity to pay based on a Pareto distribution with scale b and shape , where all customers have capacities at least as large as b and determines how the capacities are distributed. Thus and b are the Pareto distribution parameters for the end-user capacity to pay function. It is reasonable to assume that end users willingness-to-pay is associated with their capacities to pay. Therefore, the expectation of acceptance given price p is:

(3) Where is the equivalent to the economic elasticity of demand of the end-users. The higher the value of , the more willing the end-users is to pay. Thus, the arrival rate of our model is different from that of the conventional M/M/1/S queuing system as mentioned above by a factor of E: E. In other words, the arrival rate is denoted as a function of the price. Correspondingly, the traffic intensity of the system model that we mentioned above is denoted as (p)= E(p) / . Figure (a) shows that the traffic intensity decreases when the quoted price increases, since a higher price leads to a smaller end-user arrival rate. Substituting (p) for in (1) and (2), we get the following:

9|Page

(4)&(5) Therefore, the long-term average revenue per unit time is expressed as:

(6) where p is the price per Mbit of data transferred. Now we can formulate the optimization problem to determine the optimal price:

(7) where is a constraint of blocking probability S P . The solution of this optimization problem is characterized by:

Therefore, the long-term average revenue per unit time is maximized when popt is equal to:

Analytical Simulation Results

Figure (a): Traffic intensity versus quoted price


10 | P a g e

The objective function in Eq.7 is shown numerically in Figure (b) with =2, b=4, =6, =0.01. Figure (b) characterizes the relationships between the revenue, the price and the endusers response to the price by adjusting the amount of usage of the Internet service. As the price increases, numbers of end-users decreases while the revenue per end-user increases. The total revenue is maximized when the price reaches the optimal price popt. popt = 3.68

Figure (b): Average revenue v/s quoted price

Figure (c)-Figure (e) shows how the parameters of the function of willingness-to-pay affect the value of the optimal price. It is shown that the parameters and have little impact on the value of the optimal price while parameter b plays an important role in determining the optimal price.

11 | P a g e

Figure (c): Average revenue v/s quoted price for different a

Figure (d): Average revenue v/s quoted price for different b

12 | P a g e

Figure (e): Average revenue v/s quoted price for different delta Monte Carlo Simulation Results popt = 3.65

Figure(f): Comparison of Analytical result and Monte Carlo result


13 | P a g e

Conclusion In this work, an optimal pricing model for Internet service resale via WMN is presented. We model end-users traffic as a function of the service price. Based on a queuing system model, an optimal price algorithm is developed to maximize the AP providers revenue. The performance of the proposed pricing scheme is investigated and the analytically optimal price is compared to the results of the session level Monte-Carlo simulations. It is shown that the proposed optimal pricing scheme can provide maximized revenue to the AP provider, a better quality of service in terms of the minimum bandwidth allocation to the end-users and an efficient control of the traffic load at the AP node to avoid congestion. The optimal price found in both the analytical method and Monte Carlo method is almost same.

14 | P a g e

PART B
PROPOSED APPROACH
Our goal is to find a multicast tree which minimizes the cost function along with having an optimal level of delay. This is very important in multimedia applications like video conferencing and remote collaboration which rely on the ability of the network to give multicast communication. Goal The QoS parameters we have taken into consideration in this project is Bandwidth (modelled as cost) Delay in the link The goal is to: Minimize Average path delay Minimize total tree cost

Network model

Figure (a): Network model


15 | P a g e

Minimum cost tree We find this using the Prims algorithm. Pseudocode Minimum-Spanning-Tree-by-Prim(G, weight-function, source)
1 2 3 4 5 6 7 8 9 for each vertex u in graph G set key of u to _ set parent of u to nil set key of source vertex to zero enqueue to minimum-heap Q all vertices in graph G. while Q is not empty extract vertex u from Q // u is the vertex with the lowest key that is in Q for each adjacent vertex v of u do if (v is still in Q) and (weight-function(u, v) < key of v) then 10 set u to be parent of v // in minimum-spanning-tree 11 update v's key to equal weight-function(u, v)

Output

Figure (b): Minimum cost tree Shortest Delay Tree


16 | P a g e

We find this using Djikstras Algorithm. Pseudocode


1 function Dijkstra(Graph, source): 2 for each vertex v in Graph: //Initializations 3 dist[v] := infinity ; // Unknown distance function from 4 // source to v 5 previous[v] := undefined ; // Previous node in optimal path 6 end for // from source 7 8 dist[source] := 0 ; // Distance from source to source 9 Q := the set of all nodes in Graph ; // All nodes in the graph are 10 // unoptimized - thus are in Q 11 while Q is not empty: // The main loop 12 u := vertex in Q with smallest distance in dist[] ; // Start node in first case 13 remove u from Q ; 14 if dist[u] = infinity: 15 break ; // all remaining vertices are 16 end if // inaccessible from source 17 18 for each neighbor v of u: // where v has not yet been 19 // removed from Q. 20 alt := dist[u] + dist_between(u, v) ; 21 if alt < dist[v]: // Relax (u,v,a) 22 dist[v] := alt ; 23 previous[v] := u ; 24 decrease-key v in Q; // Reorder v in the Queue 25 end if 26 end for 27 end while 28 return dist;

Output

17 | P a g e

Figure (c): Shortest delay tree

Our proposed algorithm Step 1: Compute minimum cost tree Step 2: Set a delay constraint Delta Step 3: Remove all the nodes from MCT recursively which do not satisfy Delta Step 4: Identify the paths from the network which have minimum delay from source. Step 5: Remove loops if any Step 6: Add these paths to the tree

Operating details Input: A graph G=(V,E) A delay matrix of dimensions nxn where n is the number of nodes A cost matrix of dimensions nxn where n is the number of nodes Delay constraint Delta=9 Output:
18 | P a g e

An optimized tree spanning from source to all nodes Output

Figure (d): Our algorithm with delta=9

19 | P a g e

Calculations Minimum cost tree Node A B C D E F G H I Sum 5 5 9 52 7 4 11 64 13 5 12 77 5 4 5 44 5 5 12 57 7 4 5 50 Cost 5 2 3 12 11 Delay 9 7 2 16 8 Shortest delay tree Cost 11 8 3 14 11 Delay 7 5 2 8 8 Our tree Cost 5 2 3 14 11 Delay 9 7 2 8 8

Results MCT: Cost of tree: 35 Average cost per path: 6.5 Average delay per path: 8 SDT: Cost of tree: 48 Average cost per path: 9.625 Average delay per path: 5.5 Our solution: Cost of tree: 42
20 | P a g e

Average cost per path: 7.125 Average delay per path: 6.25 We are able to provide an algorithm which provides an intermediate value of delay and cost. This is very important because for applications like videoconferencing and remote collaboration there is a need to have delay within specific constraints. Otherwise the application is rendered useless. As future work we wish to focus on including other QoS parameters such as jitter into the framework. This will make the algorithm more comprehensive.

21 | P a g e

APPENDIX I
MATLAB CODES clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; p=[0:.001:20]; i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end p=[0:.001:20]; plot(p,rho); grid on xlabel('quoted price'); ylabel('traffic intensity'); title('figure-a:TRAFFIC INTENSITY V/S QUOTED PRICE'); clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; p=[0:.001:20];

i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end
22 | P a g e

end j=1; s=15; F=10; for p=0:.001:20 AvgR(j)=(rho(j).*(1-(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))))).*(p)*10; X(j)=(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))); j=j+1; end p=[0:.001:20]; plot(p,AvgR); grid on xlabel('quoted price'); ylabel('average revenue'); title('figure-b:AVERAGE REVENUE V/S QUOTED PRICE');

clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; p=[0:.001:20]; %for p=0:.1:20 i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end a=4; i=1; for p=0:.001:20 if p<=4 rho1(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1;

23 | P a g e

else rho1(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end a=6; i=1; for p=0:.001:20 if p<=4 rho2(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho2(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end j=1; s=15; F=10; for p=0:.001:20 AvgR(j)=(rho(j).*(1-(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR1(j)=(rho1(j).*(1-(((1-rho1(j)).*(rho1(j).^s)))./((1-(rho1(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR2(j)=(rho2(j).*(1-(((1-rho2(j)).*(rho2(j).^s)))./((1-(rho2(j).^(s+1)))))).*(p)*10;

24 | P a g e

j=j+1; end p=[0:.001:20];

plot(p,AvgR,p,AvgR1,p,AvgR2); xlabel('quotted price') ylabel('average revenue') title('figure(c): AVERAGE REVENUE V/S QUOTED PRICE FOR DIFFERENT VALUES OF a'); grid on legend('blue:a=2,green:a=4,red:a=6');

clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; p=[0:.001:20]; %for p=0:.1:20 i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end b=8; i=1; for p=0:.001:20 if p<=4 rho1(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho1(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end
25 | P a g e

b=12; i=1; for p=0:.001:20 if p<=4 rho2(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho2(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end j=1; s=15; F=10; for p=0:.001:20 AvgR(j)=(rho(j).*(1-(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR1(j)=(rho1(j).*(1-(((1-rho1(j)).*(rho1(j).^s)))./((1-(rho1(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR2(j)=(rho2(j).*(1-(((1-rho2(j)).*(rho2(j).^s)))./((1-(rho2(j).^(s+1)))))).*(p)*10; j=j+1; end p=[0:.001:20];

26 | P a g e

plot(p,AvgR,p,AvgR1,p,AvgR2); xlabel('quotted price') ylabel('average revenue') title('figure(d): AVERAGE REVENUE V/S QUOTED PRICE FOR DIFFERENT VALUES OF b'); grid on legend('blue:b=4,green:b=8,red:b=12');

clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; p=[0:.001:20]; %for p=0:.1:20 i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end delta=8; i=1; for p=0:.001:20 if p<=4 rho1(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho1(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end delta=10; i=1; for p=0:.001:20 if p<=4 rho2(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta)));
27 | P a g e

i=i+1; else rho2(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end end j=1; s=15; F=10; for p=0:.001:20 AvgR(j)=(rho(j).*(1-(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR1(j)=(rho1(j).*(1-(((1-rho1(j)).*(rho1(j).^s)))./((1-(rho1(j).^(s+1)))))).*(p)*10; j=j+1; end j=1; s=15; F=10; for p=0:.001:20 AvgR2(j)=(rho2(j).*(1-(((1-rho2(j)).*(rho2(j).^s)))./((1-(rho2(j).^(s+1)))))).*(p)*10; j=j+1; end p=[0:.001:20];

plot(p,AvgR,p,AvgR1,p,AvgR2); xlabel('quotted price') ylabel('average revenue') title('figure(e): AVERAGE REVENUE V/S QUOTED PRICE FOR DIFFERENT VALUES OF delta');
28 | P a g e

grid on legend('blue:delta=6,green:delta=8,red:delta=10');

clear all lambda=3/60; mu=1/19; a=2; b=4; delta=6; N=1000; p=20*rand(N,1); j=1;k=1; for i=1:1000 if p(i)<=4 rho=(lambda/mu).*(1-((a/(a+delta)).*((p(i)/b).^delta))); q(j)=p(i); j=j+1; else rho=(lambda/mu).*((delta/(a+delta)).*((b./p(i)).^delta)); r(k)=p(i); k=k+1; end end rho=(lambda/mu).*(1-((a/(a+delta)).*((q./b).^delta))); rho1=(lambda/mu).*((delta/(a+delta)).*((b./r).^delta)); s=15; AvgR=((rho.*(1-(((1-rho).*(rho.^s)))./((1-(rho.^(s+1)))))).*q)*10; AvgR1=((rho1.*(1-(((1-rho1).*(rho1.^s)))./((1-(rho1.^(s+1)))))).*r)*10; z=[q r]; avg=[AvgR AvgR1]; stem(z,avg) [y,c]=max(avg); fprintf('f(%f) = %f\n',z(c),y) xlabel('price quoted'); ylabel('average revenue'); hold on p=[0:.001:20]; i=1; for p=0:.001:20 if p<=4 rho(i)=(lambda/mu).*(1-((a/(a+delta)).*((p./b).^delta))); i=i+1; else rho(i)=(lambda/mu).*((delta/(a+delta)).*((b./p).^delta)); i=i+1; end
29 | P a g e

end j=1; s=15; F=10; for p=0:.001:20 AvgR(j)=(rho(j).*(1-(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))))).*(p)*10; X(j)=(((1-rho(j)).*(rho(j).^s)))./((1-(rho(j).^(s+1)))); j=j+1; end p=[0:.001:20]; plot(p,AvgR,'r'); grid on xlabel('quoted price'); ylabel('average revenue'); title('figure-b:AVERAGE REVENUE V/S QUOTED PRICE for both'); legend('red:analytical,blue:monte carlo');

30 | P a g e

APPENDIX II C++ code


#include<iostream.h> #include<conio.h> int cost[9][9]={{0, 3, 9999, 9999, 12, 9999, 9999, 9999, 9999}, {3, 0, 5, 9999, 9999, 2, 9999, 9999, 7}, {9999, 5, 0, 9999, 9999, 3, 9999, 2, 9999}, {9999,9999, 9999, 0, 11, 9999, 7, 9, 9999}, {12, 9999, 9999, 11, 0, 9999, 9999, 6, 9999}, {9999, 2, 3, 9999, 9999, 0, 5, 9999, 12}, {9999,9999, 9999, 7, 9999, 5, 0, 8, 9999}, {9999,9999, 2, 9, 6, 9999, 8, 0, 9999}, {9999, 7, 9999, 9999, 9999, 12, 9999, 9999, 0}}; int delay[9][9]={{ 0, 2,9999,9999, 5,9999,9999,9999,9999}, { 2, 0, 3,9999,9999, 7,9999,9999, 4}, {9999, 3, 0,9999,9999, 2,9999, 2,9999}, {9999,9999,9999, 0, 4,9999, 9, 4,9999}, { 5,9999,9999, 4, 0,9999,9999, 4,9999}, {9999, 7, 2,9999,9999, 0, 7,9999, 5}, {9999,9999,9999, 9,9999, 7, 0, 1,9999}, {9999,9999, 2, 4, 4,9999, 1, 0,9999}, {9999, 4,9999,9999,9999, 5,9999,9999, 0}}; int t[10][2];//holds the minimum spanning tree int f[10][2];//holds the final tree int k=0,d[10],p[10]; void prims(int n,int source) { int i,j,u,v,min; int sum; //holds the cost of the minimum spanning tree int k; //index for storing the edges w.r.t minimum spanning tree int p[10]; int d[10]; int s[10]; //int source; min=9999; //source=5; /*for (i=0;i<n;i++) { for (j=0;j<n;j++) { if ((cost[i][j]!=0)&&(cost[i][j]<=min)) {
31 | P a g e

//holds the vertices selected //holds the weights for the selected edges //has the information of nodes visited and nodes not visited //contains the vertex from where least edge starts

min=cost[i][j]; source=i; } } }*/ //initialization for (i=0;i<n;i++) { d[i]=cost[source][i]; s[i]=0; p[i]=source; } s[source]=1; //Add source to S sum=0; //initial cost of minimum spanning tree k=0; //used as index to store the edges selected for (i=1;i<n;i++) { //find u and d[u] such that d[u] is minimum and u is V-S min=9999; u=-1; for (j=0;j<n;j++) { if (s[j]==0) { if (d[j]<=min) { min=d[j]; u=j; } } } //select edge with least cost t[k][0]=u; t[k][1]=p[u]; k++; //Add the cost associated with edge to get total cost of minimum spanning tree sum+=cost[u][p[u]]; //add u to s s[u]=1; //find d[v] and p[v] for every v in V-S for (v=0;v<n;v++) {
32 | P a g e

if (s[v]==0 && cost[u][v]<d[v]) { d[v]=cost[u][v]; p[v]=u; } } } //check for the spanning tree if (sum>=9999) printf("Spanning tree does not exist\n"); else { printf("Minimum cost tree\n"); for (i=0;i<n-1;i++) { printf("%d %d\n", t[i][0],t[i][1]); } //printf("The cost of the spanning tree= %d\n", sum); } } void delay_constraint(int n,int source,int sum,int delta) { for (int i=0;i<n-1;i++) { if (t[i][1]==source) { //sum+=delay[t[i][1]][t[i][0]]; if ((sum+delay[t[i][1]][t[i][0]])<delta) { sum+=delay[t[i][1]][t[i][0]]; f[k][0]=t[i][0]; f[k][1]=t[i][1]; k++; delay_constraint(n,t[i][0],sum,delta); sum-=delay[t[i][1]][t[i][0]]; //sum=sum-delay[f[k-1][1]][f[k-1][0]]; } /*else { return; }*/ }

} }
33 | P a g e

void dijkstra(int n, int source, int dest) { int i,j,u,v,min; int s[10]; for (i=0;i<n;i++) { d[i]=delay[source][i]; s[i]=0; p[i]=source; } s[source]=1; for (i=1;i<n;i++) { min=9999; u=-1; for (j=0;j<n;j++) { if (s[j]==0) { if (d[j]<min) { min=d[j]; u=j; } } } if (u==-1) return; s[u]=1; if (u==dest) return; for (v=0;v<n;v++) { if (s[v]==0) { if (d[u] + delay[u][v]<d[v]) { d[v]=d[u]+delay[u][v]; p[v]=u; } }
34 | P a g e

} } } void add_path(int source, int destination) { int i; i=destination; while(i!=source) { printf("%d<-",i); i=p[i]; } //printf("\n"); printf("%d = %d\n",i,d[destination]); }

int main() { int n=9,source=5,a[9],j=0,delta=9; prims(n,source); getch(); printf("Shortest delay tree\n"); for (int i=0;i<n;i++) { if (i!=5) { dijkstra(n,source,i); add_path(source,i); } } getch(); printf("Our algorithm: \n"); printf("After removing nodes which do not satisfy the delay constraint\n"); delay_constraint(n,source,0,delta); for (int i=0;i<k;i++) { printf("%d %d\n", f[i][0],f[i][1]); } for (int i=0;i<n;i++) a[i]=i; for (int i=0;i<k;i++) { a[f[i][0]]=-1; a[f[i][1]]=-1; } getch(); printf("Adding the remaning nodes after remiving loops\n");
35 | P a g e

for (int i=0;i<n;i++) { if (a[i]!=-1) { dijkstra(n,source,a[i]); add_path(source,a[i]); } } getch(); return 0; }

36 | P a g e

REFERENCES
1. J. Musacchio and J. Walrand, WiFi access point pricing as a dynamic game in IEEE/ACM Trans. Networking,Vol. 14(2), pp. 289-301, Apr. 2006.

2. K. Chen, Z. Yang, C. Wagener, and K. Nahrstedt, Market model and pricing mechanisms in a multihop wireless hotspot network in Proceeding of ACM MobiQuitous Conference, July 2005. 3. M.L. Mokbel, W.A. El-Haweet and M.L. El-Derini, A Delay-Constrained Shortest Path Algorithm for Multicast Routing in Multimedia Applications 4. R. Bellman, Dynamic Programming. Princeton University Press, 1957. 5. G. Feng, and T.S.P. Yum, Efficient multicast routing with delay constraints International Journal of Communication Systems, 1999

37 | P a g e

You might also like