# A Dynamic Decision Support System for Selection of Cloud Storage Provider
## 4 Implementation
The main goal of this research is to provide a dynamic DSS for customers to get updated results. Data from cloud service providers are very important, because all operations, like ranking and comparison of cloud services, are based on it. In order to fetch the data, a reliable mechanism is required. The web scraper is written for data extraction where large amounts of data or information are collected across the internet. A simple HTML Dom is used to fetch data and extract values from cloud storage provider's web pages by using the function file_get_html (URL). Figure 12 indicates input on the left side, process in the middle, and output on the right side. The purpose of the scraper is to fetch cloud storage provider data and save it in raw form in a MySQL database. The contents saved at this stage are not used for operations like ranking or comparison. A parser filters out the required data by using Dom document and Node.js. The JavaScript procedure for parsing data is shown in Figure 13.  
Figure 11: The Proposed DSS System Architecture. Figure 13 illustrates raw data, shown on the left side, extracted from the database by Node.js, and then the parsing mechanism starts. Cloud service provider ranking is one of the most important parts of the proposed decision-making system. Ranking is basically a priority list of cloud providers, and is generated by calculating comparative ranking values for different cloud services based on performance and cost. Because multiple attributes are involved, ranking cannot be calculated easily. To solve this problem, AHP is selected, which is an organized method for making multipart decisions, that assists users to calculate the \"best\" conclusion. It involves the following steps:  
1. Define and set criteria. 2. Define and set attributes. 3. Set and normalize attributes values. 4. Make pairs and normalize them. 5. Aggregate them pair-wise. 6. Rank the aggregate. 7. Show the ranking. One of the important tasks in the AHP technique is assigning weights to attributes, which are called relative importance values (RIV). After a study of previous research and its analysis, nine values for cost and nine values for performance attributes were taken for ranking cloud storage providers. Table 3 shows the RIV for each option. There are two kinds of attributes, i.e., numeric and non-numeric. Table 4 shows the proposed system's attributes that are dependent on user input. The numeric attributes include  
Figure 12: Cloud Data Scraper. Figure 13: Cloud Data Parser. \begin{table}
\begin{tabular}{c c} Extremely Important & 9 \\ Very Important & 7 \\ Certainly Important & 5 \\ Slightly Important & 3 \\ Equally Important & 1 \\ \end{tabular}
\end{table} 
Table 3: AHP Relative Importance Value Table. Repository, Memory, Free Storage, Trial Period, and number of CPU cores, whereas non-numeric attributes include synchronization, sharing, mobile access, and Operating System. Twenty cloud storage providers are selected to test the proposed DSS: Sync.com, Just-Cloud, Dropbox, Tresort, LiveDrive, PCIoud, hubiC, Jumpshare, iCloud Drive, MediaFire, OpenDrive, SugarSync, ADrive, Mega, Google Drive, SafeCopy, OneDrive, Amazon Drive, Atlantic.net, and IBM Cloud. The DSS helps users to select the appropriate cloud storage for their application(s). Usually, there are two kinds of users; first focuses on the cost, and can compromise on quality as well as performance; while the second type requires excellent quality and performance at any cost. The proposed DSS is designed and implemented for both types, so ranking is calculated based on both cost and performance. A structured technique AHP is used to calculate ranking w.r.t the costs of different cloud services. The goal is to rank cloud provider services on monthly and yearly cost criteria. In the second layer, there are alternatives described as \"alternatives values for the above criteria\". The third layer is for the cloud providers that need to be ranked. Ranking is calculated based on the storage cost (e.g., the baseline is 500 GB).