Mobile Computing
Mobile Computing
Mobile Computing
What is Mobile Computing?
Mobile computing is a technology that enables the wireless transmission of data, voice, and video through mobile devices
without relying on fixed physical connections.
✅ Mobile Communication
Involves protocols, services, bandwidth, and portals that enable seamless connectivity.
Supports wireless communication over Wi-Fi, Cellular Networks (3G, 4G, 5G), and Bluetooth.
✅ Mobile Hardware
✅ Mobile Software
✅ Web & Internet Access – Enables browsing, cloud computing, and real-time communication.
✅ Global Positioning System (GPS) – Provides navigation, tracking, and geolocation services.
✅ Emergency Services – Supports disaster response, medical alerts, and real-time rescue coordination.
✅ Entertainment Services – Powers mobile gaming, streaming platforms, and digital media.
✅ Educational Services – Supports e-learning, mobile classrooms, and virtual collaboration.
✅ Features:
Introduced: 1990s
Technology Used: GSM & CDMA
⚡ Speed: Up to 144 kbps
✅ Features:
2.5G and 2.75G bridged the gap between traditional mobile calling and the era of high-speed mobile internet!
Introduced: 2000s
Technology Used: WCDMA, HSPA (High-Speed Packet Access)
⚡ Speed: Up to 2 Mbps
✅ Features:
Introduced: 2010s
Technology Used: LTE (Long-Term Evolution), WiMAX
⚡ Speed: 10 Mbps – 1 Gbps
✅ Features:
Introduced: 2020s
Technology Used: mmWave, Massive MIMO, Network Slicing
⚡ Speed: Up to 20 Gbps
Higher Data Rates – Up to 20 Gbps for ultra-fast downloads and real-time communication.
Lower Latency – Reduced response time, essential for real-time gaming, augmented reality (AR), and virtual
reality (VR).
Increased Network Capacity – Supports massive IoT (Internet of Things) connections.
Improved Reliability – Network slicing allows dedicated networks for specific applications.
Cellular Architecture
The cellular network is structured in a hierarchical way to provide efficient communication across large geographical areas.
alt text
alt text
Key Components:
✅ Mobile Device (User Equipment) – Phones, tablets, or IoT devices.
✅ Base Transceiver Station (BTS) – Handles wireless communication with mobile devices.
✅ Base Station Controller (BSC) – Manages multiple BTS and assigns frequencies.
✅ Mobile Switching Center (MSC) – Connects mobile calls and manages handovers.
✅ Public Switched Telephone Network (PSTN) – Traditional wired telephone network.
✅ Packet Data Network (Internet) – Allows mobile data access and browsing.
✅ Cell Towers – Divides the service area into small cells to provide coverage.
!!! Note
Mode of Communications
graph TD;
Mobile computing architecture ensures seamless communication, data management, and user interaction, making applications
efficient and scalable.
✅ Location-Aware Services
Identify available services like printers, fax machines, phones, and servers in the local environment.
✅ Follow-On Services
Automatic call forwarding and workspace transmission to the user’s current location.
✅ Information Services
✅ Support Services
Maintains cache, session state, and intermediate results, allowing smooth mobility.
✅ Privacy Management
Process Management – Organizes tasks and workflows (e.g., food ordering steps).
Business Logic – Enforces rules and decision-making (e.g., price calculations, discounts).
✅ Tier-3: Data Layer
Unit 2
Concept of Multiplexing
Multiplexing is a key technique in communication systems that allows multiple users to share a single medium with minimal or no
interference.
Real-Life Analogy
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.
alt text
Here is the Mermaid diagram representation of Multiple Access Protocols along with a brief explanation for each type:
graph TD;
B --> B1[ALOHA]
B --> B2[CSMA]
B --> B3[CSMA/CD]
B --> B4[CSMA/CA]
C --> C1[Reservation]
C --> C2[Polling]
C --> C3[Token Passing]
D --> D1[FDMA]
D --> D2[TDMA]
D --> D3[CDMA]
✅ Assumptions:
1. Carrier Sense – The sender may detect an idle medium, but the receiver may still experience a collision.
2. Collision Detection – 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.
Scenario:
A and C cannot hear each other but are both within B’s range.
A starts transmitting to B.
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.
Cause:
Other senders are hidden from the current sender, leading to undetected collisions.
Solution:
The RTS/CTS (Request to Send / Clear to Send) mechanism helps avoid hidden terminal issues by coordinating access.
alt text
Scenario:
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 efficiency.
Cause:
The sender mistakenly assumes the medium is in use, leading to wasted transmission opportunities.
Solution:
sequenceDiagram
participant R1 as R₁ (Receiver 1)
participant S1 as S₁ (Sender 1)
participant S2 as S₂ (Sender 2)
participant R2 as R₂ (Receiver 2)
Scenario:
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.
Cause:
Signal strength imbalance leads to weaker signals being drowned out by stronger ones.
Solution:
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.
alt text
Multiplexing
Wireless channels can be multiplexed in four key dimensions:
1. Time (t): A channel occupies the entire frequency spectrum for a specific time period.
2. Space (s): The same frequency can be reused if base stations are sufficiently separated.
3. Frequency (f): The spectrum is divided into smaller frequency bands.
4. Code (c): Each channel is assigned a unique code for transmission.
SDM involves separating channels in three dimensions: Code, Time, and Frequency.
The Space 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.
Channels k1 to k3 are clearly separated, while additional spaces are needed for channels k4 to k6.
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.
Key Takeaways:
Guard space: Needed in all multiplexing schemes to prevent interference.
SDM: Effective for localized transmissions like FM radio but not scalable for dense urban areas.
!!! Note
If several radio stations want to broadcast in the same city - Solution?
Solution:
Multiplexing through
Frequency
Time
Code
Frequency Division Multiplexing (FDM) divides the frequency dimension into several non-overlapping frequency bands. Each
channel (k_i) is assigned a specific frequency band, which can be used continuously by the sender.
Guard Spaces: Essential to prevent frequency band overlap (also called adjacent channel interference).
Example: Used by radio stations within the same region, where each station broadcasts on its own frequency.
alt text
Simple Scheme: The receiver only needs to tune into the specific frequency assigned to the sender.
Usage: Common in systems like radio broadcasting, where multiple stations use different frequencies to avoid interference.
Advantages of FDM
Simplicity: Very simple to implement, as it requires minimal coordination between the sender and receiver.
Continuous Use: Each sender can use its frequency band continuously, making it suitable for applications like radio
broadcasting.
Disadvantages of FDM
Frequency Resource Waste: In mobile communication, where communication is short-term, dedicating an entire
frequency band to each scenario would waste valuable frequency resources.
Limited Flexibility: The fixed assignment of frequencies to senders makes the system inflexible, limiting the number of
senders that can be supported.
In Time Division Multiplexing (TDM), each channel (k_i) is allocated the entire bandwidth for a specific time period. Multiple
senders use the same frequency but at different points in time.
Guard Space: Time gaps between transmissions are required to prevent overlap.
Co-channel Interference: Occurs if transmissions overlap in time, similar to cars colliding on a highway.
alt text
Precise Synchronization: Senders must be precisely synchronized, which requires clocks or a method to distribute
synchronization signals.
Receiver Tuning: The receiver must not only adjust the frequency but also tune to the exact time slot for receiving data.
Flexibility: TDM is flexible, allowing more time for senders with heavy traffic and less time for those with lighter loads.
Disadvantages of TDM
alt text
A combination of both TDM and FDM can be used, where each channel is allotted a specific frequency for a set time period.
Coordination: Coordination between senders is required for frequency and time management.
Interference: If two senders use the same frequency at the same time, interference occurs. Frequency hopping can
minimize this, reducing interference time.
Key Takeaways
TDM: Simple but requires precise synchronization, making it suitable for scenarios where each sender needs to transmit in
defined time slots.
TDMA + FDMA: Offers better robustness and protection, but requires complex coordination and management of both
time and frequency.
alt text
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.
Working Principle: All channels (k_i) use the same frequency at the same time. Separation is achieved by assigning each
channel its own unique "code."
Guard Space: This is ensured by using codes with a sufficient "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):
Same Language (SDM): If everyone speaks the same language, space division multiplexing (SDM) is required to separate
groups.
Different Languages (CDM): 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
Built-in 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.
Guard Space: Codes must be sufficiently distinct (e.g., Swedish and Finnish are orthogonal enough, but Swedish and
Norwegian are too similar for separation).
Advantages of CDM
Interference Protection: CDM provides strong protection against interference and tapping. The huge code space allows
for easy assignment of unique codes to different senders without significant issues.
Security: A secret code can create a secure channel, as only those with the correct code can decode the message.
Disadvantages of CDM
Complex Receiver: The receiver must know the code and be able to decode the signal amidst background noise. This
increases the complexity of the receiver.
Synchronization Requirement: The receiver must be precisely synchronized with the transmitter for accurate decoding.
Power Control: 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 difficult for the receiver to decode other channels.
Key Takeaways
CDM: Provides secure and interference-resistant communication but requires precise synchronization and power control.
Security: Built-in security by using unique codes (or languages) for each communication channel.
Complexity: High complexity due to the need for the receiver to decode signals accurately and maintain synchronization.
Inflexible, fixed Guard space needed, Inflexible, limited by available Complex receivers,
Disadvantages
Inflexible, fixed Guard space needed, Inflexible, limited by available
Disadvantages requires precise power
antennas required synchronization is complex frequencies
control
Standard in fixed networks,
Used in combination Often combined with TDMA Used in 3G systems,
often combined with
Comment with TDMA, (frequency hopping patterns) and requires integration
FDMA/SDMA in mobile
FDMA, or CDMA SDMA (frequency reuse) with TDMA/FDMA
networks
Unit 3
Logical Mobility
Logical Mobility refers to the ability to transfer software components, code, or computational elements between different systems
or devices.
Examples:
Process Migration
alt text
Process Migration is the transfer of an executing process from one computing system to another while maintaining its state.
Migration Process:
Example:
Watching a movie on a smart TV, then continuing playback on a tablet while traveling.
Procss Migration:
alt text
Diagram:
alt text
Diagram:
alt text
The process's memory, registers, communication state, and kernel context are extracted.
Diagram:
alt text
Diagram:
alt text
Diagram:
alt text
References (e.g., file descriptors, network sockets) are updated to point to the new process instance.
Diagram:
alt text
Diagram:
alt text
Balances the load by migrating processes from overloaded nodes to less loaded ones.
2. Fault Resilience
Ensures continuity by migrating processes from nodes that have partially failed or are at risk of failure.
Facilitates maintenance by moving processes from nodes that are about to be shut down or become unavailable.
Enhances efficiency by migrating processes closer to the data source, especially useful in mobile environments.
5. Resource Sharing
Allows access to specialized hardware by migrating a process to a node equipped with the required resources.
6. Mobile Computing
Enables users to continue running applications seamlessly as they move between networks or devices.
1. Remote Execution
2. Cloning
Creates a copy of the process on a different node using a remote fork mechanism.
Unlike migration, both instances continue running using distributed shared state.
Higher complexity but useful when state inheritance is required.
3. Mobile Agents
Uses Java, Tcl/Tk, or other technologies to move objects or scripts dynamically.
Achieved at the middleware level using frameworks like:
Common Object Request Broker Architecture (CORBA)
Distributed Objects
Mobile Agents
Mobile Agents are software entities that autonomously move between computers and continue execution on the destination
machine.
♂ Self-driven: Can function independently, even if the user disconnects from the network.
Transportable: They move dynamically across systems.
Data-Carriers: Store information and operate without requiring continuous communication.
A Mobile Agent is a software object that exists within an execution environment and possesses these key traits:
✅ Mandatory Properties
Optional Properties
alt text
Unlike regular programs where code is stored on disk and execution state is in RAM, mobile agents carry both
together when migrating!
Migration Process:
Agent moves → Carries both its code & execution state → Resumes seamlessly at the new host.
Agent Architecture
alt text
Aglets are a Java-based framework for mobile agents, designed by IBM. They allow objects to move between hosts on a
network while maintaining their execution state.
An Aglet can pause execution, move to a remote host, and resume execution.
When an Aglet moves, it carries its code and object states to the new host.
Multiple Aglets can run on a single node within different contexts.
alt text
Aglet Context
Aglet Proxy
alt text
Stage Description
Creation ✨ Aglet is created within a context, assigned an identifier, and initialized. Execution starts immediately.
Cloning Produces an identical copy of the Aglet in the same context, with a new identifier.
Dispatching Moves the Aglet to another context, removing it from the current one. Execution restarts at the destination.
Retraction Pulls the Aglet back to its original context after being dispatched.
Deactivation ⏸ Temporarily removes an Aglet from execution and stores it in secondary storage.
Activation ▶ Restores a deactivated Aglet back into a context.
Disposal Stops execution and removes the Aglet from the context permanently.
Aglet Communication
Aglets use messages and events to communicate and interact within their environment.
Message Communication
Event-Driven Communication
Applications of Aglets