Mobile Computing - Notes
Mobile Computing - Notes
io/mkdocs/mobile-computing/
Mobile Computing
1 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
coordination.
– Powers mobile gaming, streaming platforms, and digital media.
– Supports .
1980s – 1990s
, based on
1990s
2 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
- 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
- with .
- Supported for HD video and VoIP (Voice over IP).
- Introduced for improved call quality.
- for broader coverage.
- in mobile communication.
2020s
GSM & CDMA 144 kbps Digital voice, SMS, MMS, basic
internet
4 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
5 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Mode of Communications
6 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Packet-Switched Network
User A
Packet 1 Packet 2 Packet 3
Dedicated Path
Router Router Router
User B
User D
7 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
8 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
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.
• What is MAC?
A sublayer of the Data Link Layer responsible for coordinating transmissions between multiple
nodes.
10 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Multiple-Access Protocols
ALOHA CSMA CSMA/CD CSMA/CA Reservation Polling Token Passing FDMA TDMA CDMA
11 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
- The .
- , ensuring e�cient retransmission.
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 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
- 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.
13 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
DATA Transmission
Medium is Busy
- 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
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.
15 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• To prevent overlap, channels are mapped to separate spaces (s1 to s3). This creates "guard
space" between channels.
• 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.
• : Effective for localized transmissions like FM radio but not scalable for dense urban
16 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
areas.
Solution:
Multiplexing through
Frequency
Time
Code
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.
• : 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• : 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
• : Each sender can use its frequency band continuously, making it suitable for
applications like radio broadcasting.
Disadvantages of FDM
18 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• : 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
• : A receiver must adjust both the frequency and the correct time slot.
19 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
A combination of both and can be used, where each channel is allotted a speci�c
frequency for a set time period.
• : uses TDMA + FDMA for communication between mobile phones and base
stations.
• : 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Key Takeaways
• : Simple but requires precise synchronization, making it suitable for scenarios where each
sender needs to transmit in de�ned time slots.
• : 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• : This is ensured by using codes with a su�cient "distance" in the code space,
such as orthogonal codes.
Imagine a party with many participants from different countries who communicate using the same
frequency range (approx. 300–6000 Hz):
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
• : 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• : 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
• : 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.
23 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Logical Mobility
24 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Process Migration
• :
25 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• It is marked as "migrating."
26 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
27 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• The process's memory, registers, communication state, and kernel context are extracted.
28 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• 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 https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
30 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
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.
1.
31 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
4.
�.
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.
1.
3.
32 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• – Runs inde�nitely.
33 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
:
– Migrate to a single destination.
– Roam across multiple locations dynamically.
A consists of :
:
→ Carries both its & → Resumes seamlessly at the new
host.
34 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Agent Architecture
35 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
36 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Client Server
Request Data
Response
Another Request
Another Response
Client Server
37 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• – Provides a .
38 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Aglet Communication
39 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
• � (Java-based) includes:
Aglets operate in an .
There are that handle different events:
Triggers actions
at a new context.
40 of 41 05-02-2025, 23:16
Mobile Computing - Notes https://rishikeshvadodaria.github.io/mkdocs/mobile-computing/
Aglet Running
41 of 41 05-02-2025, 23:16