PERVASIVE COMPUTING
CHAPTER 1
1) Traditional Distributed System VS Mobile Distributed System:
Distributed System:
Functioning: Two general ways: each machine works towards a common goal, or each machine has its own end-user
Failing: Able to fail independently without damaging the whole system
Traditional Distributed System: A traditional distributed system refers to a network of interconnected computers
that work together to achieve a common goal. These systems are typically composed of servers and clients, and they
distribute processing tasks among multiple machines to improve performance, reliability, and scalability.
Mobile Distributed System: A mobile distributed system is a specific type of distributed system designed to support
mobile devices such as smartphones and tablets. These systems need to accommodate the mobility of devices,
intermittent connectivity, and varying resource constraints. Mobile distributed systems often involve communication
between mobile devices and backend servers to enable seamless and efficient computing on the go.
Traditional Distributed System Mobile Distributed System
Portable Devices that run on batteries and have
Hosts Fixed hosts that are connected to a network
a wireless communication interface.
Network
Direct Cable Connections Wireless Link
Connections
More difficult to provide security over wireless
Security A big concern
System than wired one
2) General Issues of Distributed System: Distributed systems are complex networks of computers that work together
to achieve a common goal. Several key issues characterize these systems:
1. Fault-Tolerance: Systems need to be resilient to failures, be it hardware failures, network issues, or software bugs.
Strategies like redundancy, replication, and error detection/correction mechanisms are employed to ensure continued
operation despite failures.
2. Openness: Distributed systems often interact with other systems, and it's crucial for them to be open to integration
and communication. Standards, protocols, and interfaces facilitate this interoperability.
3. Heterogeneity: These systems involve different hardware, operating systems, programming languages, and software.
Managing this diversity requires appropriate abstractions and middleware that can bridge the differences.
4. Scalability: As the system grows in size or experiences increased demands, it should be able to handle the load
efficiently without compromising performance. Horizontal scaling (adding more machines) and vertical scaling
(increasing resources on existing machines) are common strategies.
5. Resource Sharing: In a distributed system, resources such as computational power, storage, and data are shared among
multiple nodes. Efficient resource allocation and management are essential for optimal utilization.
Addressing these issues often involves trade-offs. For instance, ensuring fault- tolerance might add complexity, which
could impact scalability. Balancing these concerns while designing and implementing distributed systems is crucial for
their success and reliability.
3) Challenges in Mobile Distributed System: Mobile distributed systems face several challenges due to the unique
nature of mobile devices and their connectivity. Some of these challenges include:
1. Intermittent Connectivity: Mobile devices frequently switch between different networks (Wi-Fi, cellular, etc.) and may
experience periods of limited or no connectivity. Designing systems that can function in such intermittent connectivity
scenarios is a significant challenge.
2. Resource Constraints: Mobile devices have limited resources compared to traditional computers, including battery life,
processing power, and storage. Developing efficient algorithms and protocols that operate within these constraints is
essential.
3. Dynamic Network Topologies: Mobile devices join and leave the network frequently, causing dynamic changes in the
network topology. Ensuring smooth operation despite these changes is a challenge, especially for maintaining data
consistency and communication reliability.
4. Security and Privacy: Mobile devices often store sensitive personal data and are more susceptible to physical theft or
loss. Ensuring data security, privacy, and authentication while managing the distributed system poses significant
challenges.
5. Quality of Service (QoS): Providing consistent QoS in mobile environments, considering factors like bandwidth
variations, latency, and varying network conditions, is a challenge. Applications need to adapt to these fluctuations for a
seamless user experience.
6. Context-Awareness: Leveraging contextual information, such as location, movement, and environmental data, can
enhance mobile applications. However, efficiently capturing and utilizing this data while respecting user privacy poses
challenges.
7. Mobile Platform Diversity: There's a wide variety of mobile devices with different operating systems, hardware
capabilities, and software versions. Developing applications that perform consistently across these diverse platforms is
challenging.
8. User Mobility: Users moving between different physical locations and networks present challenges in maintaining
continuous connectivity and session persistence in distributed mobile systems.
CHAPTER 2
1) Mobile Computing: Mobile computing refers to the use of portable computing devices, such as smartphones and
tablets, that enable users to access and process information while on the move. It involves wireless communication and
often utilizes mobile networks, allowing users to stay connected, access data, and perform computing tasks from virtually
any location.
2) Mobile Adaptive Computing: Mobile Adaptive Computing (MAC) refers to the field of computing that focuses on
designing systems and applications for mobile devices capable of adapting to varying conditions, user preferences,
resource constraints, and changing environments. MAC aims to enhance the performance, efficiency, and user
experience on mobile devices through adaptability.
3) Adaptability: Adaptability refers to the ability of a system, organism, or entity to adjust, evolve, or change in response
to varying circumstances, environments, or requirements. In the context of distributed systems or technology in general,
adaptability holds significant importance due to the dynamic and ever-changing nature of these systems.
4) Limitations of Mobile Computing: Mobile computing has several limitations, including:
• Battery life: Mobile devices have limited battery life and require frequent recharging.
• Security: Mobile devices are vulnerable to cyberattacks, data theft, and unauthorized access to data and program files.
• Connectivity: Mobile computers have weak connections to fixed information systems.
• Power consumption: Mobile devices consume a lot of power.
• Cost: Mobile devices can be expensive.
Other limitations include:
• Small form factor and limited processing power
• Compatibility issues with different devices and operating systems
• Network connectivity issues
• Application development for different platforms
• User interface challenges
• Less network bandwidth
5) Issues in Mobile Computing: Wireless Communication, Mobility and Portability
1. Wireless Communication: Transfer of data between devices without physical connections, typically using radio waves
or infrared signals.
Disconnection: Interruption or loss of connectivity between devices, common in wireless networks.
Low Bandwidth: Limited capacity for data transmission, resulting in slower communication speeds.
High Bandwidth Variability: Fluctuations in data transfer rates, leading to varying levels of network performance.
Heterogeneous Network: A network composed of diverse elements, such as different devices, protocols, and
technologies.
Security Risks: Vulnerabilities and threats that can compromise the confidentiality, integrity, and availability of data
in a networked environment.
2. Mobility: Ability of a device to move freely while maintaining connectivity and functionality.
Address Migration: Process of updating network addresses when a device moves between different locations or
networks.
Location-dependent Information: Data or services that vary based on the geographical position of a mobile device.
3. Portability: Ease with which a device can be carried and used in different locations.
Low Battery Power: Limited energy capacity for powering a mobile device, requiring efficient power management.
Low CPU Power: Limited processing capabilities of the central processing unit (CPU) in a mobile device.
Low Memory: Limited storage capacity for data and applications on a mobile device.
Small Screen Size: Limited physical display area on a mobile device, influencing user interface design.
Risks to Data: Potential threats and vulnerabilities that may compromise the integrity and security of stored or
transmitted data on a mobile device.
6) Adaptation inherit Limitations of Mobile Computing:
1. Resource Constraints: Mobile devices have limited resources like battery life, processing power, and memory. Despite
adaptation strategies, the inherent limitations may restrict the extent or speed at which devices can adapt.
2. Complexity Overhead: Implementing adaptive mechanisms adds complexity to software and systems. This complexity
can potentially affect performance and resource utilization, counteracting the benefits of adaptation.
3. Overhead in Decision Making: The process of continuously monitoring and making adaptive decisions can consume
resources itself. This decision-making overhead might impact the overall system responsiveness and efficiency.
4. Trade-offs: Adapting to one aspect, such as optimizing for battery life, might lead to trade-offs in other areas, such as
performance or responsiveness. Balancing these trade-offs is a challenge in adaptive systems.
5. Contextual Accuracy: Adapting based on contextual information requires accurate and reliable data about the
environment, user behavior, and network conditions. Inaccurate or outdated context data can lead to incorrect
adaptations.
7) Role of Adaptation in Mobile Computing: Adaptation in mobile computing is crucial for optimizing resources,
improving user experiences, maintaining performance in varying conditions, enhancing security, and enabling
personalized, context-aware services. It ensures mobile devices and applications dynamically adjust to changing
environments, ultimately providing efficient and tailored experiences to users on-the-go.
8) Types of Adaptability:
Data Adaptability:
Data Format Adaptation: Converting data between different formats or structures to ensure compatibility and
interoperability across systems or devices.
Data Synchronization: Ensuring data consistency across distributed systems, often involving synchronization
mechanisms to update and maintain data coherence.
Data Caching: Storing frequently accessed data locally to reduce latency and optimize performance, adapting to user
behavior and usage patterns.
Data Compression and Encoding: Adapting data by compressing or encoding it to reduce bandwidth usage and improve
transmission efficiency, especially in mobile or limited connectivity scenarios.
Functionality Adaptation:
• Context-Based Functionality: Adapting application features or behaviors based on contextual information like location,
time, user activity, or environmental conditions.
• Algorithmic Adaptation: Utilizing adaptive algorithms that adjust their behavior or parameters dynamically to suit
changing input or system conditions.
• Adaptive User Interfaces: Tailoring user interfaces by adjusting layout, content, or interaction elements to fit different
screen sizes, device capabilities, or user preferences.
• Dynamic Configuration: Modifying system configurations, settings, or protocols in real-time to optimize performance,
resource utilization, or security based on current conditions.
9) Application Reconfiguration: Application reconfiguration involves modifying or adjusting the structure, behavior,
or settings of an application during runtime. It's a dynamic process that allows applications to adapt to changing
conditions, requirements, or environments without needing to be stopped or restarted. Application reconfiguration is
essential in dynamic and resource-constrained environments, such as mobile computing or distributed systems, where
adaptability and responsiveness are crucial for optimal performance and user experience.
10) Who should be responsible for the adaptation?
The responsibility for adaptation can be distributed between both the system and the application, depending on the
context and the nature of adaptation needed:
1. System-Level Adaptation: The underlying system, including the operating environment, infrastructure, and core
components, might handle certain types of adaptation. This involves managing resources, optimizing performance,
ensuring fault tolerance, and maintaining overall stability. System-level adaptation often deals with broader aspects
affecting multiple applications or services.
2. Application-Level Adaptation: Applications can also possess adaptive capabilities tailored to their specific
functionalities, user interactions, or requirements. This involves adapting the application's behavior, settings, or features
to suit varying conditions, user preferences, or changing contexts.
Ultimately, the responsibility for adaptation may be shared between the system and applications, with the system
providing a flexible infrastructure and services while applications utilize these capabilities to adapt their behaviors or
features based on specific needs or conditions.
11) Application-Aware Adaptation: Application-aware adaptation is a process that involves adapting to context
within an application and outside of it. It's a collaboration between the operating system and applications. Application-
aware adaptation is considered an essential capability for mobile clients. It allows applications to determine how to
adapt, while the system manages key resources.
Here's some more information about application-aware adaptation:
• Role of the operating system: Senses external events, monitors, and allocates resources
• Role of individual applications: Adapts to changing conditions using the information and resources provided by the
operating system
• Benefits: Offers a more promising approach to mobile data access
Application-aware adaptation is a solution to the problem of mobile clients facing wide variations in network conditions
and local resource availability.
CHAPTER 3
1) Mobility Management: Mobility management in the context of mobile computing refers to the set of techniques,
protocols, and mechanisms employed to handle the movement of mobile devices within a network. It involves
maintaining connectivity, managing handovers between different access points, and ensuring seamless communication
as devices moves.
2) Types of Mobility:
1. User Mobility: User mobility refers to the movement of individuals or users across different physical locations while
maintaining connectivity and access to services.
2. Device Mobility: Device mobility revolves around the movement or relocation of computing devices across various
network segments or locations. This includes:
• Portable Devices: Devices carried by users, requiring continuous connectivity and the ability to adapt to changing
networks or locations.
• Embedded Systems: Devices embedded within infrastructure or machinery (IoT sensors, industrial control systems)
that might change locations, needing connectivity and communication capabilities.
3. Code Mobility: Code mobility involves the ability of code or software components to move or execute in different
environments or devices.
3) Role of Mobility Management in achieving Mobile Computing Vision: Mobility management is fundamental
in realizing the vision of mobile computing by enabling the seamless and efficient operation of mobile devices in diverse
and dynamic environments. Here's how it contributes:
• Seamless Connectivity: Continuous Connectivity: Mobility management ensures that mobile devices stay connected
to networks, allowing users to access services without interruptions as they move between different areas or network
types.
• Enhanced User Experience: Uninterrupted Services: It enables users to access applications, data, and services
consistently, regardless of their location or movement, thereby enhancing the overall user experience.
• Efficient Resource Utilization: Optimized Resource Allocation: Mobility management optimizes resource usage by
dynamically allocating network resources based on the current location, device capabilities, and user requirements,
ensuring efficient utilization.
• Flexibility and Adaptability: Adaptive Handovers: It facilitates seamless handovers between different networks or
access points, enabling devices to adapt to changing network conditions or user movements without disrupting
ongoing activities.
• Security and Authentication: Secure Mobility: It ensures secure registration, authentication, and authorization
procedures, safeguarding user data and privacy as devices roam across various networks or service providers.
4) Location Management: Location management is the process of identifying a user's physical location. It's also
responsible for verifying the authenticity of users accessing a network. Location management is a key area of mobile
computing. It involves:
• Location registration: Also known as location update
• Searching: Also known as paging
• Search-updates: Occurs when a mobile host changes location
Location management is important because the network needs to know the exact location of a mobile station during a
call. It also helps to track an active mobile station between two phone calls.
5) Update and Search Operations:
In mobile computing, location management involves:
• Updating the user's location
• Searching the location
• Performing search-updates
Location management enables the network to deliver calls to mobile users by tracking their locations between calls.
Location management involves two operations: Location update, Paging. The location update procedure allows a
mobile device to inform the cellular network whenever it moves from one location area to the next. The cost of the
update and search operations is affected by the way every level is divided into regions.
6) Location Management using Cellular Network and Over Wifi or IP address:
Location management in cellular networks involves tracking subscribers as they move. The process of registering a
location is called location update, and the process of searching for a location is called paging. In cellular systems, location
management is handled by the base stations or the central mobile telephone switching office (MTSO). The network can
quickly locate a user when an incoming call is made.
Location management over WiFi involves sending beacons to all cells so that one of the cells can locate the user. The
location engine analyzes the data to determine the location of the transmitting device. This technology works well
indoors and outdoors, especially in urban areas.
7) Handoff Management: Efficient transition of a mobile device's connection from one network node or base station
to another, ensuring uninterrupted communication as the device moves within a wireless network. Handoff conceptually
involves several subtasks:
• Deciding when to hand off to a new AP,
• Selecting a new AP from among several APs in the vicinity of the mobile node,
• Acquiring resources such as channels,
• Informing the old AP so that it can reroute the packets it gets for this mobile node and also transfer any state
information to the new AP.
8) Resource Management: Resource management in computing involves the efficient allocation, utilization, and
monitoring of various resources within a system to ensure optimal performance and functionality. These resources can
include: 1. Hardware Resources 2. Network Resources 3. Software Resource 4. Virtualization and
Cloud Resources
9) Search Operations: Cell Level Paging and Registration Area level Paging:
Cell Level Paging: Paging method that sends paging messages to specific cells or a small group of cells where a mobile
device is likely located.
• Scope: Targets only the cells within the immediate vicinity of the device's current location tracking area.
• Efficiency: More localized and efficient in terms of paging overhead but requires frequent paging within smaller cell
areas.
• Granularity: High granularity, focusing on specific cells or a small cell group where the device might be present.
Registration Area Level Paging: Paging method that broadcasts paging messages across a broader area or multiple cells
to locate a mobile device.
Scope: Covers a larger geographic area, reaching multiple cells or location tracking areas where the device could be
present.
Efficiency: Reduces the number of paging messages broadcasted but covers a larger area, reducing paging overhead at
the cost of potentially paging more cells.
Granularity: Lower granularity, reaching a wider geographic region, but may involve more cells than the immediate
vicinity of the device.
10) Registration Area-based Location Management: Registration Area-based Location Management (RA-based LM)
is a process that tracks the location of each user in Personal Communication Systems (PCS). It's used for call delivery and
location-dependent services.
RA-based LM involves: Location tracking, Location registration, Location update, Paging, User authenticity verification.
RA-based LM organizes cells into clusters called Registration Areas (RAs). Each RA has one Location Register and each
user has one Home Location Register.
Location Areas (LAs) are also known as Paging Areas or Registration Areas. In this scheme, service areas are created with
each area considered a LA. A mobile host's location in the Location Database is only updated when it moves from one LA
to another.
CHAPTER 4
1) Pervasive Computing: Pervasive computing, also known as ubiquitous computing, is the trend of embedding
microprocessors into everyday objects so they can communicate information. The goal is to make computers so present
in everyday objects that people are unaware of them. Pervasive computing systems are always connected and available.
They process threads in the background and respond on behalf of the user based on algorithms, artificial intelligence,
and machine learning. Pervasive computing systems have the following features:
• Context-awareness: Applications can respond to sensory information.
• Open and nonrestrictive: Users shouldn't have to manually enter data to connect.
• Device independence: Users can access any device from anywhere.
Some examples of pervasive computing include: Electronic toll systems, Tracking applications, Apple Watch, Amazon
Echo, Smart traffic lights, Fitbit
Pervasive includes four additional research thrusts:
• Effective Use of Smart Spaces: Maximizing the utility of intelligent environments by seamlessly integrating technology
into physical spaces to enhance user experience and efficiency.
• Invisibility: Designing pervasive computing systems to operate subtly and unobtrusively in the background, minimizing
the awareness of technology by users.
• Localized Scalability: Implementing scalable solutions that adapt to the specific needs and demands of localized
contexts, allowing for efficient resource allocation and responsiveness.
• Masking Uneven Conditioning: Mitigating disparities in environmental conditions, such as variations in network
connectivity or device capabilities, to ensure consistent and reliable performance across diverse settings.
2) Vision of Pervasive Computing: A future where computing seamlessly integrates into the surroundings, with
interconnected devices anticipating user needs, creating an adaptive, unobtrusive, and omnipresent computing
environment.
3) Distributed Systems: A network of interconnected computers sharing resources and collaborating to achieve a
common goal, often characterized by decentralized processing, improved reliability, and scalability.
4) Invisible Computing: Invisible computing is computing that happens around you without you noticing. It can also
refer to technology that is integrated into our daily lives. Here are some examples of invisible computing: Car alarms,
Traffic lights, Mall doors, Pagers, Cell phones, CD players, Cameras, Watches. Some goals of invisible computing include:
Ubiquity, Pervasiveness, Mobility, Connectivity, User and task focus.
5) Proactivity: The ability of pervasive computing systems to anticipate and initiate contextually relevant actions or
services without explicit user input, enhancing user experience by meeting needs before they are explicitly expressed.
Example: A smart home system detects the absence of residents and proactively adjusts the thermostat, turns off
unnecessary lights, and activates security measures to optimize energy usage and enhance home security.
6) Cyber Foraging: Cyber foraging is a technique that allows mobile devices to extend their computing power and
storage. It involves transferring heavy computational tasks from a resource- limited device to one or more resourceful
servers. The servers then execute the tasks and return the results to the initial device. Cyber foraging can improve the
performance of: Interactive applications Distributed file systems Mobile systems
In a cyber foraging system, the functionality of applications is dynamically partitioned between the mobile computer and
infrastructure servers. The servers store data and execute computation on behalf of mobile users.
7) Context-Awareness: Context awareness is the ability of a system to gather information about its environment and
adapt its behavior accordingly. It can also refer to the ability of a system to take into account the situation of entities,
such as users or devices. Context awareness can be achieved through software and hardware that automatically collects
and analyzes data. For example, a mobile phone that changes its screen orientation based on tilt is an example of context
awareness. Context awareness can also be a criterion in UX design. Context-aware UX adapts to the user's social,
emotional, and physical environment. For example, a contextually aware keyboard might suggest sending flowers to your
mother on Mother's Day.
8)User Intent: User intent refers to the specific goal or purpose behind a user's interaction with a system, application,
or service. Understanding user intent is crucial for providing accurate and relevant responses or actions. Example: A smart
home system observes a user turning off the lights and adjusting the thermostat every night before going to bed.
Recognizing this pattern, the system infers the user's intent to sleep and proactively dims the lights, adjusts the
thermostat, and sets an ambient music playlist without the user explicitly issuing commands.
IF U CAN DREAM IT !!!! U CAN MAKE IT HAPPEN
MAY ALLAH GIVES YOU SUCCESS IN PAPERS AND IN EVERY STEPS OF YOUR LIFE