Market Based Control of SCP Congestion in Intelligent Networks

Size: px
Start display at page:

Download "Market Based Control of SCP Congestion in Intelligent Networks"

Transcription

1 Market Based Control of SCP Congestion in Intelligent Networks Frikkie Scholtz 1 and Hu Hanrahan 2 1 Telkom SA Ltd., Private Bag x74, Pretoria 0001, scholtfj@telkom.co.za 2 University of the Witwatersrand, Johannesburg Abstract: A new congestion control algorithm for Intelligent Networks (IN) is proposed. The control algorithm is based on economic markets, employing software agents to act on behalf of the SCP or SSP as buyers and sellers of SCP capacity. Simulation results in this paper show that the market-based algorithm is well suited for SCP congestion control. Keywords: Congestion control, intelligent networks, distributed systems, intelligent agents, market based control. I. INTRODUCTION To enable network operators to create and maintain services quickly, the Intelligent Network (IN) concept was developed. All service software resides at the Service Control Point (SCP) which controls a number of Service Switching Points (SSP). The SSP connects calls to other SSPs or to an Intelligent Peripheral (IP) where the users interact with the network eg. to hear announcements. The SSP and the SCP communicate via common channel signalling no. 7 (CCS#7) using the ITU Transactions Capabilities Application Part (TCAP) protocol. The communication between the SSP and SCP consists of a number of TCAP messages called a dialogue. The SCP must unpack the TCAP messages and determine whether a specific message belongs to a new dialogue or to one initiated earlier. Under overload conditions new messages must be blocked so that existing dialogues can be completed. The unpacking of the TCAP messages can consume large portions of the SCP processing time and, under severe conditions, the SCP might spend all its time unpacking messages rather than processing calls, causing the IN services to collapse. The SCP should be protected from overload by throttling calls at the SSP in such a way that SCP throughput is maximised. This paper focuses on algorithms that can be implemented at the SSP to throttle new requests and prevent overload at the SCP. Existing congestion control algorithms are briefly discussed in paragraph II and a new algorithm using a market based control strategy is proposed in paragraph III. The simulation model used is described and simulation results of the new method are presented in paragraph IV. Simulation results and findings are summarised in paragraph IV. II. CONGESTION CONTROL METHODS Congestion control algorithms usually consists of three parts; the throttling mechanism, congestion detection mechanism and the control mechanism. There are a number of throttling mechanisms eg. window based methods that act as an on/off control by placing an upper bound to the number of outstanding requests [1][2], rate control methods that use a leaky bucket scheme to limit the rate at which calls are sent to the SCP, and percent throttling [3] that discards every n-th call according to some random discard mechanism. The focus of this paper is not on the throttling mechanisms but rather on the control algorithm that determines the throttling parameters. In our simulations we used a window-based method to throttle new requests at the source. Previous traffic studies [4][5] shown that CCS#7 traffic is correlated. Clustered arrivals can therefore be expected increasing the need for a proper congestion control mechanism at the SCP. IN is becoming distributed with the move towards the Telecommunications Information Networking Architecture (TINA) and the congestion control requirements will shift from many to one concentration scenario to a many-to-many scenario. There is therefore a need for a distributed congestion control algorithm. Work by Achterberg [6] suggested that distributed systems could be modelled by the delay that each component introduces into the system as a whole. The work presented in this paper complements Achterberg s work by proposing the actual algorithm to do the congestion control. 1) ECONOMIC MODELS Economic models provide a new solution to control [7] problems and has several advantages. Firstly they allow easy distribution of the control algorithm [8], ideally suited for IN that becomes more and more distributed. Secondly they provide mathematical models that can provide new insights in resource sharing problems. Market based control has been successfully used in air conditioning control [9], ATM bandwidth allocation, and factory scheduling. Decentralisation in the economic market is obtained by a number of software agents [10], each selfishly attempting to achieve their own goals. There are two types of agents, buyer/sellers and auctioneers. The buyers, acting on behalf of the SSP, buy SCP capacity and the auctioneer acting on behalf of the SCP sells capacity. Artificial money is introduced, allowing

2 agents to buy and sell capacity, thereby achieving their own goals. Naturally, when the supply is limited (under overload conditions) the seller will increase its price and desperate buyers will be willing to pay the higher prices. Capacity is sold at auctions that takes place, say every ten seconds. Successful buyers may allow more messages to reach the SCP while the unsuccessful buyers have to limit the flow rate to the SCP. Section III describes the proposed method in more detail. III. NEW MARKET-BASED ALGORITHM A new congestion control method is proposed which uses agents that act on behalf of the SCP or SSPs. Agents either buy or sell capacity depending on their supply levels. In order to model economic markets artificially we need to introduce two commodities: food and gold. Agents need to acquire food to be able to perform their daily activities. They can either buy food from other agents using gold or produce it themselves by farming. The current study introduces an initial amount of gold into the economy, the effects of farming will be studied later. Artificial behaviour is introduced in such a way that agents are willing to pay more for food when their own supply of food is almost exhausted. In the new method, food resembles SCP capacity measured as the number of outstanding requests submitted to the SCP [2]. Gold is purely an artificial commodity with no resemblance to any quantity in the physical system. The behaviour of the agents is described in the remainder of section III. A. AGENT UTILITY FUNCTION When an agent has abundance of food it is willing to sell the food for gold. If its own food supply falls below a reserve threshold it needs to acquire food and becomes a buyer. Figure 2 shows the utility function [13] for a reserve food level of 30 units and for different gold inventories (bank accounts). When an agent s food supply falls below the reserve level it becomes a buyer and the amount that it is willing to pay depends on its gold inventory. Therefore, financially poor agents are not willing to pay the same amount for the same goods than rich agents. When an agent s supply of food exceeds its reserve level, the agent becomes a seller and it is willing to sell excess food. The bid amounts in figure 2 is the minimum price that an agent will accept if it is a seller and the maximum price that it will pay if it is a buyer. The actual function used in figure 2 is not important, only the general shape of the function is important. B. THE AUCTION The actual buying and selling of food takes place at regular auctions that can be scheduled by synchronised clocks or be announced by the auctioneer. When applied to IN congestion control the auction intervals should be 10 seconds to five minutes, depending on the dynamics of the system. The task of the auctioneer is to get willing buyers and sellers together. For the sake of simplicity we assume an honest auctioneer that is unconditionally devoted to his work. The strategy of the auctioneer in our implementation is to maximise the sales volume, that is, he will determine the market price in such a way that the maximum amount of food is traded. We argue that the auctioneer is rewarded for the volume of food traded. There are a number of distinct types [11] of auctions namely: English (first-price open cry) auction: Each bidder is free to bid and has information on the amounts bid by others. When no bidder is willing to raise his bid any more the auction ends and the highest bidder wins the bid. First-price sealed bid auction: Each bidder submits a bid without knowing the other bids. The highest bidder wins the item and pays the amount in his bid. Dutch (descending) auction: The auctioneer starts at a very high price and continuously lower the price of the item until one of the bidders buys the item at the current price. Vickrey (second-price sealed-bid) auction: Each bidder submits his bid without knowing the other bids. The highest bidder wins the item but only pays the price of the second highest bid. This strategy prevents bidders from unrealistically chasing up the price of the item. In this study we used a variant of the first-price sealed bid auction. The advantage of this auction is that there is limited communication overhead between the auctioneer and the bidders. In the case of the English and Dutch auctions the auctioneer will have to send additional packets to the bidders to announce the bids placed. In our implementation the agents will send a packet containing the quantity of food they want to buy or sell as well as their minimum/maximum bid to the auctioneer. The values for the bids are computed according to the function in figure 2. The auctioneer will gather the bids and determine the current market price. The process is described in paragraph C. C. DETERMINING THE MARKET PRICE The auctioneer will gather all quantities that are available for trading and determine the total supply volume and the total demand volume. In the strategy we adopted the new market price will be the point where the supply volume is equal to the demand volume, thereby maximising the total food volume traded. This unique point is determined by finding the cross point of the cumulative distribution function of the supply volume and demand volume versus the bidding price. Figure 4 illustrates the way that the

3 market price is determined. The lines in figure 4 are cumulative distribution functions for the supply and demand volume. After finding the new market price the task of the auctioneer is to match willing buyers with willing sellers. Buyers will pay the newly established market price for food and they will not buy if the price is higher than their bid. Paragraph D describes the auctioneer s strategy to match willing buyers and sellers. D. MATCHING BUYERS AND SELLERS In order to match willing buyers and sellers the auctioneer will sort all bids from highest (most desperate buyers) to lowest (most desperate sellers) and match the buyers at the top of the list with the sellers at the bottom of the list. Food will first be transferred to the auctioneer and he will then send a packet containing gold to the seller. The auctioneer will then collect gold from buyers and send a packet containing food back to the buyers. It is the task of the auctioneer to prevent over trading or borrowing. The agents will adapt the window size [3][1][2] according to the quantity of food that was bought or sold. Paragraph E discusses the buyer and seller strategies. E. BUYER/SELLER AGENT STRATEGY The logic programmed into the buyers and sellers are fairly simple: 1. If a seller gets offered more than the minimum price it will (obviously) accept the offer. 2. A buyer will buy a bargain if the market price is lower than what it is willing to pay but it won t pay more than its bid. 3. A buyer will sit out of the auction if its gold resources are zero. IV. RESULTS An experiment was conducted with one hundred SSPs and a single SCP. The setup is shown in figure 1. We used one hundred buyer/seller agents acting on behalf of the SSPs and one auctioneer acting on behalf of the SCP. The auctioneer does not have to be located at the SCP. It could be located anywhere in the network. The only information that the auctioneer needs to know about the SCP is its capacity. The auctioneer could even be located at one of the SSPs. The agents acting on behalf of the SSPs should preferably be located at the SSPs because they need information about the local load conditions. If they were to be located elsewhere there will be an additional communications overhead between the SSPs and the agent to communicate the load and the throttling parameters. Random noise was sent through a number of filters, each with random coefficients, to generate traffic profiles. These profiles resemble the load offered to each of the SSPs. The offered load is shown in figure 3. At time 40 until 60 we deliberately generated a step function for agent number 50 to study the impact of focused overload on the system. We let the simulation run for 100 auctions. Figure 4 shows actual cumulative distribution functions for the supply and demand volumes versus price per unit of food obtained after one of the auctions. The market price was determined as the point where the supply volume equals the demand volume. The maximum amount of food will be traded if the auctioneer fixes the market price at this specific point. Figure 5 shows how the market price changes over time. It is interesting to note how the market responded to the step function that was introduced at time When the overload was introduced there was an overall shortage of food (SCP capacity) in the system and the market price increased. After the overload was removed the market price came down again. Figure 6 shows the queuing delay at the SCP with and without the market-based control. The dotted line shows the delay that was experienced with the control in place and the solid line shows the delay that was experienced by call requests without the control. The agents trade the available SCP capacity in such a way that all excess capacity gets sold to the agent experiencing an overload. However, the agent has got limited gold resources and it will buy capacity until its gold inventory is zero. The function of gold in the system is to prevent one single agent from buying all the capacity. Other results, not shown here, show that the algorithm adapts to new load conditions within two or three iterations. Also, when the overload is removed the agent which experienced the overload sells its excess capacity to other needy agents, thereby increasing its gold inventory. V. FUTURE WORK Future work could study the impact of dishonest agents [12] in a multi-domain system such as TINA. Speculators could be introduced to study the impact on the fluctuation of the market price [13]. Agents can also form coalitions and thereby biasing the auction [14]. Future work will also study the impact of loans and speculators on the market [9]. The impact of different auction types [11] could also be studied. The algorithm will be extended to cover different traffic classes with different priorities assigned to every class. VI. SUMMARY AND CONCLUSION This paper proposes a new congestion control method for IN that is based on economic markets. Intelligent agents buy and sell SCP capacity at a market price determined by and auctioneer. All transactions take place at this price until the next auction. Agents trade excess capacity that they bought during previous

4 auctions to other agents that need more capacity. Agents cannot participate in an auction if their gold inventories are depleted. The results obtained indicate that market-based control is well suited for IN congestion control. The advantages of market-based control above more traditional approaches are scalability, decentralization and manageability. VII. ACKNOWLEDGEMENTS The authors acknowledge the financial support from Telkom SA Ltd. VIII. REFERENCES [1] Scholtz F. J, Congestion Control for Intelligent Networks using Fuzzy Logic, in the proceedings of the Regional International Teletraffic Conference held in Pretoria 1995, p A6. [2] Scholtz F. J, Eyers T and Bradlow H, Control of SCP Congestion in Intelligent Networks, in Proceedings of ATNAC 1995, p 735. [3] Nyberg H. and Olin B, On Load Control of and SCP in the Intelligent Network, Australian Telecommunication & Applications Conference (ATNAC-94), Melbourne, [4] Scholtz F. J., Statistical Analysis of Common Channel Signalling System no. 7 Traffic, proceedings of the 15 the International Teletraffic Conference 1997, (pp ) held in Washington D.C. [5] Scholtz F. J, A Simulation Model for CCS7 ISUP Traffic, proceedings of the Teletraffic 97 conference held during 8 th to 10 th of September 1997 in Grahamstown, South Africa. [6] Achterberg R, Hanrahan H and Scholtz F. J, Modeling and Simulation of Future Distributed Intelligent Network Traffic and DPE Implementation to Characterise Network Load and Develop Load Control and Overload Protection Strategies, SATNAC 98, 7 th to 10 th of September 1998, pp [7] Kurose J. F and Simha R, A Microeconomic Approach to Optimal Resource Allocation in Distributed Computer Systems, IEEE Transactions on Computers, Vol 38, No. 5, May [8] Chavez A and Moukas M, Challenger: A Multiagent System for Distributed Resource Allocation, Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology, London, UK, April [9] Sandholm T, Ygge F, On the Gains and Losses of Speculation in Equilibrium Markets, 15 th International Joint Conference on Artificial Intelligence (IJCAI-97). [10] Magedanz T, Rothermel K and Krause S, Intelligent Agents: An emerging Technology for Next Generation Telecommunications, INFOCOM 96. [11] Sandholm T, Limitations of the Vickrey Auction in Computational Multiagent Systems, Second International Conference on Multiagent Systems (ICMAS-96), Keihanna Plaza, Kyoto, Japan, December 1996, pp [12] Foner L. N., Clustering and Information Sharing in an Ecology of Cooperating Agents, Workshop notes of the AAAI 95 Spring Symposium on Information Gathering from Distributed, Heterogeneous Environments, Stanford University, March [13] Clearwater S.H, Market-Based Control: a Paradigm for Distributed Resource Allocation, World Scientific Publishing Co, [14] Tohmϑ F. and Sandholm T, Coalition Formation Processes with Belief Revision among Bounded Rational Self-Interested Agents, 15 th Joint Conference on Artificial intelligence (IJCAI-97), Nagoya, Japan.

5 SSP Agent Utility Function Gold=5 Gold=50 Gold=500 SSP 2 SSP 100 Signaling System 7 Network SCP Normalised bid (units of gold) Figure 1: Multiple SSPs connect to a single SCP Food Inventory Figure 2: Agent bidding function Supply and Demand vs. Price of Food 50 Quantity (units of food) Supply Demand 10 Figure 3: Load offered to SSPs Normalized Price of food (units of gold) Figure 4: Determination of the market price Market Price SCP Qeueing Delay No congestion control With congestion control Units of Gold D elay (ms) Time (Auctions) Figure 5: Market price of food vs. time Time (auctions) Figure 6: Average queuing delay with and without congestion control.