Facing sharp competition, consider an automotive parts distribution company that has decided to develop and implement a new call center. The goals of the new call center system are to: 1) foster better relationships with customers, creating customer loyalty and ensuring quality service, 2) improve efficiency and service performance, and 3) identify and explore new sales opportunities.
The information technology team has decided to create an integrated customer relationship management system. The proposed new architecture consists of computer telephony integration software that controls inbound calls and routes these calls to service representatives integrated with the application software. Figure 4.2 depicts an overview of the call center architecture.
Figure 4.2. Architecture of the call center.
The call center will be staffed by service representatives who handle customer orders, returns, queries by phone, fax, and e-mail. Basically, customers inquire about: 1) the status of an order, 2) the location of a shipment, and 3) problem resolution status. Each customer service representative will have immediate access to the following basic functions: 1) historical tracking of all customer contacts, 2) a single view of customer information, 3) records of resolution of past problems, and 4) help functions. Management realizes that customers are less tolerant of long calls. Thus, the system should meet sub-second response times on all functions and be operational 24 hours a day, 7 days a week.
The company wants to consider various scenarios when designing its call center. The IT team is planning to design, build, test, and deploy the new call center applications in 12 months. Before rollout, management wants assurances that the performance requirements are satisfied. Questions that project management asks include:
Figure 4.2 shows illustrates the physical architecture of the call center system. During the requirement analysis stage, the analysts specify the type of system architecture and the resources that will support the QoS goals for the system. The analysts want an initial idea about the models that will be used in the performance engineering analysis phase.
Consider a first attempt for a workload model. Initially, one needs to define the workload to be characterized. There are multiple and different workloads in a system depending on the point of view from which one looks at the workload. The workload presented to the call center system consists of the rate of telephone calls into the call center. From the IT application standpoint, the workload consists of all functions it receives from the representatives during an observation period. A database server may receive queries from the application server, which in turn receives function execution requests from the representatives. The load of the local network is usually described in terms of its traffic characteristics, including the packet size distribution and the interpacket arrival time.
A second issue that must be about the workload model is the level of detail its description. A high-level description specifies the workload from the user's point of view. For instance, one could specify the load in terms of functions submitted by the users. On the other hand, a low-level characterization describing the user's requests in resource-oriented terms (e.g., average CPU time per function and number of I/O operations per function) is not available until the later stages of the system lifecycle.
At this stage of the project, the analysts have an overall view of the system's two-tier architecture, composed of an application server and a database server. Initially, the performance model is a simple black box. The desired output of the model includes throughput, response time, and availability.
Consider the call center system described in the motivating example. During the system design stage, the analyst needs to answer the following question: what should be the system throughput to meet the subsecond response time requirement? At this stage, the analyst makes assumptions such as: 1) the number of service representatives will be 200, and 2) during the busiest hour, 80% of the representatives are working simultaneously answering calls.
The conversation of a representative with a customer can be represented by a simple interaction model. The representative listens to the customer, selects a function, submits it to the system, waits for the system to respond, watches while the results appear, talks to the customer, terminates the call, and waits for another customer call. The think time corresponds to the period of time between a reply to a function execution request and the following submission. At this stage of the project, the analyst's view of the call center application is a black box, modeled by Fig. 4.3.
Figure 4.3. Model of the call center system.
The analyst estimates an average think time of 30 sec, denoted by Z. The number of active representatives in the system, denoted by N, is equal to 200 x 0.80. The system throughput is denoted by X0. If the response time, R, is not to exceed 1 second, it follows from the Interactive Response Time Law (see Chapter 3) that
During the system development phase, the various components of the system are implemented. Suppose that during this phase, the analysts determine that each function submitted by a representative demands 2.2 queries from the database server. Before developing the database component of the system, they need to know the required capacity of the database server that is needed to meet the performance objectives.
The Forced Flow Law, discussed in Chapter 3, applied to the database server establishes a relationship between the database server throughput and the system throughput. That is,
where XDB is the database server throughput, X0 denotes the total system throughput, and VDB is the average number of visits per function to the database server. The minimum database server throughput, in queries/sec, is obtained in Example 4.2 as X0 5.16 functions/sec.
Considering that the minimum system throughput is 5.16 functions/sec and each function accesses the database server 2.2 times, the minimum database server throughput, measured in queries per second is
Measuring the performance of the call center applications is a key issue in the process of guaranteeing the quality of service objectives. It is also an essential step for performance engineering, because it collects data for performance analysis and modeling. These measurement data are used to calculate the model input parameters, which describe the system configuration, the software environment, and the workload of the call center system.
Let the average response time be denoted by Rcall. The response time can be decomposed into three main components:
where RAppl, RLAN, and RDB represent the response time at the application server, the Local Area Network, and the database server, respectively.
The description of the motivating example provides a performance requirement that Rcall < 1. In the operation stage, the system is constantly monitored to verify that performance objectives are being met. During the peak hour, the system shows signs of saturation, with average response times longer than one second. Management is considering upgrading the database server and wants to know what component of the server is most responsible for slowing down its response time. The relevant questions include: What is the average response time per query? What is the average throughput of the DB server? What are the utilizations of the CPU and disks?
For the sake of simplicity, consider that the database server services only one type of transaction: query. The DB server has one CPU and two disks. During the peak period, the DB server receives requests from the application server at a rate of 57,600 queries per hour. Based on measurements collected during the operation of the call center application, the analyst obtains the following data: on average, each query needs 50 msec of CPU and performs four I/Os on disk 1 and two I/Os on disk 2. Each I/O takes an average of 8 msec.
The throughput, X0, is equal to the average arrival rate l, given by: 57,600/3,600 = 16 queries/sec. The service demand at the CPU, DCPU, is 0.050 sec. The service demands at disks 1 and 2 are:
From the Service Demand Law (see Chapter 3), Ui = Di x X0. Therefore, the utilization of the CPU and the disks are given by UCPU = DCPU x X0 = 0.05 x 16 = 80%, Udisk1 = Ddisk1 x X0 = 0.032 x 16 = 51.2%, and Udisk2 = Ddisk2 x X0 = 0.016 x 16 = 25.6%, respectively. Using the residence time equation for open queuing networks of Chapter 13, the residence times at the CPU and disks are:
The total response time is the sum of all residence times. Thus, RDB = = 0.250 + 0.066 + 0.022 = 0.338 sec. The CPU is the bottleneck since it has the largest service demand. As the load increases, the CPU utilization will reach 100% before any other device and will limit the throughput of the database server.
Now consider the evolution stage of the call center system. The company is considering to develop Web applications to allow customers access to the information they need without assistance from a customer representative. Web self-services reduce transaction costs and enhance the customer experience.
To let users directly access the call center database, management wants to make sure that security requirements will be met. Security depends on the context in which security issues are raised . In the business context, the security emphasis is on the protection of assets. Management wants to minimize the risk of unauthorized modification of the information in the call center database. Thus, software engineers involved need to design a new type of transaction that satisfies the security requirements. The security requirement has implications on two areas of the system : interface and internal architecture. The new interface should include authentication services that perform the mapping between the user's identity and the person using the system. New auditing features should be included to aid administrators discover the history of unauthorized access in the event of a security breach. In terms of the internal architecture, the designers plan to modify the access control mechanisms to the database information.
Before embarking on the developing and implementation of the Web application, management wants to assess the likely impact of the new application on the call center service. From the software model , the analyst is able to estimate the service demands for the new class of transactions, submitted via the Web. A new performance model for the database server is developed. The database server model is subject to two types of transactions: local queries and Web queries. The arrival rate of local queries transactions is 16 tps and the arrival rate of Web queries transactions is 1 tps. The service demands for the CPU, disks 1, and disk 2, are given in Table 4.1.
Using the equations for the multiple-class case of open queuing networks (see Chapter 13) and the OpenQN.XLS MS Excel workbook the model can be solved and the results show management the impact of Web transactions on call center applications. The response times for local queries and Web queries at the database server are 1.14 sec and 3.85 sec, respectively. These numbers provide management with a concrete sense of the impact of implementing Web applications on the current infrastructure of the call center system.