Enhanced Cloud Service Provisioning for Social Networks

In the era of cloud computing and social networks prosperity, new requirements rise up for cloud services that meet social network’s needs. Several cloud service providers deliver social network services for cloud services users. The aim of this paper is to develop a framework to pick the best cloud service providers from group of available providers based on many Quality-of-Service (“QoS”) criteria attributes in order to enhance efficiency, accuracy and service provisioning. This paper also aims to provide a classification for QoS criteria attributes, which is divided into five main attributes and sub-attributes, helping in enhancing ranking process in the provided framework.


Introduction
Cloud computing and social networks are two of the most powerful movements in web 2.0 space, where the potential of interaction and integration is compelling to say the least.Cloud service users try to capture the crown of sourced pool of knowledge floating over the Internet from sites like Google, Amazon and Facebook, and then use this information with useful knowledge to get better commercial use of service operations.This combination enables users to share heterogonous resources within the context of social network and cloud computing platform, and thus to take advantage of cloud system in order to enhance the efficiency in all attributes.
Therefore, there are many definitions for Social Cloud.That is a scalable computing model in which virtualized resources from users are dynamically provisioned amongst a group of friends, or it's a framework that enables sharing resources and services through utilization of already established relationships among members of social network [1].Additionally, it's an emerging concept of networking services that are provided by nodes participating in a cloud network [2].All these definitions refer to the particular notion of social-based service provisioning where human members of a social network site are able to publicize their computing resources and create a cloud service model on top of the social network site [3].
Nowadays cloud services seem promising in many fields such as education, healthcare, banking, etc. Providing services by many providers for this kind of fields can be better, cheaper and easier to maintain and much easier for users to reach, and that will impact the economic cycle.Cloud service providers provide many services, however, sometimes they may provide the same service but in different metrics and levels [4]; thus, cloud computing model is divided into three main categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) [5].
IaaS is a form of cloud computing that provides virtualized computing resources over the Internet.In an IaaS model, a third-party provider hosts hardware, software, servers, storage and other infrastructure components on behalf of its users.IaaS providers also host users' applications and handle tasks including system maintenance, backup and resiliency planning.IaaS platforms offer highly scalable resources that can be adjusted on-demand.This makes IaaS well-suited for workloads that are temporary, experimental or unexpected [6].
Platform-as-a-service (PaaS) is a cloud computing model that delivers applications over the Internet.In a PaaS model, a cloud provider delivers hardware and software tools usually those needed for application development to its users as a service.A PaaS provider hosts the hardware and software on its own infrastructure.As a result, PaaS frees users from having to install in-house hardware and software to developing or running a new application.Most PaaS platforms are geared toward software development, and they offer developers several advantages.For example, PaaS allows developers to frequently change or upgrade operating system features.It also helps development teams collaborate on projects [7].
Software-as-a-Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet.SaaS is becoming an increasingly prevalent delivery model as underlying technologies that support Web services and service-oriented architecture (SOA) mature and new developmental approaches, such as Ajax, become popular [8].
Service provisioning which is mandatory in SaaS refers to the processes for the deployment and integration of cloud computing services within an enterprise IT infrastructure.This is a broad term that incorporates the policies, procedures and an enterprise's objective in sourcing cloud services and solutions from a cloud service provider.Service provisioning can include the supply and assignment of required cloud resources to the customer, for example, the creation of virtual machines, the allocation of storage capacity and/or granting access to cloud software [9].
While a cloud customer is concerned about seeking for best service provider that can meet with the customer expectations, the need to pay more attention to key metrics such as availability, pricing, performance and security, thus the need for framework to manage and organize cloud service provisioning process and for ease of cloud provider selection for specific service according to the social network type and preferences.
Social networks can provide services running over cloud environment such as word processing, presentations, Google docs, Facebook applications, storage services and Microsoft web applications.This leads to the need for covering the increasing numbers of social networks users and cloud service providers.Both of cloud service providers and social networks have got their own characteristics, also both have got shared characteristics.In this framework we are going to focus on the social networks characteristics while choosing the cloud service selection criteria.These characteristics will be used in selection and raking service providers in order to get better and enhance ranking process efficiency and performance.
The objectives of this paper are to propose an effective framework for cloud service provisioning for social networks services that target improvement of resource utilization and provide new classification of cloud services quality features.This paper is organized as follows: next section is the related work in cloud provisioning domain while Section 3 explains quality criteria of social cloud provisioning.Section 4 presents the proposed framework for cloud service provisioning for social networks.Section 5 is an experiment and finally Section 6 is the conclusion and future works.

Related Works
Cloud computing services are becoming a huge industry, where all cloud service providers compete to make deals with extra users.Cloud service providers also offer many levels of a service, this made a competition be-tween cloud service providers, so many studies and researches are investigating on how user can match a request with service provider according to their preference.There are many computer systems that could be used to help cloud service customers to select appropriate cloud service providers.Those frameworks apply ranking techniques either from Information Retrieval and some from decision making.This section discusses those frameworks as follows.
In [10] the authors present a framework for cloud service selection engine to select the most appropriate cloud service provider from the Web Repository.This framework uses analytic hierarchy approach AHP [11] for multi-criteria QoS decision making which accelerates the selection process, which is based on Service Measurement Index (SMI) [12] ISO standards that defines seven groups of QoS attributes, applying the uncertainty computation to reduces the search space by filtering and producing the most consistent resource providers from the available list, and the Analytic Hierarchy Process (AHP) for making decisions over multiple alternatives and at the last phase the cost benefit analysis phase where the selected service providers are analyzed on the basis of the benefits obtained as against the cost that they charge.The final result is an ordered list of alternatives according to user's preference.
In [13] the authors proposed a framework for ranking cloud services, with three main components Provision unit to gather information and generating requests.Ranking unit applies Multi Criteria Decision Making (MCDM) and ISO standards for SMI.Using AHP over QoS attributes to provide a list with ranked cloud service provider upon user requirement and Reservation unit will get the users choice of resources reservation time and period.With this information the reservation unit will check the availability of the requested resources at final phase which the customer can select cloud service provider and access the right resources at right time without fail.
In [14] the authors proposed a framework for SaaS selection based on brokered Service Level Agreements (SLAs), between service consumers and SaaS providers.The main components of this framework are service consumes, cloud service broker, measurement services and SaaS providers.This framework applies a SaaS Selection algorithm, which considers only non-functional (mainly QoS) issues in the selection process and SLA negotiation process.This algorithm ranks potential SaaS providers by matching their offerings against the requirements of the service consumer using an aggregate utility function.
Furthermore, another comparison studies [15] between well-known cloud service providers ranking approaches; such as Service Mapper Approach, SLA Matching Approach, SRS Approach Service Ranking System, SLA Matching, Aggregation Approach and Cloud Rank Approach.For SRS Approach is a system called Service Ranking System: the system proposed in this approach considers two static and dynamic states for cloud service ranking.In the static ranking system, all available cloud service providers are ranked without considering user requirements.In dynamic ranking, system tries to find and rank suitable services based on user requirements, and at last it represented by means of two completely clear formulas based on entered weights from user.This formula multiplies entered weights to the value of each attribute.Then, the calculated numbers are sorted and presented as a ranking result [16], while Aggregation Approach [17] is based mainly on the usage of benchmark.It also applies user feedback for service ranking.It gets two types of information from user and benchmark then by using the fuzzy method to transform this information to scientific and comparable, after that move information to an assessment aggregation service to selects required service by receiving performed assessments.On the other hand Cloud Rank Approach [18], is performed based on prediction of qualitative values.This work mentioned that qualitative value of services should be measured before service comparison process, similarity value for all active users based on their comparison with pervious users, then separates and classifies similar users based on their obtained similarity values and finally by using CloudRank1 and CloudRank2 algorithms on similar users and presents the result to the user.Moreover, Service Mapper Approach, this introduces a service mapper called cloud service provider mapper for service ranking.As it uses Singular Value Decomposition (SVD) [19] technique, which is a statistical technique for cloud service ranking.First, gathering information about Cloud service providers and user requirements, then applies SVD over Provider Quality matrix, the final phase is getting data and extract it among selected services and user application is mapped over the selected service.Finally, SLA Matching Approach this approach is a part a framework of Semantic Application and Core Services Portability across Heterogeneous Clouds, this approach defines the process of identifying compatible cloud provider for a given requirements by matching SLA parameters [20].It's based on building RDF for cloud model and user requirements model, then converts these two models into graphs and calculate the data as pair wise.Each framework and approach has got its own limitation.In decision making the limitation that it's based on applying the algorithm over the whole dataset "fixed" that cost much time, efficacy and resources in addition of computing complexes matrixes.The proposed framework performs a dynamic through creating short list from service providers and QoS attributes.

Quality Criteria of Cloud Provisioning
QoS (Quality-of-Service) is an important topic in cloud computing.It enables selections of the cloud services depending on QoS requirements.These requirements have to be satisfied by both cloud service providers and cloud customers.QoS is defined as a set of properties including response time, throughput, availability, reputation, failure probability, etc.Among these QoS properties some is based on applying quality criteria of web services which is divided into subset of attributes [21] [22] as Figure 1, these attributes were selected according to its relationship with social networks criteria attributes, these attributes were organized into five main criteria attributes Flexibility, Reliability, Scope and Performance, Business model and Security and Privacy.

Flexibility
For cloud services adds more value by its characteristics; it adds better allocation and de-allocation timing, increasing the interaction between users and cloud provider.It's strongly supports virtualization because abstraction and encapsulation, and the most important that it had shorter provisioning time because it's running over third party [23]- [25] this kind of flexibility is crucial in a scientific domain to support scientific applications with a wide range of operating system and software requirements [26].Also there is no need to install and run the special software on your computer in case of using cloud services, the concept is attractive and some software runs well as cloud computing, but the delay of network is fatal to real time or half real time applications such as 3D online game [23].

Business Model
The cost pricing according to [27] depends on two attributes: acquisition and on-going, it is not easy to compare different prices of services as they offer different features and thus have many dimensions, even the same provider offers different levels of the service to satisfy users' requirements, so cloud services pricing models are different and based on service providers such as pay-as-you-go, prepaid, free, free then paid and volunteer [28] [29], pricing is also dependent on cloud user type, where there are two categories of cloud users: end user and median user, cloud services are ends in themselves for end user, end user consumes cloud services for self-use and sometimes doesn't pay for cloud services directly, while median user consumes cloud services and cost efficiently supplies professional services to others and usually pays for consumed cloud services directly [30].

Scope and Performance
Scope of services and the performance of a Cloud provider are described, to select the cloud provider which best meets the requirements, knowledge about their service and performance is of crucial importance [31].Here it is essential to consider features regarding performance (latency, or transaction speed), capacity limits (e.g.maximum number of accounts or storage space), service complexity (how many functions are available) and degree of customization (how far the service can be adapted) [32], activating load balancer, and loose coupling increases the whole efficiency of cloud service, and to take place the best service selection give user requirements [4].

Security and Privacy
Security and privacy concerns when using cloud computing services are similar to those of traditional non-cloud services, concerns are amplified by external control over organizational assets and the potential for mismanagement of those assets.Transitioning to public cloud computing involves a transfer of responsibility and control to the cloud provider over information as well as system components that were previously under the organization's direct control.The transition is usually accompanied by loss of direct control over the management of operations and also a loss of influence over decisions made about the computing environment.
Social cloud services user achieves this by ensuring that the contract with the provider and its associated service level agreement (SLA) has appropriate provisions for security and privacy.In particular, the SLA must help maintain legal protections for privacy relating to data stored on the provider's systems [33], while SaaS provides application services on demand such as email, conferencing software, and business applications such as ERP, CRM, and SCM [34], SaaS users have less control over security among the three fundamental [35] and by using virtualization to protect physical infrastructure, data centers, increasing service provisioning by using dynamic scaling [28] and privation of cloud provider to avoid exposing the details of corresponding implementations.[30].

Reliability
Is the probability that service pledges can be met, reliability describes how certain service from the cloud provider has the guaranteed availability.In contrast to the commitment, which efforts are guaranteed by the provider, service SLAs and trustworthiness ex.performance transparency, market experience, the trustworthiness describes the supporting of dynamic scaling which may be evidence of a high reliability [30], these include disaster recovery, redundant sites or certifications [4].Dynamic scaling for service provisioning in reliability allows the provision of services which is based on current demand requirements.This is done automatically using software automation, enabling the expansion and contraction of service capability, as needed.This dynamic scaling needs to be done while maintaining high levels of reliability [28].Some companies like HP archived reliability by replicating objects many times in multiple availability zones so that customers can access their data when they need it [36].

Overall Process for Social Network Service Provisioning
Cloud service provisioning is the process of allocation suitable resources to customer maintaining the quality of service goals.The proposed framework aims to enhance the selection process for delivering candidate set of cloud providers who provide the best level of cloud services provisioning for social networks services in order to improve resource utilization, which is achieved by reducing over provisioning and determining most cost-effec-tive configuration allocation.According to Figure 2, this framework is consists of many components SLA-Analyzer which is responsible for insuring that cloud service providers provide the minimum required level of services, Service Album acts as storage for candidate service provider and it's used to perform a comparison between the cloud service providers, who provide the same service according to specific QoS attributes.This framework is divided into two phases matching and ranking services.

Matching Cloud Services Providers
First, the SLA-Analyzer will check the availability of required service from service provider dataset and generate a "0/1" bitmap.This list represents the list of candidate service providers.Then, it applies Quick Search algorithm [37] over bitmap to increase flexibility and efficiency by eliminating any unwanted QoS attributes, after that this list is transferred to next Service Album in ranking phase.

Ranking Process
The main objective of rankling process is to score each cloud service provider based on user preferences , in order to achieve this objective two approaches are used.The first approach is Analytic Hierarchy Process (AHP) [38] from decision making, that allow user to provide her/his preference of QoS attributes.While the second approach applies two similarity functions Cosine [39] and Pearson [40] from information retrieval to find out the most similar service provider to user request.

AHP Ranking Process
Ranking cloud service providers process which is divided into three layers, where the upper layer would refer to the best (goal) cloud service provider, in the middle layer are the quality attributes according to Figure 1.Each attribute refers to a quality criteria with weights arranged according to its importance, while the lower layer contains the list of cloud service providers imported from SLA-Analyzer [11] as shown in Figure 3.
The first step is importing Cloud providers list from SLA-Analyzer, then user assign weights to attributes manually according to their importance in their social network type.The summation of the weighted QoS attributes must be one, social networks attributes are concerned with storage at first then CPU then security then the rest of attributes according to social network type and preferences, scientific social networks are concerned with performance and cost but less security.
To assign weights we've used the key of importance from 0 to 9, where zero is option to eliminate the QoS attribute, one is less important and 9 is the most important, where each QoS main attribute have its own key, after assigning keys to criteria the weights are calculated as follows, first square the matrix after that calculate the  summation of each row and then, normalize the vales of Row Summation column to one the final result would be the weights for each QoS attributes.
Now the preparation to generate the Relative Service Ranking Matrix (RSRM) as follows: After that, divide each element in each column by its column summation, in order to normalize the summation of each column is one, then multiply matrix by 1/N, AN = number of providers, then get summation of reach row to generate Relative Service Ranking Vector (RSRV) as follows: The RSRV service is [∑P1, ∑P2, ∑P3, ∑Py], by applying the above matrixes to all QoS sub-attributes one by one till apply it on the main QoS attribute, then fill these matrixes column by column to create RSRV (Relative Service Ranking Vector, and then after matrix is completed, multiply it by the weights to get the final assessment result as follows: Cy Xy Ay By W4 Vy

Cosine Similarity
The next approach from information retrieval is Cosine Similarity.The idea is to identify the most similar cloud provider that match user request.The cosine of two vectors can be derived by using the Euclidean dot product formula cos x y x y θ ⋅ = .
Given two vectors of attributes, X and Y, the cosine similarity, cosine (θ) is represented using a dot product and magnitude as follows: ( ) The result of similarity ranges from 1 meaning exactly the same, to 0 usually indicating independence, and in-between values indicate intermediate similarity or dissimilarity, the positive correlation, which means that high X variable scores go with high Y.

Pearson Similarity
The next ranking approach also from information retrieval is Person Similarity which is used to measure the strength of a linear association between two variables, where the values r = [1, 0] if r = 1 means a perfect positive correlation and if r = 0 means a perfect negative correlation, it is calculated by the following equations: Like Cosine similarity, we should create vectors using the same data used in the Cosine similarity and the results of similarity ranges from 1 meaning exactly the same, while 0 usually indicating independence, and inbetween values indicate intermediate similarity or dissimilarity, the positive correlation, which means that high X variable scores go with high Y.
At final phase the system presents the recommended cloud service provider upon this score.Using majority calculation as all algorithms results are normalized to one.

Experiment
At first, the service catalog file was loaded.Then a bitmap is applied to transfer the availability of requested functionality into 0/1 values as shown in Table 1.Next, any attributes that do not match user's requirements is eliminated by applying Quick search to generate a short list cloud service providers as shown in Table 2.
A short list will be generated contains Amazon, Google and IBM as shown in Table 3.This short list shows a subset of cloud service providers and QoS attributes, after that moving to the next step to Service Album and run algorithms.

Analytic Hierarchy Process AHP
During this phase, the user provide degree of importance of quality attributes for AHP ranking calculations, as-   We divide on the summation of each column to each element in column to normalize the summation of each column to one, then multiply the matrix by 1/N where N = 3 and get the summation of each row as follows: We have noticed after multiplication that the final vector is [0.429, 0.346, 0.225] for Amazon Ec2, IBM and Google respectively.

Vector Similarity.
Those algorithms are different from AHP, since cosine similarity uses a typical input from user and matches it with cloud service provider list stored in Service Album.The user would identify main requirements of cloud providers as shown in Table 4.
This input is compared with each service providers to get the most similar one using both cosine and Pearson similarity.The output is as follows.
As shown in Table 5, Cosine and Pearson similarity results are nearly close together.Both techniques nominate in most cases the same cloud service providers and in this case the nominated provider according the scores is Google.

Conclusion and Future Work
It has been demonstrated that cloud services and social networks will take place for a while with rapid scale of improvements.This paper proposes a framework for selecting cloud service providers using different ranking techniques such as AHP from decision making and Cosine and person similarity from information retrieval.According to social network type, user can choose the QoS profile based on its own preferences.Selecting of appropriate cloud service providers according to features of QoS attributes, each is weighted by running comparison using AHP.While in Cosine and Pearson similarity are based on finding typical match between user input and cloud service provider QoS attributes, in order to pick the optimal service provider for specific service.Each algorithm has got its own limitation, but adding option of elimination service providers, QoS attributes, or both, this option adds more flexibility, decreases the processing time and resources consuming, increases the accuracy and efficiency and helps to achieve better service provisioning.

Figure 1 .
Figure 1.Cloud computing main and sub features.

Table 3 .
Short list of cloud service providers dataset associate with priority vector.
Price/month is [0.327, 0.449, 0.224] and by applying the same technique to all sub attributes of cost we get that RSRM for data transfer and storage are [0.21,0.49, 0.28] and [0.28, 0.62, 0.10] so now we can make RSRV matrix for main attribute cost by the following style: This is repeated among the other QoS attributes to get the final matrix and multiply it with calculated weights above.

Table 4 .
User request to cloud service providers.