+ All Categories
Home > Documents > IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing...

IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing...

Date post: 16-Jul-2018
Category:
Upload: truongnga
View: 214 times
Download: 0 times
Share this document with a friend
18
Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil, and Abdallah Khreishah Abstract—Many web computing systems are running real time database services where their information change continuously and expand incrementally. In this context, web data services have a major role and draw significant improvements in monitoring and controlling the information truthfulness and data propagation. Currently, web telemedicine database services are of central importance to distributed systems. However, the increasing complexity and the rapid growth of the real world healthcare challenging applications make it hard to induce the database administrative staff. In this paper, we build an integrated web data services that satisfy fast response time for large scale Tele-health database management systems. Our focus will be on database management with application scenarios in dynamic telemedicine systems to increase care admissions and decrease care difficulties such as distance, travel, and time limitations. We propose three-fold approach based on data fragmentation, database websites clustering and intelligent data distribution. This approach reduces the amount of data migrated between websites during applications’ execution; achieves cost- effective communications during applications’ processing and improves applications’ response time and throughput. The proposed approach is validated internally by measuring the impact of using our computing services’ techniques on various performance features like communications cost, response time, and throughput. The external validation is achieved by comparing the performance of our approach to that of other techniques in the literature. The results show that our integrated approach significantly improves the performance of web database systems and outperforms its counterparts. Index Terms—Web telemedicine database systems (wtds), database fragmentation, data distribution, sites clustering Ç 1 INTRODUCTION T HE rapid growth and continuous change of the real world software applications have provoked research- ers to propose several computing services’ techniques to achieve more efficient and effective management of web telemedicine database systems (WTDS). Significant research progress has been made in the past few years to improve WTDS performance. In particular, databases as a critical component of these systems have attracted many researchers. The web plays an important role in enabling healthcare services like telemedicine to serve inaccessible areas where there are few medical resources. It offers an easy and global access to patients’ data without having to interact with them in person and it provides fast channels to consult specialists in emergency situations. Different kinds of patient’s information such as ECG, temperature, and heart rate need to be accessed by means of various cli- ent devices in heterogeneous communications environ- ments. WTDS enable high quality continuous delivery of patient’s information wherever and whenever needed. Several benefits can be achieved by using web telemedi- cine services including: medical consultation delivery, transportation cost savings, data storage savings, and mobile applications support that overcome obstacles related to the performance (e.g., bandwidth, battery life, and storage), security (e.g., privacy, and reliability), and environment (e.g., scalability, heterogeneity, and availabil- ity). The objectives of such services are to: (i) develop large applications that scale as the scope and workload increases, (ii) achieve precise control and monitoring on medical data to generate high telemedicine database system performance, (iii) provide large data archive of medical data records, accu- rate decision support systems, and trusted event-based noti- fications in typical clinical centers. Recently, many researchers have focused on designing web medical database management systems that satisfy cer- tain performance levels. Such performance is evaluated by measuring the amount of relevant and irrelevant data accessed and the amount of transferred medical data during transactions’ processing time. Several techniques have been proposed in order to improve telemedicine database perfor- mance, optimize medical data distribution, and control medical data proliferation. These techniques believed that high performance for such systems can be achieved by improving at least one of the database web management services, namely—database fragmentation, data distribu- tion, websites clustering, distributed caching, and database scalability. However, the intractable time complexity of processing large number of medical transactions and man- aging huge number of communications make the design of such methods a non-trivial task. Moreover, none of the I. Hababeh is with the Faculty of Computer Engineering & Information Technology, German-Jordanian University, Amman, Jordan. E-mail: [email protected]. I. Khalil is with the Qatar Computing Research Institute (QCRI), Qatar Foundation, Doha, Qatar. E-mail: [email protected]. A. Khreishah is with the Department of Electrical & Computer Engineer- ing, New Jersey Institute of Technology, 181 Waren Street, Newark, NJ 07102. E-mail: [email protected]. Manuscript received 15 Feb. 2013; revised 17 Nov. 2013; accepted 7 Jan. 2014. Date of publication 15 Jan. 2014; date of current version 6 Feb. 2015. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference the Digital Object Identifier below. Digital Object Identifier no. 10.1109/TSC.2014.2300499 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015 47 1939-1374 ß 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Transcript
Page 1: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

Designing High Performance Web-BasedComputing Services to Promote Telemedicine

Database Management SystemIsmail Hababeh, Issa Khalil, and Abdallah Khreishah

Abstract—Many web computing systems are running real time database services where their information change continuously and

expand incrementally. In this context, web data services have a major role and draw significant improvements in monitoring and

controlling the information truthfulness and data propagation. Currently, web telemedicine database services are of central importance

to distributed systems. However, the increasing complexity and the rapid growth of the real world healthcare challenging applications

make it hard to induce the database administrative staff. In this paper, we build an integrated web data services that satisfy fast

response time for large scale Tele-health database management systems. Our focus will be on database management with application

scenarios in dynamic telemedicine systems to increase care admissions and decrease care difficulties such as distance, travel, and

time limitations. We propose three-fold approach based on data fragmentation, database websites clustering and intelligent data

distribution. This approach reduces the amount of data migrated between websites during applications’ execution; achieves cost-

effective communications during applications’ processing and improves applications’ response time and throughput. The proposed

approach is validated internally by measuring the impact of using our computing services’ techniques on various performance features

like communications cost, response time, and throughput. The external validation is achieved by comparing the performance of our

approach to that of other techniques in the literature. The results show that our integrated approach significantly improves the

performance of web database systems and outperforms its counterparts.

Index Terms—Web telemedicine database systems (wtds), database fragmentation, data distribution, sites clustering

Ç

1 INTRODUCTION

THE rapid growth and continuous change of the realworld software applications have provoked research-

ers to propose several computing services’ techniques toachieve more efficient and effective management ofweb telemedicine database systems (WTDS). Significantresearch progress has been made in the past few years toimprove WTDS performance. In particular, databases as acritical component of these systems have attracted manyresearchers. The web plays an important role in enablinghealthcare services like telemedicine to serve inaccessibleareas where there are few medical resources. It offers aneasy and global access to patients’ data without having tointeract with them in person and it provides fast channelsto consult specialists in emergency situations. Differentkinds of patient’s information such as ECG, temperature,and heart rate need to be accessed by means of various cli-ent devices in heterogeneous communications environ-ments. WTDS enable high quality continuous delivery ofpatient’s information wherever and whenever needed.

Several benefits can be achieved by using web telemedi-cine services including: medical consultation delivery,transportation cost savings, data storage savings, andmobile applications support that overcome obstaclesrelated to the performance (e.g., bandwidth, battery life,and storage), security (e.g., privacy, and reliability), andenvironment (e.g., scalability, heterogeneity, and availabil-ity). The objectives of such services are to: (i) develop largeapplications that scale as the scope and workload increases,(ii) achieve precise control and monitoring on medical datato generate high telemedicine database system performance,(iii) provide large data archive of medical data records, accu-rate decision support systems, and trusted event-based noti-fications in typical clinical centers.

Recently, many researchers have focused on designingweb medical database management systems that satisfy cer-tain performance levels. Such performance is evaluated bymeasuring the amount of relevant and irrelevant dataaccessed and the amount of transferred medical data duringtransactions’ processing time. Several techniques have beenproposed in order to improve telemedicine database perfor-mance, optimize medical data distribution, and controlmedical data proliferation. These techniques believed thathigh performance for such systems can be achieved byimproving at least one of the database web managementservices, namely—database fragmentation, data distribu-tion, websites clustering, distributed caching, and databasescalability. However, the intractable time complexity ofprocessing large number of medical transactions and man-aging huge number of communications make the design ofsuch methods a non-trivial task. Moreover, none of the

� I. Hababeh is with the Faculty of Computer Engineering & InformationTechnology, German-Jordanian University, Amman, Jordan.E-mail: [email protected].

� I. Khalil is with the Qatar Computing Research Institute (QCRI), QatarFoundation, Doha, Qatar. E-mail: [email protected].

� A. Khreishah is with the Department of Electrical & Computer Engineer-ing, New Jersey Institute of Technology, 181 Waren Street, Newark, NJ07102. E-mail: [email protected].

Manuscript received 15 Feb. 2013; revised 17 Nov. 2013; accepted 7 Jan. 2014.Date of publication 15 Jan. 2014; date of current version 6 Feb. 2015.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference the Digital Object Identifier below.Digital Object Identifier no. 10.1109/TSC.2014.2300499

IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015 47

1939-1374� 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Page 2: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

existing methods consider the three-fold services togetherwhich makes them impracticable in the field of web data-base systems. Additionally, using multiple medical servicesfrom different web database providers may not fit the needsfor improving the telemedicine database system perfor-mance. Furthermore, the services from different web data-base providers may not be compatible or in some cases itmay increase the processing time because of the constraintson the network [1]. Finally, there has been lack in the toolsthat support the design, analysis and cost-effective deploy-ments of web telemedicine database systems [1].

Designing and developing fast, efficient, and reliableincorporated techniques that can handle huge number ofmedical transactions on large number of web healthcaresites in near optimal polynomial time are key challenges inthe area of WTDS. Data fragmentation, websites clustering,and data allocation are the main components of the WTDSthat continue to create great research challenges as their cur-rent best near optimal solutions are all NP-Complete.

To improve the performance of medical distributed data-base systems, we incorporate data fragmentation, websitesclustering, and data distribution computing servicestogether in a new web telemedicine database systemapproach. This new approach intends to decrease data com-munication, increase system throughput, reliability, anddata availability.

The decomposition of web telemedicine database rela-tions into disjoint fragments allows database transactionsto be executed concurrently and hence minimizes thetotal response time. Fragmentation typically increases thelevel of concurrency and, therefore, the system through-put. The benefits of generating telemedicine disjoint frag-ments cannot be deemed unless distributing thesefragments over the websites, so that they reduce commu-nication cost of database transactions. Database disjointfragments are initially distributed over logical clusters (agroup of websites that satisfy a certain physical property,e.g., communications cost). Distributing database disjointfragments to clusters where a benefit allocation isachieved, rather than allocating the fragments to all web-sites, have an important impact on database systemthroughput. This type of distribution reduces the numberof communications required for query processing interms of retrieval and update transactions; it has always asignificant impact on the web telemedicine database sys-tem performance. Moreover, distributing disjoint frag-ments among the websites where it is needed most,improves database system performance by minimizingthe data transferred and accessed during the executiontime, reducing the storage overheads, and increasingavailability and reliability as multiple copies of the samedata are allocated.

Database partitioning techniques aim at improving data-base systems throughput by reducing the amount of irrele-vant data packets (fragments) to be accessed and transferredamong different websites. However, data fragmentationraises some difficulties; particularly when web telemedicinedatabase applications have contradictory requirements thatavert breakdown of the relation intomutually exclusive frag-ments. Those applications whose views are defined on morethan one fragment may suffer performance ruin. In this case,

it might be necessary to retrieve data from two or more frag-ments and take their join, which is costly [31]. Data fragmen-tation technique describes how each fragment is derivedfrom the database global relations. Three main classes ofdata fragmentation have been discussed in the literature;horizontal [2], [3], vertical [4], [5], and hybrid [6], [7].Although there are various schemes describing data parti-tioning, few are known for the efficiency of their algorithmsand the validity of their results [33].

The Clustering technique identifies groups of networksites in large web database systems and discovers betterdata distributions among them. This technique is consid-ered to be an efficient method that has a major role in reduc-ing the amount of transferred and accessed data duringprocessing database transactions. Accordingly, clusteringtechniques help in eliminating the extra communicationscosts between websites and thus enhances distributed data-base systems performance [32]. However, the assumptionson the web communications and the restrictions on thenumber of network sites, make clustering solutions imprac-tical [16], [31]. Moreover, some constraints about networkconnectivity and transactions processing time bound theapplicability of the proposed solutions to small number ofclusters [9], [10].

Data distribution describes the way of allocating the dis-joint fragments among the web clusters and their respectivesites of the database system. This process addresses theassignment of each data fragment to the distributed databasewebsites [8], [17], [18], [21]. Data distribution related techni-ques aim at improving distributed database systems perfor-mance. This can be accomplished by reducing the number ofdatabase fragments that are transferred and accessed duringthe execution time. Additionally, Data distribution techni-ques attempt to increase data availability, elevate databasereliability, and reduce storage overhead [11], [27]. However,the restrictions on database retrieval and update frequenciesin some data allocation methods may negatively affect thefragments distribution over the websites [20].

In this work, we address the previous drawbacks andpropose a three-fold approach that manages the computingweb services that are required to promote telemedicinedatabase system performance. The main contributions are:

� Develop a fragmentation computing service tech-nique by splitting telemedicine database relationsinto small disjoint fragments. This technique gener-ates the minimum number of disjoint fragments thatwould be allocated to the web servers in the data dis-tribution phase. This in turn reduces the data trans-ferred and accessed through different websites andaccordingly reduces the communications cost.

� Introduce a high speed clustering service techniquethat groups the web telemedicine database sites intosets of clusters according to their communicationscost. This helps in grouping the websites that aremore suitable to be in one cluster to minimize dataallocation operations, which in turn helps to avoidallocating redundant data.

� Propose a new computing service technique for tele-medicine data allocation and redistribution servicesbased on transactions’ processing cost functions.

48 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 3: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

These functions guarantee the minimum communi-cations cost among websites and hence accomplishbetter data distribution compared to allocating datato all websites evenly.

� Develop a user-friendly experimental tool to performservices of telemedicine data fragmentation, web-sites clustering, and fragments allocation, as well asassist database administrators in measuring WTDSperformance.

� Integrate telemedicine database fragmentation, web-sites clustering, and data fragments allocation intoone scenario to accomplish ultimate web telemedi-cine system throughput in terms of concurrency, reli-ability, and data availability. We call this scenarioIntegrated-Fragmentation-Clustering-Allocation (IFCA)approach. Fig. 1 depicts the architecture of the pro-posed telemedicine IFCA approach.

In Fig. 1, the data request is initiated from the telemedi-cine database system sites. The requested data is defined asSQL queries that are executed on the database relations togenerate data set records. Some of these data records may beoverlapped or even redundant, which increase the I/O trans-actions’ processing time and so the system communicationsoverhead. To solve this problem, we execute the proposedfragmentation technique which generates telemedicine dis-joint fragments that represent the minimum number of datarecords. The web telemedicine database sites are groupedinto clusters by using our clustering service technique in aphase prior to data allocation. The purpose of this clusteringis to reduce the communications cost needed for data alloca-tion. Accordingly, the proposed allocation service techniqueis applied to allocate the generated disjoint fragments at theclusters that show positive benefit allocation. Then the frag-ments are allocated to the sites within the selected clusters.Database administrator is responsible for recovering any sitefailure in theWTDS.

The remainder of the paper is organized as follows.Section 22 summarizes the related work. Basic concepts ofthe web telemedicine database settings and assumptionsare discussed in Section 3. Telemedicine computation serv-ices and estimation model are discussed in Section 4. Exper-imental results and performance evaluation are presentedin Section 35. Finally, in Section 6, we draw conclusions andoutline the future work.

2 RELATED WORK

Many research works have attempted to improve theperformance of distributed database systems. Theseworks have mostly investigated fragmentation, allocationand sometimes clustering problems. In this section, wepresent the main contributions related to these problems,discuss and compare their contributions with our pro-posed solutions.

2.1 Data Fragmentation

With respect to fragmentation, the unit of data distributionis a vital issue. A relation is not appropriate for distribu-tion as application views are usually subsets of relations[31]. Therefore, the locality of applications’ accesses isdefined on the derivative relations subsets. Hence it isimportant to divide the relation into smaller data frag-ments and consider it for distribution over the networksites. The authors in [8] considered each record in eachdatabase relation as a disjoint fragment that is subject forallocation in a distributed database sites. However, largenumber of database fragments is generated in this method,causing a high communication cost for transmitting andprocessing the fragments. In contrast to this approach, theauthors in [11] considered the whole relation as a frag-ment, not all the records of the fragment have to beretrieved or updated, and a selectivity matrix that indi-cates the percentage of accessing a fragment by a transac-tion is proposed. However, this research suffers from dataredundancy and fragments overlapping.

2.2 Clustering Websites

Clustering service technique identifies groups of net-working sites and discovers interesting distributionsamong large web database systems. This technique isconsidered as an efficient method that has a major role inreducing transferred and accessed data during transac-tions processing [9]. Moreover, grouping distributed net-work sites into clusters helps to eliminate the extracommunication costs between the sites and then enhan-ces the distributed database system performance by mini-mizing the communication costs required for processingthe transactions at run time.

In a web database system environment where the num-ber of sites has expanded tremendously and amount ofdata has increased enormously, the sites are required tomanage these data and should allow data transparency tothe users of the database. Moreover, to have a reliable data-base system, the transactions should be executed very fastin a flexible load balancing database environment. Whenthe number of sites in a web database system increases to alarge scale, the problem of supporting high system perfor-mance with consistency and availability constraintsbecomes crucial. Different techniques could be developedfor this purpose; one of them is websites clustering.

Grouping websites into clusters reduces communica-tions cost and then enhances the performance of the webdatabase system. However, clustering network sites isstill an open problem and the optimal solution to thisproblem is NP-Complete [12]. Moreover, in case of acomplex network where large numbers of sites are

Fig. 1. IFCA computing services architecture.

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 49

Page 4: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

connected to each other, a huge number of communica-tions are required, which increases the system load anddegrades its performance.

The authors in [13] have proposed a hierarchical cluster-ing algorithm that uses similarity upper approximationderived from a tolerance(similarity) relation and based onrough set theory that does not require any prior informa-tion about the data. The presented approach results inrough clusters in which an object is a member of more thanone cluster. Rough clustering can help researchers to dis-cover multiple needs and interests in a session by lookingat the multiple clusters that a session belongs to. However,in order to carry out rough clustering, two additionalrequirements, namely, an ordered value set of each attri-bute and a distance measure for clustering need to be spec-ified [14]. Clustering coefficients are needed in manyapproaches in order to quantify the structural networkproperties. In [15], the authors proposed higher order clus-tering coefficients defined as probabilities that determinethe shortest distance between any two nearest neighbors ofa certain node when neglecting all paths crossing thisnode. The outcomes of this method declare that the aver-age shortest distance in the node’s neighborhood is smallerthan all network distances. However, independent con-stant values and natural logarithm function are used in theshortest distance approximation function to determine theclustering mechanism, which results in generating smallnumber of clusters.

2.3 Data Allocation (Distribution)

Data allocation describes the way of distributing the data-base fragments among the clusters and their respectivesites in distributed database systems. This processaddresses the assignment of network node(s) to each frag-ment [8]. However, finding an optimal data allocation isNP-complete problem [12]. Distributing data fragmentsamong database websites improves database system per-formance by minimizing the data transferred andaccessed during execution, reducing the storage over-head, and increasing availability and reliability wheremultiple copies of the same data are allocated.

Many data allocation algorithms are described in theliterature. The efficiency of these algorithms is measuredin term of response time. Authors in [19] proposed anapproach that handles the full replication of data alloca-tion in database systems. In this approach, a database fileis fully copied to all participating nodes through the mas-ter node. This approach distributes the sequences throughfragments with a round-robin strategy for sequence inputset already ordered by size, where the number of sequen-ces is about the same and number of characters at eachfragment is similar. However, this replicated schemadoes not achieve any performance gain when increasingthe number of nodes. When a non-previously determinednumber of input sequences are present, the replicationmodel may not be the best solution and other fragmenta-tion strategies have to be considered. In [20], the authorhas addressed the fragment allocation problem in webdatabase systems. He presented an integer programmingformulations for the non-redundant version of the frag-ment allocation problem. This formulation is extended to

address problems, which have both storage and process-ing capacity constraints. In this method, the constraintsessentially state that there has been exactly one copy of afragment across all sites, which increase the risk of datainconsistency and unavailability in case of any site fail-ure. However, the fragment size is not addressed whilethe storage capacity constraint is one of the major objec-tives of this approach. In addition, the retrieval andupdate frequencies are not considered in the formula-tions, they are assumed to be the same, which affects thefragments distribution over the sites. Moreover, thisresearch is limited by the fact that none of the approachespresented have been implemented and tested on a realweb database system.

A dynamic method for data fragmentation, allocation,and replication is proposed in [25]. The objective of thisapproach is to minimize the cost of access, re-fragmentation,and reallocation. DYFRAM algorithm of this methodexamines accesses for each replica and evaluates possiblere-fragmentations and reallocations based on recent his-tory. The algorithm runs at given intervals, individuallyfor each replica. However, data consistency and concur-rency control are not considered in DYFRAM. Addition-ally, DYFRAM doesn’t guarantee data availability andsystem reliability when all sites have negative utility val-ues. In [28], the authors present a horizontal fragmenta-tion technique that is capable of taking a fragmentationdecision at the initial stage, and then allocates the frag-ments among the sites of DDBMS. A modified matrixMCRUD is constructed by placing predicates of attributesof a relation in rows and applications of the sites of aDDBMS in columns. Attribute locality precedence ALP;the value of importance of an attribute with respect tosites of distributed database is generated as a table fromMCRUD. However, when all attributes have the samelocality precedence, the same fragment has to be allocatedin all sites, and a huge data redundancy occurs. Moreover,the initial values of frequencies and weights don’t reflectthe actual ones in real systems, and this may affect thenumber of fragments and their allocation accordingly.

The authors in [29] presented a method for modelingthe distributed database fragmentation by using UML 2.0to improve applications performance. This method isbased on a probability distribution function where theexecution frequency of a transaction is estimated mainlyby the most likely time. However, the most likely time isnot determined to distinguish the priorities betweentransactions. Furthermore, no performance evaluationsare performed and no significant results are generatedfrom this method. A database tool shown in [30]addresses the problem of designing DDBs in the contextof the relational data model. Conceptual design, fragmen-tation issues, as well as the allocation problem are consid-ered based on other methods in the literature. However,this tool doesn’t consider the local optimization of frag-ment allocation problem over the distributed networksites. In addition, many design parameters need to be esti-mated and entered by designers where different resultsmay be generated for the same application case.

Our fragmentation approach circumvents the problemsassociated with the aforementioned studies by introducing

50 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 5: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

a computing service technique that generates disjoint frag-ments, avoids data redundancy and considers that allrecords of the fragment are retrieved or updated by a trans-action. By such a technique, less communication costs arerequired to transmit and process the disjoint database frag-ments. In addition, by applying the clustering service tech-nique, the complexity of allocation problem is significantlyreduced. Therefore, the intractable solution of fragmentallocation is turned out into fragment distribution amongthe clusters and then replicating it among the related sites.

2.4 Commercial Outsource Databases

This section investigates current commercial outsourcedatabases and compares them with our IFCA. The commer-cial outsource databases support enormous data storagearchitecture that distributes storage and processing acrossseveral servers. It can be used to address web database sys-tem performance and scalability requirements.

Amazon Dynamo [34] is a cloud distributed databasesystem with high available and scalable capabilities. In con-trast to traditional relational distributed database manage-ment systems, Dynamo only supports database applicationswith simple read and write queries on data records. How-ever, in Dynamo availability is more important than consis-tency. Accordingly, in certain times, data consistency can’tbe guaranteed. MongoDB [35] is an open source, documentoriented cloud distributed database developed by the 10gensoftware company. MongoDB is highly available and scal-able system that supports search by fields in the documents.However, MongoDB uses a special query optimizer to makequeries more efficient, and executes different query plansconcurrently, which increases the search time complexity.

Google BigTable [36] is a cloud distributed databasesystem built on Google file system and a highly availableand persistent distributed lock service. The BigTable datamodel is designed as a distributed multidimensional(row key, column key, timestamps) sorted map, andimplemented on three parts: tablet servers, client library,and master server. However, as the failure of the masterserver results in the failure of the whole database system,and thus another server usually backs up the masterserver. This incurs additional costs to the cloud distrib-uted database system in addition to the costs of operatingand maintaining the new servers.

Due to their contrast in priorities, architecture, data con-sistency, and search time complexity compared to ourIFCA, the previous outsource databases can’t optimize andsecure telemedicine data in terms of data fragmentation,clustering websites, and data distribution altogether as ourapproach successfully does. Table 1 compares our approachwith outsource approaches in terms of integrity, reliability,communications overhead, manageability, data consistency,security, and performance evaluation.

3 TELEMEDICINE IFCA ASSUMPTIONS

AND DEFINITIONS

Incorporating database fragmentation, web database sites’clustering, and data fragments computing services’ alloca-tion techniques in one scenario distinguishes our approachfrom other approaches. The functionality of such approachdepends on the settings, assumptions, and definitionsthat identify the WTDS implementation environment,to guarantee its efficiency and continuity. Below are the

TABLE 1Comparison between Existing Methods in the Literature and the Proposed Approach

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 51

Page 6: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

description of the IFCA settings, assumptions, anddefinitions.

3.1 Web Architecture and CommunicationsAssumptions

The telemedicine IFCA approach is designed to supportweb database provider with computing services that can beimplemented over multiple servers, where the data storage,communication and processing transactions are fully con-trolled, costs of communication are symmetric, and thepatients’ information privacy and security are met. We pro-pose fully connected sites on a web telemedicine heteroge-neous network system with different bandwidths;128 kbps, 512 kbps, or multiples. In this environment, someservers are used to execute the telemedicine queries trig-gered from different web database sites. Few servers arerun the database programs and perform the fragmentation-clustering-allocation computing services while the otherservers are used to store the database fragments. Commu-nications cost (ms/byte) is the cost of loading and process-ing data fragments between any two sites in WTDS. Tocontrol and simplify the proposed web telemedicine com-munication system, we assume that communication costsbetween sites are symmetric and proportional to the dis-tance between them. Communication costs within the samesite are neglected.

3.2 Fragmentation and Clustering Assumptions

Telemedicine queries are triggered from web servers astransactions to determine the specific information thatshould be extracted from the database. Transactions includebut not limited to: read, write, update, and delete. To con-trol the process of database fragmentation and to achievedata consistency in the telemedicine database system, IFCAfragmentation service technique partitions each databaserelation according to the Inclusion-Integration-Disjointassumptions where the generated fragments must containall records in the database relations, the original relationshould be able to be formed from its fragments, and thefragments should be neither repeated nor intersected. Thelogical clustering decision is defined as a Logical value thatspecifies whether a website is included or excluded from acertain cluster, based on the communications cost range.The communications cost range is defined as a value(ms/byte) that specifies how much time is allowed for thewebsites to transmit or receive their data to be considered inthe same cluster, this value is determined by the telemedi-cine database administrator.

3.3 Fragments Allocation Assumptions

The allocation decision value ADV is defined as a logicalvalue (1, 0) that determines the fragment allocation statusfor a specific cluster. The fragments that achieve allocationdecision value of (1) are considered for allocation and repli-cation process. The advantage that can be generated fromthis assumption is that, more communications costs aresaved due to the fact that the fragments’ locations are in thesame place where it is processed, hence improve the WTDSperformance. On the other hand, the fragments that carryout allocation decision value of (0) are considered for

allocation process only in order to ensure data availabilityand fault-tolerant in the WTDS. In this case, each fragmentshould be allocated to at least one cluster and one site inthis cluster. The allocation decision value ADV is assumedto be computed as the result of the comparison between thecost of allocating the fragment to the cluster and the cost ofnot allocating the fragment to the same cluster. The alloca-tion cost function is composed of the following sub-costfunctions that are required to perform the fragment transac-tions locally: cost of local retrieval, cost of local update tomaintain consistency among all the fragments distributedover the websites, and cost of storage, or cost of remoteupdate and remote communications (for remote clustersthat do not have the fragment and still need to perform therequired transactions on that fragment). The not allocationcost function consists of the following sub-cost functions:cost of local retrieval and cost of remote retrievals requiredto perform the fragment transactions remotely when thefragment is not allocated to the cluster.

4 TELEMEDICINE IFCA COMPUTATION SERVICES

AND ESTIMATION MODEL

In the following sections, we present our IFCA and providemathematical models of its computations’ services.

4.1 Fragmentation Computing Service

To control the process of database fragmentation and main-tain data consistency, the fragmentation technique parti-tions each database relation into data set records thatguarantee data inclusion, integration and non-overlapping.In a WTDS, neither complete relation nor attributes are suit-able data units for distribution, especially when consideringvery large data. Therefore, it is appropriate to use data frag-ments that would be allocated to the WTDS sites. Data frag-mentation is based on the data records generated byexecuting the telemedicine SQL queries on the databaserelations. The fragmentation process goes through two con-secutive internal processes: (i) Overlapped and redundantdata records fragmentation and (ii) Non-overlapped datarecords fragmentation.

The fragmentation service generates disjoint fragmentsthat represent the minimum number of data records to bedistributed over the websites by the data allocation service.The proposed fragmentation Service architecture isdescribed through Input-Processing-Output phasesdepicted in Fig. 2. Based on this fragmentation service, theglobal database is partitioned into disjoint fragments. Theoverlapped and redundant data records fragmentationprocess is described in Table 2. In this algorithm, databasefragmentation starts with any two random data fragments

Fig. 2. Data fragmentation service architecture.

52 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 7: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

(i, j) with intersection records and proceeds as follows:If intersection exists between the two fragments, threedisjoint fragments will be generated: Fk ¼ Fi \ Fj, Fkþ1 ¼ Fi

– Fk, and Fkþ2 ¼ Fj–F . The first contains the commonrecords, the second contains the records in the first frag-ment but not in the second fragment, and the third containsthe records in the second fragment but not in the first.The intersecting fragments are then removed from thefragments list. This process continues until no more inter-secting fragments or data set records still exist for this tele-medicine relation, and so for the other relations.

The Non-overlapped data records fragmentation processis shown Table 3. The new derived fragments from Table 2and the fragments from non-overlapping fragmentsresulted in totally disjoint fragments. The non-overlappedfragments that do not intersect with any other fragment inTable 2 are considered in the final set of the relation disjointfragments. For example, consider that the transactions trig-gered from the telemedicine database sites hold queriesthat require extracting records from different telemedicinedatabase relations. Let us assume three transactions forpatient relation (T1, T2, T3) on sites S1, S2, and S3 respec-tively. T1 defines Patients who medicated by Doctor #1, T2defines Patients who took medicine #4, and T3 definesPatients who paid more than $1,000. The data set 1 inpatient relation intersects with data set 2 in the same rela-tion. This result in new disjoint fragments: F1, F2 and F3.

The data sets 1 and 2 are omitted. Fragment F1 and data set3 in the same relation are intersected. This results in thenew disjoint fragments F4, F5, and F6. Then F1 and the dataset 3 are omitted, and the next intersection is between F2and F6. The result is new disjoint fragments; F7, F8, and F9.Then F2 and F6 are omitted. The final disjoint fragmentsgenerated from the transactions over patient relations are:F3, F4, F5, F7, F8, and F9. Table 4 depicts the fragmentationprocess over patient relation.

4.2 Clustering Computing Service

The benefit of generating database disjoint fragments can’tbe completed unless it enhances the performance of theWTDS. As the number of database sites becomes too large,supporting high system performance with consistency andavailability constraints becomes crucial. Several techniquesare developed for this purpose; one of them consists of clus-tering websites. However, grouping sites into clusters is stillan open problem with NP-Complete optimal solution [12].Therefore, developing a near-optimal solution for groupingweb database sites into clusters helps to eliminate the extracommunication costs between the sites during the processof data allocation. Clustering web telemedicine databasesites speeds up the process of data allocation by distributingthe fragments at the clusters that accomplish benefit alloca-tion rather than distributing the fragments once at all web-sites. Thus, the communication costs are minimized and the

TABLE 2Overlapped and Redundant Data Records Fragmentation Algorithm

TABLE 3Non-Overlapped Data Records Fragmentation Algorithm

TABLE 4Fragmentation Process over Patient Relation

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 53

Page 8: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

WTDS performance is improved. In this work, we introducea high speed clustering service based on the least averagecommunication cost between sites. The parameters used tocontrol the input/output computations for generating clus-ters and determining the set of sites in each are computedas follows:

� Communications cost between sites CC(Si, Sj) ¼ datacreation cost þ data transmission cost between Si, Sj.

� Communication cost range CCR (ms/byte) which isdetermined by the telemedicine database systemadministrator.

� Clustering Decision Value (cdv):

cdvðSi; SjÞ ¼ f1 : IF CCðSi; SjÞ � CCR ^ i 6¼ j and

0 : IF CCðSi; SjÞ > CCR _ i ¼ j: (1)

Accordingly, if cdv(Si, Sj) is equal to 1, then the sites Si,Sj are assigned to one cluster, otherwise they are assignedto different clusters. If site Si can be assigned to more thanone cluster, it will be considered for the cluster of the leastaverage communication cost. Based on this clustering ser-vice, we develop the clustering algorithm shown in Table 5.

The communications cost within and between clusters isrequired for the fragment allocation phase where fragmentsare allocated to web clusters and then to their respectivewebsites. The optimal way to compute this cost is to find thecheapest path between the clusters which is an NP-completeproblem [12]. Instead, we use the cluster symmetry averagecommunication cost as it has been shown to be fast, reliable

and efficient method for the computation of the fragments’allocation and replication service in many heterogeneousweb telemedicine database environments. To test the valid-ity of our clustering service technique, and based on theassumptions on the communications costs between sites(symmetric between any two sites, zero within the samesite, and proportional to the distance between the sites), wecollect a real sample of communication costs (multiple of0.125 ms/byte) between 12 websites (hospitals) and presentit in Table 6. We then apply the clustering service in ourIFCA tool on the communication costs in Table 6 with clus-tering range of 2.5.

Fig. 3 depicts the experimental results that generate theclusters and their respective sites. It is inferred from thefigure that sites 1 and 3 are located in different clustersbecause the communication costs of the other sites can’tmatch the communications cost range with them. Moreover,the number of clusters is increased as the communicationcost between sites increased or the communication costrange becomes small.

4.3 Data Allocation and Replication

Data allocation techniques aim at distributing the databasefragments on the web database clusters and their respec-tive sites. We introduce a heuristic fragment allocation andreplication computing service to perform the processes offragments allocation in the WTDS. Initially, all fragmentsare subject for allocation to all clusters that need thesefragments at their sites. If the fragment shows positiveallocation decision value (i.e., allocation benefit greater

TABLE 5Clustering Algorithm

TABLE 6The Communication Costs between Websites

54 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 9: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

than zero) for a specific cluster, then the fragment is allo-cated to this cluster and tested for allocation at each of itssites, otherwise the fragment is not allocated to this cluster.This fragment is subsequently tested for replication in eachcluster of the WTDS. Accordingly, the fragment that showspositive allocation decision value for any WTDS clusterwill be allocated at that cluster and then tested for alloca-tion at its sites. Consequently, if the fragment shows posi-tive allocation decision value at any site of cluster thatalready shows positive allocation decision value, then thefragment is allocated to that site, otherwise, the fragmentis not allocated. This process is repeated for all sites ineach cluster that shows positive allocation decision value.Fig. 4 illustrates the structure of our data allocation andreplication technique.

In case a fragment shows negative allocation decisionvalue at all clusters, the fragment is allocated to the clusterthat holds the least average communications cost, and thento the site that achieve the least communications cost withother sites in the current cluster. In order to better under-stand the computation of the queries processing cost func-tions, a mathematical model will be used to formulate thesecost functions.

The allocation decision value ADV is computed as thelogical result of the comparison between two compoundcost functions components; the cost of allocating the frag-ment to the cluster and the cost of not allocating the frag-ment to the same cluster. The cost of allocating thefragment Fi issued by the transaction Tk to the cluster Cj,denoted as CA(Tk, Fi, Cj), is defined as the sum of the fol-lowing sub-costs: retrievals and updates issued by thetransaction Tk to the fragment Fi at cluster Cj, storage

occupied by the fragment Fi in the cluster Cj, and remoteupdates and remote communications sent from remoteclusters. The mathematical model for each sub-cost func-tion is detailed below:

� Cost of local retrievals issued by the transaction Tk tothe fragment Fi at cluster Cj. This cost is determinedby the frequency and cost of retrievals. The fre-quency of retrievals represents the average number(�0) of retrieval transactions that occur on each frag-ment at all sites of a certain cluster. The cost ofretrievals is the average cost of retrieval transactionsthat occur on each fragment at all sites of a specificcluster, which is set by the telemedicine databasesystem administrator in time units (millisecond,microsecond,. . .,etc.) / byte. The cost of local retriev-als is computed as the multiplication of the averagecost of local retrievals for all sites (m) at cluster Cj

and the average frequency of local retrievals issuedby the transaction Tk to the fragment Fi for all sites atcluster Cj:

CLRðTk; Fi; CjÞ ¼Xmq¼1

CLRðTk; Fi; Cj; SqÞm

�Xmq¼1

FREQLRðTk; Fi; Cj; SqÞm

: (2)

� Cost of local updates issued by the transaction Tk

to the fragment Fi at cluster Cj. This cost is deter-mined by the frequency and cost of updates. Thefrequency of updates is computed as the averagenumber of update transactions that occur on eachfragment at all sites of a certain cluster. The cost ofupdates is the average cost of update transactionsthat occur on each fragment at all sites of a specificcluster, and is determined by the WTDS adminis-trator in time units per byte. The cost of localupdates is computed as the multiplication of theaverage cost of local updates for all sites (m) atcluster Cj and the average frequency of localFig. 4. Data allocation and replication technique.

Fig. 3. Clustering telemedicine websites.

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 55

Page 10: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

updates issued by the transaction Tk to the frag-ment Fi for all sites at cluster Cj :

CLUðTk; Fi; CjÞ ¼Xmq¼1

CLUðTk; Fi; Cj; SqÞm

�Xmq¼1

FREQLUðTk; Fi; Cj; SqÞm

: (3)

� Cost of storage occupied by the fragment Fi in thecluster Cj. This cost is determined by the storage costand the fragment size. The storage cost is the cost ofstoring a data byte at a certain site in a specific clus-ter. The fragment size is the storage occupied by thefragment in bytes. The cost of storage is computed asthe result of multiplication of the average storagecost for all sites ðmÞ at cluster Cj occupied by thefragment Fi and the fragment size:

SCP ðTk; Fi; CjÞ ¼Xmq¼1

SCP ðTk; Fi; Cj; SqÞm

� FsizeðTk; FiÞ:

(4)

� Cost of remote updates issued by the transactionTk to the fragment Fi sent from all clusters ðnÞ inthe WTDS except the current cluster Cj. This costis determined by the cost of local updates and thefrequency of remote updates. The frequency ofremote updates is the number of update transac-tions that occur on each fragment at remote webclusters in the WTDS. The cost of remote update isthe multiplication of average cost of local updatesat cluster Cq and the average frequency of remoteupdates issued by the Tk to the fragment Fi at eachremote cluster in the WTDS:

CRUðTk; Fi; CjÞ ¼Xn

q¼1;q 6¼j

CLUðTk; Fi; CqÞ

�X

q¼1;q 6¼j

Xna

FREQRUðTk; Fi; Cq; SaÞm

:

(5)

� Update ratio is used in the evaluation of cost ofremote communications and represents the esti-mated percentage of update transactions in the webtelemedicine database system. It is computed bydividing the number of local update frequencies inall WTDS sites by the total number of all localretrievals and update frequencies in all sites:

Uratio ¼Xmq¼1

FREQLUðTk; Fi; Cj; SqÞ��Xm

q¼1

FREQLUðTk; Fi; Cj; SqÞ

þXmq¼1

FREQLUðTk; Fi; Cj; SqÞ�: (6)

� Cost of remote communications issued for the trans-action Tk to the fragment Fi sent from remote clus-ters ðnÞ in the WTDS. This cost defines the requiredcost needed for updating the fragment from remoteclusters. It is computed as the product of the averagecost of remote communication, the average fre-quency of local update, and update ratio:

CRCðTk; Fi; CjÞ ¼Xn

q¼1;q 6¼j

Xma¼1;b¼1;a 6¼b

CRCðTk; Fi; Cq; ðSa; SbÞÞm

!

�Xmq¼1

FREQLUðTk; Fi; Cj; SqÞm

� Uratio:

(7)

� According to the definition of the cost of allocatingfragments, and based on the previous allocation sub-costs, the mathematical model that represents thecost of fragment allocation to a certain cluster in theWTDS is computed as:

CAðTk; Fi; CjÞ ¼ CLRðTk; Fi; CjÞ þ CLUðTk; Fi; CjÞþ SCP ðTk; Fi; CjÞ þ CRUðTk; Fi; CjÞþ CRCðTk; Fi; CjÞ: (8)

To complete the process of ADV computation, the cost ofnot allocating fragment to a certain cluster (the fragmentretrieved remotely) should be defined and computed.The cost of not allocating the fragment Fi issued by thetransaction Tk to the cluster Cj, denoted CN(Tk, Fi, Cj), isdefined as the sum of the following sub-costs: cost of localretrievals issued by the transaction Tk to the fragment Fi

at cluster Cj (computed in equation 2), and the cost ofremote retrievals:

� Retrieval ratio is used in the evaluation of the costof remote retrievals and represents the estimatedpercentage of retrieval transactions in the WTDS.The retrieval ratio is computed by dividing thenumber of local retrieval frequencies in all WTDSsites by the total number of all local retrievalsand update frequencies in all WTDS sites:

Rratio ¼Xmq¼1

FREQLRðTk; Fi; Cj; SqÞ� Xm

q¼1

FREQLRðTk; Fi; Cj; SqÞ

þXmq¼1

FREQLUðTk; Fi; Cj; SqÞ!:

(9)

� Cost of remote retrievals issued by the transactionTk to the fragment Fi sent from remote clusters ðnÞin the WTDS. The cost of remote retrievals isdetermined by retrieval ratio, retrieval frequency,and communications cost that represents thecommunications between all clusters. This cost iscomputed as the product of the average cost of

56 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 11: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

communications between all clusters, the averagefrequency of remote retrieval, and the retrieval ratio:

CRRðTk; Fi; CjÞ ¼Xnq¼1

Xa¼1;b¼1;a 6¼b

CCCðTk; Fi; Cq; ðSa; SbÞÞm

�Xn

q¼1;q 6¼j

Xma¼1

FREQRRðTk; Fi; Cq; SaÞÞm

�Rraio:

(10)

� Based on the previous not allocation sub-costs, themathematical model that represents the cost of notallocating fragment to a certain cluster in the WTDSis computed as:

CNðTk; Fi; CjÞ ¼ CLRðTk; Fi; CjÞ þ CRRðTk; Fi; CjÞ: (11)

Accordingly, the allocation decision value ADV deter-mines the allocation status of the fragment at the clusterand its sites. ADV is computed as a logical value from thecomparison between the cost of allocating the fragment tothe cluster CA(Tk, Fi, Cj) and the cost of not allocating thefragment to the same cluster CN(Tk, Fi, Cj):

ADV ðTk; Fi; CjÞ ¼ f1; CNðTk; Fi; CjÞ� CAðTk; Fi; CjÞ and 0; CNðTk; Fi; CjÞ

< CAðTk; Fi; CjÞ:

(12)

Therefore, if CN(Tk, Fi, Cj) is greater than or equal toCA(Tk, Fi, Cj), then the allocation status ADV(Tk, Fi, Cj)shows positive allocation benefit and the fragment is allo-cated at that cluster, otherwise, CN(Tk, Fi, Cj) is less thanCA(Tk, Fi, Cj) where the allocation status ADV(Tk, Fi, Cj)shows non-positive allocation benefit, so the fragment is notallocated at that cluster. To formalize the fragment alloca-tion procedures, we developed the allocation and replica-tion algorithm shown in Table 7.

Once the fragments are allocated and replicated at theweb clusters, then the investigation of the benefit of allo-cating the fragments at all sites of each cluster becomescrucial. To get better WTDS performance, fragmentsshould be allocated over the sites of clusters where aclear allocation benefit is accomplished or where dataavailability is required. The same allocation and replica-tion algorithm will be applied in this case, taking intoconsideration the costs between sites in each cluster. Forexample, Consider fragment 1 for allocation in clusters 1,2, and 3 respectively. Based on Equations (2)-(12) thatdetermine the allocation decision value, Tables 8, 9, and10 depict the calculations of such process.

The allocation decision value for fragment 1 will be com-puted in the same way for the other clusters and for cluster1 sites (5, 6, and 7) to determine which cluster/site can allo-cate the fragment and which one will not.

4.4 Complexity of Computation

The time complexity of our approach is bounded by the timecomplexity of the following incorporated entities: defining

fragments, clustering websites, fragments allocation, com-puting average retrieval, and update frequencies. The timecomplexity of each entity is computed as follows:

� The complexity of defining fragments is O(R�(R.size()–1)2), where R is the number of relations, and R.size() is the average current number of records ineach relation.

� The complexity of clustering websites is O((N2 – N)log2n), where N is the number of sites in the WTDS.

� The complexity of fragments allocation is O(R.size()�R�S), where R.size() is the average current numberof records in each relation, R is the number of rela-tions, and S is the number of sites.

� The complexity of computing average retrieval andupdate frequencies is O(F�S�A�A.size()) where F isthe number of the fragments in the database, S is thenumber of sites, A is the number of applications ateach site, and A.size() is the average current numberof records in each application.

Based on the complexity computations of the previousincorporated entities, the time complexity of this approachis bounded by: O(R�(R.size() – 1)2þ O((N2 – N) log2n) þ R.size()�R�S þ F�S�A�A.size()).

5 EXPERIMENTAL RESULTS AND PERFORMANCE

EVALUATION

To analyze the behavior of its computing service techni-ques, we develop an IFCA software tool that is used tovalidate the telemedicine database system performance.This tool is not only experimental but it also supports theuse of knowledge extraction and decision making. In thistool, we test the feasibility of the three proposed comput-ing services’ techniques. The experimental results and theperformance evaluation of our approach are discussed inthe following sections.

5.1 Evaluation of Fragmentation Service

The internal validity of our fragmentation service techniqueis tested on multiple relations of a WTDS. We apply thefragmentation computing service in our IFCA tool on a setof data records obtained from eight different transactions as(Table 11). Fig. 5 depicts the experimental results that gener-ate the disjoint fragments and their respective records.

Fig. 5 shows that our fragmentation computing servicesatisfies the optimal solution of data fragmentation inWTDS and generates the minimum number of fragmentsfor each relation. This helps in reducing the communica-tions cost and the data records storage, hence improvingWTDS performance. We now evaluate the fragmentationperformance in terms of fragments storage size reduction.Let Fperr represent the fragmentation performance percent-age of the relation r, Rdrsr represent the relation datarecords size generated from the database queries, and Rfsrrepresent the relation final fragment data records size, thenFperr is computed as:

Fperr ¼ ðRdrsr �RfsrÞ=Rdrsr: (13)

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 57

Page 12: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

For example, when the fragmentation is performed forrelation 1 on data records sets generated from the databasequeries of total size 115 kb and a final number of fragmentsof a total size 33 kb, then the storage size that will be

considered for this relation is reduced from 115 to 33 kbwith no data redundancy. This action helps in improvingthe system performance by reducing the data storage size ofabout 71 percent.

TABLE 7Fragments Allocation and Replication Algorithm

58 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 13: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

To externally validate our approach, we implementedthe two fragmentation techniques that are proposed by Maet al. [8] and Huang and Chen [12] respectively and com-pare their performance against our approach. Fig. 6 showsnumber of fragments against the relation number for thethree techniques. The results in the figure show that morelarge sized fragments are produced by methods in [8] and[12] due to their fragmentation assumptions (See Section 2).The results also show that less number of small size frag-ments is generated by our computing service. Therefore, itis clear that our fragmentation technique significantly out-performs the approaches proposed by Ma et al. [8] andHuang and Chen [12].

5.2 Evaluation of Clustering Service

To evaluate the performance accomplished by groupingthe telemedicine websites running under our clusteringservice technique, we introduce a mathematical model tocalculate the performance gain in terms of the reducedcommunication costs that can be saved from clusteringwebsites. The clustering performance gain is computedas the result of the reduced costs of communicationsdivided by the sum of communications costs betweensites. The reduced communications costs are specificallydefined as the difference between the sum of costs thatare required for each site to communicate with remotesites in the web system and the sum of costs that isrequired for each cluster to communicate with remoteclusters. The performance evaluation of such mathemati-cal model is expressed as follows: Let CPE represent(clustering performance evaluation) and CC(Si, Sj)

TABLE 11Computation of Fragment Allocation Decision Value

Fig. 5. Generating database fragments. Fig. 6. Database fragmentation performances.

TABLE 8Cluster 1 Costs of Retrieval, Update, and Storage

TABLE 9Average # of Retrieval, Update Frequencies, and Communication Costs

TABLE 10Computation of Fragment Allocation Decision Value

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 59

Page 14: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

represent the communication cost between any two sites;Si and Sj in the cluster Ci where i, j ¼ 1; 2; 3; . . . ; n. LetC C(Ci, Cj) represent the communication cost betweenany two clusters; Ci and Cj where i, j ¼ 1; 2; 3; . . . ; n.CPE can be defined as:

CPE ¼Xni¼1

Xnj¼1

CCðSi; SjÞ �Xni¼1

Xnj¼1

CCðCi; CjÞ !,Xn

i¼1

Xnj¼1

CCðSi; SjÞ:(14)

For example, consider a telemedicine database systemsimulated on 10 websites grouped in four clusters, each sitecommunicates with the other nine sites, and each clustercommunicate with the other three clusters taking into con-sideration the communications within the cluster itself. Forsimplicity, we assume the sum of communications costsbetween sites is 697.5 ms/byte and between clusters is181.42 ms/byte. By applying CPE (Equation (14)), the

communications cost is decreased to 74 percent of the origi-nal communications cost.

To externally validate our clustering service, we imple-ment the clustering techniques by Kumar et al. [13] andFranczak et al. [15] and compare them with our clusteringservice in terms of the number of generated clustersagainst the number of websites (Fig. 7). The results inFig. 7 show that our clustering service generates moreclusters for smaller number of sites; hence it induces lesscommunication costs within the clusters. On the otherhand, the other techniques generate less clusters for largenumber of sites, thus, they induce more communicationcosts within the clusters. Fig. 7 shows that the clusteringtrend increases with the increase in the number of net-work sites in [13] and ours. In contrast, the number ofclusters generated by the clustering approach in [15] isless due to their clustering approximation function thatuses natural logarithmic function. This in turn results inmaximizing the number of sites in each cluster whichincreases the communications cost.

5.3 Evaluation of Fragment Allocation Service

To evaluate our fragment allocation computing, we use a setof disjoint fragments obtained from our fragmentation ser-vice, a set of the clusters and their sites generated from ourclustering service, and a set of average number of retrievalsand updates at each site (Table 12a). We apply the fragmen-tation service in our IFCA software too using the site costsof storage, retrieval, and update depicted in Table 12b. theresults are shown in Fig. 8.

We propose the following mathematical model to evalu-ate the performance of fragment allocation and replicationservice. Let IAFS represent the initial size of allocated frag-ments at site S, n represent the maximum number of sites inthe current cluster, FAFS represent the final size of allocatedfragments at site S, and APEC represents the fragment allo-cation and replication performance evaluation at cluster C,then APEC is computed as:

Fig. 7. Clustering performance comparisons.

TABLE 12(a) Fragments Retrieval and Update Frequencies (b) Costs of Storage, Retrieval, and Update

60 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 15: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

APECc ¼Xns¼1

IAFSs �Xns¼1

FAFSs

,Xns¼1

IAFSs

!: (15)

For example, assume that 35 fragment allocations witha total size of 91 kb are initially allocated to the WTDSclusters. The final fragment allocation using our approachis 14 with a total size of 27 kb. Therefore, the storage gainof our allocation technique is about 70 percent which inturn reduces fragments allocation average computationtime. Our proposed allocation technique is comparedwith the allocation methods by Ma et al. [8] and Menon[20]. These two approaches allocate large numbers offragments to each site and hence consume more storagewhich in turn increase the fragments allocation averagecomputation time in each cluster. Fig. 9 illustrates theeffectiveness of our fragment allocation and replicationtechnique in terms of average computation time com-pared to the fragment allocation methods in [8] and [20].The figure shows that our fragment allocation and repli-cation technique incurs the least average computationtime required for fragment allocation. This is because ourclustering technique produces more clusters of smallnumber of websites which reduces the fragment alloca-tion average computation time in each cluster. We Inferfrom Fig. 9 that the average computation time of fragmentallocation increases as the number of websites in the

cluster increases. Most importantly, the figure shows thatthat our technique outperforms the ones in [8] and [20].

5.4 Evaluation of Web Servers Loadand Network Delay

The telemedicine database system network workloadinvolves queries from a number of database users whoaccess the same database simultaneously. The amount ofdata required per second and the time in which thequeries should be processed depend on the database serv-ers running under such network. For simplicity, 12 web-sites grouped in four clusters are considered for networksimulation to evaluate the performance of a telemedicinedatabase system. The performance factors under evalua-tion are the servers load and the network delay that is sim-ulated in OPNET [23].

The proposed network simulation for building WTDSis represented by web nodes. Each node is a stack oftwo 3Com Super Stack II 1100 and two Super stack II3300 chassis (3C_SSII_1100_3300) with four slots (4s), 52auto-sensing Ethernet ports (ae52), 48 Ethernet ports(e48), and 3 Gigabit Ethernet ports (ge3). The centernode model is a 3Comswitch, the periphery node modelis internet workstation (Sm_Int_wkstn), and the linkmodel is 10BaseT. The center nodes are connected withinternet servers (Sm_Int_server) by 10BaseT. The serversare also connected with a router (Cisco 2514, node 15)by 10BaseT. Fig. 10 depicts the network topology for thesimulated WTDS which consists of 12 websites nodes (0,

Fig. 8. Fragments allocation at clusters.

Fig. 9. Fragments allocation after clustering. Fig. 10. The WTDS network topology.

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 61

Page 16: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

1, 2, 3, 4, 9, 10, 11, 16, 17, 18, 20) and four clusters (6, 13,14, and 22) connected with internet servers (7 and 8) thatare also connected with a router (Cisco 2514, node 15)by 10BaseT.

The following sections evaluate the effect of serverload and network delay on the distributed databaseperformance.

5.4.1 Server Load

The server load determines the speed of the server interms of (bits/sec). Fig. 11 shows server’s load compari-son between our approach and the approaches in Kumaret al. [13] and Franczak et al. [15]. The servers aredenoted by the cluster legends C1, C2, C3, and C4respectively. The results of the comparison are drawnfrom Figs. 11 and 12, and are summarized in Table 13.Table 13 shows that the server load increases as thenumber of represented nodes (sites) decreases; this isdue to load distribution over the nodes assuming thatall nodes have the same capacity. On the other hand,the server load decreases as the number of representednodes increases. The results state that the network isalmost balanced throughout processing the web services.However, some variations are expected due to the possi-ble variations in the number of processing transactionson each node. Fig. 12 shows the maximum load (bits/sec)on the servers’ clusters in our proposed clustering tech-nique, and the clustering methods in [13] and [15]. Theresults clearly show that our approach outperforms theapproaches in [13] and [15].

5.4.2 Network Delay

The network delay is the delay caused by the transactionstraffic on the web database system servers. The networkdelay is defined as the maximum time (millisecond)required for the network system to reach the steady state.Fig. 13 shows the network delay caused by the WTDSservers represented by the legends (C1, C2, C3, C4). Thefigure indicates that the web database system reaches the

steady state after 0.065 milliseconds. It shows that the net-work delay is less when distributing the websites overfour servers compared to the delay consumed when allwebsites connect 1, 2, or 3 servers.

Fig. 14 shows the maximum network delay (sec) causedby web servers against distance range for our clusteringtechnique, and the techniques in [13] and [15]. Note that thenetwork delay in our approach is always less than in [13]and [15]; this is due to the better clustering computations ofour technique.

5.5 Threat to Validity

Threats to external validity limit the ability to generalize theresults of the experiments to industrial practice. In order toavoid such threats in evaluation of our approach, we havecompared each of our proposed computing services’ techni-ques; fragmentation, clustering and data allocation withtwo other similar techniques proposed by different groupsof researchers. Each of our proposed techniques is imple-mented with two comparable techniques well accepted bythe database systems community. The performance of ourproposed techniques is compared. The results show thatour fragmentation, clustering and allocation techniques out-perform their counterparts proposed in the literatures.

6 CONCLUSION

In this work, we proposed a new approach to promoteWTDS performance. Our approach integrates threeenhanced computing services’ techniques namely, databasefragmentation, network sites clustering and fragments allo-cation. We develop these techniques to solve technical chal-lenges, like distributing data fragments among multipleweb servers, handling failures, and making tradeoffbetween data availability and consistency. We propose anestimation model to compute communications cost whichhelps in finding cost-effective data allocation solutions. Thenovelty of our approach lies in the integration of web data-base sites clustering as a new component of the process of

Fig. 11. WTDS servers’ load comparison.

Fig. 12. Servers’ Max. load for clustering techniques.

TABLE 13WTDS Servers’ Load Comparison

62 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015

Page 17: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

WTDS design in order to improve performance and satisfy acertain level of quality in web services.

We perform both external and internal evaluation ofour integrated approach. In the internal evaluation, wemeasure the impact of using our techniques on WTDSand web service performance measures like communica-tions cost, response time and throughput. In the externalevaluation, we compare the performance of our approachto that of other techniques in the literature. The resultsshow that our integrated approach significantly improvesservices requirement satisfaction in web systems. Thisconclusion requires more investigation and experiments.Therefore, as future work we plan to investigate ourapproach on larger scale networks involving large num-ber of sites over the cloud. We will consider applying dif-ferent types of clustering and introduce search basedtechnique to perform more intelligent data redistribution.Finally, we intend to introduce security concerns thatneed to be addressed over data fragments.

REFERENCES

[1] J.-C. Hsieh and M.-W. Hsu, “A Cloud Computing Based 12-LeadECG Telemedicine Service,” BMC Medical Informatics and DecisionMaking, vol. 12, pp. 12-77, 2012.

[2] A. Tamhanka and S. Ram, “Database Fragmentation and Alloca-tion: An Integrated Methodology and Case Study,” IEEE Trans.Systems, Man and Cybernetics, Part A: Systems and Humans, vol. 28,no. 3, pp. 288-305, May 1998.

[3] L. Borzemski, “Optimal Partitioning of a Distributed RelationalDatabase for Multistage Decision-Making Support systems,”Cybernetics and Systems Research, vol. 2, no. 13, pp. 809-814, 1996.

[4] J. Son andM. Kim, “An Adaptable Vertical PartitioningMethod inDistributed Systems,” J. Systems and Software, vol. 73, no. 3,pp. 551-561, 2004.

[5] S. Lim and Y. Ng, “Vertical Fragmentation and Allocation in Dis-tributed Deductive Database Systems,” J. Information Systems,vol. 22, no. 1, pp. 1-24, 1997.

[6] S. Agrawal, V. Narasayya, and B. Yang, “Integrating Vertical andHorizontal Partitioning into Automated Physical DatabaseDesign,” Proc. ACM SIGMOD Int’l Conf. Management of Data,pp. 359-370, 2004.

[7] S. Navathe, K. Karlapalem, and R. Minyoung, “AMixed Fragmen-tation Methodology for Initial Distributed Database Design,”J. Computer and Software Eng., vol. 3, no. 4, pp. 395-425, 1995.

[8] H. Ma, K. Scchewe, and Q. Wang, “Distribution Design forHigher-Order Data Models,” Data and Knowledge Eng., vol. 60,pp. 400-434, 2007.

[9] W. Yee, M. Donahoo, and S. Navathe, “A Framework for ServerData Fragment Grouping to Improve Server Scalability in Inter-mittently Synchronized Databases,” Proc. ACM Conf. Informationand Knowledge Management (CIKM), 2000.

[10] A. Jain, M. Murty, and P. Flynn, “Data Clustering: A Review,”ACM Computing Surveys, vol. 31, no. 3, pp. 264-323, 1999.

[11] Lepakshi Goud, “Achieving Availability, Elasticity and Reliabilityof the Data Access in Cloud Computing,” Int’l J. Advanced Eng.Sciences and Technologies, vol. 5, no. 2, pp. 150-155, 2011.

[12] Y. Huang and J. Chen, “Fragment Allocation in Distributed Data-base Design,” J. Information Science and Eng., vol. 17, pp. 491-506,2001.

[13] P. Kumar, P. Krishna, R. Bapi, and S. Kumar, “Rough Clusteringof Sequential Data,” Data and Knowledge Eng., vol. 63, pp. 183-199,2007.

[14] K. Voges, N. Pope, and M. Brown, “Cluster Analysis of MarketingData Examining Online Shopping Orientation: A comparison ofK-means and Rough Clustering Approaches,” Heuristics and Opti-mization for Knowledge Discovery, H.A. Abbass, R.A. Sarker, and C.S. Newton, eds., pp. 207-224, Idea Group Publishing, 2002.

[15] A. Fronczak, J. Holyst, M. Jedyank, and J. Sienkiewicz, “HigherOrder Clustering Coefficients,” Barabasi-Albert Networks, PhysicaA: Statistical Mechanics and Its Applications, vol. 316, no. 1-4,pp. 688-694, 2002.

[16] M. Halkidi, Y. Batistakis, and M. Vazirgiannis, “Clustering Algo-rithms and Validity Measures,” Proc. 13th Int’l Conf. Scientific andStatistical Database Management (SSDBM), 2001.

[17] A. Ishfaq, K. Karlapalem, and Y. Kaiso, “Evolutionary Algorithmsfor Allocating Data in Distributed Database Systems,” Distributedand Parallel Databases, vol. 11, pp. 5-32, Kluwer Academic Pub-lishers, 2002.

[18] C. Danilowicz and N. Nguyen, “Consensus Methods for SolvingInconsistency of Replicated Data in Distributed Systems,” Distrib-uted and Parallel Databases, vol. 14, pp. 53-69, 2003.

[19] R. Costa and S. Lifschitz, “Database Allocation Strategies for Par-allel BLAST Evaluation on Clusters,” Distributed and Parallel Data-bases, vol. 13, pp. 99-127, 2003.

[20] S. Menon, “Allocating Fragments in Distributed Databases,” IEEETrans. Parallel and Distributed Systems, vol. 16, no. 7, pp. 577-585,July 2005.

[21] N. Daudpota, “Five Steps to Construct a Model of Data Allocationfor Distributed Database Systems,” J. Intelligent Information Sys-tems: Integrating Artificial Intelligence and Database Technologies,vol. 11, no. 2, pp. 153-68, 1998.

[22] Microsoft SQL Server Available from: <http://www.microsoft.com/sql/editions/express/default.mspx>, 2012.

[23] MySQL 5.6 <http://www.mysql.com/>, 2013.[24] OPNET IT Guru Academic, OPNET Technologies, Inc. <http://

www.opnet.com/university_program/itguru_academic_edition/>,2003.

[25] J. Hauglid, N. Ryeng, and K. Norvag, “DYFRAM: Dynamic Frag-mentation and Replica Management in Distributed Database Sys-tems,”Distributed and Parallel Databases, vol. 28, pp. 157-185, 2010.

[26] Z. Wang, T. Li, N. Xiong, and Y. Pan, “A Novel Dynamic NetworkData Replication Scheme Based on Historical Access Record andProactive Deletion,” J. Supercomputing, vol. 62, pp. 227-250, Oct.2011, DOI: 10.1007/s11227-011-0708-z. Published online.

[27] S. Khan and I. Ahmad, “Replicating Data Objects in Large Distrib-uted Database Systems: An Axiomatic Game Theoretic Mecha-nism Design Approach,” Distributed and Parallel Databases, vol. 28,no. 2/3, pp. 187-218, 2010.

[28] H. KhanS and L. Hoque, “A New Technique for Database Frag-mentation in Distributed Systems,” Int’l J. Computer Applications,vol. 5, no. 9, pp. 20-24, 2010.

[29] S. Jagannatha, M. Mrunalini, T. Kumar, and K. Kanth, “Modelingof Mixed Fragmentation in Distributed Database Using UML 2.0,”IPCSIT, V. 2, pp. 190-194, 2011.

Fig. 13. The WTDS network delay.

Fig. 14. Max. Net. delay for clustering techniques.

HABABEH ET AL.: DESIGNING HIGH PERFORMANCEWEB-BASED COMPUTING SERVICES TO PROMOTE TELEMEDICINE DATABASE... 63

Page 18: IEEE TRANSACTIONS ON SERVICES COMPUTING, … · Designing High Performance Web-Based Computing Services to Promote Telemedicine Database Management System Ismail Hababeh, Issa Khalil,

[30] A. Morffi, C. Gonzalez, W. Lemahieu, and L. Gonzalez,“SIADBDD: An Integrated Tool to Design Distributed Databases,”Revista Facultad de Ingenieria Universidad de Antioquia ISSN(Version impresa): 0120-6230, No. 47, pp. 155-163, Mar. 2009.

[31] M.T. €Ozsu and P. Valduriez, Principles of Distributed Databases.Third ed., 2011.

[32] G. Mao, M. Gao, and W. Yao, “An Algorithm for Clustering XMLData Stream Using Sliding Window,” Proc. the Third Int’l Conf.Advances in Databases, Knowledge, and Data Applications, pp. 96-101,2011.

[33] M.P. Paix~ao, L. Silva, and G. Elias, “Clustering Large-Scale, Dis-tributed Software Component Repositories,” Proc. the Fourth Int’lConf. Advances in Databases, Knowledge, and Data Applications,pp. 124-129, 2012.

[34] G. Decandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman,A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels,“Dynamo: Amazon’s Highly Available Key-Value Store,” Proc.ACM Symp. Operating Systems Principles, pp. 205-220, 2007.

[35] http://en.wikipedia.org/wiki/MongoDB, Nov. 2013.[36] F. Chang, J. Dean, S. Ghemawat, W.C. Hsieh, D.A. Wallach, M.

Burrows, T. Chandra, A. Fikes, and R.E. Gruber, “Big Table: ADistributed Storage System for Structured Data,” Proc. SeventhSymp. Operating Systems Design and Implementation, pp. 205-218,2006.

Ismail Hababeh received the bachelor’s degreein computer science from the University ofJordan, the master’s degree in computer sciencefrom Western Michigan University, and the PhDdegree in computer science from Leeds Metro-politan University, United Kingdom. His researchareas of particular interest include, but are notlimited to the following: distributed databases,cloud computing, network security, and systemsperformance.

Issa Khalil received the BSc and MS degreesfrom Jordan University of Science and Technol-ogy in 1994 and 1996, and the PhD degree fromPurdue University, in 2007, all in computer engi-neering. Immediately thereafter, he joined theCollege of Information Technology (CIT) of theUnited Arab Emirates University (UAEU) wherehe was promoted to an associate professor inSeptember 2011. In June 2013, he joined QatarComputing Research Institute (QCRI) as a seniorscientist with the cyber security group. His

research interests span the areas of wireless and wire-line communica-tion networks. He is especially interested in security, routing, and perfor-mance of wireless sensor, ad hoc and mesh networks. His recentresearch interests include malware analysis, advanced persistentthreats, and ICS/SCADA security. He served as the technical programco-chair of the Sixth International Conference on Innovations in Informa-tion Technology, and was appointed as a Technical Program Committeemember and a reviewer for many international conferences and journals.In June 2011, he was granted the CIT outstanding professor award foroutstanding performance in research, teaching, and service.

Abdallah Khreishah received the BS degreewith honors from Jordan University of Science &Technology in 2004. He received the MS andPhD degrees in electrical and computer engi-neering from Purdue University in 2006 and2010, respectively. In Fall 2012, he joined theECE Department of New Jersey Institute of Tech-nology as an assistant professor. His researchspans the areas of network coding, wireless net-works, cloud computing, and network security.

64 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 8, NO. 1, JANUARY/FEBRUARY 2015


Recommended