In my doctoral dissertation research I investigate Massively Distributed Decision Support Systems (MDDSS). MDDSS are decision support systems (DSSs) that are spread over large networks of users (sometimes millions of users). Examples of such systems are e-commerce marketplaces such as eBay, where buyers decide whether and what to purchase; the consumption of television (video) content, where viewers decide on content to watch, and are increasingly influenced by recommendations made by the system, peers or both; as well as a variety of online election systems, where votes are pooled into a collective decision, with varying levels of voting-decision support.
What is common to all these systems is that they bind together large numbers of users who are—to varying extents—mutually dependent. The scale of such decision support systems (DSS) presents many challenges, one of which is system performance. System analysts, architects and designers are forced to consider issues such as workload, possible bottlenecks and shortcomings in future capacity, and must design systems that overcome performance problems and cope with increasing workload demands as cost-effectively as possible. They need tools to assist them in predicting workloads and changes in performance resulting from new functionalities or from increases in the number of users or in their intensity of using the system.
My dissertation research examines how different distributed architectures of decision support components (the independent variable in the study) affect response time (the dependent variable) in different decision support use-cases, which are defined by various decision situation dimensions, including decision-making rate, users' interdependence, decision support complexity (computational, query and data volume complexities) and number of users.
We adopt the view that DSSs are composed of three generic functional components, namely, Dialogue Management, Data Management and Model Management. Each of these components has several functionalities (sub-components) that can be found in any DSS, and there is a vast range of ways in which these sub-components can be distributed within a computer network (i.e., between the client side and the server side).
We chose to focus on three types of architectures, representing different points along the range of distribution options, namely, Thin Client, where only the Dialogue component is located on the client side; Distributed Model, where the Dialogue and Model Management components are located on the client side and Data Management is located on the server side; and Fat Client, where all components except for the Database Management System are located on the client side.
Using Performance Evaluation Process Algebra (PEPA) we modeled each of the three architectures in several configurations (e.g., with different numbers of servers and users) and evaluated each configuration’s performance (response time) in given decision support use-cases. This resulted in a PEPA-generated data set of close to 2,000 data points, which we analyzed to determine how changes to each decision situation dimension (e.g., raising the computational complexity) affected the system's response time in each configuration, and to identify the preferred architectural configuration for each use-case.
The results of the analysis were translated into a practical contingency design framework, i.e., guidelines for the assignment of decision support components to the various elements that make up computer networks.
The results show that the size of the system matters: for certain decision situation dimensions, the number of users had a strong influence on the dimension's effect. The results also show that each dimension has different effects on performance in different architectures.
In order to examine our general model in a more concrete situation and to prove its validity, we applied it to a real-world use case. The company 888 Holdings (888.com) is one of the world’s most popular online gaming service providers. It allows both players and B2B partners to take part in online games that involve gambling. We used 888's new transaction system (NTS), a payment transaction processing system, to demonstrate that it is possible to describe a real-world use-case using our model, to run this model and receive correct performance results, and thus select the optimal architecture (in terms of performance) for various decision situations.
My dissertation research resulted in two main products:
1. Tools and guidelines for DSS architects that can assist them in better configuring DSSs to achieve better system performance (Goldstein, 2010; Goldstein & Ariav, 2012)
2. Specific solutions for modeling large-scale systems with interdependence between users. Modeling large-scale systems in which users might be interdependent turned out to be a challenging task, which is not supported by existing performance evaluation techniques. The challenges and solutions are described in Goldstein & Ariav (2010) and in the working paper: A.Goldstein & G. Ariav (2012): Modeling Interdependence of Users in Large Scale Systems: The Case of Massively Distributed DSS, recently submitted to Management Science.