The “Wireless Network Analyzer” is a tool developed for network analysis and optimization with data mining techniques. Networks usually run in a complex environment and many variables affect system performance. The complexity of system analysis and optimization problem is often NP-complete and takes long time. Also we have to study thousands of cases before we can fully understand the properties of network in various environments and make appropriate decisions on which control schemes to select and how to adjust the controllable parameters for optimal performance. It is thus desirable to have a database system with which thousands of experimental results are systematically organized for performance study and system optimization. We use data mining techniques and transaction-oriented parallel computing to reduce computation time where they are applicable.

The software is intended to integrate all the algorithms we have developed for the analysis and optimization of wireless networks, including cellular networks and tactical or ad hoc networks. Traditionally, the traffic in wireless networks is divided into two classes – NC (New Calls) traffic and HC (Hand-off Calls) traffic. HC traffic is assumed to have a higher priority over NC traffic since call drop-offs are considered more severe a problem than call rejection. Such assumption is not always valid: in situations where information has to be transferred as soon as possible (e.g., calls in a battlefield or for emergency relief), the users would prefer their calls to be connected no matter whether the call will be interrupted due to limited channel resources – the users can sort out their information and transfer information in proper order. Further, unlike in traditional TDMA system, NC calls also are subject to drop-off in CDMA wireless networks.

With more services introduced into wireless networks and more diversified demands from customers, it becomes necessary to consider multiple classes of calls instead of two classes of calls. We generalize traditional two-class networks into multi-class networks in the process of system performance analysis and optimization. Here we provide an example in which three classes of traffic are considered. The details of the algorithms we developed can be found in the following papers:

[1] V. T.-S Shi, C.Wang, W. Perrizo, "The performance of a link with multi-priority traffic", IEEE Transactions on communications, Vol.46, No.6, 1998, pp743-746.
[2] V. T.-S Shi, W. Perrizo,"Computing the blocking probabilities in tactical communications networks", in review, IEEE transactions on wireless communications
[3] V. T.-S Shi, "Evaluating the performability of tactical communications networks", accepted, IEEE transactions on vehicular technology.
[4] V. T.-S Shi, H. Fu and W. Perrizo, “Multi-Class Multi-Grade of Service Call Admission Control in Wireless Cellular Networks”, to be submitted.
[5] V. T.-S Shi, “Efficient Call Admission Control for Wireless Cellular Networks”, in revision.


The GUIs of the software are introduced below. The software is built in Java with the help of Sun Forte.

1. The first GUI we encounter when running the software is the “Logo” window. There are three buttons for bringing up tools for test, ananlysis and optimization. The “Run experiments” button is used for performing experiments. Clicking The “Run experiments” button will bring up a “Run a test” window in which various testing scenarios can be set and corresponding performance will be computed through simulation or analytical approach.

The “Analyze performance” button is used for mining the experimental data stored in the database for understanding and optimizing the network when different CAC (call admission control) policies are applied.

Clicking the “Analyze performance” button will bring up a window which takes inputs from users and plots graphs for performance and sensitivity study. So far we have reached some useful conclusions by using the graphical interface. The conclusions are used for the design and optimization of networks.

The “Optimize schemes” button is used for optimizing the network so that it can achieve the highest throughput while satisfying its subscribers in terms of GoS (Grade of Services) or QoS (Quality of Services) requirements. Clicking the “Optimize schemes” will bring up an “Optimize solutions” window for choosing the right CAC policies and appropriate control parameters.

2. The “Run a test” window sets up the experiment for performance study of CAC policies in the environment of tactical networks or wireless cellular networks.

The supported CAC policies include CS (Complete Sharing), CP (Complete Partitioning), RA (Restricted Access or Upper Limit/Guaranteed Minimum), FP (Full Preemption), PP (Partial Preemption) and CnP (Conditional Preemption). Thus far we used call blocking probability, call preemption ratio (or call drop-off ratio) and system throughput for measuring the system performance.

Metrics for QoS are considered to be embedded in the requirement of bandwidth per call, which can be calculated through effective bandwidth algorithms. In situations where effective bandwidth algorithms are not accurate, simulation model should be employed. In the analytic approach, the call arrival processes are assumed to be Poissonian and the call holding times are negative exponentially distributed. While it is known that the assumption of Poisson process are accurate with phone services, which is the majority traffic in current wireless networks, simulation can be used for calculating the performance when other traffic load patterns exist and affect the accuracy of performance prediction.

The “number of classes” field defines how many classes of traffic exist in the system. The calls are classified into multiple classes based on their GoS requirements. Clicking the “Analyze results” button will bring up a window which graphically displays a series of results based on user’s request. The experimental results can be saved in a database for further performance analysis.

3. The "Mining" window is used to mine the data stored in the database for trend discovery. In general, data mining techniques are used to find rules such as “If event A occurs then event B will likely occur”. How likely event B will occur is indicated by certain interestingness measures such as confidence, support, interest, etc. Here we are interested in how the change of call holding times or arrival rate will change system performance and finding the best way to control the system, so that the negative impact will be restrained to be within a tolerable limit. For example, there are five lines on the graph panel which reveal the change trends when control parameter “n2” changes. “n2” is defined as the number of channels reserved by the system so that the overload of class 2 traffic will not significantly degrades the system performance. We can see that, while “n2” significantly affect Pb1 and Pret2 after it surpasses 14, n2 has no impact on other performance such as Pb2, Pb3 and Pret3. In the graph, Pb1, Pb2 and Pb3 represent call blocking probabilities of class 1, class 2 and class 3 respectively, while Pret2 and Pret3 represent the preemption ratios of classes 2 and 3 respectively. Pret1 is always zero since class 1 has the highest priority and we do not allow calls from other classes to interrupt class 1 calls. So Pret1 is not displayed in the graph. Certainly we can adjust “n2” to reduce Pb1 and Pret2 as needed as we have discovered its impact from the graph.

The "Mining" window provides means for extracting performance trends vs. call arrival rate, call holding time of each class.

On the X-Variable pane, a1, a2 and a3 are the offered traffic load from classes 1, 2 and 3 respectively, while u1, u2 and u3 represent the call holding times of classes 1, 2 and 3 respectively. n2 and n3 are the control parameters applied to classes 2 and 3 calls. The “a” on the X-variable pane defines a special case in which a1=a2=a3. It is used to study the impact of traffic in situations where traffic loads from all classes increase proportionally. We can study the call blocking probabilities by selecting checkboxes B1, B2 and B3, preemption ratios by selecting checkboxes P2 and P3 and system throughputs by selecting T, T1, T2 and T3. The “T” on the Metrics pane represents the case that the variable for the X-axis is total system throughput.

 

The “Draw” button will bring up a “Create a query and draw” window which takes inputs that define system variables except the variable selected on the X-variables pane.

4. The “Create a query and draw” window uses combo boxes to list the data stored in the database. User can select a particular value for setting up experimental environment.

The disabled combo box (for example, the “t2” combo box in the window shown on the left side) corresponds to the X-variable selected on the X-variable pane in the graph window. In the example, the “t2” combo box corresponds to the “n2” checkbox and represents the control parameter for class 2 calls.

For example, the number of class 2 calls cannot exceed “n-n2” if the control scheme is RA (“n” is the link capacity).

In PP, class 2 calls in the system are allowed to exceed “n-n2” for the purpose of resource usage efficiency, but subject to preemption so that the resource overuse of class 2 calls won’t cause GoS/QoS degradation of service to calls of other classes.

5. The “Optimize solutions” is used for optimizing control schemes to achieve the highest throughput while subscriber’s GoS/QoS requirements are satisfied. The user can use the text fields on the “Input thresholds and Select schemes” pane to define subscriber’s demands and then click the “Run” button to start the process for system optimization.

Usually optimization takes long time so we have a Progress Bar to indicate the computation progress.

The user can save the result of his optimization in the database if the computation have not done before, so that he can directly retrieve it using the “Find” button without going through a long time computation. Also the software can store the intermediate results and make use of them to reduce computation time in other optimization tasks.

The database is designed to receive results from multiple users in order to use parallel computing for further reduction of optimization time. Saving a result in the database can be viewed as a transaction. Thus we refer to the parallel computing the software supports for optimization as “transaction-oriented”. Each time the software performs optimization, there will be a series of transactions in which data are exchanged between the database and the applications. Concurrency control should be supported so that such exchange of data won’t cause data corruption.

6. There are 6 table schemas shown below, which are used to store data and comments drawn from the system performance analysis.

The linkSystems table has 6 attributes and stores the environment settings related to the link system. The primary key for the linkSystem table is linkID.

The trafficLoads table has 7 attributes and stores the traffic description of 3 classes. The primary key for the trafficLoads table is loadID.

The performance table has 13 attributes and stores the performance results corresponding to the system and traffic scenarios that are saved in the linkSystems and trafficLoads. The primary key for the performance table is <linkID, loadID>.

The optimization table has 8 attributes and stores the user-defined thresholds for optimization.The primary key for the optimization table is optimizationID. The optimizationID is not included in the primary key of the performance table, though it is a foreign key. This is because optimizationID can uniquely determine linkID and loadID when it is not null.

Further, not all the performance results stored in the performance table has an optimizationID since most of them are used for performance analysis purpose only (not for optimization purpose).

The relationships between the tables are shown in the above Figure. Integrity constraints and referential constraints are enforced through primary key and foreign key. The relationships won’t change when more classes of calls are involved, though more attributes will be needed in some tables. What we have shown is simply an example for analyzing a system where the number of classes is 3.


Thank you for your visiting!

~ ShanTech.com ~