DSRZ Record
DSRZ Record
PROBLEM STATEMENT
Cloud computing is the latest computing paradigm that delivers hardware and software resources as
virtualized services in which users are free from the burden of worrying about the low-level system
administration details. Migrating Web applications to Cloud services and integrating Cloud services
into existing computing infrastructures is non-trivial. It leads to new challenges that often require
innovation of paradigms and practices at all levels: technical, cultural, legal, regulatory, and social.
The key problem in mapping Web applications to virtualized Cloud services is selecting the best and
compatible mix of software images (e.g., Web server image) and infrastructure services to ensure that
Quality of Service (QoS) targets of an application are achieved. The fact that, when selecting Cloud
services, engineers must consider heterogeneous sets of criteria and complex dependencies between
infrastructure services and software images, which are impossible to resolve manually, is a critical
issue.
To overcome these challenges, we present a framework (called CloudGenius) which automates the
decision-making process based on a model and factors specifically for Web server migration to the
Cloud. CloudGenius leverages a well known multi-criteria decision making technique, called Analytic
Hierarchy Process, to automate the selection process based on a model, factors, and QoS parameters
related to an application. An example application demonstrates the applicability of the theoretical
CloudGenius approach. Moreover, we present an implementation of CloudGenius that has been
validated through experiments.
2. ABSTRACT
With the increase in cloud service providers, and the increasing number of compute services offered, a
migration of information systems to the cloud demands selecting the best mix of compute services and
virtual machine (VM ) images from an abundance of possibilities.
Therefore, a migration process for web applications has to automate evaluation and, in doing so,
ensure that Quality of Service (QoS) requirements are met, while satisfying conflicting selection
criteria like throughput and cost.
When selecting compute services for multiple connected software components, web
application engineers must consider heterogeneous sets of criteria and complex dependencies across
multiple layers, which is impossible to resolve manually.
In this paper, the authors have proposed a framework that has proven its capability to support
migrations of single-component as well as multi-component web applications.
CloudGenius expands on the additional complexity of facilitating migration support for multicomponent web applications. It presents an evolutionary migration process for web application
clusters distributed over multiple locations, and clearly identifies the most important criteria relevant
to the selection problem.
CloudGenius also comprises of a multi-criteria-based selection algorithm based on Analytic
Hierarchy Process (AHP). Because as the solution space grows exponentially, the authors have
developed a Genetic Algorithm (GA)-based approach to cope with computational complexities in a
growing cloud market.
INTRODUCTION
This project reviews the Services of the home care needs. It looks at what has already in areas home
care needs and Using technology to replace human effort, skill, and time to perform a process,
Emphasizing the online services for home needs. Placing controls over the access of the services in the
city. Using the technology as a fail-safe mechanism to monitor and increase certainty and control over
production and the organizational functions.
PURPOSE:
The purpose to design a Cloud Genius is to provide migration support for multi-component web
applications to cope with multi computational complexities emerging in the market.
Specific Objectives
i. To study and analyze the current home care services in order to come up with proper
requirement specifications for the new system.
ii. To design an online system to provide services at door step.
iii. To create an application that will enable the coordinator to evaluate various services statistics,
which can influence decision-making .
SCOPE OF THE PROJECT
The Timesaverz project is a software tool created to help and access the services required by the
user with well equipped agents in the city. The project is web based interactive application. Focus is
laid solely on the services categories, availability , enquiry, schedule, payment as per required and
feedback against used service .
DEFINITIONS:
i.
ADMINISTRATOR: The administrator is used to register a new visitor for the website.
Administrator can keep those records update. Administrator keep services booked record i.e.,
how many services are booked and how many booked services have successfully completed
etc.
ii.
GUI : A graphical user interface (GUI) is a human-computer interface (i.e., a way for humans
to interact with computers) that uses windows, icons and menus and which can be manipulated
by a mouse .In computing, a graphical user interface is a type of user interface that allows
users to interact with electronic devices using images rather than text commands.
iii.
HTML: This is the language that Web pages are written in. If you want to create really great
Web pages then you will need to learn this. As far as computer languages go this is the easiest
to learn. You can create a Web page without it using a Web page editing program but the
program will still use HTML to create the page.
iv.
URL: Stands for "Uniform Resource Locator." A URL is the address of a specific Web site or
file on the Internet. It cannot have spaces or certain other characters and uses forward slashes
to denote different directories. Some examples of URLs are http://www.cnet.com/,
http://web.mit.edu/, and ftp://info.apple.com/. As you can see, not all URLs begin with "http".
The first part of a URL indicates what kind of resource it is addressing.
RDBMS: Short for Relational Database Management System, RDBMS refers to a relational
database plus supporting software for managing users and processing SQL queries, performing
backups/restores and associated tasks.
v.
vi.
SQL: SQL, short for Structured Query Language is a simple programming language used for
accessing and managing data in relational databases such as SQL Server.
ACRONYMS
Initial
Full Text
AR/RS
CGI
GUI
HTML
IT
Information Technology
ODA
OPACs
SQL
URL
REFERENCES
[1] Amazon Web Services. Web application hosting in the AWS cloud best practices
[Online].
Available:
http://media.
amazonwebservices.com/AWS_Web_Hosting_Best_Practices.pdf
[2] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski,G. Lee, D.
Patterson, A. Rabkin, I.Stoica, and M. Zaharia, Above the clouds: A Berkeley view of
cloud computing, EECS Dept.,Univ. California, Berkeley, CA, USA, Tech. Rep.
UCB/EECS-2009-28, 2009.
[3] P. Mell and T. Grance, The NIST definition of cloud computing,recommendations of
the national institute of standards and technology, NIST Special Publication,
Gaithersburg, MD, USA, 2011.
[4]
BitNami.
BitNami
cloud
images
[Online].
Available:
http://
bitnami.org/learn_more/cloud_images
[5] The cloud market [Online]. Available: http://cloudmarket.com
[6]
A.
W.
Services.
(2013,
Jan.).
The
AWS
marketplace.
https://aws.amazon.com/marketplace
[Online].Available:
https://aws.amazon.com/marketplace
[7] M. Menzel and R. Ranjan, CloudGenius: Decision support for web server cloud
migration, in Proc. 21st Int. Conf. World Wide Web, 2012, pp. 979988.
[8] M. Menzel, M. Schonherr, and S. Tai, MC22: Criteria,requirements and a
software prototype for cloud infrastructure decisions, Softw. Practice Experience, vol.
43, no. 11, pp. 12831297, Nov. 2013.
OVERVIEW
Cloud Computing provides an elastic Information Communication Technology (ICT) infrastructure for
the most demanding and dynamic web applications. Clouds provide an infrastructure (if optimally
selected and allocated) that can match ICT cost with workload patterns in real-time. Cloud service
types can be abstracted into three layers: Software as a Service (SaaS), Platform as a Service (PaaS),
and Infrastructure as a Service (IaaS).
The increasing domination of Cloud computing solutions in the software market means that existing
applications may need to migrate to this environment, in order to reap the benefits of reduced
infrastructural costs and dynamic access to computational resources. While applications have already
started being developed specifically for the Cloud (forming Cloud-native applications), existing
systems must be adapted to be suitable for the Cloud, requiring to make them Cloudenabled. Decision
making on whether and how to migrate to the Cloud entails a series of parameters, and incorporates
multiple dimensions with different analytical tasks that need to be supported. Supporting this process
in the literature mainly revolves around selecting an appropriate provider and calculating the cost of
deploying and running the application, usually as part of an Infrastructure as a Service (IaaS) solution,
Calculating the cost of using Cloud offerings and comparing them with each other, despite the
availability of information from the providers is complicated by a number of factors. First of all,
different Cloud providers use different pricing models. As discussed in, a Cloud service may be
offered on a pay per use, subscription, prepaid per use (pay per use against a pre-paid credit), or
combinations of subscription and pay per use, with dedicated computing resources rented for a period
of time, and additional resources available on demand. More sophisticated options are also available.
Amazon Web Services for example allow customers to bid for unused EC2 capacity by means of Spot
Instances. Furthermore, different providers define the parameters of their offerings in different ways.
Windows Azure, for example, incorporates the cost of I/O bandwidth as part of the pricing for Cloud
Service instances, offering Virtual Machine (VM) images for lease, while Amazon EC2 charges only
for outbound data. The same service is also typically offered in a variety of configurations on, e.g., the
number of CPU cores, or the maximum storage size required, that further complicates the selection of
an appropriate service provider. The related work in migration support of applications to the Cloud.
Identify for this purpose a fixed set of parameters to be considered in calculating the cost of Cloud
offerings. These parameters however do not necessarily cover all configuration options available by
service providers.
II) OVERALL DESCRIPTION
PRODUCT PERSPECTIVE: This product requires a web browser which is capable of playing flash
media. This program will not be dependent on any other software and is not a component of another
program. This program does require new hardware.
PRODUCT FUNCTION: The product function deals with methods of data collection, migration that
were used in the system study and design of the proposed system. An investigation of the current
manual system was carried out in order to determine the requirement specifications for the Cloud Data
Migration. Therefore, the process of data collection and migration involved identifying all the major
activities and selective sampling to choose what activities should be considered for the development of
the system. During the fact-finding process, the researcher used different techniques to study the
existing situation.
INPUT: The user has to fill the available form to register themself and to enjoy the facilities provided
by them. After filling the form click on Sign Up button.
PROCESSING: After the user fill the form and submit the form the internal processing starts which
checks the details like whether the E-mail id, OTP etc., are correct or not.
OUTPUT: If the processing gives the result as the details are correct then the registration is done, if
not the registration fails. The system provides us with one more trail if it fails.
2. LOGIN: When the registration of the particular user is done then login module is displayed. The
Login module contains the form which contain membership Mobile number and OTP received on
registered number. It includes Mobile No and OTP Received.
INPUT: The user must fill the available form to login.
PROCESSING: The system evaluates the form to check whether the user trying to access the data is
registered or not.
OUTPUT: If the user is registered i.e., if the result is true then he/she will be logged in.
3. ENQUIRY: Any user who is registered or not can view the services available in Timesaverz
system. User can enquire about categories of services, number of sub services, levels of services,
comparison between levels of services, service cost on level of service selected etc.,
INPUT: Input in this requirement of the view is the selectable options available to the user on the
screen.
PROCESSING: The input given by the user is used in processing to find out the data available and
the appropriate result is displayed to the user.
OUTPUT: All related information regarding the service is provided to the user.
4. BOOK SERVICE: Select your required service and schedule the timings, give the address details
where you want the service to be done, select the payment mode and fill the payment details if not
selected as COD.
INPUT : Select the options available and fill the required input fields on the screen to book your
service.
PROCESSING: The system undergoes internal processing for the input given to it and finds the
solution for the input.
OUTPUT: The result of this step is the displaying of the detailed description of the booked service so
that the users can confirm it and to decide to book that service or not.
5. COMPLAINT: If in any scenario service is not done correctly then user is given option to give
complaint about the service.
INPUT: The user has to fill the available form which contains service details which were booked,
complaint box etc.
PROCESSING: The system undergoes internal processing for the input given to it and finds the
solution for the input.
OUTPUT: The result of this step is the booking of the complaint of service done and necessary
actions will be taken on complaint.
6. LOGOUT: To sign off from the webpage or your account log off.
INPUT: To exit the webpage LOGOUT option is clicked.
PROCESSING: The internal processing is done to save the modifications which are done and then
the page is logged out.
OUTPUT: Result will be the exit of the webpage.
Front End Client - The applicant and Administrator online interface is built using JSP and
ii.
iii.
HARDWARE INTERFACE
The server is directly connected to the client systems. The client systems haveaccess to the
database in the server.
USER INTERFACE
The user of the system is expected to:
ii
HARDWARE REQUIREMENTS
The proposed system would need a computer with at least 400MB random access memory and
should have a UK/US system of keyboard. In addition to that the system should have a colored
monitor screen with a minimum processing speed of 1 GHz, a printer preferably a laser jet 6P, mouse
and pad.
SOFTWARE REQUIREMENTS
The application runs under Windows 2000 or higher, which should be pre installed on the
computer. The anti virus software toolkit used is Macfeanti virus that should be regularly upgraded or
any other anti virus software tool kit can be used.
C. PERFORMANCE REQUIREMENT
i
ii
The system will authenticate all users by username and password before getting access to
resources.
iii
The system should be available at any time of the day so that the searching individual is able to
search at his/her own convenience
iv
The system should be accessible on the Makerere University intranet as well as any other place
where there is Internet.
The system should be maintainable by an individual with average computer capabilities. Data
input, modification and elementally logical streamlining should be done using online prepared
forms that will be friendly and robust enough for the user to manage with minimal possibilities
of causing mistakes.
vi
The system shall have appropriate menus from which the user will make selections for the
required functions.
vii
The system shall have a user-friendly interface, which can be easily leant and used in a short
time.
viii
ix
D. ATTRIBUTE
SECURITY: The security for any software is a very important work to be done by any designer.
Security of online Timesaverz service is designed carefully so that any user cannot make any changes
to database present and it is also made error-prone to avoid errors when many number of user access
the data.
MAINTANABILITY: The maintainability of the online Timesaverz service involves the following
two functions that are :The system shall utilize interchangeable plugins. The system shall be easily
updateable for fixes and patches.
PORTABILITY: The system should be extremely via the usb drive. The system shall be easy to
migrate or backed up via another use drive.
AVAILABILITY: The system should have an availability of 99.99%.
RELIABILITY: Specify the factors required to establish the required reliability of the software
system at time of delivery.
E. OTHER REQUIREMENTS:
i.
Data entry: Will be designed to cater for data inputs in the respective databases.
ii.
The modifications should also be validated and the system should respond to incorrect data. It
will be designed to validate data inputs in order to maintain data integrity.
iii.
Data edit: Will be designed to modify and update already existing files in the databases. The
modification should also be validated and system should respond to incorrect data to make the
user aware of the incorrect data.
iv.
Data deletion: Will be used to delete data from databases. Records marked for the user will
not access deletion.
v.
Report summary: Report summaries will be generated to give timely reports needed for
monitoring purposes. These reports may be used in decision-making and assessment.
vi.
UML addresses the specification of all the important analysis, design and implementation
decisions that must be made in developing and deploying a software intensive system.
Constructing:
UML is not a visual programming language but its models can be directly connected to a
variety of programming languages .
This means that it is possible to map from a model in the UML to a programming language
such as java, C++ or Visual Basic or even to tables in a relational database or the persistent store of an
object-oriented database.
This mapping permits forward engineering. The generation of code from a UML model into a
programming language.
The reverse engineering is also possible you can reconstruct a model from an implementation
back into the UML.
Documenting:
UML is a language for Documenting. A software organization produces all sorts of artifacts in
addition to raw executable code. These artifacts include Requirements, Architecture, Design, Source
code, Project plans, Test, Prototype, Release.
Such artifacts are not only the deliverables of a project, they are also critical in controlling,
measuring and communicating about a system during its development and after its deployment.
Conceptual model of the UML:
To understand the UML, we need to form a conceptual model of the language and this requires
learning three major elements.
*The UML Basic Building Blocks.
*The Rules that direct how those building blocks may be put together.
*Some common mechanisms that apply throughout the UML.
THINGS:
Things are the abstraction that are first class citizens in a model. Relationship tie these things together,
Diagrams groups interesting collection of Things.
Things in the UML
Structural Things
A collaboration defines an interaction and is a society of roles and other elements that work together to
provide some cooperative behavior that is bigger than the sum of all the elements. Collaborations
have structural as well as behavioral dimension. A given class might participates in several
collaborations. Collaboration represents the implementation of patterns that make up a system.
Graphically a collaboration is rendered as an ellipse with dashed line.
(d) Usecase
A use case is a description of set of sequence of actions that a system performs that yields an
observable result of value to a particular actor. Use case is used to structure the behavioral things in a
model. Use case is realized by a collaboration. Graphically usecase is rendered as an ellipse with solid
lines.
(e) Active Class
An active class is a class whose objects own one or more processes or thread and therefore can initiate
control activity. An active class is just like a class except that its objects represents elements whose
behavior is concurrent with other elements. Graphically an active class is rendered just like
a class, but with heavy lines, including name, attributes and operations.
f) Component
A component is a physical and replaceable part of a system that conforms to and provides the
realization of a set of interfaces. A component typically represents the physical packaging of otherwise
logically elements such as classes, interfaces and collaborations. Graphically a component is rendered
as a rectangle with tabs usually including only its name
(g) Node
A node is a physical element that exists at runtime and represents a computational resource, generally
having at least some memory and often processing capability. A set of component may reside on a
node and may also migrate from Node to Node. Graphically a node is rendered as a cube usually
including only its name.
BEHAVIORAL THINGS
Behavioral things are the dynamic parts of UML.
These are the verbs of a model, representing behavior overtime and space.
There are two primary kinds of Behavioral.
1)Interaction
An interaction is a behavior that comprises a set of messages exchanged among a set of objects within
a particular context to accomplish a specific purpose.
An Interaction involves a number of other elements, including messages, action sequences and links.
GROUPING THINGS
Grouping things are the organizational parts of UML models. These are the boxes into which a model
can be decomposed.
1.Package
A package is a general purpose mechanism for organizing elements into groups. Structural
things,Behavioral things and even other grouping things may be placed in a package. Package is
purely conceptual.
Package is rendered as a tabbed folder ,usually including onlyits name and some times its contents.
ANNOTATIONAL THINGS
Annotational things are the explanatory parts of UML model. These are the comments you may apply
to describe, illuminate and remark about any element in a model.
Note:
Note is primary kind of annotationalthingA note is simply a symbol for rendering constraints and
comments attached to an element or a collection of elements. Graphically a note is rendered as
rectangle with a dog-eared corner, together with a textual or graphical comment
RELATIONSHIPS IN UML
There are four kinds of relationships in the UML
* Dependency
* Association
* Generalization
* Realization
These relationships are the basic relational building blocks of the UML
Dependency
Dependency is a semantic relationship between two things in which a change to one thing
( the independent thing) may affect the semantics of the other thing (the dependent thing)
Dependency is rendered as a dashed line possibly directed and occasionally including a label.
Association
Association is structured relationship that describes a set of links ,a link being a connection
among object
Graphically association is rendered as a solid line, possibly directed , occasionally including a
label and often containing other adornments such as multiplicity and role name.
o.1
*
employer
employee
Fig: Association
Aggregation
Graphically generalization relationship is rendered as a solid line with a hollow arrow head
pointing to the parent
( parent)
( child )
Fig: Generalizations
Realization
DIAGRAMS IN UML
Class diagrams
A class diagram show a set of classes interfaces and collaborations and their relationships
Class diagram address the static design view of a system
Class diagrams that include active classes address the static process view of a system
Object diagram
Object diagram shows a set of objects and their relationships
Object diagram represents static snapshot of instances of the things found in class diagrams
These diagrams addresses static design view or static process view of a system
Use case diagram
Use case diagram shows a set of use cases and actors ( a special kind of class) and their
relationships
They address the static use case view of a system
These diagrams are important in organizing and modelling the behaviour of a system
Interaction diagram
a) Sequence diagram
A sequence diagram is an interaction diagram that emphasizes the time ordering of messages
b) Collaboration diagram
A collaboration diagram is an interaction diagram that emphasizes the structural organization
of the objects that send and receive messages
Sequence and collaboration diagrams are isomorphic ,meaning that you can take one and
transform it into the other
State chart diagram
A state chart diagram shows a state machine ,consisting of states , transactions events and
activities
They address the dynamic view of the system
They are important in modeling the behavior of an interface class or collaboration and
emphasize the event ordered behavior of an object
Activity diagram
Activity diagram is a special kind of a state chart diagram that shows the flow from activity
with in a system
They address the dynamic view of a system
They are important in modeling the functions of a system and emphasize the flow of control
among objects
Component diagram
A component diagram shows the organizations and dependencies among a set of components
Component diagram address the static implementation view of a system
Deployment diagram
A deployment diagram shows the configuration of runtime processing nodes and the
components that live on them
They address the static deployment view of an architecture
They are related to component diagrams in that a node typically encloses one or more
components
Supports analysis, ANSI C++, Rose J and Visual C++ patterns, Enterprise JavaBean 2.0, and
forward and reverse engineering for some of the most common Java 1.5 constructs.
Provides code quality analysis abilities and code generation, with configurable model-to-code
synchronization capabilities.
Enables granular management and use of models with a model components feature that can be
controlled separately.
Provides UML modeling for database designs.
Allows data and application requirements to be integrated through logical and physical
designs.
Develop applications for the web - features web and XML tools for modeling web applications.
Includes a Web Modeling Add-In, which provides visualization, modeling and tools for
developing web applications.
Integrate application design with development - unifies the project team by providing common
UML model execution and notation.
Allows one language to be used for the analysis and development lifecycle.
Integrates with other IBM Rational lifecycle development tools and with any SCC-compliant
version control system, including IBM Rational ClearCase.
Provides web publishing models and reports to improve communication across the extended team.
Step-4 Select Blank Model option under Templates and click finish buttom.
Step-5 Open Blank model of your project in Project Explorer. Then right click on it to create UML
diagrams in it.
6. Requirement Analysis-I
6.1 Use Case Diagram
A use case diagram at its simplest is a representation of a user's interaction with the system and
depicting the specifications of a use case. A use case diagram can portray the different types of users
of a system and the various ways that they interact with the system. Given below is the use case
diagram based on different actors for the current case study:
All systems interact with human or automated actors that use the system for some purpose, and
both human and actors expect the system to behave in predictable ways. In UML, a use case models
the behaviors of a system or a part of a system, and is a description of a set of sequences of actions,
including variants, that a system performs to yield an observable result of value to an actor .A use case
diagram models the dynamic design view of systems. Use case diagrams are central to modeling the
behavior of a system, a subsystem, or a class. Use case diagram shows a set of use cases and actors
and their relationships. The main contents of a use case diagram are:
Use Cases
Actors
Dependency, generalization, and association relationships
Class diagram, one of the most commonly used diagrams in object-oriented system, models the
static design view for a system. The static view mainly supports the functional requirements of a
system the services the system should provide to the end users. We will see from our practical
experience that lots of fun comes out when modeling out system with class diagrams.
A class diagram shows a set of classes, interfaces, and collaborations and their relationships.
Class diagrams involve global system description, such as the system architecture, and detail aspects
such as the attributes and operations within a class as well. The most common contents of a class
diagram are:
Classes, Interfaces and Collaborations
Dependency, generalization, and association relationships
Notes and constraints
7. Requirement Analysis-II
precise about where the focus of control lies, you can also shade the region of the rectangle during
which the object's method is actually computing (and control has not passed to another object).
8. Requirement Analysis-III
9. Implementation
9.1 Component Diagram
A component diagram depicts how components are wired together to form larger components and
or software systems. A component diagram commonly contains
1. Components
2. Interfaces
3. Dependency, Generalization, Association, and Realization relationships
COMMON USES
1. To model source code
2. To model executable releases
12. CONCLUSION
The pervasive concerns of software engineering are software quality, programmer productivity, and
increased job satisfaction for software engineers. The fundamental goal of software engineering is to
provide methods, tools, and techniques that will allow competent people to do a competent job.
On the one hand, the gurus and wizards of software will eschew systematic techniques; on the other
hand, systematic techniques will never transform incompetence into expertise. That leaves the vast
middle ground of sincere, competet professionals to benefit from systematic approaches to software
engineering.
The fundamental problems in software engineering are control of complexity, the lack of physical
constraints and boundaries in software, and the tendency to mix concerns that belong on different
levels of abstraction.
In addition, there are few, if any, universally accepted methods, tools,techniques or notations in
software engineering. This is due to immaturity and diversity of software engineering.
CloudGenius framework, provides a hybrid approach that combines multi-criteria decision making
technique with evolutionary optimization technique for:
(i) helping application engineers with the selection of the best service mix at IaaS layer and
(ii)enabling migration of web application clusters distributed across clouds.
13. REFERNCES
[1] Amazon Web Services. Web application hosting in the AWS cloud best practices
[Online].
Available:
http://media.
amazonwebservices.com/AWS_Web_Hosting_Best_Practices.pdf
[2] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski,G. Lee, D. Patterson,
A. Rabkin, I.Stoica, and M. Zaharia, Above the clouds: A Berkeley view of cloud
computing, EECS Dept.,Univ. California, Berkeley, CA, USA, Tech. Rep. UCB/EECS-200928, 2009.
[3] P. Mell and T. Grance, The NIST definition of cloud computing,recommendations of
the national institute of standards and technology, NIST Special Publication,
Gaithersburg, MD, USA, 2011.
[4]
BitNami.
BitNami
cloud
bitnami.org/learn_more/cloud_images
images
[Online].
Available:
http://
Jan.).
The
[Online].
AWS
marketplace.
Available:
[7] M. Menzel and R. Ranjan, CloudGenius: Decision support for web server cloud
migration, in Proc. 21st Int. Conf. World Wide Web, 2012, pp. 979988.
[8] M. Menzel, M. Schonherr, and S. Tai, MC22: Criteria,requirements and a software
prototype for cloud infrastructure decisions, Softw. Practice Experience, vol. 43, no. 11,
pp. 12831297, Nov. 2013.