Emerging Computing Techniques in Engineering
()
About this ebook
Matthew N. O. Sadiku
Matthew N. O. Sadiku is a professor emeritus at Prairie View A & M University, Prairie View, Texas. He is a Life fellow of IEEE. He is the author of over 1,000 professional articles and over 100 books including “Elements of Electromagnetics” (Oxford University Press, 7th ed., 2018), “Fundamentals of Electric Circuits” (McGraw-Hill, 7 ed.,2021, with C. Alexander), “Computational Electromagnetics with MATLAB” (CRC Press, 4th ed., 2019), and “Emerging Internet-based Technologies” (CRC Press, 2019). In addition to the engineering books, he has written Christian books including “Secrets of Successful Marriages,” “How to Discover God’s Will for Your Life,” and commentaries on all the books of the New Testament Bible. Some of his books have been translated into French, Korean, Chinese, Italian, Portuguese, and Spanish. He can be reached via email at sadiku@ieee.org
Read more from Matthew N. O. Sadiku
Traditional Medicines Around the World Rating: 0 out of 5 stars0 ratingsArtificial Intelligence in Education Rating: 0 out of 5 stars0 ratingsEmerging Technologies in Healthcare Rating: 5 out of 5 stars5/51 & 2 Timothy: A Pentecostal Commentary Rating: 0 out of 5 stars0 ratingsA Primer on Environmental Sciences Rating: 0 out of 5 stars0 ratingsAll Things Are Committed to Jesus Rating: 0 out of 5 stars0 ratingsBefore You Divorce: Read This Rating: 0 out of 5 stars0 ratingsEmotional Intelligence and Its Applications Rating: 0 out of 5 stars0 ratingsEmerging Social Computing Techniques: Volume 3 Rating: 0 out of 5 stars0 ratingsChoosing the Best: Living for What Really Matters Rating: 0 out of 5 stars0 ratings
Related to Emerging Computing Techniques in Engineering
Related ebooks
Emerging Social Computing Techniques: Volume 3 Rating: 0 out of 5 stars0 ratingsICT Trends and Scenarios: Lectures 2000 - 2017 Rating: 0 out of 5 stars0 ratingsThe Evolution of Cloud Computing: How to plan for change Rating: 0 out of 5 stars0 ratingsDigital Computer Structure and Design Rating: 0 out of 5 stars0 ratingsComputer Engineering: A DEC View of Hardware Systems Design Rating: 4 out of 5 stars4/5Minicomputers Rating: 0 out of 5 stars0 ratingsEmerging Smart Technologies Rating: 0 out of 5 stars0 ratingsProgramming for Microprocessors Rating: 0 out of 5 stars0 ratingsCollaborative Internet of Things (C-IoT): for Future Smart Connected Life and Business Rating: 0 out of 5 stars0 ratingsVirtual Report Processing: The Mapper Story Rating: 0 out of 5 stars0 ratingsComputing for Architects Rating: 0 out of 5 stars0 ratingsThe MacNeal-Schwendler Corporation, the first 20 years and the next 20 years Rating: 0 out of 5 stars0 ratingsSoftware Defined Networks: A Comprehensive Approach Rating: 0 out of 5 stars0 ratingsEdge Computing: A Primer Rating: 0 out of 5 stars0 ratingsModern Component Families and Circuit Block Design Rating: 5 out of 5 stars5/5The Edge Data Center: Building the Connected Future Rating: 0 out of 5 stars0 ratingsArchitecture Design for Soft Errors Rating: 0 out of 5 stars0 ratingsUnderstanding Mobile Human-Computer Interaction Rating: 0 out of 5 stars0 ratingsGadgets and Future Technology Rating: 0 out of 5 stars0 ratingsAdvanced Smartgrids for Distribution System Operators Rating: 0 out of 5 stars0 ratingsTrilogy of Connectors: Basic Principles and Connector Design Explanations Rating: 5 out of 5 stars5/5Fast and Effective Embedded Systems Design: Applying the ARM mbed Rating: 5 out of 5 stars5/5Fundamentals of Electromigration-Aware Integrated Circuit Design Rating: 0 out of 5 stars0 ratingsNew Telecom Networks: Enterprises and Security Rating: 0 out of 5 stars0 ratingsMethods for Petroleum Well Optimization: Automation and Data Solutions Rating: 0 out of 5 stars0 ratingsDigital Electronics with Arduino: Learn How To Work With Digital Electronics And MicroControllers Rating: 5 out of 5 stars5/5Lean and the Art of Cloud Computing Management Rating: 0 out of 5 stars0 ratingsCloud Computing with Security: Concepts and Practices Rating: 0 out of 5 stars0 ratingsThree Dimensional System Integration: IC Stacking Process and Design Rating: 0 out of 5 stars0 ratings
Teaching Methods & Materials For You
From 150 to 179 on the LSAT Rating: 4 out of 5 stars4/5The Three Bears Rating: 5 out of 5 stars5/5Fluent in 3 Months: How Anyone at Any Age Can Learn to Speak Any Language from Anywhere in the World Rating: 3 out of 5 stars3/5Becoming Cliterate: Why Orgasm Equality Matters--And How to Get It Rating: 4 out of 5 stars4/5Speed Reading: Learn to Read a 200+ Page Book in 1 Hour: Mind Hack, #1 Rating: 5 out of 5 stars5/5How To Be Hilarious and Quick-Witted in Everyday Conversation Rating: 5 out of 5 stars5/5How to Take Smart Notes. One Simple Technique to Boost Writing, Learning and Thinking Rating: 4 out of 5 stars4/5Speed Reading: How to Read a Book a Day - Simple Tricks to Explode Your Reading Speed and Comprehension Rating: 4 out of 5 stars4/5Grit: The Power of Passion and Perseverance Rating: 4 out of 5 stars4/5Financial Feminist: Overcome the Patriarchy's Bullsh*t to Master Your Money and Build a Life You Love Rating: 5 out of 5 stars5/5Easy Spanish Stories For Beginners: 5 Spanish Short Stories For Beginners (With Audio) Rating: 3 out of 5 stars3/5Jack Reacher Reading Order: The Complete Lee Child’s Reading List Of Jack Reacher Series Rating: 4 out of 5 stars4/5Conversational Spanish Dialogues: Over 100 Spanish Conversations and Short Stories Rating: 4 out of 5 stars4/5Weapons of Mass Instruction: A Schoolteacher's Journey Through the Dark World of Compulsory Schooling Rating: 4 out of 5 stars4/5The Call of the Wild and Free: Reclaiming the Wonder in Your Child's Education, A New Way to Homeschool Rating: 4 out of 5 stars4/5A study guide for Frank Herbert's "Dune" Rating: 3 out of 5 stars3/5Personal Finance for Beginners - A Simple Guide to Take Control of Your Financial Situation Rating: 5 out of 5 stars5/5Principles: Life and Work Rating: 4 out of 5 stars4/5A Study Guide for S.E. Hinton's The Outsiders Rating: 0 out of 5 stars0 ratingsSummary of The Dawn of Everything by David Graeber and David Wengrow Rating: 4 out of 5 stars4/5The Chicago Guide to Grammar, Usage, and Punctuation Rating: 5 out of 5 stars5/5The 5 Love Languages of Children: The Secret to Loving Children Effectively Rating: 4 out of 5 stars4/5Everything You Need to Know About Personal Finance in 1000 Words Rating: 5 out of 5 stars5/5Lies My Teacher Told Me: Everything Your American History Textbook Got Wrong Rating: 4 out of 5 stars4/5Who Gets In and Why: A Year Inside College Admissions Rating: 4 out of 5 stars4/5The Teenage Liberation Handbook: How to Quit School and Get a Real Life and Education Rating: 4 out of 5 stars4/5
Reviews for Emerging Computing Techniques in Engineering
0 ratings0 reviews
Book preview
Emerging Computing Techniques in Engineering - Matthew N. O. Sadiku
Dedication
To my daughter
Motunrayo O. Adeko
BRIEFT TABLE OF CONTENTS
FOR VOLUME 1
Chapter 1 CLOUD COMPUTING
Chapter 2 FOG COMPUTING
Chapter 3 MOBILE COMPUTING
Chapter 4 EDGE COMPUTING
Chapter 5 UTILITY COMPUTING
Chapter 6 PERVASIVE/ AND UBIQUITOUS COMPUTING
Chapter 7 GRID COMPUTING
Chapter 8 WEB COMPUTING
Chapter 9 PARALLEL COMPUTING
Chapter 10 DISTRIBUTED COMPUTING
Chapter 11 CLUSTER COMPUTING
Chapter 12 HIGH-PERFORMANCE COMPUTING
Chapter 13 HIGH-THROUGHPUT COMPUTING
Chapter 14 GPU COMPUTING
Chapter 15 MANY-TASK COMPUTING
Chapter 16 EXASCALE AND EXTREME COMPUTING
Chapter 17 IN-MEMORY COMPUTING
Chapter 18 PROACTIVE COMPUTING
Chapter 19 EMBEDDED COMPUTING
Chapter 20 QUANTUM COMPUTING
Chapter 21 OPTICAL COMPUTING
Chapter 22 REVERSIBLE COMPUTING
Chapter 23 GREEN COMPUTING
DETAILED TABLE OF
CONTENTS FOR VOLUME 1
Dedication
Preface
About The Author
Chapter 1 CLOUD COMPUTING
1.1 INTRODUCTION
1.2 TECHNOLOGICAL ENABLERS
1.3 CLOUD SERVICES
1.4 DEPLOYMENT MODELS
1.5 MOBILE CLOUD COMPUTING
1.6 APPLICATION DOMAINS
1.7 CLOUD MANUFACTURING
1.8 CLOUD COMPUTING IN HEALTHCARE
1.9 GREEN CLOUD COMPUTING
1.10 CLOUD OF THINGS
1.11 BIG DATA AND CLOUD COMPUTING
1.12 CLOUD ECONOMY
1.13 BENEFITS
1.14 CHALLENGES
1.15 FUTURE TRENDS
1.16 CONCLUSION
REFERENCES
Chapter 2 FOG COMPUTING
2.1 INTRODUCTION
2.2 NEED FOR FOG COMPUTING
2.3 FOG COMPUTING VS EDGE COMPUTING
2.4 FEATURES OF FOG COMPUTING
2.5 APPLICATIONS
2.6 BENEFITS
2.7 CHALLENGES
2.8 CONCLUSION
REFERENCES
Chapter 3 MOBILE COMPUTING
3.1 INTRODUCTION
3.2 CONCEPT OF MOBILE COMPUTING
3.3 CHARACTISTICS OF MOBILE COMPUTING
3.4 APPLICATIONS
3.5 BENEFITS
3.6 CHALLENGES
3.7 CONCLUSION
REFERENCES
Chapter 4 EDGE COMPUTING
4.1 INTRODUCTION
4.2 CONCEPT OF EDGE COMPUTING
4.3 CAPABILITIES AND DRIVERS
4.4 MOBILE EDGE COMPUTING
4.5 APPLICATIONS
4.6 BENEFITS
4.7 CHALLENGES
4.8 CONCLUSION
REFERENCES
Chapter 5 UTILITY COMPUTING
5.1 INTRODUCTION
5.2 UTILITY-BASED MODEL
5.2 DIFFERENCE BETWEEN CLOUD AND UTILITY COMPUTING
5.3 PROPERTIES OF UTILITY COMPUTING
5.4 APPLICATIONS
5.5 BENEFITS AND CHALLENGES
5.6 CONCLUSION
REFERENCES
Chapter 6 PERVASIVE/ AND UBIQUITOUS COMPUTING
6.1 INTRODUCTION
6.2 PERVASIVE VS. UBIQUITOUS
6.3 CONCEPT OF PERVASIVE COMPUTING
6.4 CHARACTERISTICS OF PERVASIVE COMPUTNG
6.5 APPLICATIONS
6.6 ISSUES AND CHALLENGES
6.7 CONCLUSION
REFERENCES
Chapter 7 GRID COMPUTING
7.1 INTRODUCTION
7.2 FEATURES OF GRID COMPUTING
7.3 APPLICATIONS
7.4 BENEFITS
7.5 CHALLENGES
7.6 CONCLUSION
REFERENCES
Chapter 8 WEB COMPUTING
8.1 INTRODUCTION
8.2 BASIC FEATURES OF WEB COMPUTING
8.3 APPLICATIONS
8.4 CHALLENGES
8.5 CONCLUSION
REFERENCES
Chapter 9 PARALLEL COMPUTING
9.1 INTRODUCTION
9.2 CONCEPT OF PARALLEL COMPUTING
9.3 APPLICATIONS
9.4 BENEFITS AND CHALLENGES
9.5 CONCLUSION
REFERENCES
Chapter 10 DISTRIBUTED COMPUTING
10.1 INTRODUCTION
10.2 CONCEPT OF DISTRIBUTED COMPUTING
10.3 DISTRIBUTED COMPUTING TERMINOLOGIES
10.4 APPLICATIONS
10.5 BENEFITS
10.6 CHALLENGES
10.7 CONCLUSION
REFERENCES
Chapter 11 CLUSTER COMPUTING
11.1 INTRODUCTION
11.2 CONCEPT OF CLUSTER COMPUTING
11.3 TYPES OF COMPUTER CLUSTERS
11.4 CLUSTER COMPONENTS
11.5 APPLICATIONS
11.6 BENEFITS
11.7 CHALLENGES
11.8 CONCLUSION
REFERENCES
Chapter 12 HIGH-PERFORMANCE COMPUTING
12.1 INTRODUCTION
12.2 CONCEPT OF HPC
12.3 APPLICATIONS
12.4 BENEFITS
12.5 CHALLENGES
15.6 CONCLUSION
REFERENCES
Chapter 13 HIGH-THROUGHPUT COMPUTING
13.1 INTRODUCTION
13.2 CONCEPT OF HPC
13.3 HTC AND HPC
13.4 APPLICATIONS
13.5 BENEFITS AND CHALLENGES
13.6 CONCLUSION
REFERENCES
Chapter 14 GPU COMPUTING
14.1 INTRODUCTION
14.2 BASICS OF GPU COMPUTING
14.3 GPGPU COMPUTING
14.3 APPLICATIONS
14.4 BENEFTIS AND LIMITATIONS
14.5 CONCLUSION
REFERENCES
Chapter 15 MANY-TASK COMPUTING
15.1 INTRODUCTION
15.2 CONCEPT OF MANY-TASK COMUTING
15.3 APPLICATIONS
15.4 BENEFITS AND CHALLENGES
15.4 CONCLUSION
REFERENCES
Chapter 16 EXASCALE AND EXTREME COMPUTING
16.1 INTRODUCTION
16.2 CONCEPTS OF EXASCALE AND EXTREMECOMPUTING
16.3 WHY GO THE EXASCALE?
16.4 APPLICATIONS OF EXASCALE COMPUTING
16.5 EXASCALE COMPUTING PROJECT
16.6 APPLICATIONS OF EXTREME COMPUTING
16.7 BENEFITS
16.8 CHALLENGES
16.9 CONCLUSION
REFERENCES
Chapter 17 IN-MEMORY COMPUTING
17.1 INTRODUCTION
17.2 COMPONENTS OF IN-MEMORY COMPUTING
17.3 HOW IN-MEMORY COMPUTING WORKS
17.4 APPLICATIONS
17.5 BENEFITS
17.6 CHALLENGES
17.7 CONCLUSION
REFERENCES
Chapter 18 PROACTIVE COMPUTING
18.1 INTRODUCTION
18.2 PROACTIVE SYSTEMS
18.3 RELATIONSHIP WITH UBIQUITOUS COMPUTING
18.4 APPLICATIONS
18.5 BENEFITS AND CHALLENGES
18.6 CONCLUSION
REFERENCES
Chapter 19 EMBEDDED COMPUTING
19.1 INTRODUCTION
19.2 BASICS OF EMBEDDED SYSTEMS
19.3 TYPICAL EMBEDDED SYSTEMS
19.4 APPLICATIONS
19.5 BENEFITS
19.6 CHALLENGES
19.7 CONCLUSION
REFERENCES
Chapter 20 QUANTUM COMPUTING
20.1 INTRODUCTION
20.2 QUANTUM MECHANICS
20.3 QUANTUM COMPUTERS
20.4 APPLICATIONS
20.5 BENEFITS
20.6 CHALLENGES
20.7 CONCLUSION
REFERENCES
Chapter 21 OPTICAL COMPUTING
21.1 INTRODUCTION
21.2 OPTICAL COMPUTERS
21.3 CONCEPT OF OPTICAL COMPUTING
21.4 APPLICATIONS
21.5 BENEFITS
21.6 CHALLENGES
21.7 CONCLUSION
REFERENCES
Chapter 22 REVERSIBLE COMPUTING
22.1 INTRODUCTION
22.2 CONCEPT OF REVERSIBLE COMPUTING
22.3 REVERSIBLE COMPUTING SYSTEMS
22.4 APPLICATIONS
22.5 BENEFITS
22.6 CHALLENGES
22.7 CONCLUSION
REFERENCES
Chapter 23 GREEN COMPUTING
23.1 INTRODUCTION
23.2 HISTORICAL BACKGROUND
23.3 GENERAL BACKGROUND
23.4 CONCEPT OF GREEN COMPUTING
23.5 IMPLEMENTATION OF GREEN COMPUTING
23.6 APPLICATIONS
23.7 BENEFITS
23.8 CHALLENGES
23.9 CURRENT TRENDS ON GC
23.10 CONCLUSION
REFERENCES
Appendix A
Preface
One may regard the whole history of computer science as a record of continuous attempts to discover, study, and implement computing ideas. Computing technology greatly affects nearly every aspect of our modern life including education, entertainment, transportation, communication, economy, medicine, engineering, and science. The history of computing is one of punctuated equilibrium, bringing new and unexpected changes. Mainframes gave birth to minicomputers, which gave birth to workstations, which gave birth to personal computers, which gave birth to smartphones. Modern scientific computing is approaching the point where novel computational algorithms will become indispensable tools.
Although computation was present long before computers were invented, the realization occurred only in the last decade. By the 1980s, computation became so important that it was utterly indispensable in several fields. Computation has become a third leg of science, joining theory and experiment. Thus, computing has been evolving gradually and is now regarded as science. The computer is the tool, while computation is the principle.
We are in the era of computing. Computing is experiencing its most exciting moments in history, permeating nearly all areas of human activities. Computing is any activity that involves using computers. It is any goal-oriented activity requiring the use of computers. It includes designing and building hardware and software systems for a wide range of purposes. It has resulted in deep changes in infrastructures and development practices of computing. It is a critically important, integral component of modern life.
Advancement in technology has led to several computing schemes such as cloud computing, grid computing, green computing, DNA computing, self-aware computing, global computing, etc. No single book can comprehensively cover the breadth of computing technologies available to the scientists and engineers. To the best of the author’s knowledge, this is the first time a book will cover all these computing techniques. As far as the author is aware, there are more than 140 computing techniques and this book covers the most important 70 of them. Each chapter acts as a tutorial that introduces readers to an important aspect of computing. The book is more or less an encyclopedia on computing. It covers both the old and the emerging types of computing. The old techniques provide useful information for the new techniques.
The book is divided into three volumes to cover all the topics. This is the first volume and it has 22 chapters. It focuses on general computing techniques such as cloud computing, grid computing, pervasive computing, optical computing, web computing, parallel computing, distributed computing, high-performance computing, GPU computing, exascale & extreme computing, in-memory computing,embedded computing, quantum computing, and green computing Other computing schemes not covered in the three volumes are listed in Appendix A.
This book is a friendly introduction to various computing techniques. The presentation is clear, succinct, and informal, without proofs or rigorous definitions. The book provides researchers, students, and professionals a comprehensive introduction, applications, benefits, and challenges for each computing technology. The author was motivated to write this book partly due to the lack of a single source of reference on these technologies. These are monographs on some of them like Cloud computing, but there is none that combines the computing technologies. Hence, the book will help a beginner to have an introductory knowledge about these technologies. The main objective of the author is to provide a concise treatment that is easily digestible for each computing scheme. It is hoped that the book will be useful to practicing engineers, computer scientists, and information business managers.
I would like to thank the myriad of people who made this work possible. I am grateful to Dr. Pamela Obiomon, dean of the College of Engineering at Prairie View A&M University, and Dr. Kelvin Kirby, head of the Department of Electrical and Computer Engineering for their constant support and appreciation. I would like to thank Dr. Sarhan Musa, Dr. Sudarshan Nelatury, Dr. Mahamadou Temberly, Dr. Emmanual Shadare, and Adedamola Omotoso for their contributions. A well-deserved gratitude goes to my wife Janet Oluyinka for her constant support and prayer.
-Matthew N. O. Sadiku, Prairie View, Texas
About The Author
Matthew N. O. Sadiku received his B. Sc. degree in 1978 from Ahmadu Bello University, Zaria, Nigeria and his M.Sc. and Ph.D. degrees from Tennessee Technological University, Cookeville, TN in 1982 and 1984 respectively. From 1984 to 1988, he was an assistant professor at Florida Atlantic University, Boca Raton, FL where he did graduate work in computer science. From 1988 to 2000, he was at Temple University, Philadelphia, PA, where he became a full professor. From 2000 to 2002, he was with Lucent/Avaya, Holmdel, NJ as a system engineer and with Boeing Satellite Systems, Los Angeles, CA as a senior scientist. He is presently a professor emeritus of electrical and computer engineering at Prairie View A&M University, Prairie View, TX.
He is the author of over 1,020 professional papers and over 100 books including the standard textbooks Elements of Electromagnetics (Oxford University Press, 7th ed., 2018), Fundamentals of Electric Circuits (McGraw-Hill, 7th ed., 2020, with C. Alexander), Computational Electromagnetics with MATLAB (CRC Press, 4th ed., 2019), Principles of Modern Communication Systems (Cambridge University Press, 2017, with S. O. Agbo), and "Signals and Systems: A Primer with MATLAB (CRC Press, 2016, with W. H. Ali). In addition to the engineering books, he has written Christian books including
Secrets of Successful Marriages,
How to Discover God’s Will for Your Life," and commentaries on all the books of the New Testament Bible. Some of his books have been translated into French, Korean, Chinese (and Chinese Long Form in Taiwan), Italian, Portuguese, and Spanish.
He was the recipient of the 2000 McGraw-Hill/Jacob Millman Award for outstanding contributions in the field of electrical engineering. He was also the recipient of Regents Professor award for 2012-2013 by the Texas A&M University System. He is a registered professional engineer and a Life Fellow of the Institute of Electrical and Electronics Engineers (IEEE) for contributions to computational electromagnetics and engineering education.
He was the IEEE Region 2 Student Activities Committee Chairman. He was an associate editor for IEEE Transactions on Education. He is also a member of Association for Computing Machinery (ACM) and American Society of Engineering Education (ASEE). His current research interests are in the areas of computational electromagnetic, computer networks, and engineering education. His works can be found in his autobiography, My Life and Work
(Trafford Publishing, 2017) or his website: www.matthew-sadiku.com. He can be reached via email at sadiku@ieee.org
CHAPTER 1
CLOUD COMPUTING
The achiever is the only individual who is truly alive.
- George Allen
1.1 INTRODUCTION
The recent emergence of cloud computing is one of the major advances in the history of computing. Cloud computing (CC) is a computing paradigm for delivering computing services (such as servers, storage, databases, networking, software, analytics, and more) over the the cloud
or Internet with pay-as-you-go pricing. Hence, cloud computing
is also called Internet computing.
The term cloud computing
was introduced in 1961 when computer scientist John McCarthy predicted that computing would become a public utility. CC was first commercialized in 2006 by Amazon’s Elastic Compute Cloud (EC2). The word cloud
is a metaphor for describing web as a space where computing has been preinstalled and exist as a service. It originated from the habit of drawing the Internet as a fluffy cloud in network diagrams. The cloud enables you to access your information from anywhere at any time. Figure 1.1 shows a conceptual diagram of cloud computing [1].
Cloud computing is a means of pooling and sharing hardware and software resources on a massive scale. Users and businesses can access applications from anywhere in the world at any time. Companies offering these computing services are called cloud providers and typically charge for cloud computing services based on usage. Their aim is making computing a utility such as water, gas, electricity, and telephone services. The main objective of cloud computing is to make a better use of distributed resources and solve large scale computation problems [2].
If used properly, cloud computing is a technology with great opportunity for businesses of all sizes. An industry needs the cloud for the following reasons [3]: (1) Mobile workforce: empowering employees to sift real time data and make decisions on the fly, (2) Minimize disruptions: with the right sort of cloud setup problems can be anticipated and solved quickly, (3) Collaboration: with the right technology, collaboration – as well as transparency and accountability – are easily managed, (4) Innovation: product innovation and process innovation are powerful weapons to survive or thrive in such an environment, (5) Lower cost: No hardware procurement, maintenance, or staff is needed to operate the systems.
This chapter provides an introduction to cloud computing. It begins by looking at the essential characteristics and technological enablers of cloud computing. It covers different cloud services, deployment models, mobile cloud computing, and cloud service provides. It examines the benefits and challenges of cloud computing. The last section provides some conclusions.
Figure 1.1 A typical cloud computing [2].
1.2 TECHNOLOGICAL ENABLERS
The cloud computing architecture consists of a massive network of interconnected servers, often with a user-friendly front-end interface, which allows users to select services. Cloud computing allows access to the collection of computing resources via the Internet. Software and associated resources are hosted in the cloud and can be assessed by the user’s computing devices such as desktop, laptop, smartphone, and tablet.
Cloud computing is essentially a combination of many pre-existing technologies. The key technological enablers for cloud computing include: virtualization technologies, grid computing, distributed computing, multi-tenancy, and elasticity [4-6].
1.Virtualization: The key feature of cloud computing is the idea of virtualization, which enables an operating system to run on several hardware deployments. It is one of the technologies that enable elasticity. Virtualization decouples the software from the hardware. It is the technology that uses a physical resource such as a server and divides it into virtual resources known as virtual machines. There are three forms of virtualization: server virtualization, storage virtualization, and network virtualization. Server virtualization increases resource sharing by masking server resources like processors, operating systems, RAM, etc. for server users. Storage virtualization is pooling of physical storage from storage devices into a single storage device which is managed centrally. Network visualization is a means of combining resources in a network by splitting up the available bandwidth into independent channels.
2.Grid computing: As distributed computing, grid computing was motivated by the electrical power grid. Cloud computing is regarded as an evolution of grid computing. Grid computing refers to a distributed architecture of a large number of computers connected to solve a complex problem. It allows the computers on the network to work on a task together, behaving like a supercomputer [7].
3.Distributed Computing: Cloud computing is a distributed computing paradigm, which allows for highly elastic resource pool. Clouds are built to share computing, share memory, share storage, and other resources. Load balancing establishes an algorithm for assigning tasks to the cloud nodes. All computers in distributed systems are quite independent and do not share resources. Each computer has its own responsibility.
4.Multitenancy: This involves sharing a single set of infrastructure across several customers and stakeholders. Virtualization helps to deliver infrastructure multitenant capability. Multitenancy implies that multiple tenants share computational resources, storage, database, services, computing, memory, and other resources with other tenants. This sharing violates the confidentiality of tenants. For secure multi-tenancy, there should be a degree of isolation among tenant data.
5.Elasticity: This refers to the ability to automatically scale up and handle high volumes of traffic or scale down and use less resources when needed, maximizing the use of resources. It implies that users can grow or shrink infrastructure resources dynamically based on the current demand. When automated, elasticity allows a cloud provider to continuously monitor a customer’s infrastructure and scale it on-demand.
1.3 CLOUD SERVICES
Cloud computing (CC) is not a single produce or piece of technology. Rather, it is a system, primarily providing three different services. The services provided by CC are shown in Figure 1.2 and explained as follows.
•Infrastructure-as-a-Service (IaaS): This is the simplest of cloud computing offerings. It involves the delivery of huge computing resources such as the capacity of storage, processing, operating systems, servers, computing power, firewalls, bandwidth, and network which form the underlying cloud infrastructure. It allows users to rent any form of hardware and software and remotely access computing resources on a pay-per-use basis. The major advantages of IaaS are pay per use, security, and reliability. IaaS is also known as Hardware-as-a-Service (HaaS). An example of IaaS is the Amazon Elastic Compute Cloud (EC2), IBM and Amazon use IaaS.
•Platform-as-a-Service (PaaS): This supports the development of web applications quickly and easily. The customer can build his own applications, which run on the cloud provider’s infrastructure. It has emerged due to the suboptimal nature of IaaS for cloud computing and the creation of web applications. Many big companies seek to dominate the platform of cloud computing, as Microsoft dominated personal computer (PC). Examples of PaaS are Google App Engine and Microsoft Azure.
•Software-as-a-Service (SaaS): This is also known as Software-as-a-Server or Software-on-demand. This provides a service (software applications over the Internet) that is directly consumable by the end-user. It is a software deployed over the Internet. This is a pay-as-you-go service. It seeks to replace the applications running on PC. Google, Twitter, and Facebooks are typical examples of SaaS. Gmail, AOL, Yahoo, and Skpe all use SaaS.
As cloud computing becomes mature, several service types are being introduced and overlaid on these architectures. These include Hardware-as-a-Service (HaaS), Application-as-a-Service (AaaS), Network-as-a-Service (NaaS), data-Storage-as-a-Service (dSaaS),