0% found this document useful (0 votes)
24 views

Cloud Computing

cloud computing

Uploaded by

Reena Gharat
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Cloud Computing

cloud computing

Uploaded by

Reena Gharat
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

What are features of cloud computing

1. Resources Pooling

It means that the Cloud provider pulled the computing resources to provide services to multiple customers
with the help of a multi-tenant model. There are different physical and virtual resources assigned and
reassigned which depends on the demand of the customer.
The customer generally has no control or information over the location of the provided resources but is able to
specify location at a higher level of abstraction

2. On-Demand Self-Service

It is one of the important and valuable features of Cloud Computing as the user can continuously monitor the
server uptime, capabilities, and allotted network storage. With this feature, the user can also monitor the
computing capabilities.

. Easy Maintenance

The servers are easily maintained and the downtime is very low and even in some cases, there is no downtime.
Cloud Computing comes up with an update every time by gradually making it better.

The updates are more compatible with the devices and perform faster than older ones along with the bugs which
are fixed.

4. Large Network Access

The user can access the data of the cloud or upload the data to the cloud from anywhere just with the help of a
device and an internet connection. These capabilities are available all over the network and accessed with the
help of internet.

5. Availability

The capabilities of the Cloud can be modified as per the use and can be extended a lot. It analyzes the storage
usage and allows the user to buy extra Cloud storage if needed for a very small amount.
6. Automatic System

Cloud computing automatically analyzes the data needed and supports a metering capability at some level of
services. We can monitor, control, and report the usage. It will provide transparency for the host as well as the
customer.

7. Economical
It is the one-time investment as the company (host) has to buy the storage and a small part of it can be provided
to the many companies which save the host from monthly or yearly costs. Only the amount which is spent is on
the basic maintenance and a few more expenses which are very less.

8. Security

Cloud Security, is one of the best features of cloud computing. It creates a snapshot of the data stored so that
the data may not get lost even if one of the servers gets damaged.
The data is stored within the storage devices, which cannot be hacked and utilized by any other person. The
storage service is quick and reliable.

9. Pay as you go

In cloud computing, the user has to pay only for the service or the space they have utilized. There is no hidden
or extra charge which is to be paid. The service is economical and most of the time some space is allotted for
free.

10. Measured Service

Cloud Computing resources used to monitor and the company uses it for recording. This resource utilization is
analyzed by supporting charge-per-use capabilities.

This means that the resource usages which can be either virtual server instances that are running in the cloud
are getting monitored measured and reported by the service provider. The model pay as you go is variable
based on actual consumption of the manufacturing organization.

2.Write different types of Clouds.

Types of Cloud
Cloud computing is Internet-based computing in which a shared pool of
resources is available over broad network access, these resources can be
provisioned or released with minimum management efforts and service-provider
interaction.
Types of Cloud
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
5. Multicloud

Public Cloud
Public clouds are managed by third parties which provide cloud services over the
internet to the public, these services are available as pay-as-you-go billing
models.
They offer solutions for minimizing IT infrastructure costs and become a good
option for handling peak loads on the local infrastructure. Public clouds are the
go-to option for small enterprises, which can start their businesses without large
upfront investments by completely relying on public infrastructure for their IT
needs.
The fundamental characteristics of public clouds are multitenancy. A public
cloud is meant to serve multiple users, not a single customer. A user requires a
virtual computing environment that is separated, and most likely isolated, from
other users.
Advantages of using a Public cloud are:

1. High Scalability
2. Cost Reduction
3. Reliability and flexibility
4. Disaster Recovery
Disadvantages of using a Public cloud are:
1. Loss of control over data
2. Data security and privacy
3. Limited Visibility
4. Unpredictable cost
Private cloud
Private clouds are distributed systems that work on private infrastructure and
provide the users with dynamic provisioning of computing resources. Instead of
a pay-as-you-go model in private clouds, there could be other schemes that
manage the usage of the cloud and proportionally billing of the different
departments or sections of an enterprise. Private cloud providers are HP Data
Centers, Ubuntu, Elastic-Private cloud, Microsoft, etc.

Hybrid cloud:
A hybrid cloud is a heterogeneous distributed system formed by combining
facilities of the public cloud and private cloud. For this reason, they are also
called heterogeneous clouds.
A major drawback of private deployments is the inability to scale on-demand and
efficiently address peak loads. Here public clouds are needed. Hence, a hybrid
cloud takes advantage of both public and private clouds.
Community cloud:
Community clouds are distributed systems created by integrating the services of
different clouds to address the specific needs of an industry, a community, or a
business sector. But sharing responsibilities among the organizations is difficult.

In the community cloud, the infrastructure is shared between organizations that


have shared concerns or tasks. An organization or a third party may manage the
cloud.

Multicloud

Multicloud is the use of multiple cloud computing services from different


providers, which allows organizations to use the best-suited services for their
specific needs and avoid vendor lock-in.
This allows organizations to take advantage of the different features and
capabilities offered by different cloud providers.
3. What are the types of Virtualization
In computing, virtualization refers to the act of creating computing resources that have no
physical presence, that is, they are virtual.
These virtual computing resources find many use cases in day-to-day life. They enable a
single computer, called the host, to run multiple operating systems in isolation
1. Server Virtualization
One of the primary reasons behind the need for virtualization was the
underutilization of hardware computing resources. And while all the types of
virtualization today address this issue in their capacity, server virtualization hits
more close to home.
Server virtualization refers to partitioning the resources of a server, which
consist of hardware, software and networking resources, and distributing them
over a network.
The partitions are instances of a powerful physical server lying in a remote
location but acting like standalone servers. These partitions are also called
virtual servers.
Server virtualization allows for flexible scalability as, depending upon their need,
users can request variable configurations of storage, computing power, RAM, etc
from the physical server.

2. Storage Virtualization

Storage virtualization works by gathering and merging multiple physical storage arrays and
presenting them as a single storage location to the user over a network. It is employed
typically by organizations and individuals looking to scale and maintain their systems’ storage
without investing in physical storage devices.

Virtualized storage is visible as a single storage entity (such as a 2 TB disk drive)


on a user’s system. But, behind the scenes, storage virtualization is pooling
several storage locations to offer 2 TB worth of storage to the user.
Coming to the benefits of storage virtualization, well, there are many.
 It allows for centralized management of all the storage devices by masking
their individual hardware/software configurations.
 It enables users to scale their storage capacity on-demand.
 It allows organizations to manage large amounts of crucial data by
allocating it to a single location.
 Backing up, recycling and dropping data is much easier when consolidated
at a single storage location.
 Virtualizing storage offers better storage performance at significantly
lesser expenses.
 Automated management is another remarkable feature of storage
virtualization. Automated managing of storage takes away much of the
storage management burden from IT teams.
3. Network Virtualization
Earlier, we saw how storage virtualization brings together various heterogeneous
storage pools as a single storage location. Network virtualization does something
similar, albeit with a few changes.
Network virtualization refers to combining all the components of networks and
administering them using only software. These network components include all
the underlying hardware and software of a network with their respective
functionalities.
Virtualizing a network takes away its dependency on the software embedded in
its underlying hardware, converting it into a virtual network. Now, it is the
virtualizing software, similar to a hypervisor, that controls its functionality and
availability, although the network is still using its hardware resources.
Network virtualization is typically used to interconnect virtual machines, group
several networks into one or subdivide the resources of a network.
Virtualizing networks enforces greater flexibility among the pooled networks and
allows for better networking at reduced costs.
4. Application Virtualization
Currently, if we need to use a computer application, we first install it on our
device and then launch it. But what if we never had to install that application, or
for that matter, any application again? What if we could simply access
applications on the cloud as and when required that would work exactly as their
local counterparts? This idea is what application virtualization proposes.

Application virtualization refers to the process of deploying a computer application over a network (the cloud).
The deployed application is installed locally on a server, and when a user requests it, an instance of the
application is displayed to them. The user can then engage with that application as if it was installed on their
system.
Application virtualization is a powerful concept that takes away most of the drawbacks of installing
applications locally.
Using this, users can access a plethora of applications in real-time without having to allocate too much storage
to all of them.
Users can also run applications not supported by their devices’ operating systems.
And let us not forget how it eliminates the need for managing and updating several applications across different
operating systems for IT teams.
5. Desktop Virtualization
Desktop virtualization is similar to application virtualization, but the apps are now replaced with whole desktop
environments.

The desktop environments, also called virtual machines (VMs), are housed on powerful servers that can host
several desktop sessions concurrently. Users can access these VMs on their devices as and when required,
regardless of the specifications of their devices.
Desktop virtualization is especially useful for enterprises as it offers a consistent desktop experience to all
employees.
IT teams responsible for managing a company’s devices can now manage and issue updates centrally.
Virtual desktops also minimize the security risks associated with employees storing the company data locally.
And, since most of the data is stored on servers, device failure will not result in any major loss.
6. Data Virtualization
Data virtualization is a solution to the data management problem of analyzing data from different sources
collectively and at a much faster pace. It enables organizations to centrally manage and alter data from several
sources, such as excel files, google analytics reports, HubSpot reports, etc., while offering a holistic view
(single view) of the data.
Data virtualization works by separating the collected data from its underlying data logic. A virtualization layer,
called a data virtualization tool, acts as a mediator between the source and the front-end usage of the data.
Virtualizing data enables users to collectively view heterogeneous data sets via a single interface as well as
access the source of the collected data in real-time.
Data virtualization is primarily used as a part of data integration in areas such as BI (business intelligence),
Cloud computing and of course, data management.
What is mobile cloud computing? Write applications of Mobile cloud computing.
MCC stands for Mobile Cloud Computing which is defined as a combination of mobile
computing, cloud computing, and wireless network that come up together purpose such as
rich computational resources to mobile users, network operators, as well as to cloud
computing providers. Mobile Cloud Computing is meant to make it possible for rich mobile
applications to be executed on a different number of mobile devices. In this technology,
data processing, and data storage happen outside of mobile devices. Mobile Cloud
Computing applications leverage this IT architecture to generate the
following advantages:
1. Extended battery life.
2. Improvement in data storage capacity and processing power.
3. Improved synchronization of data due to “store in one place, accessible from anywhere ”
platform theme.
4. Improved reliability and scalability.
5. Ease of integration.

Mobile Cloud Computing Applications

There are two types of applications of mobile cloud computing (MCC) that are almost
similar. These are as follows:

1. Mobile Cloud application: It is defined as a model where processing is done in the


cloud, and the storage is also in the cloud, and the presentation platform is the mobile
device. For this, the internet connection should have to reliable and cell-phone to run a
browser. It enables to use the smartphone with cloud technology with the following
characteristics :
1. A smart-phone has a recognizable Operating System.
2. It provides advanced calling i.e. video calling and conferencing features.
3. Smart-phone must have the capability to run the installable application
4. Messaging features are available.
5. A smart-phone must have a persistent and proper internet connection.
2. Mobile Web Services: In Mobile Web Services mobile devices consume more network
traffic. It may lead to some challenges for web services such as mismatch of resolution and
details of desktop computers. The device needs to know about that service and the way it
can be accessed to use any web-service so that the mobile device can transmit specific
information about the condition of the device and the user. Enabling Mobile Web Services
are as follows:
1. Enables web-service systems with web services.
2. Enables in-built external services.
3. Enable the rest protocol.
4. Enables XML-RPC protocols.
5. Enables the capabilities to authenticate user roles.

What is the difference between Mobile Cloud Computing and Cloud Computing
Cloud Service Models
There are the following three types of cloud service models -

1. Infrastructure as a Service (IaaS)


2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)

Infrastructure as a Service (IaaS)


IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure
managed over the internet. The main advantage of using IaaS is that it helps users to
avoid the cost and complexity of purchasing and managing the physical servers.

Characteristics of IaaS
There are the following characteristics of IaaS -

o Resources are available as a service


o Services are highly scalable
o Dynamic and flexible
o GUI and API-based access
o Automated administrative tasks
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine
(GCE), Rackspace, and Cisco Metacloud.

Platform as a Service (PaaS)


PaaS cloud computing platform is created for the programmer to develop, test, run, and
manage the applications.

Characteristics of PaaS
There are the following characteristics of PaaS -

o Accessible to various users via the same development application.


o Integrates with web services and databases.
o Builds on virtualization technology, so resources can easily be scaled up or down as per
the organization's need.
o Support multiple languages and frameworks.
o Provides an ability to "Auto-scale".

Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App
Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.

Software as a Service (SaaS)


SaaS is also known as "on-demand software". It is a software in which the applications
are hosted by a cloud service provider. Users can access these applications with the help
of internet connection and web browser.

Characteristics of SaaS
There are the following characteristics of SaaS -

o Managed from a central location


o Hosted on a remote server
o Accessible over the internet
o Users are not responsible for hardware and software updates. Updates are applied
automatically.
o The services are purchased on the pay-as-per-use basis

Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx,


ZenDesk, Slack, and GoToMeeting.
Mobile Cloud Computing Security Challenges 1. Data Security and Privacy
Issues In Mobile Cloud Computing The most serious concern about storing data
in cloud worries every mobile cloud user.
Data security is one of the major challenges faced in the field of mobile cloud
computing. It is intimidating to transfer important data to the cloud because of
the following data concerns that are very common in the cloud: -
Risk of data theft –
Violation of privacy rights –
Loss of physical security –
Handling of encryption and decryption keys –
Security and auditing issues of virtual machines –
Lack of standard to ensure data integrity –
2. Attacks at End-User Mobile Device Also, you need to protect the data on the
cloud from any attack at end user mobile device as well. It is important to
protect the data from the threats of device data theft, virus and malware
attacks via wireless devices and the misuse of access rights from information
security point of view in the cloud.

3. Information Security Issues Some common information security issues of


cloud computing are: - System security of server and database - Networking
security - User authentication - Data protection - System and storage
protection
4. Architecture and Cloud Service Delivery Models Issue Mobile cloud
computing also faces some general challenges in terms of their architecture.
These include the challenge of computing off-loading, security for mobile
users, applications or data, improvement in efficiency rate of data access, the
context-aware mobile cloud services, migration and interoperability, service
level agreement and the cost and pricing.
PaaS model security issues: structured query language related, application
programming interface security SaaS model security issues: data security
management, web application vulnerability and scanning
4. Mobile Cloud Infrastructure Issues Due to the lack of the mobile cloud
infrastructure, a variety of security attacks is possible on the cloud. These
attacks again harm the security of the data of the cloud users.
Some of these possible attacks from the cloud infrastructure point of
view are attacks on virtual machines, vulnerabilities at the platform level,
phishing, authorization and authentication and attacks from local users.
5. Mobile Cloud Communication Channel Issues The area of mobile cloud
communication channel requires having a lot of improvement at various
levels.
The following attacks are possible at communication channel: - Access
control attacks - Data integrity attacks - Attacks on authentication - Attacks
on availability

Mobile Computing Mobility has become a very popular word and rapidly increasing part in today’s computing area.
An incredible growth has appeared in the development of mobile devices such as, smartphone, PDA, GPS Navigation
and laptops with a variety of mobile computing, networking and security technologies. In addition, with the
development of wireless technology like WiMax, Ad Hoc Network and WIFI, users may be surfing the Internet much
easier but not limited by the cables as before. Thus, those mobile devices have been accepted by more and more
people as their first choice of working and entertainment in their daily lives. So, what is Mobile computing exactly?
In Wikipedia, it is described as a form of human-computer interaction by which a computer is expected to be
transported during normal usage.

Mobile computing is based on a collection of three major concepts: hardware, software and communication. The
concepts of hardware can be considered as mobile devices, such as smartphone and laptop, or their mobile
components. Software of mobile computing is the numerous mobile applications in the devices, such as the mobile
browser, anti-virus software and games. The communication issue includes the infrastructure of mobile networks,
protocols and data delivery in their use. They must be transparent to end users. Thus the framework of mobile
computing is as shown in below Fig. 1.

Cloud Computing

Cloud Computing has become a popular phrase since 2007. However, there is no consensual definition on what a
Cloud Computing or Cloud Computing System is, due to dozens of developers and organizations described it from
different perspectives. C. Hewitt [4] introduces that the major function of a cloud computing system is storing data
on the cloud servers, and uses of cache memory technology in the client to fetch the data. Those clients can be PCs,
laptops, smartphones and so on. R. Buyya [5] gives a definition from the perspective of marking that cloud
computing is a parallel and distributed computing system, which is combined by a group of virtual machines with
internal links. Such systems dynamically offer computing resources from service providers to customers according to
their Service level Agreement (SLA). However, some authors mentioned that cloud computing was not a completely
new concept. L. Youseff [6] from UCSB argue that cloud computing is just combined by many existent and few new
concepts in many research fields, such as distributed and grid computing, Service-Oriented Architectures (SOA) and
in virtualization.

Data Centers Layer

This layer provides the hardware facility and infrastructure for clouds. In data center layer, a number of servers are
linked with high-speed networks to provide services for customers. Typically, data centers are built in less populated
places, with high power supply stability and a low risk of disaster.

Infrastructure Layer It includes resources of computing and storage. In this layer, physical devices and hardware,
such as servers and storages are virtualized as a resource pool to provide computing storage and network services to
users, in order to install operation system (OS) and operate software application. Thus it is denoted as Infrastructure
as a Service (IaaS). IaaS enables the provision of storage, hardware, servers and networking components. The client
typically pays on a per-use basis. Thus, clients can save cost as the payment is only based on how much resource
they really use. Infrastructure can be expanded or shrunk dynamically as needed. Services of this layer such as
Elastic Computing Cloud (EC2) of Amazon and S3 (Simple Storage Service)

. Platform Layer This layer is considered as a core layer in the cloud computing system, which includes the
environment of parallel programming design, distributed storage and management system for structured mass data,
distributed file system for mass data, and other system management tools for cloud computing. Program developers
are the major clients of the platform layer. All platform resources such as program testing, running and maintaining
are provided by the platform directly but not to end users. Thus, this type of services in a platform layer is called
Platform as a Service (PaaS). PaaS offers an advanced integrated environment for building, testing and deploying
custom applications. The typical services are Google App Engine, Azure from Microsoft and Amazon Map
Reduce/Simple Storage Service.
Application Layer This layer provides some simple software and applications, as well as costumer interfaces to end
users. Thus we name this type of services in the application layer as Software as a Service (SaaS). SaaS supports a
software distribution with specific requirements. In this layer, the users can access an application and information
remotely via the Internet and pay only for that they use. Users use client software or a browser to call services from
providers through the Internet, and pay costs according to the utility business model (like water or electricity). The
earliest SaaS is the Customer Relationship Management (CRM) from Salesforce, which was developed based on the
force.com (a PaaS in Salesforce). Some other services provided by Google on-line office such as documents,
spreadsheets, presentations are all SaaS. Although the cloud computing architecture can be divided into four layers
as shown in Fig. 2, it does not mean that the top layer must be built on the layer directly below it. For example, the
SaaS application can be deployed directly on IaaS, instead of PaaS. Also, some services can be considered as a part of
more than one layer. For example, data storage service can be viewed as either in IaaS or PaaS. Given this
architectural model, the users can use the services flexibly and efficiently.

Mobile Cloud Computing

Nowadays, both hardware and software of mobile devices get greater improvement than before, some smartphones
such as iPhone 4S, Android serials, Windows Mobile serials and Blackberry, are no longer just traditional mobile
phones with conversation, SMS, Email and website browser, but are daily necessities to users. Meanwhile, those
smartphones include various sensing modules like navigation, optics, gravity, orientation, and so on. This brings a
convenient and intelligent mobile experience to users.

following advantages:
1. Extended battery life.
2. Improvement in data storage capacity and processing power.
3. Improved synchronization of data due to “store in one place, accessible
from anywhere ” platform theme.
4. Improved reliability and scalability.
5. Ease of integration.
3-Tier Architecture of Mobile computing

A 3-tier architecture is an application program that is organized into three major parts,
comprising of:

1. Layer-1 : Presentation Layer (UI)


2. Layer-2: Application Layer(AL)
3. Layer-3: Data Access Layer(DA)
Each tier is distributed to a different place or places in a network. These tiers do not
necessarily correspond to physical locations on various computers on a network, but rather
to logical layers of the application.

1. Presentation Layer (UI):


o This layer presents data to the user and optionally permits data
manipulation and data entry, also this layer requests the data form
Business layer.
o This layer accomplished through use of Dynamic HTML and client-side
data sources and data cursors.
2. Application Layer (AL):
o The business logic acts as the server for client requests from
workstations. It acts according Business rules fetch or insert data
through the Data Layer.
o In turn, it determines what data is needed (and where it is located) and
acts as a client in relation to a third tier of programming that might be
located on a local or mainframe computer.
o Because these middle-tier components are not tied to a specific client,
they can be used by all applications and can be moved to different
locations, as response time and other rules require.
3. Data Access Layer (DA):
o The third tier of the 3-tier system is made up of the DBMS that provides
all the data for the above two layers.
o This is the actual DBMS access layer.
o Avoiding dependencies on the storage mechanisms allows for updates
or changes without the application tier clients being affected by or even
aware of the change.

Explain the concept of adaptive computation offloading from mobile devices.

Dynamic Decision Making:

● The decision to offload computation is made dynamically based on factors such as network conditions, device
resources, and application requirements.

● The system continuously monitors parameters like network latency, bandwidth, device battery level, and available
computational resources. Resource-aware Offloading: ● Depending on the current state of the mobile device and
the network, tasks can be offloaded to remote servers or executed locally on the device. ● Offloading decisions may
consider factors like the complexity of the computation, data transfer costs, and the availability of suitable remote
resources. Context Awareness: ● Adaptive offloading systems often take into account the context of the user and the
application. ● Contextual information may include the user's location, preferences, and the nature of the application
(e.g., real-time tasks, background tasks). Energy Efficiency: ● Offloading computationally intensive tasks to more
powerful remote servers can potentially save energy on the mobile device. ● However, energy consumption
associated with data transfer and communication should also be considered, as excessive offloading might lead to
increased network usage and energy consumption. Quality of Service (QoS): ● Maintaining a satisfactory level of
service is crucial. Adaptive offloading mechanisms need to balance the trade-off between offloading to improve
performance and avoiding situations where network delays compromise user experience. Machine Learning and
Predictive Analytics: ● Some adaptive offloading systems use machine learning algorithms and predictive analytics to
anticipate future conditions and make more informed decisions. ● By learning from historical data and adapting to
changing patterns, the system can improve its decision-making capabilities over time
Explain the concept of mobile data offloading using opportunistic
communication
Mobile data offloading using opportunistic communication is a strategy
employed
in mobile networking to alleviate network congestion and improve data
transfer
efficiency. It involves redirecting data traffic away from traditional cellular
networks to alternative communication channels or nodes when
opportunities
arise. This concept exploits transient network connections, intermittent
connectivity, and proximity-based communication to offload data in a
decentralized manner. Here's a breakdown of the key components and
concepts
involved:
Opportunistic Communication:
Opportunistic communication refers to the ability of devices to establish ad-
hoc
connections opportunistically, leveraging short-range wireless technologies
like
Bluetooth, Wi-Fi Direct, or even device-to-device communication protocols.
Devices opportunistically communicate when they come into proximity with
each
other, forming temporary networks or connections to exchange data.
Mobile Data Offloading:
Mobile data offloading involves diverting data traffic away from traditional
cellular
networks (like 3G, 4G, or 5G) to alternative networks or communication
channels
to reduce congestion and improve performance.
Offloading can occur to Wi-Fi networks, small cells, or even other mobile
devices
directly.
Advantages of Opportunistic Communication for Offloading:
Reduction in Cellular Network Load: By offloading data onto alternative
channels,
cellular network congestion can be reduced, leading to better overall
network
performance.
Improved Data Transfer Efficiency: Opportunistic communication can utilize
available resources more efficiently by exploiting direct device-to-device
communication or nearby Wi-Fi networks.
Enhanced Coverage and Connectivity: In scenarios where traditional
network
coverage is limited, opportunistic communication can extend connectivity
by
leveraging nearby devices as relays or access points.
Challenges and Considerations:
Intermittent Connectivity: Opportunistic communication relies on
intermittent
connections, which may result in delays or disruptions in data transfer.
Security and Privacy: Since data is often relayed through multiple devices or
networks, ensuring the security and privacy of transmitted data becomes
crucial.
Resource Management: Efficiently managing the resources of participating
devices (e.g., battery power, bandwidth) is essential to avoid excessive
resource
consumption or depletion.
Applications and Use Cases:
Disaster Recovery: In disaster scenarios where traditional communication
infrastructure is damaged, opportunistic communication can enable data
exchange between nearby devices to coordinate relief efforts.
Crowdsourced Networking: Opportunistic communication can be used to
create
crowdsourced networks, where users share resources and connectivity to
extend
network coverage in areas with poor infrastructure.
Public Transportation: In crowded environments such as buses or trains,
opportunistic communication can facilitate local data sharing among
passengers
without relying solely on cellular networks

You might also like