Mobile Computing - Notes [Link]
io/mkdocs/mobile-computing/
Mobile Computing
Mobile computing is a technology that enables the of
through mobile devices .
- Involves that enable seamless connectivity.
- Supports over .
- Includes that access mobility services:
-
-
-
-
-
- that run on mobile devices.
- Examples: .
- Acts as the that powers mobile functionalities.
– Enables browsing, cloud computing, and real-time communication.
– Provides navigation, tracking, and geolocation services.
– Supports disaster response, medical alerts, and real-time rescue
1 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
coordination.
– Powers mobile gaming, streaming platforms, and digital media.
– Supports .
Evolution of Mobile Computing
The evolution of marks advancements in
, revolutionizing communication and connectivity.
1980s – 1990s
, based on
- Allowed but limited to one country.
- Used , leading to and frequent call drops.
- and .
- , only voice communication.
1990s
- replaced analog, improving .
- Introduced for text and picture messaging.
- Enabled .
- Used .
- Introduced , achieving speeds of .
2 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- Introduced .
- Enabled .
- Used , improving e�ciency.
- than 2G.
- Introduction of .
- , enabling .
- , improving network performance.
- Served as a , enhancing .
2000s
- Enabled .
- Provided , including .
- Increased for improved web-based applications.
- compared to 2G.
2010s
3 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- with .
- Supported for HD video and VoIP (Voice over IP).
- Introduced for improved call quality.
- for broader coverage.
- in mobile communication.
2020s
- – Up to for ultra-fast downloads and real-time communication.
- – , essential for
.
- – Supports .
- – allows dedicated networks for speci�c applications.
AMPS (Analog) 2.4 kbps Voice calls, poor quality, no data
GSM & CDMA 144 kbps Digital voice, SMS, MMS, basic
internet
GPRS 64 – 144 kbps Always-on internet, emails, camera
phones
EDGE Up to 384 kbps Faster browsing, video streaming
4 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
WCDMA, HSPA Up to 2 Mbps Video calls, multimedia, web-based
apps
LTE, WiMAX 10 Mbps – 1 HD streaming, VoLTE, broadband
Gbps connectivity
mmWave, Up to 20 Gbps Ultra-fast speeds, IoT, AI-powered
MIMO networks
The is structured in a to provide across
large geographical areas.
5 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
– Phones, tablets, or IoT devices.
– Handles wireless communication with mobile devices.
– Manages multiple BTS and assigns frequencies.
– Connects mobile calls and manages handovers.
– Traditional wired telephone network.
– Allows mobile data access and browsing.
– Divides the service area into to provide coverage.
Mode of Communications
6 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Packet-Switched Network
User C Circuit-Switched Network
User A
Packet 1 Packet 2 Packet 3
Dedicated Path
Router Router Router
User B
User D
Mobile computing architecture ensures seamless communication,
, making applications e�cient and scalable.
- Identify available services like in the local
environment.
- and to the user’s current location.
- Automatic alerts (e.g., in a supermarket).
- User-requested data (e.g., ).
- Maintains , allowing smooth mobility.
7 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- Controls to location information.
Three-Tier Mobile Computing Architecture
- Where users interact with the mobile app.
- Handles .
- Supports .
- Routes tra�c between .
- Adapts to .
- Ensures even if one route fails.
8 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- – Organizes tasks and work�ows (e.g., ).
- – Enforces rules and decision-making (e.g., ).
- – Organizes data storage and retrieval (like a ).
- – The actual storage where information is kept (like a ).
More users can be handled by .
If one component fails, others .
Different layers can be updated or �xed .
Works well on .
The where customers interact with waiters.
The who take orders to the kitchen.
The where food is prepared based on orders.
The where ingredients are stored.
Multiplexing is a key technique in communication systems that allows multiple users to share a
single medium with minimal or no interference.
9 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Highways as a Shared Medium: - Multiple vehicles (users) travel on the same highway (medium)
without interference. - Space Division Multiplexing (SDM): Cars use separate lanes. - Time Division
Multiplexing (TDM): Cars use the same lane at different times.
� Medium Access Control (MAC) Protocols
• What is MAC?
A sublayer of the Data Link Layer responsible for coordinating transmissions between multiple
nodes.
Data link layer divided into two functionality-oriented sublayers
The MAC Problem in Wireless Networks
When multiple nodes transmit simultaneously, their signals collide, causing:
Lost data and wasted bandwidth.
Increased retransmissions, leading to higher delays and lower e�ciency.
Solution? Use a protocol to manage access to the shared medium.
What MAC Protocols Must Do:
10 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• Minimize Collisions to optimize bandwidth usage.
• Decide when a station can transmit to avoid con�icts.
• Handle busy channels by deciding whether to wait or retransmit.
• Resolve collisions e�ciently to ensure smooth data transmission.
Here is the representation of along with a brief
explanation for each type:
Multiple-Access Protocols
Random Access Protocols Controlled-Access Protocols Channelization Protocols
ALOHA CSMA CSMA/CD CSMA/CA Reservation Polling Token Passing FDMA TDMA CDMA
(No �xed control, contention-based):
- – Transmits data randomly; high collision rate.
- – Senses channel before sending data to reduce
collisions.
- – Detects collisions and retransmits (used in Ethernet).
- – Avoids collisions before transmission (used in Wi-Fi).
(Centralized control, avoids collisions):
- – Nodes reserve slots before transmission.
- – Central controller decides which node transmits.
- – A token circulates, granting transmission rights.
(Divide channel into separate logical paths):
- – Assigns different frequencies to users.
- – Allocates time slots to users.
- – Uses unique codes for simultaneous transmissions.
- across the wire.
- can be assumed throughout if the wire length is within standard limits.
11 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- by any node listening to the wire.
1. – Listen to the wire; if free, send data.
2. – If a collision is detected while transmitting, stop immediately and send a
to notify all nodes.
- The .
- , ensuring e�cient retransmission.
- due to distance and obstacles.
- follows the inverse square law (1/d2), weakening signals over distance.
- by simply listening to the medium.
1. – The sender may detect an , but the receiver may still experience a
.
2. – The sender cannot always detect a collision at the receiver’s end.
- Wireless nodes have .
- The causes undetected collisions.
- Instead, wireless networks use to
.
Wireless networks face unique challenges due to signal interference, attenuation, and variable
reception.
- A and C cannot hear each other but are both within B’s range.
- A starts transmitting to B.
12 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
- C senses the medium as free (since it cannot hear A) and starts transmitting to B at the same
time.
- A collision occurs at B, but neither A nor C detects it.
- Other senders are hidden from the current sender, leading to undetected collisions.
- The RTS/CTS (Request to Send / Clear to Send) mechanism helps avoid hidden terminal issues
by coordinating access.
- B is transmitting to A.
- C senses the medium as busy because B is transmitting.
- However, C could have transmitted to D without causing a collision.
- C unnecessarily defers its transmission, reducing network e�ciency.
- The sender mistakenly assumes the medium is in use, leading to wasted transmission
opportunities.
- Spatial reuse techniques allow simultaneous non-interfering transmissions.
13 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
R₁ (Receiver 1) S₁ (Sender 1) S₂ (Sender 2) R₂ (Receiver 2)
1. Initial Communication Setup
Request to Send (RTS)
Clear to Send (CTS)
2. Data Transfer Begins
DATA Transmission
Medium is Busy
Waiting for Clear Medium
3. Successful Data Transfer
Data Transfer Complete
Medium is Now Clear
R₁ (Receiver 1) S₁ (Sender 1) S₂ (Sender 2) R₂ (Receiver 2)
- B is closer to C than A.
- B’s stronger signal overpowers A’s weaker signal at C.
- C cannot receive A’s transmission properly, causing data loss.
- Signal strength imbalance leads to weaker signals being drowned out by stronger ones.
- Power control mechanisms ensure all terminals are detectable at the base station.
- GSM avoids the problem by using time slots (TDMA), preventing simultaneous transmission.
- CDMA uses power control so all signals arrive at the receiver with equal strength.
14 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Wireless channels can be multiplexed in four key dimensions:
1. : A channel occupies the entire frequency spectrum for a speci�c time period.
2. : The same frequency can be reused if base stations are su�ciently separated.
3. : The spectrum is divided into smaller frequency bands.
4. : Each channel is assigned a unique code for transmission.
15 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• SDM involves separating channels in three dimensions: , , and .
• The dimension is represented by circles indicating interference ranges.
• To prevent overlap, channels are mapped to separate spaces (s1 to s3). This creates "guard
space" between channels.
• are clearly separated, while additional spaces are needed for
.
• This principle is similar to how old analog phone systems provided separate copper wires for
each subscriber.
Example: FM Radio
• Multiple radio stations can use the same frequency without interference, as long as they are
separated geographically.
• : Needed in all multiplexing schemes to prevent interference.
• : Effective for localized transmissions like FM radio but not scalable for dense urban
16 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
areas.
If several radio stations want to broadcast in the same city - Solution?
SDM not suitable
Solution:
Multiplexing through
Frequency
Time
Code
Frequency Division Multiplexing (FDM)
Frequency Division Multiplexing (FDM) divides the frequency dimension into several non-
overlapping frequency bands. Each channel ki is assigned a speci�c frequency band, which can be
used continuously by the sender.
• : Essential to prevent frequency band overlap (also called adjacent channel
interference).
• : Used by radio stations within the same region, where each station broadcasts on its
own frequency.
17 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
How FDM Works
• : The receiver only needs to tune into the speci�c frequency assigned to the
sender.
• : Common in systems like radio broadcasting, where multiple stations use different
frequencies to avoid interference.
Advantages of FDM
• : Very simple to implement, as it requires minimal coordination between the sender
and receiver.
• : Each sender can use its frequency band continuously, making it suitable for
applications like radio broadcasting.
Disadvantages of FDM
• : In mobile communication, where communication is short-term,
dedicating an entire frequency band to each scenario would waste valuable frequency
resources.
• : The �xed assignment of frequencies to senders makes the system
in�exible, limiting the number of senders that can be supported.
18 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Time Division Multiplexing (TDM)
In , each channel ki is allocated the entire bandwidth for a
speci�c time period. Multiple senders use the same frequency but at different points in time.
• : Time gaps between transmissions are required to prevent overlap.
• : Occurs if transmissions overlap in time, similar to cars colliding on a
highway.
How TDM Works
• : Senders must be precisely synchronized, which requires clocks or a
method to distribute synchronization signals.
• : The receiver must not only adjust the frequency but also tune to the exact
time slot for receiving data.
• : TDM is �exible, allowing more time for senders with heavy tra�c and less time for
those with lighter loads.
Disadvantages of TDM
• : All senders need to be synchronized, which adds complexity.
• : A receiver must adjust both the frequency and the correct time slot.
• : If multiple senders choose the same frequency at the same time,
interference occurs.
19 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Time + Frequency Division Multiplexing (TDMA + FDMA)
A combination of both and can be used, where each channel is allotted a speci�c
frequency for a set time period.
• : Required in both time and frequency dimensions.
• : uses TDMA + FDMA for communication between mobile phones and base
stations.
Advantages of TDMA + FDMA
• : Provides some protection against frequency selective interference.
• : The sequence of frequencies must be known to intercept data,
providing some protection.
Disadvantages of TDMA + FDMA
• : Coordination between senders is required for frequency and time management.
• : If two senders use the same frequency at the same time, interference occurs.
Frequency hopping can minimize this, reducing interference time.
20 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Key Takeaways
• : Simple but requires precise synchronization, making it suitable for scenarios where each
sender needs to transmit in de�ned time slots.
• : Offers better robustness and protection, but requires complex coordination
and management of both time and frequency.
Code Division Multiplexing (CDM)
is a relatively new scheme used in commercial communication
systems, having been initially used in military applications due to its built-in security features.
• : All channels ki use the same frequency at the same time. Separation is
achieved by assigning each channel its own unique "code."
21 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• : This is ensured by using codes with a su�cient "distance" in the code space,
such as orthogonal codes.
Example: Party with Global Participants
Imagine a party with many participants from different countries who communicate using the same
frequency range (approx. 300–6000 Hz):
• : If everyone speaks the same language, space division multiplexing
(SDM) is required to separate groups.
• : As soon as another language is used, a new code (language) can
be tuned into, clearly separating communication in different languages. Other languages
appear as background noise.
CDM Security
• : If the receiver doesn’t know the code (or language), the signals are received
but are essentially useless. This creates a secure channel in a potentially "hostile"
environment, much like using a secret language at the party.
• : Codes must be su�ciently distinct (e.g., Swedish and Finnish are orthogonal
enough, but Swedish and Norwegian are too similar for separation).
Advantages of CDM
• : CDM provides strong protection against interference and tapping. The
huge code space allows for easy assignment of unique codes to different senders without
signi�cant issues.
• : A secret code can create a secure channel, as only those with the correct code can
decode the message.
Disadvantages of CDM
• : The receiver must know the code and be able to decode the signal amidst
22 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
background noise. This increases the complexity of the receiver.
• : The receiver must be precisely synchronized with the
transmitter for accurate decoding.
• : Signals must reach the receiver with equal strength. If signals are uneven, such
as someone speaking too loudly near the receiver, the loud signal could drain the others,
making it di�cult for the receiver to decode other channels.
Key Takeaways
• : Provides secure and interference-resistant communication but requires precise
synchronization and power control.
• : Built-in security by using unique codes (or languages) for each communication
channel.
• : High complexity due to the need for the receiver to decode signals accurately and
maintain synchronization.
Comparison of Multiplexing Techniques
Segment Segment sending Divide the Spread the
space into time into disjoint frequency spectrum using
cells/sectors time-slots band into orthogonal
sub-bands codes
Only one All terminals Each terminal All terminals
terminal share the same has its own can be active
active per frequency but dedicated simultaneously
cell/sector transmit in time frequency using unique
slots codes
Cell structure Synchronization Filtering in Codes and
with directed in the time the frequency special
antennas domain domain receivers
23 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Simple, Fully digital, very Simple, Highly �exible,
increases �exible robust, and less planning
capacity per well- needed,
km² established supports soft
handover
In�exible, Guard space In�exible, Complex
�xed needed, limited by receivers,
antennas synchronization available requires precise
required is complex frequencies power control
Used in Standard in �xed Often Used in 3G
combination networks, often combined systems,
with TDMA, combined with with TDMA requires
FDMA, or FDMA/SDMA in (frequency integration with
CDMA mobile networks hopping TDMA/FDMA
patterns) and
SDMA
(frequency
reuse)
Logical Mobility
refers to the ability to transfer software components, code, or computational
elements between different systems or devices.
• : Moving entire applications between devices.
• : Transferring scripts or functions dynamically.
• : Migrating serialized objects or database entries.
24 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• : Shifting active processing tasks to another system.
• : Installing an application from an app store.
• : A browser fetching and executing JavaScript from a server.
Process Migration
is the transfer of an executing process from one computing system to another
while maintaining its state.
• :
• : Memory and allocated resources.
• : CPU register contents.
• : Open �les, message channels.
• : Any system-speci�c data.
25 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
1. : A source and destination process.
2. : The destination instance takes over as the migrated process.
3. : A process running on another machine is called a .
• Watching a movie on a , then continuing playback on a while traveling.
• A migration request is sent to a remote node.
• After negotiation, the migration is accepted.
• The process is suspended on the source node.
• It is marked as "migrating."
• Communication is temporarily redirected.
26 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• Incoming messages are queued.
• Messages are delivered after migration.
27 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• The process's memory, registers, communication state, and kernel context are extracted.
• A new process instance is initialized on the remote node.
28 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• The extracted state is transferred to the destination node.
• References (e.g., �le descriptors, network sockets) are updated to point to the new process
instance.
29 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• The new process instance resumes execution on the remote node.
Advantages of Process Migration
30 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
1.
2. Balances the load by migrating processes from overloaded nodes to less loaded ones.
3.
4. Ensures continuity by migrating processes from nodes that have partially failed or are at risk
of failure.
5.
�. Facilitates maintenance by moving processes from nodes that are about to be shut down or
become unavailable.
7.
�. Enhances e�ciency by migrating processes closer to the data source, especially useful in
mobile environments.
9.
10. Allows access to specialized hardware by migrating a process to a node equipped with the
required resources.
11.
12. Enables users to continue running applications seamlessly as they move between networks or
devices.
Applications of Process Migration
• – Distributing computational tasks across multiple nodes.
• – Allowing execution across different nodes without interruption.
• – Managing distributed workloads effectively.
• – Processes that can be temporarily suspended and resumed
elsewhere.
• – Applications designed to adapt to migration scenarios.
• – Ensuring service continuity as devices move
across networks.
Alternatives to Process Migration
1.
31 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
2. Executes code on a remote node instead of migrating the entire process.
3. due to lower data transfer costs.
4.
5. Creates a copy of the process on a different node using a mechanism.
�. Unlike migration, using distributed shared state.
7. but useful when state inheritance is required.
�.
9. Uses Java, Tcl/Tk, or other technologies to move objects or scripts dynamically.
10. Achieved at the using frameworks like:
Mobile Agents
are software entities that autonomously move between computers and continue
execution on the destination machine.
• : Can function independently, even if the user disconnects from the network.
• : They move dynamically across systems.
• : Store information and operate without requiring continuous communication.
Types of Mobile Agents
1.
2. Follow a speci�c, predetermined route across nodes.
3.
4. Wander freely across the network, dynamically choosing destinations.
Properties of Mobile Agents
A is a software object that exists within an execution environment and possesses
these key traits:
32 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
• – Responds to environmental changes.
• – Controls its own actions.
• – Works proactively towards objectives.
• – Runs inde�nitely.
• � – Can interact with other agents.
• – Can migrate between hosts.
• – Adapts based on past experiences.
Life Cycle of Mobile Agents
to both home and foreign environments.
between nodes as needed.
on achieving the �nal objective.
33 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
without external intervention.
Mobile Agent Platforms
• interpret agent behavior and handle communication.
• – Agents can choose and request migration.
• ⚙ – Can run on any machine without pre-installation.
• – Uses to dynamically load code.
:
– Migrate to a single destination.
– Roam across multiple locations dynamically.
Components of a Mobile Agent
A consists of :
1. – Instructions de�ning the agent’s behavior.
2. – The agent’s progress and memory.
Unlike regular programs where , mobile
agents when migrating!
:
→ Carries both its & → Resumes seamlessly at the new
host.
Characteristics of Mobile Agents
– Each agent has a distinct presence.
– Can detect and interact with other agents.
– Sends & receives structured messages.
– Can communicate with its hosting environment.
– Supports multiple agents running simultaneously.
34 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Agent Architecture
Mobile Agents vs. Process Migration
Autonomous decision-making; System-controlled; OS or network
agents decide when and where to manager decides movement.
move.
Built-in intelligence to adapt No built-in intelligence; follows
behavior. system instructions.
Moves based on programmed Moves based on system load and
objectives and current needs. resource availability.
Can change destinations Fixed source-to-destination
dynamically; supports multi-hop migration; single-hop only.
movement.
35 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Carries both together State must be
as a package. .
Can communicate with other agents No inter-process communication
and systems. during migration.
- Requires continuous communication between .
- Frequent request/response cycles increase .
- Moves from client to server, reducing repetitive requests.
- and syncs results when the system is back online.
- Handles effectively.
1. – Must run on different platforms without modi�cations.
2. – Should be available across multiple network environments.
3. – Needs e�cient mechanisms for sending/receiving data.
4. – Must prevent unauthorized agent execution on a host.
5. – Protects agents from external threats or modi�cations.
�. – Tracks resource consumption for optimization.
Diagram: Mobile Agent vs. Client-Server Communication
36 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Client Server
Request Data
Response
Another Request
Another Response
Client Server
Aglets: Java-Based Mobile Agent Platform
are a for mobile agents, designed by . They allow objects to
on a network while maintaining their execution state.
• An can , move to a remote host, and .
• When an , it to the new host.
• Multiple can run on a single node within different contexts.
37 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
An is the where Aglets operate.
• – Provides a .
• – A single network node can run multiple .
A is a that: - the Aglet from direct access to its public
methods. - , ensuring .
38 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Aglet is within a context, assigned an identi�er, and initialized.
Execution starts immediately.
Produces an of the Aglet in the same context, with a new
identi�er.
Moves the Aglet , removing it from the current one.
at the destination.
Pulls the Aglet after being dispatched.
Temporarily removes an Aglet from execution and stores it in
.
Restores a back into a context.
and the Aglet from the context permanently.
Aglet Communication
39 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
use to communicate and interact within their environment.
• – Requires an immediate response.
• – Messages are sent without waiting for an immediate reply.
• Used for or agents.
• Example: An Aglet can listen for a and act accordingly.
• � (Java-based) includes:
• Aglet – Core agent class.
• Aglet Proxy – Ensures security and location transparency.
• Aglet Context – Execution environment for Aglets.
• Message – Communication mechanism.
• – Mobile shopping assistants.
• – Automated price comparison & negotiation.
• – Dynamic air-ticket booking & package tour planning.
Aglets operate in an .
There are that handle different events:
Handles events an Aglet is cloned.
Triggers actions
at a new context.
40 of 41 05-02-2025, 23:16
Mobile Computing - Notes [Link]
Manages events of an Aglet.
Aglet Running
Clone Event Migration Event Deactivation Event
Clone Listener Mobility Listener Persistence Listener
41 of 41 05-02-2025, 23:16