MCS 231
MCS 231
MCS 231
1.0 Introduction
1.1 Objectives
1.2 Mobile Computing
1.2.1 User Mobility
1.2.2 Device Mobility
1.3 Features of Mobile Communication
1.3.1 Scalability
1.3.2 Network management system
1.3.3 Role based access control
1.3.4 Provide outdoor and indoor coverage options
1.3.5 Manage mobile devices
1.3.5.1 Roaming
1.3.5.2 Redundancy
1.4 What Is Multiplexing?
1.4.1 Frequency Division Multiplexing (FDM)
1.4.1.1 Advantages of FDM
1.4.1.2 Disadvantages of FDM
1.4.1.3 Applications of FDM
1.4.2 Time Division Multiplexing(TDM)
1.4.2.1 Synchronous TDM
1.4.2.2 Asynchronous TDM
1.4.2.3 Advantages of TDM
1.4.2.4 Disadvantages of TDM
1.4.2.5 Applications of TDM
1.4.3 Wavelength Division Multiplexing (WDM)
1.4.3.1 Advantages of WDM
1.4.3.2 Disadvantages of WDM
1.4.3.3 Applications of WDM
1.5 GSM(Global System for Mobile Communication)
1.5.1 Advantages of GSM
1.5.2 Disadvantages of GSM
1.6 GPRS and 2.5G
1.6.1 Features of GPRS
1.6.2 Services offered by GPRS
1.7 Third Generation (3G)
1.7.1 3G WiFi
1.7.2 Advantages of 3G
1.7.3 Disadvantages of 3G
1.7.4 3G is being phased out for what reason?
1.8 Fourth Generation (4G)
1.8.1 Features of 4G Network
1.9 Long-Term Evolution (LTE)
1
1.9.1 Features of LTE
1.10 Worldwide Interoperability for Microwave Access (WIMAX):
1.10.1 Features of WIMAX
1.11 Summary
1.12 Further Readings
1.0 INTRODUCTION
If we have to predict the transition of computers in the next decade based on the transition in the
last two decades, our imagination will probably run out.
Mobile communication has known no bounds in becoming more efficient both in terms of time
and money. Earlier there was no mobility in communication. If suppose a person had to make a
call, he/she was stuck by the side of a wired device to do so. Today we can make a call through a
smartwatch or even a voice command. By this premise, it is unimaginable how flexible
communication will get in the coming decade.
In this Unit1, we will look upon the different advances in communication over the years. Even
though a lot of techniques get outdated, their basis are often used to make enhanced devices for
communication.
Fixed and wired: For example a desktop PC. It is not applicable for mobile usage due to its
weight and power consumption.
Mobile and wired: For example, a laptop can be carried from one place to another and can
connect to any network.
Fixed and wireless: For example, installing networks, like those in historical buildings. It is done
to avoid any damage that might be caused by installing wires.
Mobile and wireless: For example, GSM, which has no cable restrictions and can travel between
different wireless networks.
1.1 OBJECTIVES
(i) understand the concepts of Mobile Computing, how it works and the various features
of Mobile Computing.
2
(ii) Understand multiplexing concepts, its different type, its advantages, disadvantages
and applications.
(iii) Understand how GSM works and its advantages and disadvantages.
(iv) Understand how GPRS works and what are its features.
(v) Understand how 3G works and learning its advantages and disadvantages.
(vi) Understand how 4G works and learning its advantages and disadvantages.
(vii) Understand the difference between LTE and WIMAX.
Mobile Communication refers to the infrastructure put in place to facilitate and support the stated
services with regard to seamless and reliable communication. Devices such as protocols,
services, bandwidth, and portals are part of this infrastructure. At this stage, the format of the
data is defined. By doing so, a collision with another system offering the same service is
avoided.
An individual who has access to the same or similar telecommunications services at different
locations is referred to as a mobile user. The user can move between different geographical
3
locations, networks, communication devices and different applications.
A number of mechanisms are present in both the device and the network that ensure that
communication is still possible even while the device is moving. The device moves between
different geographical locations and networks.
A high capacity load balancer is essential for all wired and wireless infrastructures.
When one access point is overloaded, the system will automatically choose a different access
point based on the available capacity.
1.3.1 Scalability: Wireless devices continue to grow in popularity every day. As long as
coverage and capacity are not overextended, the wireless networks can expand as requirements
change - without having to rework or re-create the entire network.
4
1.3.2 Network management system: There are now a great many different components in
wireless networks, such as access points, firewalls, switches, and managed power. Wireless
networks offer a better way to manage the entire network.
5
1.3.3 Role based access control: Using role-based access control (RBAC), you are able to
assign roles based on what, who, where, when and how a user or device is trying to access your
network. Access control rules or policies can then be enforced based on the ends or roles of the
device.
1.3.4 Provide outdoor and indoor coverage options: Your wireless system should provide
outdoor and indoor coverage. It is important that a secure registration process be used for
network access control, also known as mobile device registration.
In addition to controlling the role of each user and enforcing policies, network access control can
be configured to allow users to register themselves with your network.
1.3.5 Manage mobile devices: Imagine a scenario in which thousands of mobile devices access
your wireless network and run thousands of applications.
6
1.3.5.1 Roaming: As you move throughout your office or even from one building to another,
you won't experience dropped connections, slower speeds or any interruptions in service.
1.3.5.2 Redundancy: Depending on your specific needs and environment, your wireless
system may require varying levels of redundancy.
In order to maintain proper security, you must use the right firewall. Your network firewall is the
system's backbone. Having the right firewall in place will help you in many ways:
The means of communication can include radio frequency (radio) and cable (cable). All media
can be multiplexed.
7
An example of multiplexing is how multiple calls can be connected through one telephone wire.
Types of Multiplexing
There are several signals being transmitted simultaneously, and each source transmits its signals
within the allotted frequency range. The two adjacent signals are separated by a suitable
frequency gap to avoid overlapping. Due to the signals being transmitted at the allotted
frequencies, the chances of collisions are decreased. Several logical channels exist in the
frequency spectrum, each of which corresponds to a particular bandwidth. Several signals are
sent simultaneously at the same time, each with a different frequency band or channel. Such
transmissions are used in radio and television. Guard bands are therefore used to avoid
interference between successive channels.
8
1.4.1.1 Advantages of FDM:
1. Easy to implement.
2. Efficient even when traffic is constant.
3. No equalization required.
4. It can be possible to increase capacity by reducing the knowledge bit rate and using
efficient digital codes.
5. It is not difficult to implement technological advances. For instance, systems are often
designed so that improvement in terms of speech coders can be incorporated easily.
6. Since FDMA systems use low bit rates (large symbol time) in comparison to average
delay spread, they are less expensive and exhibit low Inter Symbol Interference (ISI).
9
6. Due to the fact that channels are assigned for a single user, there are idle channels in a
general system.
Time Division Multiplexing (TDM) is a multiplexing technique that enables multiple data
signals to be carried in different time slots over a common communication channel.
One frame is said to be transmitted when its entire signal gets transmitted across the channel.
Time slots are used to divide the overall time domain into multiple fixed length time slots.
10
1.4.2.2 Asynchronous TDM
Asynchronous TDM, also known as statistical division multiplexing, is a method in which time
slots are allocated only to machines that have the required information to send data.
1. Synchronization is required.
2. The implementation is complex.
3. Slow narrowband fading may wipe out all TDM channels.
Wavelength Division Multiplexing (WDM) is a networking technique that allows multiple data
signals to be simultaneously transmitted over a common frequency band.
The technology of WDM is used when multiple users are permitted to share one communication
channel.
As multiple users transmit within the same frequency spectrum, WDM provides some level of
security. To decode each transmission, the spreading code must be used.
11
1.4.3.1 Advantages of WDM:
1. The WDM channel is not effectively decodable, thus it provides enhanced protection for
cell communication.
2. Due to the greater number of clients per MHz of data transmission, it has multiple times
the limit of GSM so it provides better inclusion and requires fewer reception devices. It
also burns-through less force to expand client limits.
3. The voice quality is just as good as the sign quality.
4. There is flexibility in the asset designation.
5. It is incredibly efficient.
6. There is no need for synchronization with WDM.
7. It can transmit data to a large number of clients simultaneously.
12
A mobile phone uses GSM technology, which is an open and digital cellular protocol. There are
four different frequency bands used by this technology, including 850 MHz, 900 MHz, 1800
MHz, and 1900 MHz. It combines FDMA and TDMA.
During the early 1970s, Bell Laboratories developed a cell-based mobile radio system that
formed the basis for GSM.
Four separate components make up GSM networks:
• The mobile phone
• The base station system (BSS)
• The network switching system (NSS)
• The operation and support system (OSS)
The base station system (BSS) carries data between the cellphones and the network system
servers. It comprises two main components: the base transceiver station (BTS) and the base
station controller (BSC).
In GSM networks, the NSS, also known as the core network, tracks the location of callers in
order to provide cellular services. It includes a mobile switching centre (MSC) and a home
location register (HLR). A mobile service switching centre is like a standard ISDN or PSTN
switching node
13
1.5.2 Disadvantages of GSM:
1. As multiple users share the same bandwidth, bandwidth lag can occur.
2. Due to the interference that is caused by pulse transmission technology, some electronics,
such as hearing aids, cannot be used in certain places, such as hospitals, airports, and
petrol pumps.
3. Repeaters are needed to increase coverage.
4. The maximum call range of GSM is 35 km.
5. The data of users is not encrypted end-to-end.
EXERCISE 1
As part of GSM's global system for mobile communications (GSM), General Packet Radio
Service (GPRS) is a packet-oriented mobile data standard. As a response to CDPD and i-mode
packet-switched cellular technology, the European Telecommunications Standards Institute
(ETSI) developed GPRS. The 3GPP is now responsible for maintaining it.
A GPRS network is a packet-switching communications protocol that uses the best-effort packet
switching method.
The technology allows mobile data to be transmitted and received more efficiently, more
quickly, and more cheaply. Mobile devices using GPRS are always connected to the internet,
making them always online and liable for data usage charges. When used, the device only keeps
the connection busy. So, capacity is better utilized, and more data can be exchanged
simultaneously. There is a maximum speed range of 7 KB/s to 14 KB/S on GPRS. It is called
2.5G, which is the state of wireless technology between the second and third generations of
wireless technology: before and after General Packet Radio Services (GPRS).
A generation is not official. It is called so because it is in the middle of 2G and 3G. There is still
support for 2G and 3G within M2M.
14
In contrast to the circuit-based switching protocols of 2G, GPRS uses packet-switching
communications. Due to this, data delivery is best-effort; there can be a variation in latency and
deliverability. The Quality of Service (QoS) of GPRS is difficult to manage due to the number of
concurrent users.
In the past, GPRS (2.5G) speeds have been quoted over 2G networks; GPRS can theoretically
transmit around 120 kilobits per second over 2G networks. In real-world conditions, you can
expect speeds of 20-50 kbps. Latency may vary, but typically will range from .5 to 1 second.
By extending the GSM Packet circuit switched data capabilities, GPRS can deliver the following
services:
15
In the early 1980s, the International Telecommunication Union (ITU) carried out research and
development on 3G technology.
This new generation of wireless technology allows handheld devices to access high-speed data
and voice services. 3G networks will provide multimedia services combining voice and data.
1.7.1 3G WiFi
A device that includes cellular data service of the third generation (3G) as well as Wi-Fi is a 3G
Wifi. In recent years, Apple's iPad and Amazon's Kindle readers have been among the first to
offer 3G and Wi-Fi connectivity. When a mobile phone is equipped with both 3G and Wi-Fi, it is
possible to access the Internet regardless of where the user is located. When the mobile phone is
equipped with only Wi-Fi, the user is required to be near a Wi-Fi hotspot at home, work, or a
café or hotel.
1.7.2 Advantages of 3G
1.7.3 Disadvantages of 3G
16
1.7.4 3G is being phased out for what reason?
It is expected that AT&T will terminate its "third generation" telecommunications network to
devote more bandwidth to developing much more advanced 5G networks. People who use 3G or
some 4G devices without VOLTE (Voice over LTE) won't be able to access the Internet.
In contrast to 3G mobile networks, 4G mobile phones offer broadband cellular network services.
A fully IP-based cellular communication system is provided. International Telecommunication
Union (ITU) specifications govern the capabilities provided by IMT-Advanced.
4G connections connect mobile devices to mobile networks via an antenna that transmits radio
waves. MIMO (Multiple Input Multiple Output) and OFDM (Orthogonal Frequency Division
Multiplexing) are used for 4G transmission and reception. Compared to 3G, MIMO and OFDM
provide more capacity and bandwidth. TDMA (Time Division Multiple Access) and CDMA
(Code Division Multiple Access) are the primary technologies that powered 3G. OFDM provides
higher speed than those technologies.
1. The network provides voice, data, signals, and multimedia transmission over IP packet
switches.
2. According to the IMT-Advanced specifications, high-mobility stations such as trains,
cars, and residences should have peak data rates of 100Mbps, while low-mobility stations
such as residences should have peak data rates of 1Gbps.
3. 4G networks must also be capable of 1 Gbps downlink over 67 MHz bandwidth or less.
4. It provides uninterrupted high quality services 24 hours a day, 7 days a week, regardless
of location or time.
17
According to the International Telecommunication Union (ITU), LTE is not true 4G. It was
initially defined as a standard that would enable stationary users to consume a data rate of 1
Gbps and mobile users to consume 100 Mbps.
1. In 2021, LTE's global average download speed was 17 Mbps, and its average upload
speed was 12 Mbps.
2. The voice over LTE (VOLTE) technology allows users to talk without jitter or lag.
3. Compared to standard LTE, LTE-Advanced devices offer two to three times faster
download and upload speeds.
4. By combining frequencies from multiple component carriers, LTE-Advanced handsets
improve signal, speed, and reliability, adding bandwidth of up to 100 MHz across five
component carriers (bands).
18
3. A few similarities exist between WIMAX technology and Wi-Fi technology, hence its
nickname of "Wi-Fi on steroids." However, WiMAX provides much higher data rates, is
used for outdoor networks, and uses IEEE 802.16 standards rather than IEEE 802.11
standards.
4. As per user requirements, bandwidth is dynamically allocated from 2 GHz to 11 GHz.
Exercise 2
1.11 SUMMARY
A wireless-enabled computer or mobile device (or a combination of both) can transmit data,
voice, and video without needing to be connected to a fixed physical network.
Mobile Computing has 2 types of mobility; user mobility and device mobility.
Mobile phones use GSM technology, which is an open and digital cellular protocol.
As part of GSM's global system for mobile communications (GSM), General Packet Radio
Service (GPRS) is a packet-oriented mobile data standard.
4G connections connect mobile devices to mobile networks via an antenna that transmits radio
waves.
19
In comparison to third-generation (3G) wireless technology, LTE (Long-Term Evolution) offers
increased network capacity and speed for cellphones and other cellular devices.
https://www.youtube.com/watch?v=Ex31vvIEzZ0
https://slidetodoc.com/mobile-computing-and-wireless-communication-2170710-unit-1/
https://slidetodoc.com/wireless-communication-mobile-programming-unit-1-mobile-
computing/
7. Wireless And Mobile Communication by Sanjeev Kumar, New Age International (P)
Ltd., Publishers
Leena R. Mehta
9. Mobile Communication
by: Behera G. K.
20
UNIT 2 INTRODUCTION TO MOBILE COMPUTING
ARCHITECTURE
2.0 Introduction
2.1 Objectives
2.2 Mobile IP, Cellular and WLAN WI-FI IEEE 802.11x Networks
2.1.1 Cellular Netywork
2.1.2 WLAN Wi-Fi IEEE 802.11x Networks
2.3 AdHoc Networks
2.4 Mobile Computing Operating System
2.5 Client Server Computing using Mobile
Client-Server Two-tier Architecture
Three-tier Architecture for Mobile Computing
2.6 Mobile Computing Architecture
2.6.1 Design considerations for Mobile Computing
2.6.2 Mobile Computing using APIs
2.7 Design considerations for Mobile Computing
1. Considerations for Frameworks and Programming Languages
2. Operating System Considerations
3. Middleware functions
4. Data Synchronization and Dissemination
2.8 Mobile Computing and the Apps
2.9 NOVEL APPLICATIONS OF MOBILE COMPUTING
1. Smartphones
2. SmartWatch and iWatch
3. Music, Video, and e-Books
4. Mobile Cheque and Mobile Wallet
5. Mobile Commerce
6. Mobile-based Supply Chain Management
2.10 Summary
2.11 Further Readings
2.0 INTRODUCTION
1
2.1 OBJECTIVES
2. Understand the development of novel applications, the use of smart phones and the
Internet, enterprise solutions, mobile personal cloud, mobile payments, and mobile
wallets.
3. Understand Three-tier architecture and N-tier architecture for mobile computing.
4. Understand design considerations in mobile computing including operating systems,
languages, protocols, software layers, and data synchronization and dissemination.
5. Understand how to incorporate mobile computing into existing applications through the
Internet.
6. Understand various limitations of Mobile devices.
7. Understand Mobile computing security.
Mobile IP: A request for comments (RFC) 2002 was issued by the Internet Engineering Task
Force (IETF) defining mobile IP as an open standard. All media-supporting IPs also support
mobile IP due to it being based on the Internet protocol (IP). Agents at home and abroad provide
the mobile IP service through mobile IP networks. Distributed computing and mobile devices
form mobile networks.
There is a base station for each cell. Mobile devices use base stations as access points. A base
station's coverage area defines a cell. Each cell has a defined coverage area. Wireless
communication takes place between a mobile device and a base station within the cell
boundaries. Each cell in a cellular network has an interconnected base station.
Every mobile service region consists of a number of cells. Based on the technology and
frequency bands used within a cell, the size of a cell varies. As an example, the cell radius in
CDMA 950 MHz networks is 27 km, while it is 14 km in CDMA 1800 MHz networks.
Assuming the cells are hexagonal in shape; cell A0 is surrounded by the boundaries of 6 cells:
A1, A2, A3, A4, A5 and A6.
2
A0, A1, A2, A3, A4, A5 and A6 have base stations BS, BS1, BS2, BS3, BS4, BS5 and BS6,
respectively. An area of coverage defined by A's cell boundaries is covered by BS.
An ith base station, BSi, can be considered as an access point for the services in the region Ai.
Cells are centered on the base station. The base station is the only point of communication
between mobile devices within a cell.
A guided network (wired or fibre-based) or wireless network connects the base stations.
Alternatively, stations can connect to the public switched telephone network (PSTN). Switching
is the act of establishing a connection and maintaining it until it is disconnected or switched off.
There are a number of public services that provide the PSTN to a mobile service provider. Public
telephone networks are extensive in the public service.
Transceivers (mobile phones) on a multi-cell cellular network must switch between cells when
they move from one place to another. An initial cell's base station hands over a mobile device
when it reaches a cell boundary. In order to switch to the next cell, the device connection is
handed over to the neighboring base station.
Depending on the cellular network type (GSM or 3G CDMA), different handover mechanisms
are used. Mobile devices switch from one channel to another without disrupting ongoing
communication.
Fig 1: Mobile communication using the cells A1, A2, A3, A4, A5, and A6 of a cellular network
3
Frequency Reuse and Adjacent Channel Network
GSM communication technology uses different frequency bands for neighboring cells. Cells
adjacent to the immediate neighboring cell can reuse the frequencies.
Throughout a cellular network, cells surround each other. Interference is caused when the same
frequency band is used at the same time and at the same point. A cell's frequency differs from
that of its neighbor. In FDMA, cells that reuse the same frequency channel must have at least one
gap between them. It is necessary to use different frequencies for cells A1, A2, A3, A4, A5 and
A6 if cell A0 uses frequency f0. By doing so, different cell signals will not interfere with each
other. Whenever two frequencies are equal or integral multiples of one another, interference
occurs.
Consider the cell A0 uses frequency f0 and cell A1 uses f1, cell A2 uses f2 then cell A3 can
reuse f1. This is because; A1 and A3 do not lie adjacent to each other, so there is a one-cell gap
between them. Similarly cell A4 can reuse f2, cell A5 can reuse f1 and cell A6 can reuse f2.
Whenever frequencies are reused, they need to be allocated separately, like f0, f1, and f2. There
is a 1/3 frequency reuse factor. Keeping at least one cell separation allows frequency reuse in this
case. A cell gap therefore exists between cells that reuse the same frequency channel.
It is possible to have a frequency reuse factor (u) of 1/3, 1/4, 1/7, 1/9, or 1/12. Using more
frequencies in the cells can also reduce cell sizes.
Frequency reuse formula: distance d = r √(3 x n)
In this equation, r refers to the distance between the center of the cell and the boundary, and n
refers to the number of cells surrounding the cell.
From the perspective of the base station (BS), each cell can be divided into sectors. Suppose that
a BS uses m antennae per sector. Different antennas can use the same frequency and point in
different directions. During space division multiplexing, the cell divides its space. As a result, the
frequency reuse factor will be m/u. Reuse patterns of 3/4 are used in GSM mobile networks.
Consider a GSM service with a total bandwidth of b. Therefore, b/u is the number of frequency
channels available. In space division multiple access (SDMA), each sector can use bandwidth b,
which is equal to b/m x u.
A set of frequency channels can, therefore, be used by GSM mobile service networks. Cells
adjacent to each other are allocated different frequency channels.
A CDMA network uses a spread spectrum (SS), which means that a range of frequencies can be
used; however, they are used in conjunction with a coding scheme. For example a school
proposes three colors of dresses and each class uses these three colors. Thus, the scheme can be:
class 1 has blue on Mondays, black on Tuesdays and purple on Wednesdays. For class 2, it can
be black on Mondays, purple on Tuesdays, blue on Wednesdays and so on. Each user's channel,
4
or frequency in the spectrum, is coded differently, so all frequencies are available, but with a
different coding scheme.
A frequency reuse factor of 1 is applied for each sector and each cell when the same spectrum is
used, but the code used to encode the chipping frequencies or frequency hopping sequences is
different.
There is a high data transfer rate between pre-4G and 4G services. Using multiple antennas that
share bandwidth, multiple antennas communicate coherently with the user's mobile device.
Distance and path length increase incoherency. Pico cells reinforce the coherency and relay it to
the devices when each cell sector is divided into picocells. As a result, pre-4G services divide
networks into narrow regions by using picocells, and further divide smaller networks by using
femtocells. It is possible that one picocell corresponds to one floor of a building.
The beams transmitted by a sector antenna can be divided into micro sectors. Signals radiated
from the antenna are referred to as beams. Further capacity can be enhanced by using switched
beam smart antennae. There are p different directions in which an antenna can radiate a beam.
Frequency reuse increases capacity by p x k x m x u.
Two signals of the same frequency or very close frequency superimpose at an instance at a place
when they use two channels, and when the phase difference between both signals is 180 (or odd
multiples of ∏), then the amplitudes of the signals subtract, resulting in 0. In a case where the
phase difference is 0° (= even multiples of ∏), the amplitude adds up and the resultant amplitude
is twice the amplitude of the individual signals.
It is possible for sources to use several channels at the same time. Signals with close frequencies
5
are susceptible to interference. The phenomenon is known as co-channel interference (cross-
talk). The interference effects between two channels with P1 and P2 are negligible when P2
<<P1.
Let's look at an example. Interference effects between two people speaking near each other in a
feeble voice and one in a louder voice are negligible. Re-using frequencies and high co-channel
power levels increase interference between co-channels.
Two modulated sources transmitting in the same band overlap their frequencies, causing narrow
band interference. Additionally, interference between adjacent channels can be caused by
insufficient frequency control or tuning in a source.
As the individual spectral carriers have reduced power, spread spectrum reduces co-channel
interference. As a result of the spread spectrum's frequency bands, power is distributed over a
greater number of frequencies. Due to the large number of frequencies used in narrow band
interference, it has too little effect.
Cellular Broadband
There are now 3G-enabled cell towers that support EV-DO, HSDPA, and HSUPA. Therefore,
mobile broadband access is supported by the service providers. It is possible to accomplish this
with the help of a USB cellular modem or a cellular broadband router. Multiple computers can
be connected by a router. A USB cellular modem connects to a computer. As with a pen drive,
the modem is attached via a USB port.
Mobility Management
In order to maintain continuous (seamless) signal connectivity when a mobile device moves from
a cell, Ci, or network Ni, to a cell, C1, or network N1, mobility management is necessary. The
following must be present to guarantee ongoing connectivity:
1. Management of the infrastructure for setting up and maintaining the links between
networks Ni and N1 or cells Ci and C1.
2. When a mobile device's connection with the ith cell is transferred (on handoff from the ith
cell) and registered at the new (jth) cell, location and registration management by handoff
for cell transfer is used.
6
2.2.2 WLAN Wi-Fi IEEE 802.11x Networks
Wireless local area network (WLAN) sets of well-liked standards have been suggested for
mobile communication. The standards mentioned here are IEEE 802.11a, 802.11b, 802.11g,
802.11i, and 802.11n. When mobile devices, iPads, laptops, desktop computers, or printers
connect to an access point utilizing a protocol standard outlined in IEEE 802.11x, where x = a, b,
g, I or n, a wireless LAN has been created. WLAN is a Wi-Fi-based wireless network service.
Communication between mobile devices and the Internet is established by the network.
Mobile devices and the Internet can communicate. Thanks to the network.
1. An iPad, tablet, or other mobile device connects to the Internet by way of an Internet
service provider using Wi-Fi. A mobile device, such as a tablet, iPad, or laptop, connects
to a hotspot-style access point. A router connects the host LAN, which is connected to the
Internet by the access point, to the Internet. As a result, connectivity develops throughout
the Internet. Computers, mobile devices, and two LANs.
2. Web content is sent to mobile phones' small-area display devices using the wireless
application protocol (WAP). The WAP format is used by the service providers to format
material.
3. The screens of modern mobile devices, tablets, and iPads are larger. Additionally, the
majority of modern devices can connect to the Internet via HTTP using either a mobile
data service provider or an Internet service provider. Many modern devices support both
HTTP and WAP. For instance, NTT DoCoMo in Japan developed Internet in Mobile
Mode (i-Mode), which was a hugely well-liked wireless Internet service for mobile
phones.
7
Standard Extension Description
802.11 a There may be more than one physical layer in 5 GHz due to MAC
layer operations (infrared, two 2.4 GHz physical layers). The
layers enable both mobile ad hoc network (MANET)-based
architecture and infra structure-based architecture. At data rates of
6 Mbps and 9 Mbps, OFDM modulation is used. The supported
data rates range from 54 kbps to a few Mbps.
Table 1
A temporary variety of local area network is an ad hoc network (LAN). An ad hoc network turns
into a LAN when it is permanently installed. An ad hoc network may accommodate multiple
users at once, although performance may suffer. As long as the hosting device has internet
connectivity, users can also use an ad hoc network to connect to the internet. This could be
8
helpful if numerous individuals need to access the internet but there is only a limited amount of
internet connectivity in a certain location.
Through an ad hoc network, multiple devices can share the host device's internet connectivity.
Jobs that handle this kind of network are often well-paid by employers, especially in professions
that require a lot of travel.
Security is one of the main issues with an ad hoc network. Cybercriminals can typically connect
to a wireless ad hoc network and, consequently, to the device if they come within signal range.
The network name cannot be disguised if users are in a public area since users cannot prevent
their SSID broadcast in ad hoc mode. Ad hoc networks are not always appropriate because of
this.
Ad hoc connections, however transitory and only reachable within 100 metres, can be useful in
some circumstances. Attackers are unable to access a gadget from a distance and are limited in
the amount of time they have to plot their attack.
Fig3: Direct communication between sensor nodes and mobile nodes utilizing a base station as a
gateway
The above diagram demonstrates how a base station is used to facilitate communication between
the nodes, device node, mobile nodes, and sensor nodes. Gateways are acted upon by the base
stations.
Each node has the ability to discover itself and configure itself. Every node has a router
capability. A router locates the additional communication channels that are available. Ad hoc
networks are used in a mobile context for routing, target detection, service discovery, and other
requirements.
9
2.4 MOBILE COMPUTING OPERATING SYSTEM
An operating system is necessary for mobile computing. Without taking into account the
capabilities and specifications of the hardware, an operating system (OS) enables the user to run
an application. Additionally, it offers tools for organizing various tasks into a system's schedule.
Even the personal information manager (PIM) and APIs for using SMS, MMS, GPS, and other
apps are provided by an OS.
Tasks and memory can be managed by an OS using tools including creation, activation, deletion,
suspension, and delay. It offers the features necessary for the system's many tasks to be
synchronized. There may be several threads for a task. It offers thread synchronization and
priority distribution.
Additionally, an OS offers interface for software at the application layer, middleware layers, and
hardware devices to communicate with one another. It makes it easier for software components
to run on a variety of hardware. For the device's graphic user interface (GUI), an OS offers
programmable libraries. Many user-operated devices require User application's GUIs, Voice
User Interface (VUI) components, and phone Application Programming Interface (API).
Device drivers for USB, keyboard, displays, and other devices are also provided by an OS.
Middleware, applications, and a fresh environment for developing applications are all provided
by mobile OS.
EXERCISE:
Question 2: Describe how the cellular network operates. How a network’s capacity is increased
using the provided set of frequencies?
Question 3: What are the differences in characteristics provided by Bluetooth, ZigBee, and
IrDA?
Question 4: Give an explanation of the wireless personal area network protocols (WPAN). Offer
some WPAN network applications for the house.
10
2.5 CLIENT SERVER COMPUTING USING MOBILE
Think of a network of nodes that are spread out (computers and computing devices). A node may
be either a client or a server depending on the network architecture. Application software is run
on a client node and is dependent on server node resources (files, databases, Web pages, other
resources, processor power, or other devices or computers connected or networked to it). The
server node has more computer power and resources than the client nodes. The client-server
computing architecture is the name given to this design. It differs from peer-to-peer design,
where each network node has a similar set of resources and the different nodes rely on one
another for those resources.
A distributed computing architecture known as client-server computing uses servers and clients
as its two types of nodes. The server can be asked by a client for information or responses, which
the client can subsequently employ in calculations. The client can cache these records on the
client device or access them directly from the server. The data may be accessible at the client's
request, via broadcasts, or by server distribution.
Due to their limited resource availability, mobile devices operate as client nodes. Several devices
are connected to a server. Both the client and the server may be running on the same computer
system or on distinct ones. An N-tier design for client-server computing (N = 1, 2) is possible.
The number of tiers, N = 1, when the client and server are on the same computing system (not on
a network). N=2 is the case when the client and the server are on different computing platforms
connected to the network. N > 2: if the server is connected to or connected through networks to
other computing systems that supplies the server with additional resources for the client. N> 1
denotes a connection between a client device at tier 1 and a server at tier 2, which may then
connect to tiers 3, 4, and so forth.
For data, the client device synchronizes or connects to higher levels. To obtain client requests at
the server or server responses at the client, a command interchange protocol (like HTTP) is used.
The following list describes 2, 3, or N-tier architectures for client-server computing. A
connecting, synchronizing, data, or command interchange protocol is used to link each layer to
the others. The Java Remote Method Invocation (RMI) protocol and the C++-based remote
procedure call are two examples of data or command transfer protocols (RPC).
11
devices should also be updated. Since different devices may use different platforms, the APIs are
created as independently of hardware and software platforms as possible.
In three-tier computer architecture, the application interface, functional logic, and database are
maintained at three distinct tiers. Through a synchronization-cum-application server at tier 2,
data records at tier 3 are transmitted to layer 1 of the data chain. With the help of business logic,
the synchronization-cum application server's synchronization and server programs retrieve data
records from the enterprise layer (tier 3). Using a connectivity protocol, the enterprise tier
connects to the databases and transfers the database records to tier 2 in accordance with the
business logic query. Additionally, a three-tiered data hoarding system is displayed. A middle
server known as the synchronization server transmits and synchronizes copies to numerous
mobile devices. For the applications 1 to j, local copies of the databases 1 to I are stored on the
mobile devices. In the image, an enterprise database connection to a synchronization server is
also shown. This server synchronizes the enterprise database server with the local copies needed
by the apps. In the event of a Web-client at tier 1, HTTP can also be utilized as a synchronization
protocol.
Internet-based communication from Tier 1 to Tier 2 allows for further connectivity to be created
using HTTP or HTTPS.
12
Fig 4: Two-tier client server application
The architectural layers of mobile computing devices, mobile computing on the device using
APIs are all described in this part of the Unit.
13
Fig 5: Mobile Computing Architecture
The architecture of mobile computing relates to the several layers that are established between
user applications, interfaces, devices, and network hardware. For systematic calculations and
access to data and software objects in the layers, a clearly defined architecture is required. The
software components and APIs are deployed by an application. For instance, the communication
APIs in a mobile smartphone's Internet, PIM, SMS, MMS, Bluetooth stack, security, and
communication protocol stack. The client APls can be viewed as one of the architectural layers.
In addition to updating databases, managing devices with remote server software, performing
client-server synchronization, and adapting applications to certain platforms and servers,
middleware components also locate services and connect client and network services.
Between the program and the hardware lies a layer called an OS. It makes running the software
easier, hides hardware characteristics, and offers numerous OS functionalities (e.g., device
drivers). A program can directly use an OS function, for instance, the time delay (3000) function,
which delays the execution of subsequent instructions by 3000 clock ticks.
The following are a few examples of mobile computing APIs: voice recognition, text-to-speech
conversion, voice-based dialing, camera, album, video clip recorder, and Wi-Fi network access
point connectivity.
EXERCISE:
Question 1: A client-server computing architecture with the database at the application tier
should be displayed. When the application server retrieves the data from the enterprise server
layer, how does this architecture change?
Question 2: Explain the four-tier architecture. In client-server architecture, how are multimedia
databases used to serve a mobile device?
Question 3: What software components and layers are required in a mobile computing device?
Question 5: Describe a unique mobile application that interests you. What further software
components are included in this application?
14
2.7 DESIGN CONSIDERATIONS FOR MOBILE COMPUTING
The architectural specifications for programming a mobile device are described in this section. It
gives an overview of the programming languages used to create the software for mobile devices.
To run the software components on the hardware, an OS is necessary.
15
d) Facilitating the hardware's ability to run software components
e) Adjusting the device's library settings for the GUI and VUI components
f) Artistic writing, music composition, and graphic design (for example, OS X)
4. Data Synchronization and Dissemination: A mobile phone can be used as a data access
device to access the server of the service provider and retrieve information. Smartphones
serve as enterprise data access devices in networks used by businesses. The data is
distributed to the enterprise mobile device, such as the BlackBerry handset, by an
enterprise server.
A data access device for accessing music or videos is something like an iPod, iPhone,
iPad, or tablet. Files can be downloaded via a link and saved or played afterward. These
days, students can record lectures from professors and access e-learning materials using
an iPod, iPhone, iPad, or tablet. To communicate, disseminate, or broadcast information,
a data dissemination service is necessary. An example of a distribution server for
academic lectures, interviews, and learning materials is https://itunes.standford.edu. The
same service offers a music, iTunes, and video user interface as well. Media played on
iPods is stored on a platform called iTunes, which is a program that can be downloaded
from the Internet. At www.apple.com/itunes, Apple distributes music and video content
for iPads and iPhones. Application servers, business servers, iTunes servers, and service
providers' servers all send data to mobile devices. The three ways for disseminating data
are: (i) broadcasting or pushing (such as sending unwanted SMSs to mobile phones), (ii)
pulling (such as downloading a ringtone from the mobile service provider), and (iii) a
push-pull hybrid.
Podcasting is a modern type of broadcasting. It is a brand-new technique for sharing
multimedia files. For instance, files for music videos and audio programs are
disseminated online in formats that can be played on computers and mobile devices.
Receiving the multicast or unicast data that is distributed over a mobile network requires
16
middleware. Additionally, middleware offers data management service transparency and
application adaptation. The user does not have to configure the underlying protocols
thanks to transparency.
Synchronization
Data synchronization, often known as synchronization, is the process of updating data across
many databases so that each repository includes the same data. Data synchronization ensures that
all servers of a mobile service provider have the same selection of ringtones if, for instance, a
new, well-liked ringtone is added to one of the servers of the service provider. Furthermore, any
new data should be made available to all the devices linked to the server. This indicates that a
17
duplicate of the tone's title can be found in the ringtone database that is accessible to all mobile
phones.
One-to-one synchronization: When two ends of a data stream are in sync, every modification
made at one end is immediately reflected at the other. The information on the two ends should be
the same or consistent. In a data-synchronized enterprise network, the change is reflected at the
enterprise servers, for instance, if the address of a mobile device user changes and the user enters
the new address in the device's address book. In this situation, a GSM or CDMA network is used
to synchronize devices. But when an iPod is put next to a PC and iTunes is downloaded into the
PC, the synchronization takes place via Bluetooth or USB connectivity.
A data modification or update at one node or server must be reflected at all other (or target)
nodes or servers. This is known as one-to-many synchronization.
Data copies between the server (one) and the nodes should be consistent or identical (many).
Inconsistent copies of the same piece of information should not exist on the communicating node
or server or on any other node or server.
A modification to data at one node or server must be replicated to all other nodes or servers (the
target nodes or servers). Between several nodes, this is referred to as "many-to-many data
synchronization." The data should remain consistent or identical across all nodes. There
shouldn't be multiple copies of the same data on nodes or servers.
The new standard, HTML5, allows for the design of mobile browsers and the creation of mobile
applications on the Internet. It also offers additional functionalities.
Utilizing Mobile IP or WAP gateways of direct HTTP applications over 3G data services, users
can access the internet for computing. A comprehensive suite called Mobile Enterprise
Application Platform (MEAP) is utilized for mobile computing via the Internet. It makes it
possible to create mobile applications, which need Web services, servers, and enterprise servers.
A mobile middleware server, application software, and a mobile client API make up a MEAP
system. Uses for a middleware server include:
3. System integration
4. Scalability
18
5. Communications
7. Security
Mobile web applications and modern web applications: HTML5 is utilised for existing
applications that are mobile-friendly and relate to web pages and web forms. Numerous
capabilities and mobile-friendly controls are available with Microsoft ASP.Net 2.0. ASP.NET
MVC tools are used to make the current Web applications mobile-friendly (MVC stands for
model, view, and control).
Mobile makes it possible to employ cross-platform development tools, automate testing for
tablets, iOS, Android, and Windows 8 devices, and integrate with existing applications as
necessary. Analytics can also be used to enhance current apps. (Data analytics refers to the
application of methods for drawing inferences following the examination of raw data and the
conclusion of the information gathered.)
There are numerous uses for mobile computer devices. Mobile TV is now a reality because to
mobile computing. iPad, tablet, and PCs with extremely high mobility. The size of a paperback
book is now the standard for 6" laptops, e-books, and readers.
1. Smartphones
A Smartphone is a mobile phone with added processing capabilities that allow for several
applications to be used. For instance, Research in Motion, Inc.'s BlackBerry 8530 curve includes
additional computing capabilities that make it possible to use the following applications:
1. Phone, email, address book, MMS (multimedia messaging service), and SMS (short message
service). Web surfing, a calendar, a to-do list, and a memo pad.
2. Support for well-liked Personal Information Management (PIM) applications
3. Viewing integrated attachments
4. QWERTY-style keyboard with Sure Type technology (a computer keyboard has keys in order
of Q,W,E,R,T,Y,...)
5. Keyboard controls for Send and End
6. Use a headset, vehicle buds, or car kits with Bluetooth to talk hands-free.
7. When EV-DO compatibility is enabled, the device can be used as a wireless modem for a
laptop or personal computer.
8. Speaker telephone
19
9. Polyphonic ringtones allow you to customize your gadget.
10. A vivid, high-resolution display with over 65,000 color options
11. E-Mail
12. 802.11b and 802.11g WiFi
13. Browser
14. GPS tracking
15. Recording and communication through media, including audio, video, and camera images
16. Live TV
17. Micro SD cards
20
the client's and the recipient's bank accounts are connected to the provider.
5. Mobile Commerce
The following is an illustration of mobile commerce (m-commerce). Stock quotes can be
accessed on demand or in real time using mobile devices. The stock purchaser or seller first
sends an SMS for the trading request, then the stock trading service responds in the same
manner, requesting authentication. The client delivers the user ID and password through SMS.
The customer is then instructed to continue by way of a confirmation SMS. The client sends an
SMS to request a certain stock trade. At the stock exchange terminal, the service provider places
the order. Within a couple of minutes, the procedure is finished online.
A buyer communicating their intention to purchase a product to the provider of mobile purchase
services via SMS is another example of m-commerce. The service provider sends the product's
prices in increasing order of the price at various retailers that sell the same item. Following that,
the client asks the service provider to send the order to the least expensive and closest supplier.
Additionally, the usage of mobile devices for e-ticketing, or the purchase of movie, train, aero-
plane, and bus tickets, is growing.
EXERCISE:
Question 2: What purposes does data dissemination serve? Why is data distribution required to
keep a mobile service running?
21
2.10 SUMMARY
An access point may serve as a bridge connecting wired and wireless networks. It is a system
that connects mobile systems and embedded systems to wireless LAN, the Internet, or the
network of a mobile service provider.
Base station refers to a transceiver that connects wirelessly to a number of mobile devices or
access points and wired or fibre optic connections to mobile switching centres and other
networks.
With data rates of up to 1 Mbps, Bluetooth is a standard for object exchange that enables short-
range (1 m or 100 m depending on radio spectrum) mobile communication between wireless
electronic devices (for instance, between a mobile phone handset and headset for hands-free
talking, for connecting the computer or printer, etc.).
By using multiplexing and other approaches, the capacity of the frequency channels—the
number of users who can be supported at a particular time—is increased.
A computational structure where a client asks for computations and data, and after the necessary
computations, the client receives the needed data or replies It is a computational structure in
which, following computations at a server, the client caches or reads the data record(s). Access
may occur upon client request, via broadcasts from the server, or via distribution. The client and
server may be running on the same computer system or may be running on distinct computers.
Computation carried out on a mobile device while running an application in which a number of
servers from a service provider or distributed computing systems take part, connect, and
synchronise using mobile communication protocols.
By adopting formats that allow for playback on mobile devices or PCs, multimedia files (such as
those for audio programmes or music videos) can be distributed via the Internet using the
podcasting technique.
A protocol is a generally accepted recommended procedure for managing and regulating the
transmission of data as well as the rules governing the syntax, semantics, and synchronisation of
communication between two computing systems. Protocols also establish connections, format
and sequence data, address the destination and sources, and terminate connections.
The integration of computations with environment items that have computing capabilities is
referred to as ubiquitous computing.
WLAN is a wireless LAN that communicates using sets of common protocols, including IEEE
802.11a, 802.11b, and 802.11g.
22
Applications for mobile computer systems are numerous. Mobile TV has just lately become a
reality thanks to mobile computers. A paperback book-sized version of the ultra-portable PC,
tablet, iPad, 6" laptop, e-book, and reader is now available.
https://www.techtarget.com/searchmobilecomputing/definition/WPAN
https://mjginfologs.com/application-of-mobile-computing/
Wireless And Mobile Communication by Sanjeev Kumar, New Age International (P) Ltd.,
Publishers
By Leena R. Mehta
Mobile Communication
by: Behera G. K.
23
UNIT 3 MOBILE CLIENT DEVICES AND PERVASIVE
COMPUTING
3.0 Introduction
3.1 Objectives
3.2 Smart Sensors, Actuators and Mobile Robotic Systems
3.2.1 Smart Sensors
3.2.2 Actuators
3.2.3 Robotic System Sensors and Actuators
3.3 Smart Home and Appliances
3.3.1 Smart Appliances
3.3.2 Set-top boxes
3.4 Automotive Systems
3.4.1 Speech Recognition System
3.4.2 Messaging System
3.4.3 GPS-based Navigation System
3.4.4 Automobile Start and Malfunction Logins
3.4.5 Sensor and Actuator Programming
3.4.6 Entertainment Systems
3.4.7 Real-time Applications Programming
3.5 Limitations And Devices Design Constraints
3.5.1 Limitations of the Devices
3.5.2 Design Constraints for Handheld Mobile Device Applications
3.6 Summary
3.7 Further Readings
3.0 INTRODUCTION
The client is a mobile application that queries a server and receives a response. The notifications
are also sent by the server. A mobile client is a computer that runs Web applications and
functions in a client-server context. Hardware and software are both present in the device.
Modern automation technology makes it feasible to control security systems and household
appliances from a computer or mobile device.
Numerous miniature computing systems are included in an automotive computing system.
Systems for voice control, traffic congestion information, smartcard-based security control,
collision avoidance systems, reverse sensing, night vision, and communication to central real-
time traffic monitors are a few examples.
Automotive systems have undergone a transformation during the past 10 years or so. The
modern automobiles come equipped with everything from sophisticated information-oriented
technology like GPS navigation reverse sensing, and night vision to communication systems like
e-mail access, voice control, traffic congestion information, smartcard security control, and
collision avoidance sensors.
3.1 OBJECTIVES
In control systems, sensor-actuator pairs are employed. Like, for instance, a temperature sensor
and current actuator pair controls the oven's temperature, a light sensor and bulb current actuator
pair regulates the brightness, and a pressure sensor and valve actuator pair regulates pressure.
There are a lot of sensor and actuator pairs in industrial plants. A control area network bus (CAN
bus), for instance, is used to connect a group of intelligent sensors and actuators in an automotive
or industrial facility.
Electronic devices called sensors sense the outside world; examples include sensors for
temperature, pressure, light, metal, smoke, and object proximity. The controller or computer
receives the signals from the sensor. In order to hear voices, a microphone is used.
A sensor could be a complex system of numerous tiny gadgets. A camera with a charge-coupled
device (CCD) base is used to detect and recognize different things. The MP range for cameras is
2 to 12. Signals are produced by each pixel of a CCD. The signals are digitally transformed using
Analog-to-digital Converter (ADC).
Mobile devices may interact with their surroundings thanks to their sensors. Here are a few
instances:
1. Voice amplification during a call can be managed with the aid of a background noise sensor.
2. The LCD screen's brightness can be managed using a sensor for ambient light. When ambient
light levels are very low, it minimizes power dissipation for displays.
3. The amplification of received signals is controlled by a sensor that gauges the signal's
strength.
4. Voice is detected by a microphone. A speech processing system receives the voice signals
from it (SPS). The SPS verifies the cellphone owner's identity. The SPS can then be used to
interpret and carry out spoken commands as well as dial a spoken number.
5. A gyroscope tracks the direction and speed of angular motion along three axes. For recording
vibration shocks or falls, an accelerometer detects the device's linear acceleration along three
axes. A device's power can be turned on using a proximity sensor.
A tiny magnet hung by a wire forms the basis of a smart magnetometer sensor, which connects to
an app for data processing and makes intelligent decisions. It detects and measures the values of
three magnetic field strength components in the x, y, and z directions. The meter's tiny magnet
points in the direction of the magnetic field's force lines.
The lines of force and the strengths of the magnetic fields in the x, y, and z directions all alter
when a magnetized material is present nearby. A small magnet's North and South poles are
subject to opposing angular forces. This is as a result of shifting field directions and strengths.
The wire develops a torque due to the forces. The small magnet is rotated by the torque that the
wire experiences. An app analyses the ensuing modifications and notifies the actions in
accordance with the sensor's measured data.
The magnetometer and apps are on the latest generation of mobile devices. An app automatically
turns off when the user puts their phone in their pocket and turns on when they hold it in their
hand.
Sensors having processors and memory are referred to as smart sensors. They are capable of
computing, communication, and networking. They are used to transmit data to a network, a
controller, or a central computer. Multiple smart sensors are installed in robotic systems and
industrial automation systems.
The processor, memory, ADC, signal-processing component, wireless or infrared receiver, and
transmitter make up a smart sensor, which executes both computational and communicational
tasks. Assembly language or C language is typically used to programme smart sensors.
3.2.2 Actuators
A controller or central computer sends signals to an actuator, which then uses those signals to
activate a physical system, appliance, or device. A servomotor in a robot's hand, a loudspeaker, a
power transistor (used to transmit electricity to an oven), a solenoid-valve actuator, a
transmitting device in a sensor network, and other physical devices are examples of this type.
The physical system or equipment is activated in response to the commands or signals received
from a network, mobile device, computer, or controller via a smart actuator.
The sciences of artificial intelligence and mechanical engineering both contribute to the
development of robotic systems in various ways. Robotic systems are essentially programmable
machines made up of mechanical actuators and sensory organs connected to a computer inside of
them. In industrial robotics, the mechanical structure might include manipulators, but in mobility
robotics, it might focus on the robot's movement as a vehicle. The following are a few instances
of sensors used in robotic systems:
The left and right foot each have acceleration and force sensors.
The hands and head both include infrared distance sensors.
CCD cameras are located in the eyes.
Angular rate sensor in the centre
ears with microphones
shoulders, hands, and head having thermo and touch sensors
A robot may have a speaker at its lips so that it can speak spoken commands to other robots or
communicate sensed data.
Actuators and motors are present at all joints that move, including the hands, wrist, neck,
shoulders, feet, and palms of grippers.
The sensors send signals to the embedded processors at the main computer chip of the robot
through internal connections. When a group of robots needs to act in unison, the robot wirelessly
transmits data to a central server.
Robots that can move and communicate wirelessly are employed in industrial settings to access
spaces that are difficult for people to reach. Robot master-slave systems can serve a number of
functions. In such a setup, the master robot issues orders to the other (slave) robots.
Figure 1 below depicts a robot's sensors, actuators, and transceivers. Programming for robot
sensors can be done in ‘C’language or assembly language.
Figure 1
Modern automation technology makes it feasible to control security systems and household
appliances from a computer or mobile device. Web-enabled gadgets include smart home and
workplace products. The following are the networked home devices, a set-top box, and a
residential gateway:
Using electricity cables, home appliances can be networked. Such wires can induce signals with
frequencies as high as 525 kHz. A network can be created by these signals being transmitted
from one appliance to another. A central server can be used for the devices to communicate as
well. Very short-range wireless protocols like Bluetooth or ZigBee can also be used to network
home appliances.
A Web address can be given to a smart appliance. The equipment then utilises a domestic
gateway to connect to the Internet. The gateway gives the user access to devices like their home
computer, MP3 player, security locks, and other items from the outside via WLAN, the Internet,
or a mobile service provider's access point. A network of smart appliances is depicted in Figure.
A domestic gateway is a device that connects your home's electronics to the Internet, including
your media player, computer, locks, lights, oven, refrigerator, and air conditioner. The process
starts with authentication. The gateway enables access from the outside to the home devices after
user authentication.
A service provider server may also be used by the gateway to perform networking tasks.
The mobile service provider may also assign a number to a smart appliance. The SMS service
can then be used to control it from a Smartphone. For instance, if a person forgets to turn off a
smart air conditioner before leaving the house, it might be turned off by an SMS. Also on the
other hand, while returning home, one can turn on the air conditioning by sending an SMS,
which will make the room cool before one actually arrives home.
An innovative idea that is currently being developed is electronic appliance maintenance. The
appliance can be accessed online by the maintenance service provider, who can then diagnose
any problems.
A sophisticated computer-based device known as a set-top box connects the home TV to the
broadcasting service network. The block diagram of a set-top box's subsystems is shown in
Figure 2. There are two sets of communication channels: front and back. This makes interactive
TV possible.
Figure 2
The inputs from satellite dish antennae, cable coaxial lines, phone lines, and wireless antennae
are all placed on the front channels. A tuner is connected to the inputs. The front channels'
signals are received and decoded by a decoding device. The set-top box decodes the signals it
receives from the service provider. Multi-channel tuners are found in set-top boxes. The user-
selected channel is divided by a de-multiplexer. The audio and video are likewise separated. The
channel's access requirements are decoded by a decoder.
The gadget has a conditional access system (CAS), which restricts access to TV channels to the
window of time set by the channel's service provider. A decoder decodes the signals chosen at
the CAS. These are sent to home audio and video systems through the decoder.
Let's use an illustration to demonstrate this. Electricity bills are paid based on how much energy
is used in a given month. Similar to this, a set-top box keeps track of the time a channel is
utilized, and the service provider bills the user according to the channels and time period they
have selected.
Through backchannels, the set-top box transmits its output to wireless antennae, cable coaxial
lines, and telephone lines. The outputs moving through backchannels are encrypted using a
keying unit. This offers interactive TV, web browsing, and the service provider feedback
channels.
The most popular programming language in a set-top box is Java. Software for encryption and
decryption is executed on set-top boxes. Device administration is carried out by a software
element known as a device agent on behalf of the service provider. This system works in a
manner akin to a mobile phone, where the device's management and administration are handled
by a server provided by the mobile service provider. Here are a few instances of this:
✔ Data, media, and network processing are all capabilities of a set-top box.
✔ It offers a platform for multimedia games powered by Java.
✔ Some set-top boxes have wireless keypads that can be used to control the TV, play video
games, browse the Internet, and pick, tune, and modify picture and sound quality.
✔ Both a CD-ROM drive and hard discs are present.
✔ A USB port can be used to link a set-top box to a computer or printer.
EXERCISE
Figure 3
3.4.1 Speech Recognition System
An automobile's ability to connect to the Internet is made possible by a WAP device. A service
provider is able to transmit news, weather information, and stock reports in real time. WAP may
be used to get road maps as well. When needed, the maps can be accessed from the memory of a
computer that is integrated into a car. The GPS device and a map both aid in navigation.
Traffic reports are sent by a traffic control service. The owner of a car can sign up for a traffic
control service that sends an SMS when there are delays or obstructions in traffic at different
locations throughout the city. The TTS converter software then turns the messages into speech,
which the driver may hear.
It allows the driver to choose routes that will allow for a quicker, obstacle-free travel.
In the event that one car approaches another too closely, an anti-collision system can alert the
driver. Using a laser, infrared, or radar technology, it may also detect items that the driver cannot
see. Systems that prevent collisions with other objects can also take control of the vehicle.
Application programmers can convert SMS TTS using C in Linux so that drivers don't have to
take their eyes off the road to read the text on the display panel and can instead listen to the
messages they've received while driving.
Java, Active Server Pages (ASP), and Java Server Pages (JSP) are further tools that programmers
can use to create web-based applications and get data from databases at different portals.
An App named 'Flight' is used. As they approach the airport, the driver retrieves flight details
from the airline's portal database.
A GPS receiver can be installed in a car. It picks up signals sent by numerous GPS satellites that
are in circulation around the earth.
The name of the nearby location is determined using the latitude and longitude values. The map
of the immediate area is either downloaded instantly or pulled from computer storage. The
position is marked on the map, which is displayed on a panel. When the car is moving, the
geographic location is continuously marked and altered on a map on a display panel. It aids the
motorist in selecting the proper route that will take them there. The name of the present location
and the name of the road being used can also be spoken aloud using data-to-speech converter
software.
Application programmers can generate a real-time road map on the display panel in Linux or the
Graphic Tool Kit (GTK) language, with the vehicle's location accurately recorded on the map. In
the event that the car enters another zone, the real-time API also updates the map displayed on
the screen. As the car moves, the API also continuously modifies the designated position.
To start the car, a smartcard or smart token can be used in its place. In addition to starting the
vehicle when put into the host, the card also records data for any problems that occur while
driving. The logged data and the specifics of the service history are retrieved from the card at the
service workshop using a card reader connected to the computer. With this knowledge, the
workshop can provide a better service. The information about the service can then be stored for
later use on the card memory by the service provider's computer. The start and malfunction
logging application can be created using JavaCard.
There are numerous sensors and actuators in a car. For instance, warnings about tyre pressure are
transmitted through pressure sensors through the display panel. Buses and the ECUs inside the
car are used to connect sensors and actuators. A variety of actuators are present in the car,
including those for the fuel injector, engine, seat height and angle adjusters, window screen
motors, wipers, climate controllers, dashboard display panel, and entertainment systems. The
ECUs (embedded systems) inside the car are connected by sensors and actuators. The CAN bus
is the interface used by all computing devices.
A variety of entertainment systems can be installed in a car, including FM radios and media
players that can play Wave (WAV), RealAudio (RA), and MPEG-1 audio layer 3 (MP3) files.
Using a WAP gateway, application developers can create programmes for downloading music
from the in formats including WAV, RA, and MP3 You can download files from another system
via a USB interface. Smartphone data can be downloaded via a Bluetooth device.
Applications for mobile devices must adhere to design restrictions. The following are hand-held
mobile device application restrictions and limitations.
A designer must strike a balance between the best user experience, a long battery life, and
effective wireless network connectivity. The suggested approach view of the traits typical of
mobile handheld devices is presented here below.
Here are the characteristics of handheld devices as design limitations and suggested possible
solution strategy.
One screen at a time flashes up Allow users to use the application switcher to
switch between programmes. Ensure user
comfort by taking the following actions: Make
information and screen layouts simple to
understand, utilize a minimal list style, and
users should find it simple to learn an
application. Both expert and unskilled
consumers should be catered to in design.
Minimize complexity. Make gradual
disclosures.
Compared to normal LANs, wireless network How quickly users receive information from
connections have a longer time delay. transmitters over the wireless network can be
impacted by longer latency times for wireless
network connections. The user experience can
be enhanced by using an optimized antenna
technology to obtain strong connectivity and
quick data transfers, even in places with poor
coverage, and caching the data needed later.
Software for communication should
dynamically adapt to its surroundings, enabling
users to stay connected in more locations and
focus on what matters to them.
The limitations on design and the suggested strategy are based on BlackBerry's
recommendations for application developers, although they work for the majority of devices.
EXERCISE
1. https://medium.com/@muflorentine3/smart-sensors-and-actuators-3e5c0d37fde6
2. https://robotics.sjtu.edu.cn/upload/course/5/files/Robot%20Sensors%20and%20Actuators
-new.pdf
3. https://www.sciencedirect.com/topics/computer-science/automotive-system
4. https://www.techtarget.com/searchcustomerexperience/definition/speech-recognition
5. https://www.gps.gov/systems/gps/
6. "Mobile Computing" by Asoke K Telukder, Roopa R Yuvagal, TMH
4.0 Introduction
4.1 Objectives
4.2 GSM Architecture
4.2.1 Radio sub-system (RSS)
4.2.2 Network Switching Sub-system
4.2.3 Operation Support Sub-system
4.3 Public Land Mobile Network (PLMN) Interface
4.3.1 Interfaces for the Services
4.4 Call Handling
4.5 Handover
4.5.1 Types of Handover
4.5.2 Handover in GSM
4.6 SMS
4.7 GPRS
4.8 High Speed Circuit Switched Data
4.9 WLL Application
4.10 Summary
4.11 Further Readings
4.0 INTRODUCTION
One of the most widely used mobile communication standards is the worldwide
system for mobile communications (GSM). It covers more than 200 nations and
territories and holds a market share of more than 90% in wireless communication.
GSM was created to provide hand-held devices, international roaming, good speech
quality, spectral efficiency, interoperability with integrated services for digital
networks (ISDN), and inexpensive service costs. Cellular networks are used for GSM
communication.
4.1 OBJECTIVES
After going through this Unit, the learner shall be able to:
Understand the global system for mobile communications (GSM) and services
Understand the architecture of GPRS and comparable systems.
Understand the services offered using GSM
Understand GSM network operation and maintenance subsystems that include
radio, network, and switching services in their GSM architecture.
Understand Public Land Mobile Network (PLMN) and GSM radio interface
Understand Addresses, IDs, and protocols for GSM subscribers
1
GSM and GPRS
Understand Mobility management procedures: location, calling, and handover
Understand Safety in the GSM network
Understand SMS introduction
Understand GSM Architecture
Understand GSM architecture in mobile computing
2. Micro: The antenna height in a cell of this size is lower than the typical roof line.
4. Umbrella: Covers the shadowed areas by filling in the spaces between the cells.
GSM is nothing more than a larger system that is further broken down into three
subsystems.
RSS is made up of the base station controller (BSC) and mobile station (MS). For the
RSS, NSS, and OSS subsystems, there are three sets of interfaces. The network
architecture of the GSM system, as well as the networked and network entities BSC,
MSC, GMSC, OMC, and EIR in RSS, NSS, and OSS, are shown in Figure 1. The
various components of a GSM network's detailed design and their functions are as
follows:
2
Introduction to Mobile
Computing
Figure 1
All radio-specific components of the GSM network are included in the radio sub-
system (RSS). The fundamental tasks of connecting the mobile station (mobile device
or phone) to the network are carried out by RSS. It includes a number of base
transceiver stations (BTSs), mobile stations (MSs), and base station controllers
(BSCs). Each BSC links to a number of BTSs, which in turn give a number of mobile
stations radio interfaces.
Mobile Station
A mobile terminal (MT), terminal equipment (TE), and a subscriber identity module
(SIM) card make up a mobile station (MS).
Radio Interfaces
Base Transceiver station. A BTS serves as the mobile stations' interface. A cell can be
uniquely identified by it. To put it another way, every cell has a separate BTS.
Through an interface, a connection is made between each MS and the BTS (see
Figure. 1). A radio interface, commonly referred to as an air interface is Um. The BTS
is equipped with equipment for encryption and decryption as well as transceivers and
antennas for sending and receiving electrical signals. The size of the cell is determined
by its transmitting power, which is often positioned near the cell's centre.
The following are the primary functions carried out by the BTS:
3
GSM and GPRS
A sector is a geographic area that is enclosed by a circular arc that has all of
its points inside a solid angle of 30°, 45°, or 60°. For instance, 12 sector
antennae with radiation patterns aimed at solid angles of 30° from one another
can manage 12 cells and cover all directions from the BTS.
2. Signal processing
Signals are amplified to a manageable level so they can be sent without data
loss.
3. Decoding and encoding of channels (e.g., coding voice into bits so that it can
be transmitted at 13 kbps and decoding received coded signals back to voice).
Voice traffic is handled by BTS at varied rates (full rate 13 kbps, other rates
5.8 kbps, and enhanced 5.8 kbps to 11.4 kbps, and additional enhancement to
22.8 kbps). BTS employs varying data rates based on the volume of traffic.
7. Paging an MS.
In the network switching subsystem (NSS), a BSC is also linked to an MSC through
interface A. (see Figure 1)
In the network switching subsystem (NSS), a BSC is also linked to an MSC through
interface A. (see Figure 1)
Within a BSS, directing signals to connected BTSs and managing the handover of one
BTS to another (see Figure. 1). Control of and signal transfer from BSC to MSC.
Using an interface, a channel's signals are mapped between the BTS and the BSC.
4
Introduction to Mobile
The following are some of the key tasks carried out by the BSC: Computing
signal processing.
managing the transmission of signals to the connected BTSs and the transfer
of signals from one connected BTS to another inside a BSS. (Refer Figure 1)
Controlling and handover of the signals from BSC to MSC.
Using interfaces, a channel's signals are mapped between BTS and BSC and
between BTS and MSC. When interacting between BTS and BSC or BSC and
MSC, each channel of traffic data and control data needs to be mapped to the
interfacing signals. Signals from the BTS are received by a BSC at a specific
time at 16 kbps through Abis, and they are interfaced to an MSC at 16 kbps
(see Figure 1). As an alternative, it might need to connect over a fixed line
network at 64 kbps to a PSTN switching centre.
The term "mapping" in this context refers to the assignment of a 16 kbps BTS
signal to a 64 kbps signal in such a way that each traffic data channel in the
BTS signals can be shifted to the proper channel at the receiver end and vice
versa.
Reserving radio frequency.
Setting aside radio frequencies. 124 frequency channels make up GSM 900
MHz. Each channel employs TDMA to carry MSS traffic. For BTS-MS
connection, a maximum of 90 channels may be used at once. 32 channels are
designated for management and control data chores.
Frequency hopping enables the use of several channel bands by numerous
BTSs operating in one go.
Continual monitoring of the frequency channel spectrum in use at any one
time is employed to regulate traffic.
Data authentication, data encryption, and data decryption.
Updating the MS location register. (Each subscriber's mobility needs to be
watched for the transmission of calls coming from other cells or distant
networks. Each MS position, as determined by the signals from the BTS, is
communicated by BSC to MSC. Using the signals from the BSC, MSC
updates the subscriber's location register.)
Paging to a BTS.
A variety of MSCs make up the NSS. A number of BSCs in the RSS are interfaced
with by each MSC of the NSS. A Home Location Register (HLR) and a
Visitor Location Register(VLR) are also available at the MSC. Later on, we'll talk
about HLR and VLR. To facilitate switching for communication to the opposite end
network, the NSS essentially serves as an interface between fixed and wireless
networks. Mostly switches and databases make up this system. It oversees operations
including handovers between BSSs, global user localization, user account
maintenance, call costs, and roaming service management.
5
GSM and GPRS
Figure 2
HLR and VLR are present in every MSC. The HLR communicates with an OSS
authentication centre (AuC).
Through the gateway MSC, an MSC can connect to another MSC or fixed line
networks (GMSC). Gateway refers to computer hardware and software used for
protocol and data conversion during communication between two distinct network
formats.
6
Introduction to Mobile
When one mobile station MSx and another mobile station MSy interact, the MSC Computing
creates (switches) a link (channel) between the following mobile stations: (i) MSx,
interacted with the BTS, then the BSC, and finally the MSC. (ii) MSy, interfaced with
the BTS, BSC, and finally MSC. A radio sub-system is provided for the
communication by the RSS and NSS. To enable the NSS to find a path (route or
channel) between MSx and MSy, the MSC must include location registers.
Signal processing
Using BSCs to establish and break connections between different mobile
stations. The communication path must go through another MSC if the mobile
stations to be connected are located in another MSC's territory or in the
territory that belongs to that MSC.
Establishing and disabling a connection over the IWF between an MS and a
fixed-line phone.
Calls made to and from an MS are being tracked.
Call forwarding, call charging, and other supplemental services are available.
The MS databases in a GSM network are stored in the HLR. It keeps track of all
pertinent subscriber information, including the mobile subscriber ISDN number
(MSISDN number), information on subscription privileges such call forwarding and
roaming, the international mobile subscriber identity (IMSI), the user's current VLR,
and MSC status.
Globally, each mobile user has a single, real-time, continuously updated HLR record.
Each MS is required to register with a particular HLR of a particular MSC. For
authentication, the HLR gets in touch with AuC in the OSS. Each HLR is linked to an
MSC, enabling the home MSC to update the user's current VLR whenever the MS
registered at a given HLR moves to a different location area (LA) served by a
different MSC.A mobile station's location is updated with the aid of HLRs.
A gateway is a node that connects two distinct network types. A node of the GMSC
is in charge of connecting to other fixed-line networks. These additional networks
could be PLMN, ISDN, PSTN, or PSPDN.
A GMSC might use interworking functions special (IWF) like the X.25 to connect to
open data networks.
The MSCs' operations are made easier by the operation support sub-system (OSS).
The entire network's management, upkeep, and operation are handled by the OSS. It is
7
GSM and GPRS
made up of an operation and maintenance centre (OMC) , an equipment identity
register (EIR), and an authentication centre (AuC). The OSS architecture and
interfaces to NSS and RSS are shown in Figure. 2. Each AuC in the NSS has a
connection to an HLR, and each EIR has a connection to an MSC. An OMC in the
OSS can link to a BSC in the RSS, an MSC or GMSC in the NSS.
Through the interfaces, an OMC monitors and manages all other network elements.
The management of status reporting, traffic monitoring, subscriber security
management, and accounting and billing are examples of common OMC duties.
Authentication Centre
The HLR employs an AuC to validate user identity. The HLR itself may additionally
contain a secured partitioned portion called the AuC. The GSM standard stipulates
that the methods for key generation should be segregated out as an OSS network unit
because mobile networks are very susceptible to attacks. It is called the AuC. Keys for
subscriber authentication are kept in the AuC database. The AuC also performs other
functions like calculating authentication parameters. The HLR receives these from the
AuC after that.
International mobile equipment identity (IMEI) numbers are kept in the EIR for the
entire network. In order to locate a lost or stolen device, the network can use the IMEI
to identify the type of terminal, mobile equipment maker, and model. There are three
different sorts of lists in the EIR:
Mobile stations that have been reported as stolen or are currently locked for
whatever reason are included on a black list.
A white list that keeps track of all active and legitimate MSs.
A grey list of all the MSs that might not be operating properly
A network known as the Public Land Mobile Network (PLMN) was created and
managed by a reputable operating agency with the specific objective of facilitating
mobile telecommunication services on land for the general public. There is a unique
PLMN for each mobile service provider. Any PLMN can be identified by both its
mobile network code (MNC) and mobile country code (MCC). For data exchange,
PLMN is linked to other PLMNs, PSTNs, or Internet service providers.
What If a mobile station, MS, is located at a mobile terminal, MT? In order to be sent,
voice and data signals from the terminal are encoded by the MT, a sub-unit.
8
Introduction to Mobile
Additionally, in order for the user at the terminal to understand the received signals, Computing
the MT decodes them back into voice or data.
A communication network (such as a GSM PLM) and another terminal, TE, are
connected through the MT. Callers connect and communicate via the TE. The TE is
the source or destination of the service, and the MT is in charge of mobile
communication.
The linked TE then transmits data back through interfaces 5, 6, 7, and 8. (1,8), (2,7),
(3,6), and (4,5) are four different interface sets. Each set has a transceiver. A
transceiver is a group of interfaces (transmitter cum receiver). It is customary to use
the sign Um (user mobile interface). The interface is indicated (1,8). It is customary to
use the letter A. It designates a mobile network interface (2,7) to a wired network,
such as the PSTN or other wired network.
Figure 3
9
GSM and GPRS
Each of the four transceivers can operate in full duplex mode for both transmitting and
receiving (shown by the up and down arrows in Figure 4)
Figure 4
A GSM mobile phone and a PSTN phone can communicate (old landline
phone). A mobile station at the caller's end connects to the GSM landline
mobile network in this instance using an Um user interface. The landline
phone TE, which connects via a source-destination network, serves as both
the caller's final destination and the source of the response (PSTN in this
case).
10
Introduction to Mobile
4.4 CALL HANDLING Computing
Figure 5,
A PSTN phone may also be the caller's TE. In a GSM PLMN network, calling to and
from mobile devices employs a variety of connection-establishing and
11
GSM and GPRS
communication-maintaining procedures. A GSM network can handle several different
call types, including calls from a mobile TE to a PSTN destination TE
(Mobile→PSTN calls), calls from a mobile TE to a mobile destination TE
(Mobile→Mobile calls), calls from a PSTN destination TE to a mobile destination TE
(PSTN→Mobile calls), and exchange of messages between the mobile station and the
base transceiver (Mobile station →Base transceiver message exchanges). The
following are the different call types and the associated procedures:
Mobile→PSTN Calls
Calls that start at a mobile terminal and terminate at a PSTN destination are referred to
as PSTN calls. To further understand how the call's connection is made and
maintained, let's use an example. Switching centres MSCi and MSCj establish the link
when a mobile station, MSi, dials a PSTN number and connects with it. In order to
connect MSi and TEj, MSi establishes (switches) a channel in the way described
below:
According to Figure 1, MSi connects to BTSi, BSCi, and MSCi via interface
routes Um, Abis, and A.
Using the VLR, MSCi authenticates and verifies MSi. Additionally, it finds
the MSCj and GMSCj routes that lead to the PSTN phone TEj.
MSCi changes to MSCj, followed by GMSCj, and finally TEj.
TEj sends back to GMSCj and MSCj.
MSCi transmits back to BSCi, BTSi, and MSi after switching from MSCj to
MSCi.
Mobile→Mobile Calls
Calls that start from a mobile terminal and terminate at another mobile terminal are
referred to as mobile calls. To further understand how the connection is made and
maintained during such a call, let's use an example. Switching centres MSCi and MSCj
are used to route communication when a mobile terminal MSi calls and speaks with
another mobile device MSj. In order to establish a link (channel) between MSi and
MSj, MSi does as follows:
As indicated in Figure 1, MSi connects to BTSi, BSCi, and MSCi via interface
routes Um, Abis, and A.
Using the VLR, MSCi authenticates and verifies MSi. Additionally, it finds
the MSCj-based routes that go to the mobile phone MSj.
MSCi transitions to MSCj and uses the VLR to verify and authenticate MSC j.
BSCj, BTSj, and MSj are connected to through MSCj.
MSj then transmits back to MSCj.
Switching from MSCj to MSCi, which then transmits to BSCi, BTSi, and MSi.
Calls from the PSTN to mobile destinations via the GMSC are referred to as PSTN →
Mobile calls. For instance, while placing a call to a mobile terminal MSj, a PSTN
terminal TEi connects to GMSC, which then asks HLR to find MSCj. After
authenticating and verifying MSj using VLRj, MSCj routes the call to MSj via BSCj
and BTSj.
12
Introduction to Mobile
Exchange of Messages from Mobile Station → Base Transceiver Computing
Before any speech or data exchange through the base transceiver can start if a mobile
station MSi is establishing up a call to another terminal TEj, the following message
sequences must be exchanged between BTS and MSi:
When the MS asks the BTS to give it a channel for communication, the BTS
reacts right away by giving the MS a channel.
After receiving a service request from the MS, the BTS responds by asking
the MS to authenticate.
The BTS transmits a command (with a ciphering number) for ciphering at the
MS along with its response for authenticating the MS. Using a random
number sent by the AuC and a cypher key accessible at the BTS for accessing
the MS, a ciphering number is created.
The MS applies an algorithm to the BTS's ciphering number and the SIM's
cypher key. A key for encryption is created by this algorithm. When the
mathematical method is finished, the MS sends the data to the BTS. The MS
does not send the produced encryption key to the BTS; just the message of
algorithm completion is. To obtain this key for decrypting the encrypted
communication entering from the MS, the BTS must separately run the
algorithm.
The MS and BTS configure the call using the call management (CM) and
BTS management (BTSM) protocols, respectively.
The BTS informs the MS that the call is set up.
The BTS communicates assignment commands to the MS, and the MS
communicates assignment completion notifications to the BTS.
Before the connection, a warning message is transmitted from the BTS to the
MS.
From the BTS to the MS, a message for connection establishment is sent, and
from the MS to the BTS, a message for connection acknowledgement.
The exchange of voice or data begins.
The base transceiver BTS and mobile station MS exchange the following messages
before the voice or data exchange starts when a mobile station MSi, (bottom TE in
Figure 4), is getting ready for a call from another terminal TEj, (top TE in Figure 4).
The MS asks paging from the BTS, and the BTS responds with a request for
channel assignment.
The BTS assigns the MS a channel right away, and the MS responds to the
BTS's page.
The BTS sends an authentication request to the MS, and the MS replies with
an authentication answer to the BTS.
The MS receives a ciphering order from the BTS, and the BTS receives a
ciphering completion message from the MS in response.
The call is established using the CM protocol at the MS and the BTSM
protocol at the BTS, and the MS notifies the BTS that the call has been
established.
13
GSM and GPRS
The BTS communicates assignment commands to the MS, and the MS
communicates assignment completion notifications to the BTS.
The BTS notifies the MS of an alarm prior to the connection being made.
The BTS notifies the MS that a connection has been established, and the MS
notifies the BTS of the establishment of the connection.
Data or voice exchange starts.
Exercises
1. What services are offered by a GSM system? What are the steps for connecting to
and communicating with another mobile station? How would connecting a mobile
station to a PSTN destination affect the in-between interfaces?
3. How can a single base transceiver in a GSM system connect to several mobile
stations?
4. How does a mobile station access the frequency channels and time slots?
6. Explain how does an SMS message transfer occur? Describe the interfaces needed
for the SM MT and SM MO and display the SMS architecture.
8. How are the RSS and NSS units and interfaces used by the various call types
(mobile-originated calls to PSTN destinations, mobile-originated calls to mobile, and
mobile-originated PSTN calls)?
9. Describe the communication between the base transceiver and the mobile station.
4.5 HANDOVER
(i) If the mobile device moves out of one cell's (base station) coverage area and
another base station can give it a stronger signal, as well as
(ii) if all the channels of one base station are in use, another base station nearby
may be able to serve the device.
14
Introduction to Mobile
Every cellular network must have a handover procedure. Additionally, the Computing
handover process must be performed quickly and without causing the user any
inconvenience. Different networks employ various handover methods.
The RSS and NSS units are seen completing handovers in Figure 6.
Figure 6
The following are different types of handovers and the handover procedures in a GSM
network:
Hard handover and soft handover are the two primary types of handover. The
following are discussed here below:
15
GSM and GPRS
Hard Handover
In order for another base station to take over an existing radio link, the current radio
link must be temporarily dropped. This is known as a hard handover. A call's progress
is diverted during this form of handover from one base station to another base station
as well as from its present transmit-receive frequency pair to another frequency pair.
During this time, a call that is in progress cannot exchange voice or data. Call drop or
call cut-off refers to this pause in call transmission. The handover only lasts a few
milliseconds (at most, 60 ms), and the user rarely notices the interruption.
When the signal strength is weak and the error rate is significant, handover to another
cell is necessary. Hard handovers occur in GSM systems.
Soft Handover
Figure 6, depicts the handover when a mobile station MS switches between cells or
when the volume of traffic via a particular stage increases significantly. Here are some
examples of these handovers:
Inter-cell Handover
Multiple cells are formed when multiple BTS antennae using SDMA are positioned in
various directions. The MS, BTS, and BSC continuously measure the signal intensity
at the RRM (Fig. 4.9) sub-layers. The administration of handovers falls under the
purview of the RRM. There is handover from one cell to another when the signal
weakens for a variety of reasons (such as the MS moving from the cell in which it is
currently situated to the boundary region of another cell). This is named as Inter-cell
handover.
Inter-MSC Handover
When there is a lot of traffic coming from the cells and BSCs, load balancing also
undergoes handover. A cell may transfer a call that is currently in progress to another
MSC. The handover is carried out over a wired line due to the fact that the two MSCs
are interfaced through PLMN as shown in Figure 7
16
Introduction to Mobile
Computing
Figure 7
Inter-BSC Handover
When cell and BTS traffic is heavy, handover also occurs for load balancing. An MSC
is connected to the BSCs. A BTS in a cell may transfer a call to another BSC linked to
the same MSC while the call is still in progress. The handover is conducted over a
wired connection because the BSCs connect to the MSC interface using PCM.
When there is a lot of traffic coming from the BSCs, BTSs, and cells, there is also a
handover for load balancing. BTSs link up with a BSC, and BSCs link up with an
MSC. A cell may transfer a call that is being handled by a BTS to another BSC that is
connected to a separate MSC.
Intra-cell Handover
The BSC can switch the call to a different BTS channel of the same BSC when an MS
moves to a neighbouring cell and experiences poor signal quality. The handover
within the BTSs takes place over a wire since each BTS has a different radio channel,
but this is because each BTS connects to the interfaced by PCM. Because of this, the
BSC chooses a new radio channel (radio carrier frequency).
The following messages are exchanged during the inter-cell and intra-MSC handover:
17
GSM and GPRS
A signal report is sent by the RRM sub-layer from MSi to BTSi and from
BTSi to BSCi. In the event that a handover is required, BSCi notifies MSCi of
the need.
Another BSCj receives the handover request from MSCi and responds by
allocating radio resources and transmitting the activated channel to a different
BTSk.
BTSk notifies BSCj of the channel's acknowledgement, and BSCj notifies
MSCi of the handover request grant via a message.
MSCi sends a handover command to BSCi, which then relays it to BTSi and
BTSi to the RRM layer of MSi. The RRM instructs the MS radio interface to
use a different channel connected to BTSk.
There is call handover to BTSk, and voice or data exchange begins there. The MSs in
a cell have access through BTSs. In a next-generation network, a WLAN (wireless
LAN) can also access BTS. By handing off between BTSes, BSCs, or MSCs as well
as the interstitial LANs, the BTSs in new-generation (2.5G) networks enable mobility.
This makes sure that the user has continuous (uninterrupted) connectivity.
4.6 SMS
SMS and voice over GSM data transfers happen simultaneously. An SMS is
also transmitted over a GSM channel as synchronous data. There are no in-
between acknowledgements, and FEC is used to fix any transmission issues.
Signaling System No. 7 (SS7), a worldwide signalling channel that uses data
link layer protocols for BSC and MSC in mobile networks, is used by SMS
services.
Stateless
Self-configurable
At the recipient, an SMS can be sent on a visiting network without using the
MSC for SMS or another PLMN interface.
Non-repudiable
You can always find the mobile origin, HTTP site, or SMS sender. It is
also possible to track a hacker website or server that is pretending to be
the sender's mobile device.
4.6.2 SM MT and SM MO
Figure 8
19
GSM and GPRS
4.6.3 SMS as a Carrier of Information
These offerings make use of SMS. A message is sent from the sender's phone. It
serves as the input for a computer programme running on the receiver server, such as
a train seat reservation status inquiry sent through SMS to a predetermined number.
Input data is Message <Name> PNR <PNR number> The status database server at the
receiving end responds to a query sent by the status server at the receiving end. In
response to the question, the response is sent back to the sender. Other instances
include purchasing a movie ticket, ordering a gas cylinder by SMS, or checking the
status of a train.
Value-added service
A service provider might offer a VAS, like paying the recipient with funds sent by the
sender using a bank's VAS. A bank might provide a VAS for customers who want a
chequebook or want to transfer money to another account.
Chat service
Alert service
Mobile users frequently utilize alert services for storm warning, weather, stock market
quotes, bank account balance (credit or debit), weekly bank account balance,
magazine renewal, and jewellery festival concessions.
There are numerous uses for SMS. A maximum of 160 bytes are regarded to be the
input for an SMS sender message. The input is processed via an API used by mobile
computing applications. There are now many different sorts of SMS applications
accessible for mobile devices. A list of suggestive applications is shown below:
20
Introduction to Mobile
Applications utilize commands for AT attention (AT). AT instructions were first used Computing
in the standard Hayes modem. Applications for mobile computing use SMS in text
mode or protocol data units (TPDU)
The commands AT+ CMGR (read message) and AT+CMGS are two examples (send
message)
4.7 GPRS
Different coding and multiplexing techniques are used by new 2G data services like
general packet radio service (GPRS) and high-speed circuit-switched data (HSCSD)
to give GSM consumers fast transmission speeds.
The following are the three main strategies for increasing transmission data rates:
The next sections provide a detailed explanation of these new 2G data services as well
as the methods employed to increase speed.
A speed-enhanced data transfer service created specifically for GSM systems is called
General Packet Radio Service (GPRS). Data packetization and simultaneous
transmission of packets over several channels provide faster data delivery. The
European Telecommunications Standards Institute(ETSI) is the body that established
the GPRS standard .
There are two switching modes: (i) circuit switching, wherein, a connection is first
established and then the entire data stream is transmitted through the path that has
been established during the connection, and (ii) packet switching, wherein data
packets may, at any given time, travel through any number of time slots, channels,
paths, or routes depending on the free slots that are available at that time. The receiver
then reassembles the packets into the data's original sequence.
For the data transfer and Internet access of mobile stations, GPRS is a packet-oriented
service. For packetized transmission from a mobile station, it makes use of the free
slots and channels in TDMA mode of a GSM network.
21
GSM and GPRS
A single mobile station transmits data packets throughout a number of time intervals.
Serving GPRS support nodes are deployed by GPRS (SGSNs). An SGSN interacts
with other SGSNs and base station controllers (BSCs) in different ways. In addition,
GPRS interfaces with SGSN and a packet data network like the Internet using
gateway GPRS support nodes (GGSN). As with a GSM system, the BSCs also
communicate with the MSCs.
Transmission speeds of 22.4 kbps, 14.4 kbps, 11.4 kbps, 9.6 kbps, and 4.8 kbps are
permitted over the voice data traffic channel in GSM. According to the likelihood of
transmission mistakes, GPRS includes four different encoding techniques that allow
transmissions at speeds of 21.4 kbps, 15.8 kbps, 13.4 kbps, and 9.05 kbps,
respectively. These are referred to as coding schemes 4, 3, 2, and 1, respectively.
Eight TDMA time slots are available.
The eight slots can only be used up to k times at once (k, k', and k) "each have a value
of eight or less. For instance, a class 10 mobile station has the symbols k, k', and k "–
4, 2, and 5 correspondingly.
22
Introduction to Mobile
Computing
It displays four subsystems: the network switching subsystem (NSS), the gateway
subsystem (GSS), the radio subsystem (RSS), and the base subsystem (BSS). These
subsystems each contain a number of BSCs, MSCs, SGSNs, and GGSNs.
A new technology that enables simultaneous usage of numerous time slots is high-
speed circuit-switched data (HSCSD). The ETSI has established HSCSD as a 2.5G,
GSM Phase 2 standard. Circuit-switched data (CSD), the initial data transmission
method used in GSM systems, has been improved. Error correcting codes in the
original CSD broadcast consumed a significant portion of the GSM transmission
bandwidth. However, depending on the radio link's quality, HSCSD offers a variety of
levels of error correction. Because of this, HSCSD data rates can reach 14.4 kbps
where CSD could only transmit at 9.6 kbps.
HSCSD is able to utilise numerous time slots concurrently. To transport data at a rapid
rate, several GSM traffic channels (TCHs) can join forces. A source TE receives
several TDMA slots. Except during call setup, a single user receives the time slots.
Therefore, HSCSD is a high-speed vice for transfers of time-sensitive images or
videos.
24
Introduction to Mobile
Computing
Figure 10
Exercises
3. Describe when is HSCSD used? How does HSCSD high-speed transmission work?
How does data transfer via HSCSD vary from GPRS?
5. What are the different WLL protocols? What types of services does WLL offer?
4.10 SUMMARY
25
GSM and GPRS
When a mobile device crosses the border between two cells that are served by
two different BTSes, a technique called handover transfers control to the
neighboring cell base station.
SMS is a stateless, non-repudiable short message service with a character
limit of 160. Its broadcast is self-configurable, and it is not dependent on the
receiver network.
HSCSD is a novel way to utilise several time slots concurrently. In order to
send the data quickly, numerous GSM traffic channels combine, and a source
terminal device is given access to a number of TDMA slots.
WLL is a protocol that uses radio waves to link users to broadband Internet or
PSTN networks. It consists of proprietary fixed radio access systems, cordless
access systems, and fixed and cellular systems. It uses other technologies,
such as DECT, CDMA, TDMA, GSM, UMT 3G, or CDMA, to implement a
link between two terminals.
1. https://www.spiceworks.com/tech/networking/articles/what-is-gsm/
2. https://www.gartner.com/en/information-technology/glossary/bts-base-
transceiver-station
3. https://www.sciencedirect.com/topics/computer-science/home-location-
register#:~:text=There%20are%20two%20types%20of,information%20enabli
ng%20charging%20and%20routing.
4. http://teletopix.org/gsm/what-is-hlr-and-vlr-and-its-function-in-gsm/
5. https://www.gsmarena.com/glossary.php3?term=hscsd
6. https://www.geeksforgeeks.org/wireless-local-loop/
26
Mobile Computing
5.0 INTRODUCTION
The mobile technologies such as MIMO, 4G, 5G have revolutionized the human
experience. These mobile technologies have re-defined the way we communicate,
collaborate and do business.
The advanced mobile technologies provide fast data access, low latency data transfer,
high availability, better coverage and many other benefits. Starting with mobile radios
we have come a far way wherein we now have a super-computer capability in our
palms.
Modern mobile phones enable us to watch high definition live broadcast, multi-player
games, video calling and many other applications.
In this chapter we discuss the technologies behind the 4G and 5G technologies along
with its features, use cases and other examples.
5.1 OBJECTIVES
After going through this unit, you should be able to
understand key concepts of High speed packet access,
understand the usage of MIMO in High speed packet access,
understand the key features of LTE and WiMAX 16E
understand the key features of OFDM and LTE advanced,
Understand the main features of 5G.
The HSDPA and HSUPA provide low latency and high bit rates. Over 3G, the
HSDPA creates a high-speed download channel among users.
HSUPA enhances the upload uses a dedicated channel between mobile phone and
the station for the data upload.
The key features of HSDPA are Adaptive modulation and coding (AMC), Multi-code
operation, Hybrid automatic repeat request, Higher order modulation, Short
transmission time interval, Fast link adaptation and Fast scheduling.
MIMO uses antennas and “processing” at both transmitter and receiver end to
create multiple, uncorrelated radio streams between the transmitter and
receiver.
The radio streams use same frequency and time that multiplies the capacity in
the same spectrum.
As the antennas increase, the data transfer rates increase using the same
amount of power and the spectrum.
Each increase in the order of MIMO, we can double the data peak rate. For
instance a 2x2 MIMO doubles the peak data rate over 1x1 MIMO.
As we have 2 antennas at transmitter and at the receiver end, the data transfer rate is
doubled as compared to a 1x1 MIMO.
Long term evolution (LTE) was evolved as the mobile gaming, mobile video gained
popularity. LTE provides high data rate, flexible bandwidth, packet optimizations and
low latency. LTE also provides great quality of service. LTE uses both frequency 3
4G and 5G Networks division duplex (FDD) and Time division duplex (TDD). FDD data uplink and data
downlink uses different frequency and in TDD data uplink and data downlink are
separated in time.
LTE also supports MIMO through which the base station transmits multiple data
streams simultaneously.
The end user equipment is a mobile device that handles the communication and data
streams. The Universal Integrated Circuit Card (UICC) run Universal Subscriber
Identity Module (USIM) application for managing the data such as phone number,
security keys and others.
The E-UTRAN manages the communication between the mobile device and the EPC
through base stations. Each base station provides the network for the mobile phone
through one or more cells. The base station sends and receives the radio signals. The
base station also sends the handover command for the mobile phones.
The evolved packet core network (EPC) manages the core functions and message
routing. Given below are the key components in EPC –
The mobility management entity (MME) manages the high level mobile operation
by sending messages to Home Subscriber Server (HSS).
Packet Data Network (PDN) Gateway (P-GW) communicates with the packet data
network (PDN).
The serving gateway (S-GW) is the proxy for data transmission from the base
station and P-GW.
WIMAX is the broadband internet that supports various frequency bands. WIMAX
uses sub-channels wherein the transmit channels are segregated into multiple parallel
sub-channels that are assigned to the users. When the proximity of the user to the
tower is high, the sub channels will be more.
Feature Description
Frequency band Various frequency bands up to 11 GHZ
MIMO 2x2 MIMO
Modulation QPSK for longer range modulation and 64 QAM
for shorter range modulation
Security AES based authentication
TDD For uplink and downlink
Ultra-wide band transmits the data with more than 500MHZ bandwidth spectrum.
Ultra-wide band uses low energy for both high bandwidth and short-range
communication.
Ultra-wide band uses short pulses to achieve greater location accuracy. An ultra-wide
band can determine the location and distance between two ultra-wide band enabled
devices with high degree of accuracy. For example, we can use Ultra-wide band for
automatically opening the gate when the car approaches it. Another use case for ultra-
wide band is that a smart phone can use short pulses to unlock the car door.
The main applications for ultra-wide band are mobile telephony, radar technology,
wireless data transfer, real time location management, mobile TV, high speed Internet,
video calls and digital security keys.
Features Description
Average data transfer rate Downlink 5.9 MBPS
Peak Data downlink 326 MBPS for LTE 4 x 48
Peak Data uplink 88 MBPS for LTE 4 x 48
Bandwidth 500 MHZ
Latency 50 ms
5
4G and 5G Networks
5.4.3 Broadband Wireless Access
Broadband wireless provides a high speed internet access over a larger area. Wireless
broadband uses radio waves to connect to the Internet backbone to provide high speed
Internet access. Wireless broadband provides asymmetrical downlink and uplink data
transfer rates.
Features Description
Average data transfer rate ~1.5MBPS
Data downlink 100 MBPS
Data uplink 50 MBPS
Bandwidth More than 1 MHZ
Range About 50KM
4G requires at least 40MHZ bandwidth for supporting the high data transfer rate. 4G
also supports high mobility and roaming across various networks. The 4G system
design requires LTE Advanced or WiMAX 402.16m
5.5.1 OFDM
The usage of multiple carriers each with low data rate makes the OFDM resilient by
shielding against narrow band fading.
By using appropriate frequency domain equalization at the receiver end, the direct
sequence CDMA (DS-CDMA) provides high performance. Single carrier FDMA
(SC-FDMA) technique uses frequency-division multiple access FDMA. The SC-
FDMA encodes the sub-carriers.
MIMO
6
Mobile Computing
LTE Advanced (LTE-A) is an enhancement over the LTE that provide higher data
transfer rates, better performance mainly at the cell edges.
Feature Description
Peak data uplink 500MBPS
Peak data downlink 1 GBPS
Latency < 5ms for one way packet transmission
User throughput 3x LTE
Use cases Streaming media, High Definition Video streaming, Live
TV
The physical layer operates in the bandwidth between 1.25MHZ and 20 MHZ and
uses OFDMA for data transfer. The physical layer also supports MIMO antennas for
high performance.
The MAC describes the technologies such as Internet protocol (IP), ethernet,
asynchronous transfer mode (ATM) along with methods for data security, data
transfer, data classification, secure communication, encryption methods (such as AES,
DES encryption standards).
Feature Description
Bandwidth 1GBPS
MIMO Single user MIMO and multi-user MIMO
Multiplexing TDD and FDD
Frequency 450-470 MHZ to 3.600 GHZ
Use cases Broadband internet, High Definition Video streaming,
Mobile Internet, Multimedia streaming.
5G uses shorter millimeter waves between 30GHz and 300GHz enabling faster data
transfer rates and provides ultra-low latency, high reliability, increase network
capacity and rich user experiences. 5G delivers 1000 times more capacity than 4G.
5G also supports many use cases such as real time video streaming, big data
processing, digital media services, connected vehicles, autonomous driving, virtual
reality, telesurgery, multi-player gaming, immersive shopping, faster cloud access and
others.
Feature Description
Latency 1 ms
Data transfer rate 10 GBPS
Availability 99.999%
Network energy 90% reduction in network energy consumption
consumption
5.7 SUMMARY
The high-speed packet access (HSPA) is the wireless technology to enhance the
increase the upload and download speeds for 3G networks, UMTS and WCDMA
networks. The HSDPA and HSUPA provide low latency and high bit rates. Over 3G,
the HSDPA creates a high-speed download channel among users. The key features of
HSDPA are Adaptive modulation and coding (AMC), Multi-code operation, Hybrid
automatic repeat request, Higher order modulation, Short transmission time interval,
Fast link adaptation and Fast scheduling. Multi Input Multi Output (MIMO) uses
multiple antennas for transmitting and receiving to improve the data transfer rates.
LTE is the successor of UMTS and CMDA and provided 50 times better performance
than existing cellular networks. WIMAX is the broadband internet that supports
various frequency bands. Ultra-wide band transmits the data with more than
500MHZ bandwidth spectrum. Ultra-wide band uses low energy for both high
bandwidth and short-range communication. 4G networks support data transfer rate of
more than 100MBPS. Orthogonal Frequency Division Multiplex (OFDM) is a 4G
signal format that provides multiple access schemes. WiMAX is a connection-
oriented technology with the physical layer (PHY) and the media access control
(MAC) layer are standardized by the WifiMax technology. 5G uses shorter millimeter
waves between 30GHz and 300GHz enabling faster data transfer rates and provides
ultra-low latency.
5.8 SOLUTIONS/ANSWERS
Check Your Progress 1
1. 5.76MBPS
2. 3-5 MBPS
8
Mobile Computing
9
Mobile IP and Issues in
UNIT 6 MOBILE IP NETWORK LAYER Mobile Computing
6.0 Introduction
6.1 Objectives
6.2 Mobile IP
6.2.1 Need for Mobile IP
6.2.2 Working of Mobile IP
6.3 IP Header: Encapsulation and Routes Optimization
6.3.1 Encapsulation of Additional IP Header
6.3.2 Minimum Encapsulation by IP Packet
6.3.3 Generic Routing Encapsulation by IP Header
6.4 Mobility Binding
6.5 Cellular IP
6.6 Mobile IP with Ipv6
6.7 Voice over IP
6.8 IP Security
6.8.1 Key Components of IP Security
6.8.2 Working of IP Security
6.9 Summary
6.10 Solutions/Answers
6.10 Further Readings
6.0 INTRODUCTION
One of the main reference model for the data transmission is called open system
interconnection (OSI) that defines seven layers. TCP/IP is another model that defines
five layers.
We shall look at then layers for both OSI and TCP/IP model in table 1 and table 2
respectively.
Layer 6 Presentation layer The layer is responsible for data formatting and
encryption
Layer 7 Application Layer The layer is responsible for running the application
1
Mobile IP Network
Layer TCP/IP model defines five layers as given in table 2.
Currently IPv4 is a popular standard protocol for the internet. The latest internet
protocol version is IPv6 that uses 128 bit address. UDP (User Datagram Protocol) and
ICMP (Internet Control Message Protocol) or other protocols used for data
transmission. Udp is a stateless protocol where in the datagram does not precedes the
previous one nor succeeds the next one. Udp is a popular protocol for streaming
videos and gaming use cases. Icmp is a connectionless protocol mainly used for caring
messages reporting errors.
6.1 OBJECTIVES
6.2 MOBILE IP
The mobile IP allows users to communicate without using same IP address. The
mobile IP also ensures that the user sessions or managed appropriately.
The main objective of the mobile IP Is to ensure that mobile user’s network
connectivity is maintained when the mobile user changes location. Let us look at the
common terminologies used in the mobile IP:
Mobile Node (MN) is the mobile device such as smart phone that user has.
Home Network defines the network which has the original assigned IP of the
mobile node.
2
Mobile IP and Issues in
Home Agent (HA) is the router of the home network to which the mobile Mobile Computing
node was originally connected to.
Home Address indicates the permanent IP of the mobile node.
Foreign Network defines the current network of the mobile node when the
mobile user is on the move.
Foreign Agent (FA) is the router in the foreign network to which the mobile
node is currently connected to.
Correspondent Node (CN) is the internet device that is connected to the
mobile node
Care-of Address (COA) represents the mobile node’s temporary address when
it is on the move.
Foreign agent COA is the COA of the foreign agent.
Co-located COA, the COA is co-located if the MN temporarily acquired an
additional IP address which acts as COA. This address is now topologically
correct, and the tunnel endpoint is at the MN. Co-located addresses can be
acquired using services such as DHCP.
When a computer is shifted locations, the IP of the computer that is connected using
TCP/IP protocol changes. The IP change is due to various factors such as change in
the network, change of the ISP service provider, change of the network route tables,
change in the network security and others.
Normally a mobile device is always on the move. If the IP of the mobile device
changes, it impacts the connectivity and any ongoing communication. Hence mobile
IP is required to ensure that the IP of the mobile device does not change.
3
Mobile IP Network
Layer For the working of mobile IP, given below mechanisms are required:
Agent advertising – The agents advertise their details on regular basis. The
mobile node receives the details and identifies if it is a home network or a
foreign network.
Agent registration – The mobile node initiates the agent registration. If it is
foreign agent, it sends a care of address to the home network after which the
home agent replies to the foreign agent. The mobile node completes the agent
registration.
4
Mobile IP and Issues in
Mobile Computing
Given below are the detailed steps involved in the agent registration:
1. The mobile node identifies the current network as a foreign network. The
mobile node sends a registration request.
2. The foreign agent routes the request to the router
3. The router sends the care of address along with registration request through
the tunnel. A tunnel is a virtual pipe that sends the data stream across two
connected ends.
4. The router on the home network receives the request
5. The home agent sends the registration response.
6. The mobile node is registered and all the responses from the mobile node are
sent to the home network.
The regular packet information mainly consist of Source and destination address and
the IP header details. During the registration, the new encapsulated IP headers have
below given details as shown in Figure 3:
IP Version that depicts IPV4 along with header length and the total packet
length.
The flags and fragment offset details of the packet
Time to live details that define the hops before the packet expiry, protocol and
the header checksum
The IP address of the source home agent.
The IP address of the destination care of agent.
5
Mobile IP Network
Layer 6.3.2 Minimum encapsulation by IP packet
The minimum encapsulation (ME) combines the data from the original packet as
depicted in Figure 4.
The existing IP headers described below does not provide the tunnel routing
information, support recursive encapsulation and the authentication related key.
Generic Routing Encapsulation (GRE) headers are added to address the above. The
main elements of the GRE encapsulation are given below:
We shall discuss the triangular route problem to understand the advantage of mobility
binding.
6
Mobile IP and Issues in
Mobile Computing
When the mobile node (MN1) visits a foreign network that is the home network of
corresponding network CN2. Lets consider that CN2 is very close to the
corresponding network CN1. For the CN1 to reach the MN1, it has to make a
triangular trip visiting the home agent 1 and then reaching the COA at foreign agent as
depicted in Figure 5.
The mobile binding optimizes this triangular routing by binding the CN1 directly to
the COA of the MN1. This can be achieved using the mobility binding cache which
caches the current COA of the Mobile node. The optimization achieved through
Mobile binding is depicted in figure 6.
In figure 6 the CN1 directly sends the request to COA of the MN1 achieved through
the mobility binding. Given below are the sequence of steps for mobility binding:
7
Mobile IP Network
Layer
6.5 CELLULAR IP
The cellular IP gateway filters the packets and the packets are routed to the
corresponding home agent.
Voice over IP (VoIP) facilitates the transfer of voice and multimedia over the Internet
Protocol through Internet. VoIP facilitates local as well as long-distance calls. The
VoIP enabled devices can send the audio voice, video call, fax and SMS over Internet.
VoIP provides high reliability and smoother connection than the analog signals.
Figure 8 depicts a typical VoIP system. On the sender system, the voice and analog
data is digitized and encoded at various layers.
The data is then transmitted over the Internet (broadband, 4G networks and others) to
the receiver system. On the receiver system, the data is decoded and digital to analog
conversion is done to get the original voice signal.
There are various VoIP protocols such as session initiation protocol (SIP), mobile
VoIP (mVoIP). SIP applications can be installed on mobile devices as they support
multiple CODECs. mVoIP requires broadband or Wi-Fi networks.
Various modern applications such as Skype, MS Teams, Amazon Chime use the
VoIP for audio and video conferencing.
6.8 IP SECURITY
IP security defines the set of protocols to secure the communication between two end
points. IP security provides protocols for enforcing authentication, data confidentiality
and data integrity. IP Security also defines the protocols for data encryption and data
decryption and the associated secure key exchange.
9
Mobile IP Network
Layer IP Security is used for below given purposes:
Encrypt the transmitted data.
Establish the secure IPSec tunnels over the VPN.
Provide the authentication for the transmitted data.
Provide router security.
Authentication Header
We have depicted the main elements of authentication header in Figure 9. The
authentication header provides the key features such as anti replay (prevents
unauthorized packet transmission), data integrity and authentication. Algorithms such
as SH1, MD5 are used for authentication.
6.9 SUMMARY
OSI consists of 7 layers including Layer 1 Physical Layer, Layer 2 Data Link layer,
Layer 3 Network Layer, Layer 4 Transport layer, Layer 5 Session Layer, Layer 6
Presentation layer and Layer 7 Application Layer. TCP/IP consists of 5 layers Layer 1
Physical Layer, Layer 2 Data link layer, Layer 3 Network Layer , Layer 4 Transport
layer and Layer 5 Application layer. The mobile IP allows users to communicate
without using same IP address. Mobile IP needs agent advertizing and agent
registration. The tunnel between the Foreign agent and the home agent if the mobile
device is in foreign network. The regular packet information mainly consist of Source
and destination address and the IP header details. The minimum encapsulation (ME)
combines the data from the original packet. Mobile binding can be used to optimize
the triangular routing. The cellular ip complimenting the mobile IP by providing fast
and consistent handover control. Voice over IP (VoIP) facilitates the transfer of voice
and multimedia over the Internet Protocol through Internet. IP security defines the set
of protocols to secure the communication between two end points. The ESP provides
various features such as encryption, data integrity validation and authentication
payload. The security association defines the shared security attributes and ensures
the secure communication between two network entities.
6.10 SOLUTIONS/ANSWERS
References
Mobile Computing 3rd Edition by Raj Kamal - https://www.amazon.in/Mobile-
Computing-Raj-Kamal/dp/0199455414
12
Mobile Computing
7.0 INTRODUCTION
Mobile devices provide many services to the end user such as email, messages, apps,
navigation, online gaming, online trading and such. All the mobile apps that interact over
the network is facilitated by the transport layer which manages the data transmission
from source port to the destination port.
In this unit we describe the transport layer protocols such as TCP and UDP.
7.1 OBJECTIVES
After going through this unit, you should be able to
understand key concepts of UDP and TCP,
understand the main use cases for UDP and TCP,
understand the concepts and use cases for Indirect TCP,
understand the concepts and use cases for snooping TCP,
understand the concepts and use cases for mobile TCP.
In this section we examine the key features, use cases and differences between UDP and
TCP.
7.2.1 UDP
UDP is a connectionless transport layer protocol. UDP is used for faster transmission of
data across two computers. It is unreliable as it does not wait for acknowledgement from
the receiver. UDP also saves the bandwidth as it does not depend on the
acknowledgement. Each of the UDP segments are handled individually and use
independent paths to reach the destination.
UDP is faster as it starts transmitting the data packets (called datagrams) to the target
computer without waiting for the handshake and acknowledgement. This process makes
the UDP faster but unreliable.
1
Mobile Transport Layer We have depicted the UDP data transmission in Figure 1.
As depicted in Figure 1, the requestor sends the request and sender sends the response
data continuously. As the missed datagrams are not re-transmitted, the requestor has to
devise methods to handle the data loss or duplicate data.
UDP Packet
We have depicted a UDP packet in Figure 2. The UDP header is 8 bytes long and has
following details –
Checksum provides metadata of header and UDP data and is used for checking data
integrity.
UDP Scenarios
Given below are the use cases and scenarios where UDP is used –
The time sensitive applications such as video streaming apps (such as video
broadcast applications), audio streaming apps, Voice Over IP (VoIP), live
conference, screen sharing applications, and others rely on UDP as the minor data
loss is acceptable in such scenarios.
High speed, low latency applications such as online gaming applications use UDP.
2
Mobile Computing
DHCP (Dynamic Host Configuration Protocol), NTP, DNS use UDP protocol.
Real time application such as stock ticker application also uses UDP
Risks
UDP can also be exploited by hackers for Denial of service (DoS) attack wherein they
flood the target computers to exhaust its resources.
7.2.2 TCP
We have given the detailed steps of how TCP works in transmitting the data –
1. TCP segregates the data into various packets and provides a sequence number to the
packets.
3. At the destination, the packets are re-assembled based on the sequence number and
transmits it further. TCP acknowledges the arrived packets.
4. TCP handles re-transmission of the lost packets, dropped packets or garbled packets
to provide error-free transmission.
We have depicted the TCP handshake in Figure 3. Post passive open the active open
connection involves three-way handshake –
1. The client sends its data segment with the sequence number (for instance A).
2. The server then sends its sequence number with the acknowledgement. (for instance
A+1)
3. Once the client receives the acknowledgement for its segment, the client sends the
acknowledgement to the server.
3
Mobile Transport Layer
TCP specifies the order in which the data packets need to be sent. If any of the packets
are missed out, then TCP requests for the packet to be resent and hence it is more
reliable than UDP.
Features of TCP
Segment number – All the transmitted or received segments are tracked by TCP
using segment numbers.
Flow control – The data transfer rate of the sender is controlled by flow control. The
receiver uses sliding window to specify the data transfer for the reliable delivery.
Error control – Each of the transferred segments are checked for errors to ensure
reliable delivery. Duplicate segments, lost segment or out of order segments are
detected using error control.
Congestion control – TCP considers the network congestion during routing. TCP
eliminates the network congestion using congestion avoidance algorithms such as
Slow Start, Timeout React, Additive increase, Multiplicative Decrease and such.
TCP scenarios
TCP is used for use cases that require secure and reliable data transmission. Given below
are the ideal TCP use cases and workload scenarios –
File transfer protocol (FTP) for securely and reliably transferring the files
The table 1 provides the key differences between TCP and UDP
TCP UDP
5
Mobile Transport Layer
7.3 INDIRECT TCP
Traditional TCP does not perform well on the wireless network. In addition to that we
cannot change a TCP within a fixed network. Indirect TCP addresses these two issues.
Indirect TCP segments the TCP connection into wireless and fixed parts as depicted in
figure 2.
Given below are the salient features of the Indirect TCP as depicted in Figure 2 –
The mobile host is connected via wireless TCP to access point and access point is
connected through wired connection to the host.
The access point is also connected to the fixed computer through standard TCP as
well. The fixed computer acts as corresponding host.
The access point terminates the standard TCP and acts as proxy for fixed computer to
the mobile host. The access point relays information in both the directions (from
mobile host to the fixed computer and from the fixed computer to the mobile host.)
The access point manages the mobility of the mobile device. It hands over the mobile
host to the next access point when the mobile host changes location.
The fixed computer is not aware of the segmentation as the access point acts as a
proxy.
When the fixed computer sends the data packet, the access point acknowledges it and
relays it to the mobile host. The mobile host sends the acknowledgement which is
received by the access point.
If the data packet is lost between mobile host and the access point, the access point
retransmits the packet (when it does not receive the acknowledgement from the
mobile host).
When the mobile host sends the data packet to the access point the access point sends
the acknowledgement to the mobile host. When a transmission error happens, the
mobile host notices it and resends the packet.
The access point forwards the data packet to the fixed computer through the wired
network. Any transmission errors in this delivery is handled by the access point.
6
Mobile Computing
During the handover of the mobile host from one access point to another, the state
(sequence number, acknowledgement and others) is migrated to the new access point.
The fixed computer does not see any changes. We have depicted the process in figure 3.
The corresponding host (fixed computer) is abstracted from the changes to the
mobile host and hence can work seamlessly.
The indirect TCP is easy to manage and control as there is a single hop between
mobile host and the access point.
The indirect TCP is fault tolerant as the transmission error between mobile host and
the access point does not propagate to the wired connection. When the transmission
error happens between mobile host and the access point, the mobile host detects it
quickly and retransmits the packet.
7
Mobile Transport Layer
The access point (foreign agent) buffers all the data that needs to be sent to the
mobile host.
The access point also snoops the acknowledgments and data packet flow in both the
directions.
The access point buffers each data packet till an acknowledgement is received.
If the access point does not receive the acknowledgement from the mobile host, it
retransmits the data packet from the buffer. The buffering improves the data
transmission performance as compared to the retransmission from the corresponding
node.
The access point does not acknowledge the transmission to the corresponding node
but filters the duplicate acknowledgements to avoid the duplicate data transmission
from the corresponding node.
In case of failure of access point, the corresponding node triggers the data packet
retransmission when the access point times out.
When the mobile host transmits the data to the corresponding node, the flow is as
follows :
The access point snoops the packets transmitted from the mobile host.
If the sequence number is not correct or if any of the data packets is missing, the
access point sends negative acknowledgement to the mobile host.
The access point transparently handles migration of mobile to the new location.
Mobile TCP splits the traffic into two parts. The standard TCP is used for connection
between supervisory host and the corresponding node. The optimized TCP is used
between mobile host and the supervisory host. In the mobile TCP the supervisory host
assumes the role of a proxy in the Indirect TCP by transmitting the data on both the ends.
We have depicted the mobile TCP in Figure 5.
As the wireless link has low bit error rate, the supervisory host does not cache or
buffer the data.
When the packet is lost during transmission to the mobile host, the corresponding
node has to retransmit the data packet.
The supervisory host monitors the packets sent to the mobile host. The supervisory
host forwards the acknowledgements to the mobile host.
If the supervisory host does not receive an acknowledgement from the mobile host, it
is assumed that mobile host is disconnected.
The supervisory host sets the corresponding node’s window size to 0 to make the
sender go into persistent state. This ensures that sender’s state will not change even
though the mobile host is disconnected for extended duration.
In the persistent state, the sender will not retransmit the data when the mobile host is
disconnected for extended duration.
When the mobile host becomes active, the supervisory host reopens the window and
sets it to the old value of the corresponding node.
The corresponding node can start transmitting the data to the mobile host.
The mobile host uses optimized TCP to recover from packet loss quickly.
9
Mobile Transport Layer Advantages of mobile TCP
The mobile TCP maintains the end to end TCP semantics as the supervisory host
does not send any acknowledgement itself but forwards the acknowledgement to the
mobile host.
When the mobile host is disconnected, the mobile TCP eliminates unnecessary data
retransmissions by setting the sender’s window to 0.
As the supervisory host does not buffer any data, there is no need to migrate the
buffer data to the new supervisory host.
7.6 SUMMARY
UDP is a connectionless transport layer protocol. UDP is unreliable as it does not wait
for acknowledgements and is used for faster transmission of data. In UDP, the requestor
sends the request and sender sends the response data continuously. UDP header consists
of source port, destination port, length and checksum. Streaming, low latency
applications, multicast, DNS servers, DHCP are use cases for UDP. Transmission
Control Protocol (TCP) is a connection oriented, full-duplex data transmission protocol
that provides assured delivery, reliability. TCP handles re-transmission of the lost
packets, dropped packets or garbled packets to provide error-free transmission. The
three-way handshake of TCP involves Syn, Syn ack and ack. Segment number, flow
control, error control, congestion control are key advantages of TCP. TCP header
consists of Source port address, destination port address, sequence number,
acknowledgement number, HLEN, control flags, window size, checksum and urgent
pointer. SSH, File transfer protocol (FTP), SMTP, HTTP are main scenarios for TCP.
Indirect TCP segments the TCP connection into wireless and fixed parts. The snooping
TCP that enhances the TCP maintains the end to end TCP connection intact. Snooping
TCP buffers the data at the access point and retransmits the data during the packet loss.
In snooping TCP, the access point snoops the acknowledgments and data packet flow in
both the directions. The mobile TCP aims to make the window size to zero and handle
the mobile host getting disconnected. Mobile TCP splits the traffic into two parts. The
standard TCP is used for connection between supervisory host and the corresponding
node.
7.7 SOLUTIONS/ANSWERS
11
Database management
UNIT 8 DATABASE MANAGEMENT ISSUES IN issues in Mobile
Computing
MOBILE COMPUTING
8.0 Introduction
8.1 Objectives
8.2 Mobile Device Database Management
8.2.1 Brief Details About Database Management System
8.3 Mobile Device Data Store Methods
8.4 Client Server Computing With Adaptation For Mobile Computing
8.5 Adaptation Software For Mobile Computing
8.6 Summary
8.7 Solutions/Answers
8.8 Further Readings
8.0 INTRODUCTION
We store the business data in a database management system. With the explosion
of various devices and increase in users’ access to the Internet, the data volume
has exploded in the recent past. The application stores the core application data,
configuration data, transaction data and other business data in the database
system. Few applications also store the log data and audit data in the database.
As mobile has become the primary gateway for Internet access, the importance of
mobile database has grown exponentially. Modern application architectures use
offline-first approach where mobile applications store the data in the local
database on the device for providing enhanced user experience during network
issues. Mobile applications also use device database for storing the user profile
data, cached data, configuration data and other details.
Normally the data is stored in files or in memory cache or in the database. For
instance, a mobile device stores the pictures in the local device folder in the file
format. As mobile devices are not always connected to the network we need to
ensure that data is available in the offline mode.
In this unit we shall examine the key database management issues in the mobile
computing
8.1 OBJECTIVES
After going through this unit, you should be able to
• understand key concepts of database,
• understand various types of databases,
• understand the issues with mobile data management,
• understand various data store methods for mobile,
• understand the client server computing for mobile computing, and
• understand adaptation software for mobile computing.
1
Database Management
Issues in Mobile 8.2 MOBILE DEVICE DATABASE MANAGEMENT
Computing
In this section we discuss the brief details of database management for the mobile
computing.
Each data record is organized as a database row. We store the entity data in a
database table. The properties of the entity are managed as attributes. Lets
consider a simple example of representing the student entity in the database table
In the above example we have depicted various attributes of student entity such as
studentid, studentname, studentphone and studentaddress. We also have two rows
representing two data records.
We can perform various operations on the data stored in the database. We have
given the key operations:
• Query operation – we can query the structured data from the database table.
We can also filter the data using a conditional operator.
• Insert operation – We can insert the data into the specific table using the insert
operation.
• Delete operation – We can delete a row(s) from the database based on the
condition.
We can establish a foreign key relationship with other tables when two entities
are related. For instance, lets consider a course table as below
CourseId CourseName
1 Computer Science
2 Electronics & Communication
If we need to associate the students to the courses, we can introduce a foreign key
to the Students table as shown below
2
StudentId StudentName StudentPhone StudentAddress CourseId Database management
issues in Mobile
123 Student1 1231231234 Bangalore 1 Computing
456 Student2 1234123456 Delhi 2
We have now introduced the CourseId foreign key to the student table. We can
associate the student to a course using the foreign key. We can filter the data to
using the foreign keys; for instance in the students table we can query all the
students who have taken up Computer Science course by joining the Students
table with Courses table and matching the CourseId.
Types of databases
There are various kinds of databases. We can use the most appropriate database
based on the use case. Given below are the some of the most popular databases
• Relational database: The data is stored in tables which are related to each
other. For structured data use cases such as financial data we use relational
database. MySQL, Oracle, MS SQL Server are some of the popular
relational database systems.
• No SQL database: The database schema/model is flexible in No SQL
database. We can store the session data, shopping card data in No SQL
database. MongoDB, DocumentDB are few examples of No SQL database
engines.
• XML Database: We use the XML tags as the keys in the XML database.
We can use the XML database to manage the key value pair use cases.
We shall look main architecture patterns for mobile device data store methods.
In this architecture model, the mobile app directly interacts with the embedded
database on the mobile device. We could use embedded mobile database such as
SQLLite which stores the frequently access mobile app data. The embedded
mobile database stores the core application data such as business data, location
data, user data that enables the mobile app to be operated in the offline mode as
well.
4
Database management
issues in Mobile
Computing
In single tier mobile database architecture, the entire mobile app data is hoarded
within mobile device.
Multi-Tier Architecture
In a typical multi-tier architecture, the mobile app uses the data stored in the
remote database through APIs. Figure 2 depicts a multi-tier architecture. The
mobile app in tier 1 invokes the business services in tier 2 which gets the data
from the database in tier 3.
The mobile app can optionally cache the retrieved data locally in a cache or a
database. This reduces the overall latency in invoking the data from the remote
database. We have depicted the local caching architecture in Figure 3.
The local cache in Figure 3 periodically synchronizes the data from the remote
server so that the mobile app can invoke the data faster.
Caching Patterns
In the multi-tier architecture the mobile app caches the data to reduce the overall
latency. The general thumb rule for the data to be cached is the access probability
of the cached data. If the data is regularly accessed (for instance user detail
information or static information that is displayed on each mobile screen) then it
is an ideal cache candidate.
Broadly there are two methods to populate the cache. In the first method the
mobile app pulls the required data from the remote server and caches that data.
The mobile app can pull the most frequently used data to reduce the overall
latency. The second one is the push method where the server pushes the data. The
push is mainly used by the server to synchronize the server data with the client
data. Among the push and pull methods, the pull method is optimal as only the
required data is pulled when it is required.
We have depicted the pull pattern of caching in Figure 5 where the mobile client
pulls the cached content from the systems.
Another caching technique is the pre-fetch wherein the mobile app prefetches the
data in advance in anticipation of its need. For instance if the mobile user has
visited the product list page, the mobile app can prefetch the product details in
anticipation of mobile user visiting the product details page.
When the mobile app does not find the required data in the local cache it is called
“cache miss” and the mobile app has to go back to the server to get the required
data.
In the mobile computing, the mobile apps are equivalent to the client applications.
As mobile devices have limited resources such as memory, storage they retrieve
the data from the servers. We have depicted a 4-tier architecture in Figure 6
where mobile is the client application
8
The 4-tier architecture depicted in Figure 4, the mobile app interacts with the Database management
issues in Mobile
business layer through HTTP or HTTPS. The mobile app invokes the business Computing
services through modern architecture patterns such as REST over HTTP. The
business layer centralizes the business logic processing and uses the appropriate
APIs in the API layer. The API layer is the single interface for all backend
integrations. The API layer provides APIs to retrieve the data from enterprise
database, from web services and from ERP services. To retrieve the data from
enterprise database, the API layer uses JDBC calls. The enterprise data is stored
in the centralized enterprise database. In the 4-tier architecture, the mobile app
can also cache or hoard the data locally to improve the performance. The local
cache or database on the mobile device synchronizes with the remote server using
synchronization server.
In a typical n-tier architecture each layer has distinct responsibilities and handle
single concern. This architecture design is called “separation of concerns” and
“Single responsibility principle” These principles helps in building the decoupled
architecture where each layer can be scaled independently.
The adaptors convert the data from the standard format into the format needed for
the APIs and interfaces.
9
Database Management As shown in Figure 6, we mainly need two adaptors. The first adaptor that
Issues in Mobile
Computing
converts the data received from the synchronization server to the mobile database.
This database adaptor is present in the mobile end.
The second adaptor is at the remote server which converts the data from the
remote database to the synchronization data.
8.6 SUMMARY
In this unit, we started discussing the core concepts of the database. In SQL
databases the data is managed in a structured schema. Key values are stored in
NoSQL databases. In single tier architecture for mobile computing, the mobile
app directly retrieves the data from the embedded database. In the multi-tier
architecture, the mobile app retrieves the data stored in the remote database
through APIs. Caching can be mainly done using push method wherein the server
pushes the data to be cached to the client and pull method wherein the client pulls
the data to be cached from the server. In a typical n-tier architecture in mobile
computing the mobile app retrieves the data through APIs.
8.7 SOLUTIONS/ANSWERS
Check Your Progress 1
1. NoSQL
2. transaction
3. explicit
4. implicit
Check Your Progress 2
1. directly
2. remotely
3. push
4. pull
5. stateless asynchronous
10
Database management
8.8 FURTHER READINGS issues in Mobile
Computing
References
11
UNIT 11 VIRTUAL AND CLOUD NETWORKS Mobile Computing
Structure
11.0 Introduction
11.1 Objectives
11.2 Wireless Enterprise Network
11.2.1 Features of wireless enterprise network
11.2.2 Components of wireless enterprise server
11.3 Virtual Network
11.3.1 Parameters of virtual network
11.3.2 Types of virtual network
11.3.3 Advantages of virtual network
11.4 Mobile Cloud Networks
11.4.1 Cloud Storage services
11.4.2 Cloud compute services
11.4.3 Software as service (SaaS)
11.4.4 Cloud based business applications
11.4.5 Cloud based database
11.5 Summary
11.6 Solutions/Answers
11.7 Further Readings
11.0 INTRODUCTION
Wired and wireless network is by enterprises and end users for accessing information
and for performing the tasks. Network enables users to access the required
information faster and scale the information access to millions of users.
Mobile device is now all pervasive impacting the daily lives of billions of users.
Mobile devices communicate with Internet and Intranet networks for accessing
information and for user collaboration. Mobile devices also heavily use public cloud
for storage, computing and for secured database.
11.1 OBJECTIVES
After going through this unit, you should be able to
understand key concepts of wireless enterprise networks,
understand security of wireless enterprise networks,
understand key concepts of virtual network,
understand key concepts of mobile cloud network.
The enterprise needs to provide secured access to its data meaning that users need to
authenticate to access the private data. Post authentication, users should have suitable
permissions to access the relevant content. 1
Virtual and Cloud
Networks
Enterprises use wide variety of servers, mainframes, firewalls network devices (such
as routers), databases to manage and deploy the applications. The core APIs and
services are built on top of the existing applications.
Wireless enterprise networks provide secured access to the enterprise data and
services wirelessly. For instance the employee access the corporate network wirelessly
through the mobile apps (such as calendar, corporate email, corporate paging systems)
is an example of wireless enterprise network.
Given below are few examples of enterprise applications that normally uses the
enterprise wireless network –
Enterprise Email mobile app
Enterprise secured browser
Enterprise calendar mobile app
Enterprise Intranet portal accessible on mobile device
Enterprise paging system
Enterprise user onboarding mobile app
Essentially the mobile apps that access enterprise data and enterprise services use
wireless networks.
2
Mobile Computing
Enterprises adopt layer-wise and defence-in-depth security model wherein the security
policies are implemented at each level. At the enterprise server level, the application
allows only the authenticated users. Post authentication, fine grained security is
enforced wherein the enterprise authorizes the access to the specific business
functionality based on the logged-in user’s role and access level. Additionally, the
application server logs all the key events (such as password change, login failure and
such) to the log files. We also use middleware systems such as Mobile Device
Management (MDM) systems that enforce security policies on the end user devices.
The security policies enforce the security policies such as access location, device
patch level and such.
We have grouped the components into various categories such as security, mobile
management, collaboration services and other services.
3
Virtual and Cloud In the security category, the wireless enterprise server provide user group and role
Networks
based access to various services (such as configuration service, administration service
and others). The server should also generate the encryption keys that are used for
encryption and decryption. The enterprise server also defines various security
policy(such as geo-location restriction) and provides the secured administration
access. The security policy server pushes the security policies to the mobile devices.
As part of mobile device management (MDM), the enterprise server provides device
attachment features wherein the enterprise users can securely register their mobile
devices. As part of the device attachment, enterprise users have to provide mobile
device details such as mobile OS and mobile identifier. MDM module defines the
mobile device compliance rules (such as patch versions) and regularly performs the
compliance checks such as mobile OS patch version. MDM also securely open the
documents of various formats. MDM also supports other features such as remote wipe
The enterprise server also provides the collaboration service wherein an instant
messaging software for users to collaborate among themselves. We could also
leverage the connectors that can connect to various third party services such as web
services or databases. The synchronization services synchronize the calendar and
email on the end mobile devices. Virtual assistants provide chat bots service that users
can use to get the information quickly.
The enterprise server provides various other services such as the following –
Database service to store the user profile and user data
Email service to manage the user emails
Push notifications for the mobile device
Alerts for the enterprise users
Over the air backup and updates
Router service to connect the mobile devices to the wireless network
Backup service for data backup
4
The physical network uses cables and wires to connect the networks and virtual Mobile Computing
network extends the features by using software to manage the routing,
communication, security and such.
Virtual network is a software-based network that allow different domains or devices
to connect to each other over physical network. The communication happens across
virtual devices and routers through software-based network. The virtual networks use
the same principles of physical network but with reduced operating and maintenance
cost.
Enterprises can build virtual network spanning different data centers helping me to
build more resilient, fault tolerant and make them more secure. Enterprises can also
modify the security rules and network rules easily in the virtual network.
Machines running different operation system (such as Windows, Mac etc.) can do the
remote connection using Virtual Network computing (VNC) platform. VNC platform
enables the client and server machines to do the remote share of the desktop using the
remote frame buffer (RFB) protocol.
5
Virtual and Cloud
Networks
11.3.2 Types of Virtual Network
Given below are popular types of virtual network –
VPNs connect devices over Internet securely (for instance, using encrypted data over
IPSec tunnels). VPN allows the home computers or on the go devices to security
connect to the corporate Intranet. There are different types of VPN –
Site to site VPN wherein we connect two networks using VPN that can be used to
connect corporate office to all its branch office networks.
Client VPN wherein a client device connects to the corporate network securely
VLAN segregates the local area network (LAN) into different groups and broadcast
domains using software for better security, monitoring and manageability. VLANs
provide more control over the network traffic and devices. VLANs also helps in
securing the data reliably.
Virtual networks are the main elements of public cloud platforms that provide
hyper scalability and high availability.
Virtual networks reduce the cost due to the software based segregation.
Public cloud platforms are hyper scalar platforms that provide elastic scalability,
unlimited storage, high availability and high resilience at lower cost. Public cloud
platforms provide highly available network and infrastructure services. Most of the
smart phones leverage multiple cloud services to provide seamless user experience.
In this section we shall examine the main cloud services that modern-day smart
phones leverage
6
11.4.1 Cloud Storage Services Mobile Computing
Leveraging the cloud storage service is one of the primary use cases for smart phones.
As users heavily use smart phones to store photos, media files, the smart phones
backup the photos, albums and media files to the cloud storage service for high
durability and high availability.
One of the main examples is the cloud drive service offered by Android mobile
devices. Users of Android mobile device can backup their media files into Google
Drive. Similarly Apple iPhone users can backup their storage on Apple’s iCloud
services.
In addition to photos and media files, the mobile device also backups contact details,
calendar, files, call history, app installation details to the cloud service.
For such use cases, the smart phones send the photos and videos to the cloud services
in real time and cloud compute services run the machine learning inferencing jobs and
send the results back to the smart phone in real time.
2. ________ is responsible for routing the traffic between virtual network and
the underlying physical network.
3. ______is the gateway allowing all virtual machines to connect to the network.
7
Virtual and Cloud
Networks
11.6 SUMMARY
In this unit we started by discussing the concept of wireless enterprise network.
Applications such as email, calendar, Intranet portal use the enterprise wireless
network. The main features of wireless enterprise network can be categorized into five
main categories – security (secured communication), fine-grained access (role based
access to service), resilience (recover from failure), scalability (on-demand scalability)
and perimeter security (firewall based traffic filtering). The enterprise wireless server
components can be grouped into various categories such as security, mobile
management, collaboration services and other services. Virtual network is a software-
based network that allow different domains or devices to connect to each other over
physical network. Virtual network provides high scalabilty, greater flexibility, high
availability with lower cost. The main parameters of virtual network are virtual
switch, physical network, virtual network adaptor, servers, firewalls and virtual
machines. The main types of virtual network are Virtual private network (VPN) and
Virtual Local Area Network (VLAN). Mobile devices mainly use the storage,
compute, Software as service, business applications and secured database of public
cloud platforms.
11.7 SOLUTIONS/ANSWERS
Check Your Progress 1
1. resilience.
2. device attachment.
3. Mobile device management.
4. Collaboration service
Check Your Progress 2
1. software-based.
2. Virtual switch
3. Virtual network adaptor
4. Compute
5. business application
8
Mobile Computing
12.0 INTRODUCTION
Mobile devices are used for various use cases in our daily lives. We use mobile devices
to chat with our friends, to take pictures, to send and receive emails, play games, navigate
through maps, to attend online meetings and such. Modern day smart phones provide
machine learning (ML) and artificial intelligence (AI) enabled features such as vison,
image recognition, augmented reality and many other features. Customers, enterprises,
businesses all use mobile apps to deliver information, services and to share resources.
The mobile device accesses the services over the Internet and uses enterprise
applications, cloud databases and other services. To provide constant connectivity and
data access mobile device has to be in constant touch with the access points.
In this chapter we discuss the mobile data management, data replication and adaptive
clustering related to mobile device.
12.1 OBJECTIVES
After going through this unit, you should be able to
understand key concepts of mobile data management,
understand data replication schemes,
understand key concepts of adaptive clustering
Mobile devices manage the data required for its services and apps locally as well on
remote secure cloud databases. The mobile data includes the contact list, photos, media
files, conversations, documents, game data and such. Mobile device stores these files in
local database and also regularly synchronizes the files with the remote database.
1
Mobility, Portability, A mobile app might use the data that is distributed across various databases. For instance,
Replication and a gaming mobile app might use the authentication service from the enterprise’s active
Clustering
directory and it might use the cloud database to persist the game details (such as game
levels, game points for a given user). Hence the mobile device has to process the queries
for distributed databases. We have depicted a mobile computing system in Figure 1 that
uses distributed services and database across cloud platform and corporate data center
and business services.
Figure 1 Mobile computing system that uses services distributed across cloud and data
centre.
In Figure 1, the mobile app is connected over secured network to the cloud platform,
corporate data center and business application that is exposed as software as service
platform.
The mobile app provides shopping experience to the end user and connects to AWS
(Amazon Web Service) cloud platform for backend processing. To start with, the
shopping mobile app authenticates the user against the active directory hosted in the
corporate data center. Once the user is successfully authenticated, the product details and
user search results are fetched from the backend severs hosted in the AWS. The product
list and product search APIs are hosted in the AWS API Gateway that internally uses the
Lambda functions and backend servers to get the required information. The backend
servers and the Lambda function retrieves the information from the AWS RDS database
service. The mobile app users use the email service hosted as software as service
platform. In this example, the shopping mobile app has to query against three separate
systems and process the information retrieved from these systems.
Mobile app has to manage the data from various sources in its local database. We have
given the popular mobile databases below –
SQLite is one of the most popular mobile databases as it can efficiently store and
process different formats of data. SQLite can run in the mobile devices as it uses
minimal resources.
AWS DynamoDB is one of the most popular NoSQL databases that can efficiently
store the key-value pair data. Mobile apps use AWS DynamoDB to store the session
data, shopping cart data and other key-value data pair.
MongoDB is a popular opensource database for storing and efficiently managing the
documents.
2
Mobile Computing
Redis is a popular caching platform that can manage the frequently used data for use
cases such as leaderboards, gaming applications.
Neo4J is a popular graph database that can efficiently query the relationship between
data.
Data Synchronization
The data has to be stored be stored in the local database as well on the remote database.
We need to design the efficient data synchronization process to synchronize the local
data with the remote database on the cloud.
Transaction Management
As the mobile apps work with distributed databases, maintaining the data integrity, ACID
(atomicity, consistency, integrity and durability), strict consistency and the correlation of
data across all the databases becomes a challenge.
Data processing
The mobile apps need to identify what data that needs to be processed on the client side
and what data has to be processed on the server side. The data that needs heavy duty
processing has to be done at the remote server end to ensure high performance.
Network Connectivity
Due to the dynamic nature of the mobile network, the mobile apps need to handle the
data management in unpredictable network conditions. One of the popular approaches is
to use offline-first approach wherein the data is stored locally during low network
scenarios and it will be synchronized with the remote database when the network
stabilizes.
Data Security
The data at rest and data in transit has to be secured through encryption, transport level
security and other mechanisms.
Mobile apps need to handle the queries that are location dependent and need to manage
other dependencies.
Resource management
As the mobile device has limited compute, storage and battery capacity, the mobile app
has to manage the data within these constraints.
Given below are the main factors of wireless communication that impacts mobility –
The network bandwidth and the signal strength based on the location.
As mobile devices are resource constrained, the mobile devices need to manage the large
amount of data generated by the mobile apps that require large storage and heavy-duty
data processing.
Data portability involves replicating or moving the data across different servers,
environments and across different operating systems.
Given below are the core best practices for handling mobile portability –
Store the frequently used data in local data store (such as in SQLIte database) and
synchronize the data from local data store to cloud database on frequent basis.
Backup the local data to remote servers on regular basis (such as for photos, videos
and media files)
Centrally store the core data (such as contact list, browser bookmarks, chat
conversations) for security reasons.
Use an open-standard data format to provide flexible and extensible data replication
(such as using JSON or XML file formats).
Adopt offline-first approach to manage data locally when there are no networks.
5
Mobility, Portability, Data replication is a mechanism wherein the data on the mobile device is replicated to
Replication and another computer or device or remote cloud server. If the copied data changes in the
Clustering
target (such as remote cloud server), the updated data is replicated back to the mobile
device. In summary the changed data is synchronized across all the devices.
In a one-to-many replication scheme, the user copies the data to the centralized server
which then replicates the data to various mobile devices as depicted in Figure 3. An
example of one-to-many data replication is the security policy replication between an
organizational server and all the manged mobile devices belonging to its employees.
6
Mobile Computing
Data synchronization task - We need to design the data synchronization job that
handles the incremental data replication across devices. The data synchronizer task
has to synchronize the data at specified time intervals.
Data merging and conflict resolution – During many to many data synchronization as
the data from multiple device needs to be synchronized, the synchronizer has to
handle the conflict resolution (when the same object has been updated
simultaneously by two different devices) and data merging (merging the changes). 7
Mobility, Portability,
Replication and Data security – The data replication job should also ensure that data is securely
Clustering
copied to the target locations.
Handling data schema changes – Different domains have different data schemas and
as such the data replication job has to ensure that a common schema based on open
standards (such as JSON or XML) is used for data replication.
Handling data conversion – Due to the heterogenous nature of the devices, the data
may need to be converted during the data replication process.
In full replication the entire data is replicated across devices. For instance, the mobile
device copies all the images from the device to the cloud drive. In the partial replication,
only the limited set of data to the target device. For instance, the mobile device replicates
only the data updated on the day to the central server on daily basis.
In traditional client-server kind of scenario, the server pushes the data on a frequent basis.
The client device caches the pushed data in its local data store and uses the data for its
mobile apps. The client mobile device regularly pulls the updated data from the server.
An example for this model is a gaming mobile app wherein the game mobile app running
on the local device gets the complete set of game rules during the one-time setup. Post
the mobile game app installation, the app regularly pulls the updated game rules from the
centralized rules database on daily basis. This method is also known as “one-to-many”
communication wherein a single server pushes the data and many clients pull the data.
The second model of synchronization is that a single device will pull and push the
information as in the case of peer-to-peer communication. An example for this model is a
peer-to-peer sharing mobile app that shares the data and files to another mobile device.
In order to conserve the consumed energy, the mobile devices communicate with its
nearest neighbors instead of transmitting the signal to all the mobile devices. By
localizing the communication, we can optimize the latency and conserve the energy.
Cluster formation
Various factors such as the mobile device’s signal strength, distance, communication
protocols, network load are used along with clustering algorithms (such as distance based
clustering, traffic load based clustering, mobility based clustering) to create the clusters.
Device communication
Post cluster creation, the mobile devices in a given cluster communicate directly. To
communicate with other clusters the mobile devices use cluster heads that act as gateway
to across the clusters.
Cluster reconfiguration
The cluster is re-adjusted dynamically based on the changing conditions. For instance, if
the mobile device moves out of the location range, the mobile device is removed from the
cluster and added to a new cluster to ensure optimal performance and optimal energy
consumption.
1. In _____ replication method, the data from the server or PC and gets replicated
to the mobile device.
2. In ______replication method, the data from a centralized server replicates the
data to various mobile devices.
3. In _____ replication method bi-directional replication happens across various
devices.
4. In __________replication, the data is replicated continuously in real time.
5. _______ clustering is a dynamic grouping of mobile devices to improve
performance and optimize the energy consumption.
9
Mobility, Portability,
Replication and 12.5 SUMMARY
Clustering
In this chapter we discussed various concepts related to data handling schemes of mobile
devices. Mobile devices use data distributed across various datastores. Mobile app uses
various database such as SQLite (for managing data locally), MongoDB (for document
management), Redis (for caching), DynamoDB (as NoSQL database for key-value pair),
Neo4J (for graph use cases). The main challenges in mobile data management are Data
synchronization , Transaction management ,Data processing, Network connectivity, Data
security, Managing location dependency and Resource management. Varying
bandwidth, varying power consumption, handling transactions, handling data backup
jobs are the key Challenges and issues during mobility. The core best practices for
handling mobile portability are local data caching, data encryption, data backup, open
standards, caching. The three kinds of data replication methods are one-one, one-to-many
and many-to-many. Adaptive clustering is a dynamic grouping of mobile devices to
improve performance and optimize the energy consumption.
12.6 SOLUTIONS/ANSWERS
Check Your Progress 1
1. mongodb.
2. Neo4j.
3. Redis .
4. Data synchronization
Check Your Progress 2
1. One-to-one.
2. One-to-many
3. Many-to-many
4. synchronous
5. adaptive
https://en.wikipedia.org/wiki/Network_virtualization
https://en.wikipedia.org/wiki/Cloud_computing
10
Mobile Computing
13.0 INTRODUCTION
13.1 OBJECTIVES
After going through this unit, you should be able to
understand key concepts of mobile data management,
understand data replication schemes,
understand key concepts of adaptive clustering
Understand the mobile device support infrastructure.
At the server end, we have the server components such as load balancer and web
servers. The web server runs a microservice that validates the data and stores the
data in the database. During the registration process the system also generates a
unique customer registration id.
The Smart client sends the request to the server which aggregates the response
from various data stores. Optionally we use gateways at the sender end and at the
1
Smart Client and
Enterprise Server Based receiver end which is responsible for data transmission, protocol conversion and
Architecture data transformation.
There are multiple ways to develop client software for mobile platforms. In this
section we discuss the three main approaches.
The thick client architecture encompasses all the tier components in a single
structure. We have depicted the thick client in Figure 1. Given below are the
main tenets of thick client architecture –
The solution components of all tiers are present as part of single thick client
Thick client does not communicate online to get the data required for the
application to function.
The thick client components are tightly coupled.
An example for a thick client is a mobile gaming app that has the components
from all the tiers in a single app. The gaming app does not use online services.
Thin client invokes backend services for all the required information.
The data required for the presentation is retrieved through the backend service
call.
An example of thin client architecture is the web platform that invokes backend
services for all the required data.
Smart client applications are thin clients that use local database storage for
managing the data. Smart clients enable us to implement offline-first approach
wherein the applications work in limited network conditions and during no
network conditions by using the local storage. Smart clients synchronize the data
to the servers when the network is available. Smart client applications are also
called rich internet applications as they provide engaging user experience. For
instance, a gaming mobile app that ranks the players based on their game score,
stores the game score in local database when the network is not available and
later synchronizes to the server when the network becomes available.
We have given the smart client architecture in Figure 3. Given below are the key
tenets of the smart client architecture –
The smart client runs on the mobile device and connects to Internet through
mobile carrier.
The data is retrieved from the database server and synchronization server
synchronizes the data across database instances.
The performance of the smart client is optimized as it uses local data cache.
3
Smart Client and
Enterprise Server Based The main challenge in the smart client is the heterogeneity of the mobile
Architecture platforms. Normally popular mobile smart clients are developed in both android
and Apple iOS platforms. Alternatively, we can use hybrid mobile platforms
such as Kotlin.
Given below are the main advantages of the smart client architecture -
It provides rich user interface
Provides effective user experience
Leverages the native mobile features such as camera, sensors and such
Ensure high security
Can work in low bandwidth conditions
Provides the rich user experience of thick client and the light weight design of
the thin client application.
The user interface of smart clients should engage the end user. We have given the key
design goals for the smart client user interface –
The user interface for smart clients use various pattern such as atomic design pattern,
client-side UI composition pattern and such. In these patterns we create the larger (or
higher order) user elements using smaller and reusable library of user elements. For
instance, the mobile screen consists of form and menu UI elements. The form UI element
is further composed of text items, drop-down list, radio button, submit button, checkbox
and other reusable library of UI elements.
The advantage of using atomic design pattern and client side UI composition pattern are
as follows
The data format in the source device (such as mobile device) and the target device (such
as remote server or PC) might be different. In such case we need to convert the source
file format into the target file format.
The data synchronization can be scheduled or automated or can be user based. We can
schedule the data synchronization from the mobile device to the remote server based on 5
Smart Client and
Enterprise Server Based the importance of the file. We can also specify the auto-synchronization policy. For
Architecture instance, when the mobile device connects to the PC through USB, the data is
automatically synchronized. The mobile user can also choose to selectively synchronize
the data of interest. The user can look at the update report that details the
updated/deleted/added data on the source and target device and then chose to synchronize
the data. The user can also use conflict resolution policies to update or override the data
if the data is updated both on source and the target.
When we synchronize the data to the database record we can update individual table rows
which are updated. For instance, we can update only the phone number of the user when
the user changes the mobile number.
Each of the mobile device has its own format for specific functions. Given below are few
examples
Android platform supports AAC LC, MIDI, MP3 for audio whereas Apple devices
support AAC (Apple audio communication).
Android uses vCalendar file format for calendar. The calendar can optionally contain
vtodo, vjournal components.
6
Mobile Computing
Two-way synchronization
For instance, when the user adds a new contact in the mobile device, the updated contact
details are synchronized with the remote server when the mobile device connects to the
server. Similarly if the remote server has an updated patch file, it synchronizes with the
mobile device.
Mobile client that interacts with the mobile computing ecosystem by invoking APIs
Mobile carrier that provides necessary network coverage for data transmission.
A local PC or remote sever that connects to the mobile client for data backup.
A resource such as Bluetooth speaker or a smart TV to which the mobile client
connects.
The mobile client employs multiple usage models to synchronize the data with the
mobile computing ecosystem. We have detailed the main usage models in this section.
In this method of synchronization, the mobile client API synchronizes the data with a
remote server or a resource through API running on the target device. We have depicted
the API based synchronization in Figure 4.
For instance, a user profile management API running on the mobile device synchronizes
the user profile updates to the remote server.
8
Mobile Computing
Synchronization to nearby PC
In this method the mobile device synchronizes the data with the nearby device such as
personal computer (PC) or a Bluetooth device. We have depicted the synchronization in
Figure 5.
For instance, the mobile device client synchronizes the files or music videos to the
nearby PC through USB or Bluetooth.
The mobile device also should work transperently from the device management team.
When the mobile device starts up, it should register itself to the network. The mobile
device should perform activities such as setting up the communication, initiating the call,
terminating the call, closing the communication and such. We have depicted the mobile
support infrastructure in Figure 7.
1. The mobile computing system (such as mobile devices) connect to the device
gateway. The device gateway acts as an intermediator between the mobile client and
the device management server.
2. The device management server assigns a unique id to all the registered mobile
devices. The mobile device details are tracked using the unique id. If the mobile
device moves to a different location, the id is changed accordingly.
10
Mobile Computing
4. Through the Internet the mobile device can connect to enterprise data center (which
is hosting the enterprise database and services), enterprise cloud platform (which is
hosting the cloud services and servers) and business services (such as email, ERP
and such).
13.6 SUMMARY
In this chapter we discussed various kinds of mobile architecture. There are mainly three
types of mobile related architectures- Thick client architecture, think client architecture
and smart client architecture. The thick client architecture encompasses all the tier
components in a single structure. Thick client does not do server calls. Thin client
architecture involves minimal components on the presentation tier and invokes backend
services for the data. Smart client applications are thin clients that use local database
storage for managing the data. Smart clients provide rich user interface, effective user
experience and leverages native mobile features. The main data synchronization formats
are Open Standard Formats , Flat File format, Database format and Device specific
storage. The main synchronization types are Two-way synchronization (wherein bi-
directional synchronization happens between mobile client and the server),
Synchronization on server alert (wherein the server alerts client for synchronization),
Server initiated synchronization (wherein server initiates the synchronization when the
data is updated on the server end), Synchronization upon client request (wherein the
client requests the server to refresh its data) and Client initiated synchronization
(wherein the client synchronizes the data to the server). The main synchronization usage
models are API based synchronization, Synchronization to nearby PC and
Synchronization to remote server. The mobile support infrastructure mainly consist of the
device gateway, device management server and the Internet that connects to the
enterprise servers.
13.7 SOLUTIONS/ANSWERS
Check Your Progress 1
1. Thick client.
2. Local storage
3. frequent server calls
4. Open standards, device specific storage, flat file format and database format.
Check Your Progress 2
1. Two-way synchronization.
2. API based synchronization, Synchronization to nearby PC, Synchronization to
remote server, 11
Smart Client and
Enterprise Server Based 3. Server initiated synchronization
Architecture 4. Synchronization upon client request
5. Device gateway
12
Mobile Internet
UNIT 14 MOBILE INTERNET APPLICATIONS Applications
14.0 Introduction
14.0.1 Mobile Application Development\
14.0.2 Components Of Enterprise Application
14.1 Objectives
14.2 Introduction To Xml
14.2.1 Xml Database
14.2.2 Xml Parsing
14.3 Handheld Device Markup
14.3.1 Hand-Held Device Markup Language (Hdml)
14.3.2 Wireless Markup Language (Wml)
14.4 Hypertext Markup Language
14.4.1 Html5
14.5 Summary
14.6 Solutions/Answers
14.7 Further Readings
14.0 INTRODUCTION
Markup language will generate page layout , presentation components and enable
us to interact with the server. Mobile app is a software that runs on the mobile
device that provides the user interface for interaction.
For web pages the most popular markup language is HTML (hypertext markup
language). HTML defines the web page components so that the browsers can
render the web page as per the specification. HTML also posts the client requests
to the server and gets them server response.
Mobile applications use XML for managing the data. Mobile devices use that
networks like 3G 4G 5G and protocols like wireless application protocol (WAP)
to connect to the internet. The connecting devices use xml-based wireless markup
language (WML) for exchanging information.
Mobile application provides the mobile user with a graphical user interface and
intuitive interfaces to get the required information. Modern mobile applications
and use n tier architecture where the mobile app acts as a client and the server is
deployed on a remote machine the server managers are huge database and
provides API is to expose the data to the mobile client.
There are primarily two to main development platforms for mobile app iOS and
Android. Android mobile apps can be developed in Java and the iOS mobile apps
are developed in frameworks such as swift UI and UI kit.
How to develop the mobile app we need to follow the below given steps: 1
Mobile Internet 1. Select the mobile platform and the integrated development environment (IDE)
Applications
to develop the mobile app in the selected language.
2. Develop the screen designs user interfaces libraries and integrations for the
mobile app
3. Iteratively test the mobile app to ensure that the app conforms to the
specifications
4. Package the mobile application for the platform
5. Host and distribute the application to the app Marketplace
6. Deploy the application to the end mobile device
7. Monitor the mobile performance and other related metrics
Let us look at the structure of the enterprise applications in detail in this section.
We need to understand various layers of a typical enterprise application and the
responsibility of each of those layers
2
Mobile Internet
Applications
The detailed components for each layer for an insurance application is depicted in
Figure 3.
14.1 OBJECTIVES
After going through this unit, you should be able to
• understand key concepts of XML,
• understand various types of device markups,
• understand the details of WML,
• understand HTML5 standard
XML format is used in variety of scenarios. Firstly XML helps us to manage the
data in structured way using well-defined tags and attributes. We can also define
the information rules and constraints. XML is also used to share the data across
4
two systems using standard formats. Servers can push the data to the mobile Mobile Internet
Applications
clients using XML data format. We can also represent the object relationship and
hierarchies in XML format. XML can be used as a database where we manage the
information and XML can also be used to specify the commands, define the page
layout, specify the constraints, enforce the rules, establish the relationships
between entities. As XML is extensible, we can also add custom tags, custom
attributes and elements as part of the XML.
The XML represents a list of books where book is the main entity. The book
entity is represented by a <book> tag. Various properties of the book entity such
as name order and General or a presented by various attributes within the tag.
We can also define the schema for an XML. We can define various elements and
the constraints for the elements using XML Schema Definition (XSD). We use
XSLT (Extensible Stylesheet Language Transformations) to transform one XML
document into another. We can use data type definition (DTD) for XML file
validation. DTD can be used to specify the rules for the XML document; we can
specify rules such as root element, nesting structure and others using the DTD.
Many systems store the data in the XML database. As XML format is structured
and well-defined, it is also used to exchange the data across various systems.
Parsing an XML document creates hashtable of key value pairs. The password
understand the encoding used in an XML document validates the XML
documents and then passes all the tax and attributes in the XML document. The
parser gets the value mentioned between the tags and between the attributes. The
password uses DTD for XML validation. State various rules such as the constraint
validation the root element validation encoding using the DTD.
There are mainly two kinds of parsers – SAX parser and DOM parser. The SAX
parser is an event-driven parser that parses the XML data sequentially. The XML
tags are event sources. The SAX parser is faster as compared to the DOM parser
as the SAX parser need not parse the entire document.
The DOM parser uses the document object model (DOM) which is a tree-
structure representing the XML data. DOM parser parses the entire XML
document as a DOM tree and stores the XML information hierarchially. DOM
format supports xpath that can be used to query the hierarchical information.
The above XML file lists the details of students. To use the SAX parser we create
a model class for Student entity. The model class is essentially a POJO (Plain Old
Java Object) that stores the value of the student entity. In this case, we store three
attributes of the student – regno, firstname and lastname.
We have given the sample SAX parser code to parse the students data in the
above XML.
package com.example;
import java.util.ArrayList;
import java.util.Stack;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
//As we read any XML element we will push that in this stack
private Stack elementStack = new Stack();
//As we complete one user block in XML, we will push the User instance in
userList
7
Mobile Internet private Stack objectStack = new Stack();
Applications
//If this is start of 'student' element then prepare a new Student instance and
push it in object stack
if ("student".equals(qName))
{
//New User instance
Student s= new Student();
//User instance has been constructed so pop it from object stack and push in
userList
if ("student".equals(qName))
{
Student o = this.objectStack.pop();
this.studentList.add(o);
}
}
/**
* This will be called everytime parser encounter a value node
* */
public void characters(char[] ch, int start, int length) throws SAXException
{
String value = new String(ch, start, length).trim();
if (value.length() == 0)
{
return; // ignore white space
}
/**
* Utility method for getting the current element in processing
9
Mobile Internet * */
Applications
private String currentElement()
{
return this.elementStack.peek();
}
Handheld device markup language is type of markup language invented for small
wireless and handheld devices. The HDML is mainly used in the handheld
devices like PDA, mobile phones and others.
The start tag is HDML that indicates the start of the deck. Because you specify
the actions within HDML tag. Within each deck there are a list of cards that can
also specify the actions. There are various kinds of card elements such as display
card element, nodisplay card element and such. The detailed list of specifications
can be found at https://www.w3.org/TR/NOTE-Submission-HDML-spec.html
10
14.3.2 Wireless Markup Language (WML) Mobile Internet
Applications
WML is XML-based W3C standard for wireless devices. Similar to XML, WML
has DTD and XML-based syntax for specifying elements.WML supports script
where we can code loops, procedures and conditions.
The WAP browser that runs on a mobile device renders the WML cards. Similar
to a HTML page, each WML card has links, text, list and other elements as given
below:
• Images
• Tables
• Anchor elements
• Formatted text
• Scripts
• Events
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card id="home" title="Home Card">
<p>
Welcome to Home card
</p>
</card>
<card id="product" title="Product Card">
<p>
Welcome to the product card
</p>
</card>
</wml>
The WML deck has main cards as shown above. Each card has an id, title and the
content attributes.
We can format the HTML webpage using the style sheets. Various elements that
are as input textbox list links images buttons anchors tables 2 blocks frames forms
can be rendered using the HTML webpage. You can use JavaScript to inject
dynamic behavior into the webpage such as event handling request-response
management animation input validation form submission and so on.
11
Mobile Internet Cascading style sheets (CSS) define the style specification for HTML element.
Applications
For instance, the stylesheet specifies the width height alignment for an HTML
element.
The most popular HTML element is the form and input type. We can use
JavaScript to validate the form elements for us type validation length validation
and so on.
There are primarily two types of HTML pages static web page is the one where
the page content remain static until the page is edited. A dynamic web page
changes the content based on attribute such as the user input, user profile and
other details. We use the JavaScript to get the dynamic content for the dynamic
web page.
We have depicted the sample HTML code below. All the HTML elements are
declared within <body> element. The page heading is declared within <h1> tag
and the image is specified with <img> tag. The table is declared using <table>
tag.
<!DOCTYPE html>
<html>
<body>
<h1>Page Heading</h1>
<p>Sample Paragraph</p>
<img src="sample.jpg" alt="sample image" style="width:100%">
<table>
<tr>
<td>Row Data</td>
</tr>
</table>
<h2>Sample HTML list</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
<div style="border: 1px solid black">Hello World</div>
</body>
</html>
14.4.1 HTML5
HTML5 is the latest version of the HTML standard. It is enhancement over html4
that provides various instruments for multimedia edition real-time streaming and
web sockets. HTML5 provides interoperable specifications for current Browsers
and allows error handling features. HTML5 adds various elements for enhanced
page performance and User experience and it provides enhanced forms and form
controls.
HTML5 also provides audio and video HTML elements with controls for playing
seeking, pausing, aborting and others. We cab also do real time streaming using
HTML5 standard. HTML5 provides enhanced form and input types. The Canvas
element provides the ability for 2D drawing. HTML5 also provides scalable
12
vector Graphics for drawing. HTML5 also provides APIs for sending and Mobile Internet
Applications
receiving messages
14.5 SUMMARY
In this unit, we started discussing the main components of an enterprise
application. We looked at various layers and the layer-wise components of
enteprise application. We then discussed the XML format and the applications of
the XML standard. We discussed the SAX and DOM parser for parsing the XML
data. We then discussed the HDML and WML standards that is used in the
mobile devices. Finally we discussed various HTML elements and the
enhancements of HTML5 standard.
14.6 SOLUTIONS/ANSWERS
Check Your Progress 1
1. XSLT
2. DTD
3. SAX parser
4. DOM Parser
Check Your Progress 2
1. False
2. Cascading style sheets (CSS)
3. <h1>
4. JavaScript
5. <img>
13
Mobile Application
UNIT 15 MOBILE APPLICATION LANGUAGES Languages
15.0 Introduction
15.1 Objectives
15.2 Introduction To J2ee
15.2.1 Brief Overview Of Java
15.2.2 N-Tier Architecture In J2ee
15.2.3 Patterns And Design Considerations For J2ee
15.3 Introduction To J2me
15.3.1 Sample Java Program For File Parsing
15.4 Introduction To Android
15.5 Python And Other Languages
15.5.1 Swift
15.5.2 Microsoft Dot Net Framework
15.6 Summary
15.7 Solutions/Answers
15.8 Further Readings
15.0 INTRODUCTION
Mobile applications can be developed in various languages such as Java Python
and others. in this chapter we will look at some of them salient features of this
programming languages and sample code for developing mobile applications.
15.1 OBJECTIVES
After going through this unit, you should be able to
• understand key concepts of XML,
• understand various types of device markups,
• understand the details of WML,
• understand HTML5 standard
The Java code is compiled into bytecodes. The Java Virtual Machine (JVM) runs
the byte code on various platforms such as Linux, Windows and others.
In this section we discuss the key elements of n-tier J2EE architecture. Figure 1
depicts various tiers in a J2EE enterprise application. The presentation tier
provides components such as responsive design, personalization etc. The services
2 tier provide various services for workflow, multi-lingual services and others. The
business tier consists of business components such as blogs, search, email etc. We Mobile Application
Languages
can have additional components related to integration, enterprise systems etc.
We have depicted the systems view of the n-tier architecture in figure 2. Systems
of interaction include the presentation components such as UI applications,
analytics, caching, pages etc. Systems of differentiation include the web
frameworks and core platform. Systems of integration consist of components such
as API gateway, ESB and other middleware components. We have systems of
record that store single source of truth for enterprise data. Systems of record
include ERPs, enterprise databases and such.
3
Mobile Application
Languages
The presentation layer modules such as HTML 5, CSS3 modules, web pages,
search provide the end user experience components. The Spring web layer
provides request routing, common services and REST interfaces. The service
requests are then handled by the middleware systems such as ESB which retrieves
data from the enterprise systems.
4
Key design considerations for the enterprise solution Mobile Application
Languages
Following are the key design considerations while designing the solution:
The n-tier J2EE application typicalls uses Model View Controller (MVC)
architectural pattern for a layered architecture. We have listed other common
design patterns used in the enterprise application.
The main components of J2ME are configurations and profiles. The configuration
specify the minimally-required Java classes and Java Virtual Machine features
required for a specific device. The configuration groups the devices with similar
resource. The profile provides APIs leveraging the configuration to provide the
end device’s run time environment. Mobile information device profile and
personal profile are two main kinds of profile used by J2ME devices. Information
module profile is used for devices like vending machines, embedded systems
which have no display or minimal display.
{
"name": "Kumar",
"rollno": "1234",
"course": "BA"
}
6
Given below is the sample Java code to create the JSON file in above format. In Mobile Application
Languages
this example we have used the json library.
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.LinkedHashMap;
import java.util.Map;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
pw.flush();
pw.close();
}
}
Given below is the sample Java code to parse the JSON string
import org.json.JSONArray;
import org.json.JSONObject;
We can use in-built SMS Manger API for sending the SMS. A sample code
snippet is shown below:
SmsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "Test Message", null, null);
In Android we can use intent to pass the data from one component to another or to
the external interface.
Let us look at two examples of using Intent for making a phone call and for
sending out email.
Given below is the code snippet that uses the intent for making a call.
@Override
protected void onCreate(Bundle savedInstanceState) {
.
8
. Mobile Application
Languages
.
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent callAction = new Intent(Intent.ACTION_CALL);
callAction.setData(Uri.parse("tel:1231231234"));
startActivity(callAction);
}
});
}
}
Given below is another Android example code snippet using Intent for sending
out email.
emailAction.setData(Uri.parse("mailto:"));
emailAction.setType("text/plain");
emailAction.putExtra(Intent.EXTRA_EMAIL, reciever);
emailAction.putExtra(Intent.EXTRA_CC, copyemail);
emailAction.putExtra(Intent.EXTRA_SUBJECT, "Test Message");
emailAction.putExtra(Intent.EXTRA_TEXT, "This is a test message");
try {
startActivity(Intent.createChooser(emailAction, "Sending email."));
finish();
} catch (android.content.ActivityNotFoundException ex) {
}
}
Python is a scripting language and is one of the most popular open source
languages. Python is widely used in the platforms big data applications and
machine learning platforms. Python provides many libraries and built-in functions
for processing and data networking. Python is portable across various OS
platforms.
message = client.messages \
.create(
body='Sample SMS',
from_ = 1231234123,
to = 2451231234
)
print(message.sid)
15.5.1 Swift
Swift provides native error handling and provides other features such as flexible
enumerations, closure syntax, structs and classes.
return false
}
15.6 SUMMARY
In this unit, we started discussing the main constructs of the standard edition of
the Java programming language. The standard edition of Java is used for
developing libraries and client applications and enterprise edition is used for
developing web application and enterprise applications. For developing the
enterprise applications we use n-tiered design with model view controller pattern
where we create separate components in each tier handling distinct responsibility.
Java micro edition is used for developing mobile gaming applications. Android is
one of the most popular platforms. Android supports various connectivity such as
GSM, Bluetooth, Wi-Fi , LTE, CDMA . In Android we can use intent to pass the
data from one component to another or to the external interface. Using Intent we
can send SMS or email within Android. Python is one of the most popular open
source scripting languages. In Python we can use libraries for implementing data
processing functions, Machine learning operations and for sending email, SMS.
15.7 SOLUTIONS/ANSWERS
Check Your Progress 1
1. Standard
2. Enterprise
3. Class
4. Bean
5. Modularity
Check Your Progress 2
1. SMSManager
2. Intent
3. Swift
4. MFMessageComposeViewController
11
Mobile Application
Languages 15.8 FURTHER READINGS
References
12
Mobile Operating
UNIT 16 MOBILE OPERATING SYSTEMS AND Systems
DEVELOPMENT ENVIRONMENTS
16.0 Introduction To Mobile Operating Systems
16.0.1 Key Concepts And Functions Of An Operating System
16.1 Objectives
16.2 Application Programming Interface
16.3 Linux For Mobile Devices
16.4 Development Process
16.4.1 Requirements Elaboration Phase
16.4.2 Design Phase
16.4.3 Implementation/Develop Phase
16.4.4 Testing Phase
16.4.5 Deployment Phase
16.5 Development Tools And Emulators
16.6 Apple iOS
16.6.1 iOS Architecture
16.7 Android
16.7.1 Android Architecture
16.8 Differences Between Ios And Android Operating Systems
16.9 Summary
16.10 Solutions/Answers
16.11 Further Readings
Mobile OS handles multiple user inputs and submit them as tasks for the
underlying CPU. Often the mobile OS has to do multitasking when the user
simultaneously uses multiple apps. The mobile OS essentially abstracts the
hardware details of the underlying mobile device. The mobile OS also enables the
end user to interact with various mobile device features such as sensors, cameras ,
wireless services and so on.
1
Mobile Operating 1. Process and Thread management
Systems
Process and thread management are one of the key functions of an operating
system.
A process is a software program that runs on the CPU and uses the memory for
computation. The OS allocates the CPU resources and memory resources for the
process. An executing program is called process. When the process is first
created it will be in the “created” state. Later on, a process moves to various
States such as activated, running, suspended, deactivated and deleted state. When
one process sends a message to another process, it is called “inter process
communication”. When the OS allocates the CPU and memory for the process, it
is called a task.
The mobile OS manages both system processes and user processes. This includes
creation of system processes and user processes; suspension and resumption of
processes; process synchronization and deadlock handling.
A process is usually heavy weight as it needs CPU, memory and other resources.
Thread is a lightweight process as it needs minimal resources. A process may
consist of various threads. We normally launch multiple threads for parallel
computation. Similar to a process, even a thread has many states such as
creating, blocking, running, deleting, suspending and deleting.
2. Memory management
The operating system also de-allocates the memory blocks when the program has
completed its job. Additionally the OS also manages the memory buffers shared
memory and handles the efficient paging for the programs.
3. Device management
4. File management
A file essentially stores the data as a record on the devices such as disk or flash
memory. Each record has a name, descriptor and a memory block allocated to it.
The mobile OS abstracts the internal storage units as files. The mobile OS
2 manages various functions related to the file such as reading, writing, deleting,
updating and others. Optionally the files are also backed up based on the Mobile Operating
Systems
requirements. The files are organized as logical folders for easier management.
The mobile OS manages various functions of the file such as file creation, file
opening, file update and file deletion. When the user wants to create a new file the
mobile OS will add a file descriptor after creating a new file. The file descriptor
consists of various details like the file extension, the file size and file metadata
such as the creation time, permissions, author’s name and so on. The OS opens
the file in read or write mode. During the write mode, the program updates or
adds new records.
The mobile OS also manages the security of the files and folders. Using the
permission model, the OS ensures only the appropriate users with required
permissions can access the files and folders.
5. Input/output management
6. Network management
The mobile OS manages various network components such as the Wi-Fi, LTE ,
GSM and CDMA connectivity.
The enterprise applications would also interact with other platforms such as
database and middleware platforms. The applications can use the JDBC API to
interact with the database. The middleware platforms expose standards
compliant API such as REST APIs, HTTP APIs, SOAP APIs and websocket
APIs.
16.1OBJECTIVES
After going through this unit, you should be able to
• understand key concepts of mobile operating systems,
• understand the application programming interface,
• understand on the role of Linux for mobile devices,
• understand the end to end development process,
• understand the main development tools and emulators
• understand the key mobile OS platforms such as Android and Apple
iOS and the differences between them.
3
Mobile Operating
Systems
16.2 APPLICATION PROGRAMMING INTERFACE
The mobile OS provides various applications and system functions for the mobile
apps. For instance the mobile OS provide functionality such as call, SMS, Email,
calendar, contacts and others. The mobile OS abstracts the system details and
hardware interfaces through these APIs. For instance, without knowing the full
specifications of the mobile camera, the mobile app developer can invoke the
camera APIs for taking the pictures.
The mobile OS exposes the Application programming interface (API) for each of
the system functions. The mobile app developers can use the APIs that are based
on the well-defined contract.
The mobile OS also provides the APIs for creating other features such as user
interface, voice based interfaces and such.
Majority of the mobile device manufacturer supports Linux which can use
Android. The core features such as Opera web browser, wireless features, camera,
networking support are fully supported on Linux.
4
Mobile Operating
Systems
During the requirements elaboration phase, we have various stages. The first
stage is the initiation stage and we have given below are the main activities:
• Discuss and finalize the detail plan for the 6 week assessment
• Meet the program leadership to understand their vision for the future state
• Understand the pain-points from the current solution, discuss/document
the key success factors for the future state solution.
• Meetings/Interviews with the business stakeholders to understand the
short & long-term objectives of the solution 5
Mobile Operating • Create a list of all internal and external systems for integration, and the
Systems key stakeholders to be included as a part of the future state planning
meetings
The main deliverable from this stage are as follows:
• Detailed Project Plan
• Vision, and Key Success Factors
The next stage is the assessment stage where we do the assessment of the current
technical eco-system. Given below are the key activities in this stage:
We evaluate and shortlist various solution options n the solution direction phase.
Given below are the key activities in this stage:
• Reference Architecture
• Solution Options, and Recommendations (including TCO analysis)
In the last step of closure, we provide the recommendations and given below are
the various activities:
• Implementation Roadmap
• Final set of deliverables as detailed in the prior stages
User Research
• Stakeholder interviews to understand business goals, user profiles, needs,
and pain points
• Working sessions with actual users as identified by business stakeholders
• Prioritization of user scenarios & user profiles
Conceptual Design
• Information architecture
• Navigation flows
• Task flows
• High-level wire-frame for scenario 7
Mobile Operating Detail Design
Systems • Interaction and Interface design for identified scenarios in wire-frames
• Iterative design with feedback from business team
Visual Design
• Depiction of end-state visual design of unique page types with brand
guidelines.
• We also design the screens for various mobile device form factors
Mobile app core design
This includes the design for various connectivity types and for data
synchronization.
Integration Design
We design the most appropriate integration methodology for various data
sources such as enterprise applications, web services, databases and such.
We also design the strategy for caching, data synchronization and such
8
Mobile Operating
Systems
We develop the user personas, taxonomy and content maps and best practices. We
also develop the sitemap and usability findings. Finally we design the wireframe
and visual design and style guides.
We test the screen usability across various screen sizes. Also we test the error
handling capability of the app.
Integrated development platforms provide various tools and services to boost the
developer productivity for mobile app development. Integrated development
environment provides all the features required for a developer in a single place.
given below are the main features of a typical integrated development platform:
1. Source code editor: The visual editor of an IDE provides various features
for developers searches autocomplete, Syntax highlighting code
refactoring code snippets etc.
2. Code Compilation: The IDE compile the source code into binaries
3. Plugins: The IDEs provide various plugins for support specific
deployment types, framework development and others.
4. Code debugging: The IDE allows developers to debug the code through
various features such as stepwise execution variable value inspection and
so on
5. Package and build: The IDE Provides features for building the code and
packaging the code into deployable artifacts.
6. Integrated source control: The IDEs provide seamless feature to check out
and check in the code from the source control systems.
Besides these the IDEs provide various other features such as search in files,
boiler plate code, auto generation of code and such.
10
Visual Studio is one of the most popular tools for developing dot net applications. Mobile Operating
Systems
Android studio is the preferred tool for developing Android mobile applications.
IntelliJ IDEA, Cordova, Eclipse, NetBeans are other popular IDEs.
Emulators are virtual devices that let developers test their mobile apps on various
mobile devices.
1. A ____ is a software program that runs on the CPU and uses the memory
for computation
2. ____ is a lightweight process as it needs minimal resources
3. The mobile OS exposes the _______ for each of the system functions.
4. The five phases in the development process are ________
5. The solution design happens in _____ phase.
6. _______ are virtual devices that let developers test their mobile apps on
various mobile devices.
Apple iOS 15 is the latest version of the I was that runs on various devices like
Mac iPhone and iPad. Apple devices are immensely popular for the sleek design,
highly intuitive user interface and for its performance. The key features iOS 15
or given below:
• Face ID recognition that unlocks the iPhone using user’s face.
• FaceTime that allows users to connect and share with their friends and
family and watch movies on their iPhone devices. The SharePlay allows
users to share the movies and music during the FaceTime chat with their
friends and family.
• Enhanced messaging where users can share the messages with their
friends and family members.
• Customizable Memoji using colors glasses, colored headwear and other
features.
11
Mobile Operating • Enhanced focus and notification feature. The feature provides the users
Systems with focus time through do not disturb mode while doing activities such as
reading, driving, fitness, sleep etc.
• Enhanced maps that provide interactive view of City for easier navigation
• Enhanced Safari browsing experience through tab groups, customizable
start page, tab group synching, refresh by pull, voice search and others.
• Enhanced speech processing through Siri
• Enhanced accessibility features at libraries for Augmented reality,
camera , gaming , keyboards , music notes, reminders, fonts, translate
widgets and others.
• Enhanced gaming features such as multi-player games, game highlights,
• Enhanced camera features through improved Panorama pictures.
• Other intuitive features such as Live Text, Wallet, Spotlight, Photos,
Health, Mail, Privacy, Apple ID, accessibility, App library, App store,
CarPlay, dictionaries, keyboard dictation, translation, voice memos and
others.
Apple iOS uses Swift, Cocoa and Cocoa touch for developing user interfaces.
Apple iOS runs on Apple’s ARM based chip. Safari is the default web browser
on Apple IOS. Apple Safari supports multiple advanced features such as search,
bookmarks, web suggestions, HTML5 autofill forms, OCR, web and native
integrations. Apple iOS supports various network connectivity such as GSM,
EDGE, Bluetooth, Wi-Fi, 3G, 4G and others.
Apple devices are known for highly intuitive and user-friendly interfaces. iOS
supports personalized home screen, multi touch features, virtual keyboard,
configurable widgets autocomplete, live wallpapers and others. IOS device
drivers provide interfaces to various devices such as Global positioning system,
accelerometer, magnetometer, camera and others.
Apple iOS also supports multitasking features. Users can switch across various
iOS apps and work with them simultaneously. Apple uses iCloud for storing the
user photos and media.
Developers can use IOS SDK for various activities such as database processing,
XML parsing and so on.
The user interface layer includes components that provide various user interface
features such as touch, pinch, drag and others. The App Kit and touch framework
handle the user inputs and gestures. We also have various apps like chat, email,
FaceTime, Apple Pay and widgets like calendar, weather, stock quotes and others.
The media layer includes components to render images, video and other media
files. We have libraries to render 2D graphics, 3D graphics, animation and others.
12
The core layer provides the foundation services, phone services, cloud services, Mobile Operating
Systems
sharing services and others. The kernel layer interfaces with the hardware and
provides networking services. The networking services supports various network
types such as Wi-Fi, NFC, CDMA, 4G etc. The device drivers provide interface
to storage devices and USB ports.
16.7 ANDROID
Android is one of the most popular mobile platforms and uses Linux. The
Android code runs on Dalvik virtual machine Which is designed for mobile
devices. Java programming language can be used for developing Android apps.
java being an interpreted language its platform Independent and hence runs on
the virtual machine. Android uses modified Linux kernel, licensed Apache
server. Various device manufacturers such as Samsung, HP and others modify
Android for their devices.
13
Mobile Operating
Systems
Kernel Layer
Linux Kernel abstracts the hardware and provides all the device drivers for
devices such as camera, keypad, USB, display device and others. Linux Kernel
also handles the networking functionality. The kernel also handles the power and
resource access.
Libraries
On top of Linux Kernel, we have various libraries such as the web browser
webkit, libc (C Runtime library), OpenGL, FreeType for font rendering, SQLite
database library, SSL library for handling the security, Surface manager for
rendering windows and media framework for handling audio video and other
media files.
Android runtime includes Dalvik virtual machine which is optimized for Android.
Dalvik VM uses Linux memory management and process management. Dalvik
VM is optimized for mobile devices as it consumes less memory and has high
performance.
Framework Layer
Application Framework layer provides high level API for the Android apps.
Given below are the key services:
14
• Content provider helps in publishing and sharing the data across Mobile Operating
Systems
applications
• View system helps in creating the user interfaces
• Telephony manager for managing the voice calls
• Location manager for managing the locations, GPS and cell towers
The layer also provides various APIs for locations, telephony, package
management and others.
User Applications
We can develop number of Android apps such as ebook reader, games, SMS,
calendar, browser using the application framework.
Given below are the main differences between Android and iOS:
16.9 SUMMARY
In this unit, we started discussing the core concepts of the the OS. We looked at
the key functions of mobile OS such as process management, memory
management, device management and others. We also looked at the application
programming interface exposed by the OS. We studies the five key phases of the
development process including the requirements elaboration phase, design phase,
implementation phase, testing phase and deployment phase. We studied various 15
Mobile Operating IDEs and emulators such as Android Studio, Xamarin, Visual studio and others.
Systems We understood the key features of Apple iOS 15 such as Face ID recognition,
FactTime, enhanced camera and others. We also looked at various layers of the
Apple iOS architecture such as user interface layer, media layer, core layer and
Kernel layer. We looked at the main features of the Android 12 OS. We studied
the Android architecture consisting of various layers such as user applications
layer, framework layer, libraries and Kernel layer. We finally looked at the main
differences between Android and Apple iOS
16.10 SOLUTIONS/ANSWERS
Check Your Progress 1
1. process
2. Thread
3. Application programming interface (API)
4. Requirements elaboration, design, develop and testing and deployment
5. Design
6. Emulators
Check Your Progress 2
1. Face ID
2. FaceTime
3. media
4. Dalvik
5. android.content
16