0% found this document useful (0 votes)
25 views71 pages

MC QB Answers

Uploaded by

2021cs0629
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views71 pages

MC QB Answers

Uploaded by

2021cs0629
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

Unit 1

1. Draw the logical divisions of the mobile computing functions.


The mobile computing functions can be logically divided into the following major
segments

1. User with device : This means that this could be a fixed device like a desktop computer in an
office or a portable device like mobile phone. Example: laptop computers, desktop
computers, fixed telephone, mobile phones, digital TV with set-top box, palmtop computers,
pocket PCs, two-way pagers, handheld terminals, etc.

2. Network : Whenever a user is mobile, he will use different networks at different locations at
different times. Example: GSM, CDMA, iMode, Ethernet, Wireless LAN, Bluetooth, etc.

3. Gateway : This acts as an interface between different transport bearers. These gateways
convert one specific transport bearer to another. Example: From a fixed phone (with voice
interface) we access a service by pressing different keys on the telephone. These keys generate
DTMF (Dual Tone Multi Frequency) signals. These analog signals are converted into digital
data by the IVR (Interactive Voice Response) gateway to interface with a computer
application. Other examples will be WAP gateway, SMS gateway, etc.

4. Middleware : This is more of a function rather than a separate visible node. In the present
context, middleware handles the presentation and rendering of the content on a particular
device. It may optionally also handle the security and personalization for different users.

5. Content : This is the domain where the origin server and content is. This could be an
application, system, or even an aggregation of systems. The content can be mass market,
personal or corporate content. The origin server will have some means of accessing the
database and storage devices.
2. List the different types of networks used by mobile computing.
NETWORKS
Mobile computing will use different types of networks. These can be fixed telephone
networks,GSM, GPRS, ATM (Asynchronous Transfer Mode), Frame Relay, ISDN (Integrated
Service Digital Network), CDMA, CDPD (Cellular Digital Packet Data), DSL (Digital
Subscriber Loop), Dial-up, WiFi (Wireless Fidelity), 802.11, Bluetooth, Ethernet, Broadband,
etc.

Wireline Networks
This is a network, which is designed over wire or tangible conductors. This network is called
fixedline or wireline network. Fixed telephone networks over copper and fiber-optic will be part
of this network family. Broadband networks over Digital Subscriber Line (DSL) or cable will also
be part of wireline networks. Wireline networks are generally public networks and cover wide
areas. Though microwave or satellite networks do not use wire, when a telephone network uses
microwave or satellite as part of its longhaul transmission infrastructure, it is considered part of
wireline networks. When we connect to Internet Service Providers (ISP), it is generally a wireline
network. The Internet backbone is a wireline network as well.

Wireless Networks
Mobile networks are called wireless network. These include wireless networks used by radio
taxis, one-way and two-way pager, cellular phones. Examples will be PCS (Personal Cellular
System), AMPS (Advanced Mobile Phone System), GSM, CDMA, DoCoMo, GPRS, etc. WiLL
(Wireless in Local Loop) networks using different types of technologies are part of wireless
networks as well. In a wireless network the last mile is wireless and works over radio interface. In
a wireless network, other than the radio interface, rest of the network is wireline and is generally
called the PLMN (Public Land Mobile Network).

Ad hoc Networks
In Latin, ad hoc means “for this purpose only”. An ad hoc (or spontaneous) network is a small
area network, especially one with wireless or temporary plug-in connections. In these networks
some of the devices are part of the network only for the duration of a communication session. An
ad hoc network is also formed when mobile or portable devices operate in close proximity to
each other or with the rest of the network. When we beam a business card from our PDA
(Personal Digital Assistant) to another, or use an IrDA port to print documents from our laptop,
we have formed an ad hoc network. The term ad hoc has been applied to networks in which new
devices can be quickly added using, for example, Bluetooth or wireless LAN (802.11). In these
networks, devices communicate with the computer and other devices through wireless
transmission. Typically based on short-range wireless technology, these networks don’t require
subscription services or carrier networks.

Bearers
For different type of networks, there are different types of transport bearers. These can be
TCP/IP, HTTP, protocols or dial-up connection. For GSM it could be SMS, USSD (Unstructured
Supplementary Service Data) or WAP. For mobile or fixed phone, it will be Voice.
3. What are the essential functional differences between 1st generation, 2nd generation, and
3rd generation of networks?

1G - First Generation
This was the first generation of cell phone technology . 1G is an analog technology and the
phones generally had poor battery life and voice quality was large without much security, and
would sometimes experience dropped calls . The maximum speed of 1G is 2.4 Kbps .

2G - Second Generation
Cell phones received their first major upgrade when they went from 1G to 2G. The main
difference between the two mobile telephone systems (1G and 2G), is that the radio
signals used by 1G network are analog, while 2G networks are digital . Main motive of this
generation was to provide secure and reliable communication channel. It implemented the
concept of CDMA and GSM . Provided small data service like sms and mms. 2G capabilities
are achieved by allowing multiple users on a single channel via multiplexing. During 2G
Cellular phones are used for data also along with voice. The advance in technology from 1G
to 2G introduced many of the fundamental services that we still use today, such as
SMS, internal roaming , conference calls, call hold and billing based on services Before
making the major leap from 2G to 3G wireless networks, the lesser-known 2.5G and 2.75G
was an interim standard that bridged the gap.

3G - Third Generation
Web browsing, email, video downloading, picture sharing and other Smartphone
technology were introduced in the third generation. Introduced commercially in 2001, the
goals set out for third generation mobile communication were to facilitate greater voice and
data capacity, support a wider range of applications, and increase data transmission at a lower
cost .

The 3G standard utilises a new technology called UMTS as its core network architecture -
Universal Mobile Telecommunications System. This network combines aspects of the 2G
network with some new technology and protocols to deliver a significantly faster data rate. 3G
has Multimedia services support along with streaming are more popular. In 3G, Universal
access and portability across different device types are made possible (Telephones, PDA's,
etc.). 3G increased the efficiency of frequency spectrum by improving how audio
is compressed during a call, so more simultaneous calls can happen in the same frequency
range. The UN's International Telecommunications Union IMT-2000 standard requires
stationary speeds of 2Mbps and mobile speeds of 384kbps for a "true" 3G. The theoretical max
speed for HSPA+ is 21.6 Mbps.
4. What is the role of Middleware? Give the types.
MIDDLEWARE AND GATEWAYS
Any software layered between a user application and operating system is a middleware.
Middleware examples are communication middleware, object-oriented middleware, message-
oriented middleware, transaction processing middleware, database middleware, behavior
management middleware, Remote Procedure Call (RPC) middleware, etc. There are some
middleware components like behavior management middleware, which can be a layer between
the client device and the application. In a mobile computing context we need different types of
middleware components and gateways at different layers of the architecture These are:
1. Communication middleware.
2. Transaction processing middleware.
3. Behavior management middleware.
4. Communication gateways.

Communication Middleware
The application will communicate with different nodes and services through different
communication middleware. Different connectors for different services will fall in this category.
Examples could be TN3270 for IBM mainframe services, or Javamail connector for IMAP or
POP3 services.

Message-oriented Middleware (MOM)


Message-oriented Middleware is a middleware framework that loosely connects different
applications through asynchronous exchange of messages. A MOM works over a networked
environment without having to know what platform or processor the other application is resident
on. The message can contain formatted data, requests for action, or unsolicited response.

Transaction Processing Middleware


In many cases a service will offer session-oriented dialogue (SoD). For a session we need to
maintain a state over the stateless Internet. This is done through an application server. The user
may be using a device, which demands a sessionless dialogue (SlD) made of short sessionless
transactions whereas the service at the backend offers a SoD. In such cases a separate
middleware component will be required to convert a SoD to a SlD. Management of the Web
components will be handled by this middleware as well.

Behavior Management Middleware


Different devices deliver differently. We can have applications which are developed specially to
deliver in a certain manner. For example, we can have one application for the Web, another for
WAP, and a different one for SMS. On the contrary, we may choose to have a middleware,
which will manage device-specific rendering at run-time. This middleware will identify the device
properly and handle all device-specific rendering independent of the application. The system
may be required to have some context awareness, which will be handled by the behavior
management middleware.

Communication Gateways
Between the device and the middleware there will be a system of networks. Gateways are
deployed when there are different transport bearers or networks with dissimilar protocols. For
example, we need an IVR gateway to interface Voice with a computer, or a WAP gateway to
access Internet over a mobile phone.
5. Explore the three-tier Architecture of Mobile computing with pictorial representation

Presentation (Tier-1)
This is the layer of agent applications and systems. These applications run on the client device
and offer all the user interfaces. This tier is responsible for presenting the information to the end
user. Humans generally use visual and audio means to receive information from machines (with
some exceptions like vibrator in mobile phones). Humans also use keyboard (laptop computers,
cell phones), pen (tablet PC, palmtops), touch screen (kiosks), or Voice (telephone) to feed the
data to the system. In the case of the visual, the presentation of information will be through a
screen. Therefore, the visual presentation will relate to rendering on a screen. ‘Presentation Tier’
includes web browsers (like Mozilla, Lynx, Internet Explorer and Netscape Navigator), WAP
browsers and customized client programs. A mobile computing agent needs to be context-aware
and device independent.
In general, the agent software in the client device is an Internet browser. In some cases, the
agent software is an applet running on a browser or a virtual machine ( Java Virtual Machine, for
example). The functions performed by these agent systems can range from relatively simple
tasks like accessing some other application through HTTP API, to sophisticated applications like
realtime sales and inventory management across multiple vendors. Applications can range from
e-commerce, workflow, supply chain management to legacy applications.
Application (Tier-2)
The application tier or middle tier is the “engine” of a ubiquitous application. It performs the
business logic of processing user input, obtaining data, and making decisions. In certain cases,
this layer will do the transcoding of data for appropriate rendering in the Presentation Tier. The
Application Tier may include technology like CGIs, Java, JSP, .NET services, PHP or
ColdFusion, deployed in products like Apache, WebSphere, WebLogic, iPlanet, Pramati, JBOSS
or ZEND. The application tier is presentation and database-independent.
In a mobile computing environment, in addition to the business logic there are quite a few
additional management functions that need to be performed. These functions relate to decisions
on rendering, network management, security, datastore access, etc. Most of these functions are
implemented using different middleware software. A middleware framework is defined as a layer
of software, which sits in the middle between the operating system and the user facing software.
Stimulated by the growth of network-based applications and systems, middleware technologies
are gaining increasing importance in net-centric computing. In case of net-centric architecture, a
middleware framework sits between an agent and business logic.

Message-oriented Middleware (MOM)


Message-oriented Middleware is a middleware framework that loosely connects different
applications through asynchronous exchange of messages. A MOM works over a networked
environment without having to know what platform or processor the other application is resident
on. The message can contain formatted data, requests for action, or unsolicited response.

Transaction Processing (TP) Middleware


Transaction Processing Middleware provides tools and an environment for developing
transaction based distributed applications. An ideal TP system will be able to input data into the
system at the point of information source and the output of the system is delivered at the point of
information sink. In an ideal TP system, the device for input and output can potentially be
different. Also, the output can be an unsolicited message for a device. TP is used in data
management, network access, security systems, delivery order processing, airline reservations,
customer service, etc., to name a few. TP systems are generally capable of providing services to
thousands of clients in a distributed client/server environment. CICS (Customer Information
Control System) is one of the early TP application systems on IBM mainframe computers.

Communication Middleware
Communication Middleware is used to connect one application to another through some
communication middleware, like connecting one application to another through telnet. These
types of middleware are quite useful in the telecommunication world. There are many elements
in the core telecommunication network where the user interface is through telnet. A mediation
server automates the telnet protocol to communicate with these nodes in the network.

Distributed Objects and Components


Handles open distributed object computing infrastructure
Example – Common Object Request Broker Architecture (CORBA)
CORBA – a vendor independent infrastructure
CORBA – highly interoperable across heterogeneous platforms

Transcoding Middleware
Used to transcode one format of data to another suiting the needs of the client
Useful for content adaptation to fit the needs of device
Example – Internet Content Adaptation Protocol (ICAP) from IETF
ICAP
Aimed at providing simple object based content vectoring for HTTP services
Lightweight protocol to do transcoding on HTTP messages
Similar to executing a RPC on a HTTP request
Adapted messages can either be HTTP requests or HTTP responses

Web Services
Provides a standard means of communication and information exchange among different software
applications
Public interfaces and bindings are defined using XML
Standards for service requestor and service provider
Service requestor – find and discover the description of services
Service provider – publish the description of services it provides

Data Tier
Used to store data needed by the application and acts as a repository for both temporary and
pemanent data
Can use XML for interoperability of data with other systems and data sources
Might incorporate the use of Database Middleware and SyncML
Database Middleware – interfaces application programs and the database
Database Middleware – helps business logic run independent and transparent from database
technology and database vendor

SyncML
Emerging standard for synchronization of data access from different nodes
Promotes a single common data synchronization protocol that can be used industry wide
Supports naming and identification of records and common protocol commands to synchronize local
and network data
Works over all networks used by mobile devices – wired and wireless
6. Explain the Design considerations and Context Management in Mobile computing.

DESIGN CONSIDERATIONS FOR MOBILE COMPUTING


Context information is the information related to the surrounding environment of an actor in that
environment. The term “context” means, all the information that helps determine the state of an
object (or actor). This object can be a person, a device, a place, a physical or computational
object, the surrounding environment or any other entity being tracked by the system. In a mobile
computing environment, context data is captured so that decisions can be made about how to
adapt content or behavior to suit this context. Mobility implies that attributes associated with
devices and users will change constantly. These changes mean that content and behavior of
applications should be adapted to suit the current situation. There are many ways in which
content and behavior can be adapted. Following are some examples:

1. Content with context awareness: Build each application with context awareness. There
are different services for different client context (devices).

2. Content switch on context: Another way is to provide intelligence for the adaptation of
content within the service. This adaptation happens transparent to the client

3. Content transcoding on context: Another way is to provide an underlying middleware


platform that performs the adaptation of the content based on the context and behavior of
the device. This adaptation happens transparent to the client and the application. The
middleware platform is intelligent enough to identify the context either from the HTTP or
additional customized parameters.

2.6.1 Client Context Manager


When we humans interact with other persons, we always make use of the implicit situational
information of the surrounding environment. We interpret the context of the current situation and
react appropriately. A majority of the applications can safely assume that the context is
the enterprise LAN. It can be assumed that the environment is secured; it can also be assumed
that the user will be using the systems in a particular fashion using the browser standardized by
the company. These applications are developed keeping the large screen (for mainly PC) and
browsers in mind. A mobile computing application, on the other hand, needs to operate in
dynamic conditions.
This is due to various device characteristics and network conditions. This demands a reactive
platform that can make decisions about how to respond to changes to device capability, user
preferences, enterprise policy, network policy and many other environmental factors. Context
can be used as the basis by which an adaptation manager or algorithm decides to modify
content or application behavior. We therefore need a Client Context Manager to gather and
maintain information pertaining to the client device, user, network and the environment
surrounding each mobile device. All these information will be provided by a set of Awareness
Modules.
Figure 2.5 The Content Architecture with Respect to Mobile Computing

Awareness modules are sensors of various kinds. These sensors can be hardware sensors or
software sensors or a combination of these. A hardware sensor can be used to identify the
precise location of a user; whereas, a software sensor can be used to determine the type of the
user agent. These awareness modules can be in the device, network, or even in the middleware.
We use the term middleware in a very generic context.Almost any information available at the
time of an interaction can be seen as context information.
Some examples are:
1. Identity: The device will be in a position to communicate its identity without any ambiguity.
2. Spatial information: Information related to the surrounding space. This relates to location,
orientation, speed, elevation and acceleration.
3. Temporal information: Information related to time. This will be time of the day, date,
time zone and season of the year.
4. Environmental information: This is related to the environmental surroundings. This will
include temperature, air quality, moisture, wind speed, natural light or noise level. This also
includes information related to the network and network capabilities.
5. Social situation: Information related to the social environment. This will include who you
are with, and people that are nearby; whether the user is in a meeting or in a party.
6. Resources that are nearby: This will relate to the other accessible resources in the nearby
surroundings like accessible devices, hosts or other information sinks.
7. Availability of resources: This will relate to information about the device in use. This will
include battery power, processing power, persistence store, display, capabilities related to
I/O (input/output) and bandwidth.
8. Physiological measurements: This relates to the physiological state of the user. This includes
information like blood pressure, heart rate, respiration rate, muscle activity and tone of voice.
9. Activity: This relates to the activity state of the user. This includes information like talking,
reading, walking and running.
10. Schedules and agendas: This relates to the schedules and agendas of the user.
A system is context-aware if it can extract, interpret and use context-related information to adapt
its functionality to the current context. The challenge for such systems lies in the complexity of
capturing, representing, filtering and interpreting contextual data. To capture context information
generally some sensors are required. This context information needs to be represented in a
machine understandable
format, so that applications can use this information. In addition to being able to
obtain the context-information, applications must include some ‘intelligence’ to process the
information
and deduce the meaning. These requirements lead us to three aspects of context management:
1. Context sensing: The way in which context data is obtained.
2. Context representation: The way in which context information is stored and transported.
3. Context interpretation: The way in which meaning is obtained from the context
representation.
7. What do you understand by context? Why is context important? To develop a navigational system
for a car, what types of context information will be necessary?

Context information is the information related to the surrounding environment of an actor in that
environment. The term “context” means, all the information that helps determine the state of an
object (or actor). This object can be a person, a device, a place, a physical or computational
object, the surrounding environment or any other entity being tracked by the system.

In a mobile computing environment, context data is captured so that decisions can be made
about how to adapt content or behavior to suit this context. Mobility implies that attributes
associated with devices and users will change constantly. These changes mean that content
and behavior of applications should be adapted to suit the current situation.

Σ Location information: This feature helps us to identify the location of the user/device. This
can
be achieved in either of the two ways. One is through the device and the other is through the
network. From the device, the best way to find the location is through GPS (Global Positioning
Systems). GPS-based systems can offer location information to a precision of 10 feet radius.
Also, the location of the base station with which the device is associated can help us to get the
location information. In certain networks, GSM for example, the base station location can be
obtained from the device through the CID (Cell ID) value. From the network side the location
of the device can be determined through timing advance technology. However, this information
relates to a point when a successful call was made. Base-station-based location information is
likely to be correct to the precision of 100 feet radius.

Σ Device information: This feature helps us to know the characteristics of the device. This is
required to determine the resource capability and the user interface capability. In a mobile
computing environment the user will move from device to device. Therefore, it is essential to
know the device context. Device information can be obtained from the device and from the
network. Through the User-Agent parameter of HTTP protocol we can get some information
about the device. As this information is provided by the browser in the device, the information
is very generic. This does not give the device properties like color, pixel capability, display
size, etc. From the network side, the information about the device can be obtained from the
EIR (Equipment Identity Register) database of the network. In all the wireless networks
(GSM, GPRS, UMTS, 3G) we have the EIR. However, we do not have any concept of EIR
in wireless LAN or WiFi.

Σ Network information: In a mobile computing environment, the user moves from network to
network. Sometime they are even heterogeneous in nature. Network information is required
to identify the capability of the network. Capability information will include security
infrastructure, services offered by the networks, etc. For example, while roaming a user moves
from a GPRS network to a GSM network. Therefore, the rendering may need an adaptation
from WAP to SMS. In the future, some of these will be done through programmable networks.

Σ User information: This information is required to identify the user correctly. From the security
point of view, the system needs to ensure that the user is genuine and is who he claims to be.
We need to ensure that nobody else is impersonating. This information can be validated
through authentication independent of device or network. However, user preferences’
information need to be obtained from the network. For charging the user properly we need
to refer to some subscriber information available in the network.

Σ Environment information: This includes ambient surrounding awareness. We need to know


the
temperature, elevation, moisture, and other ambient-related information which are necessary
for sensor-based networks.
8. “Multiple users can have speech communication at the same time without causing any
interference to each other”- Elaborate the various Techniques that supports the above said.

MULTIPLE ACCESS PROCEDURES


In a PSTN network, a separate physical wire is used to connect the subscriber’s telephone with
the
switch. Therefore, multiple users can have speech communication at the same time without
causing
any interference to each other. The scene is different in the case of wireless communication.
Radio
channel, used in a wireless network, is shared by multiple subscribers. Unless we control
simultaneous access of the radio channel (by multiple users), collisions can occur. In a
connectionoriented
communication, a collision is undesirable. Therefore, every mobile subscriber must be
assigned a dedicated communication channel on demand. This is achieved by using different
multiplexing techniques (Fig. 3.1).
Mobile Computing through Telephony

Figure 3.1 Multiple Access Procedures


3.2.1 Frequency Division Multiple Access
Frequency Division Multiple Access (FDMA) is one of the most common multiplexing
procedures.
The available frequency band is divided into channels of equal bandwidth so that each
communication is carried on a different frequency. This multiplexing technique is used in all the
first generation analog mobile networks like Advanced Mobile Phone System (AMPS) in the US
and Total Access Communication System (TACS) in the UK.
3.2.2 TDMA Variants
Time Division Multiple Access (TDMA) is a multiplexing technique where multiple channels are
multiplexed over time. Assuming that we have a 64Kbps channel to transmit one voice channel;
but we are having a high speed carrier of 2Mbps (32 * 64Kbps), we can transmit this voice
channel in 1/32 second. This implies that we can theoretically divide the 2Mbps channel into a
32 time-slot and use one of them for transmission of our voice channel. In TDMA, several users
share the same frequency channel of higher bandwidth by dividing the signal into different time
slots. Users transmit their data using their own respective time slots in rapid succession; to
synchronize, the transmitter and the receiver need to synchronize using a global clock.
Figure 3.2 shows that a TDMA system divides its transmission medium into frames which are
repeated indefinitely (one after another). Each TDMA frame is then divided into time slots of
same temporal width that are allotted to individual users. TDMA is a very common multiplexing
technique and used in many digital transmissions like GSM, IS-136, SS7, satellite systems, etc.

Figure 3.2 TDMA Frames and Time Slots


Fixed TDMA
In Fixed TDMA, connections between time slots in each frame and data streams assigned to a
user
remain static and switched only when large variations in traffic are required. In this variant of
TDMA, the slot sizes are fixed at T/N (where T is time in seconds and N is the number of users).
If a station does not transmit during its assigned slot, then the corresponding bandwidth is
wasted.
This variant is simple to implement but performs poorly since the entire bandwidth is not used.
Dynamic TDMA
In Dynamic TDMA or Dynamic Reservation TDMA (DR TDMA), a scheduling algorithm is
used to dynamically reserve a variable number of time slots in each frame to variable bit-rate
data
streams. This reservation algorithm is based on the traffic demand of each data stream. The
fixed
length DR TDMA frame is time-duplexed into an uplink and downlink channel and the boundary
between these two parts is dynamically adjusted as a function of the traffic load.
Packet Reservation Multiple Access
Packet Reservation Multiple Access (PRMA) is a packet based TDMA where the users contend
for the time slots. In PRMA, a user can reserve a time slot in advance for future use and optimize
the bandwidth in radio transmission. The two prominent variants of PRMA are Dynamic PRMA
(DPRMA) and PRMA Hindering States (PRMA HS). In DPRMA, each mobile station is
responsible
Mobile Computing through Telephony 63
for making a reasonable estimate of its bandwidth requirements and then request for resource
allocation to the base station. It aims to closely match each user’s transmission rate with its
packet
generation rate. PRMA HS in contrast allows a terminal to transmit during the time interval
needed
to receive the outcome of a reservation attempt. PRMA HS is used for the uplink of Low Earth
Orbit (LEO) satellite mobile communications.
3.2.3 Code Division Multiple Access
Code Division Multiple Access (CDMA) is a broadband system. CDMA uses spread spectrum
technique where each subscriber uses the whole system bandwidth. Unlike the FDMA or TDMA
where a frequency or time slot is assigned exclusively to a subscriber, in CDMA all subscribers
in
a cell use the same frequency band simultaneously. To separate the signals, each subscriber is
assigned an orthogonal code called “chip”.
3.2.4 Space Division Multiple Access
Along with TDMA, FDMA, and CDMA, we need to make use of the space effectively. Space
division multiple access (SDMA) is a technique where we use different parts of the space for
multiplexing. SDMA is used in radio transmission and is more useful in satellite communications
to optimize the use of radio spectrum by using directional properties of antennas. In SDMA,
antennas are highly directional, allowing duplicate frequencies to be used at the same time for
multiple surface zones on earth. SDMA requires careful choice of zones for each transmitter,
and
also requires precise antenna alignment.
9. Illustrate an IVR (Interactive Voice Response) application’s Call Flow for a Theatre Ticket Booking
example.
10. How does communication take place through satellites? Explain in detail.

3.3.1 Communicating through Satellite


Every communications satellite involves the transmission of information from an originating
ground station to the satellite followed by a retransmission of the information from the satellite
back to the ground called the uplink and the downlink respectively (Fig. 3.3). Hence, the satellite
must have a receiver with receive antennas, and a transmitter with transmit antennas. It must
also have some methods for connecting the uplink to the downlink for retransmission with
amplification; also, it must have electrical power through solar energy to run all of the electronics.
The downlink may either be to a select number of ground stations or may be broadcast to
everyone over a large area.

Figure 3.3 Satellite Communications System


A properly designed satellite antenna will concentrate most of the transmitter power within a
designated area using space division multiplexing. One of the biggest differences between a low
earth satellite and a geosynchronous satellite is in their antennas. All antennas in use today
radiate energy preferentially in some direction. The most important application for
communication satellites was in intercontinental long distance telephony. The fixed Public
Switched Telephone Network relays telephone calls from land line telephones to an earth
station, where they are then transmitted to a geostationary satellite. The downlink follows an
analogous path.

3.3.2 Low Orbit Satellite


A Low Earth Orbit (LEO) satellite typically orbits around the earth about 400 kilometers above
the earth’s surface with a time period of about 90 minutes. These satellites are only visible from
within a radius of roughly 1000 kilometers from the sub-satellite point. Sub-satellite point is the
point of intersection of earth’s surface with the straight line from the satellite to the center of
earth. The greatest advantage of LEO satellite is that it does not need high powered rockets—
making it less expensive to launch. Also, due to its proximity to the ground, LEO does not
require high signal strength.
For uninterrupted communication services a large number of satellites are needed so that they
communicate with each other and one of the satellites is in touch with the user. Unlike in a
mobile telephone system where the user is mobile and transceivers are static, in LEO satellite
system, user is relatively static compared to the transceiver, which is mobile.
3.3.3 Medium Orbit Satellite
Medium Earth Orbit (MEO), sometimes called Intermediate Circular Orbit (ICO), is the region of
space around the earth above low earth orbit of 2,000 kilometres and below geostationary orbit
of 35,786 kilometers. The most common use for satellites in this region is for navigation, such as
the GPS (with an altitude of 20,200 kilometers), Communications satellites that cover the North
and South Pole are also put in MEO. The orbital periods of MEO satellites range from about 2 to
24 hours. The MEO orbit has a moderate number of satellites.
3.3.4 Geostationary Satellite
In geostationary satellite the orbit of the artificial satellite is such that the orbital speed of the
satellite is same as the speed of earth’s rotation. Though the satellite is moving at a high speed,
from earth it will always appear to be stationary—this is the reason for calling it geo-stationary.
A Geostationary Earth Orbit (GEO) can be achieved only very close to the ring 35,786 km
directly above the equator. This equates to an orbital velocity of 3.07 km/s or a period of 1436
minutes, which equates to almost exactly one sidereal day or 23.934461223 hours. The idea of
a geostationary orbit was first proposed by Arthur C. Clarke in 1945; therefore, a geostationary
orbit is also known as the Clarke Orbit. The GEO satellite could view approximately 42% of the
earth. Therefore, a system of three GEO satellites, with the ability to relay messages from one
GEO to the other could interconnect virtually all of the earth except the polar regions.
Unlike LEO or MEO, the GEO orbit is much higher—demanding high power rockets. In 1963,
the necessary rocket booster power was available for the first time and the first geosynchronous
satellite, Syncom 2 was launched by the US into earth’s orbit. Geosynchronous orbit is so far
that the time to transmit a signal from earth to the satellite and back is approximately ¼ of a
second— the time required to travel 36,000 km up and 36,000 km down at the speed of light.
For telephone conversations, this delay can sometimes be annoying.

3.3.5 Satellite Phones


Initially satellite communication was being used for broadcast to stationary TV receivers, and
transmission of telephone channels. However, demand on mobile phone made some companies
to look into satellite phones that will connect a subscriber directly through the communication
satellite, where the satellite will function as the transceiver station connecting the mobile phone.
There are few companies that offer such facility; we describe some of them as case study.

Σ Iridium: Iridium comprises a group satellites working in concert as a satellite constellation.


The Iridium constellation is used to provide voice and data communication to satellite
phones, pagers and integrated transceivers over the entire surface of the earth. The
constellation uses 66 active satellites in orbit along with spare in-orbit satellites to serve in
case of failure. The satellites orbit the earth in roughly 100 minutes. Each satellite can
support up to 1100 concurrent phone calls. Iridium satellites are in low earth orbit at a
height of approximately 780 km with spare satellites at 667 km storage orbit. Spare satellites
will be boosted to the correct altitude and put into service in case of failure of active the
satellite. Satellites communicate with neighboring satellites via Ka band inter-satellite links.
For more information on Iridium, please refer to www.iridium.com and
www.satphoneusa.com/iridium/network.html.
Unit 2
1. Draw an example Bluetooth Scatternet.

2. How RFID works?


A RFID system comprises different functional areas like:
1. Means of reading or interrogating the data in the tag.
2. Mechanism to filter some of the data.
3. Means to communicate the data in the tag with a host computer.
4. Means for updating or entering customized data into the tag.
RFID tags are categorized on three basic criteria. These are based on frequency, application
area and the power level.
On Frequency : There are six basic frequencies on which RFID operates. These are 132.4
KHz, 13.56 MHz, 433 MHz, 918 MHz, 2.4 GHz and 5.8 GHz. Low frequency (30 KHz to 500
KHz) systems have short reading ranges and lower system costs. Tags in this frequency
range are slow in data transfer and suitable for slow-moving objects. They are most
commonly used in security access, asset tracking and animal identification applications.
High-frequency (850 MHz to 950 MHz and 2.4 GHz to 2.5 GHz) systems offer long read
ranges and high data transfer speeds. High reading speed is required for fast moving objects
like railway wagon tracking and identification of vehicles on freeways for automated toll
collection. The higher the frequency the higher the data transfer rates.
Σ On Application : RFIDs are also grouped according to application and usage. Speed of the
object and distance to read determines the type of tag to be used. RFID used for livestock
will be different from the tag used in railroad. The significant advantage of all types of RFID
systems is the contactless, nonline-of-sight nature of the technology. Tags can be read
through a variety of substances such as snow, fog, paint, plastic, wall, container and other
challenging conditions, where barcodes or other optical means of reading are not effective.
RFID tags can also be read at high speeds. In these cases RFIDs can respond within 100
milliseconds. A RFID tag contains two segments of memory. One segment is a factory-set
and used to uniquelyidentify a tag. The other segment is usable by the application.
Application specific data can be written or stored in this portion of the tag. The read/write
capability of a RFID system is an advantage in interactive applications such as work-in-
process or maintenance tracking.
Compared to the barcode, RFID is a costlier technology. However, RFID has become
indispensable for a wide range of automated data collection and identification applications
that would not be possible otherwise.
Σ Power-based Grouping : RFIDs can be grouped into two types based on power
requirements. These are active and passive tags. Passive tags are generally in low frequency
range, whereas tags at higher frequency range can be either active or passive.
Σ Active RFID Tags : Active tags are powered by an internal battery and are typically
read/write. The life of an active tag is limited by the life of the battery. The data within an
active tag can be rewritten or modified. An active tag’s memory can vary from a few bytes
to 1MB. The battery-supplied power of an active tag generally gives it a longer read range.
The trade off is, greater the size greater the cost, and a limited operational life. Depending
upon the battery type and temperatures, the life of such tags could be 10 years. Some
active tags can also be smart and do not send their information all the time. In a typical
read/write RFID system, a tag might give a machine a set of instructions, and the machine
would then report its performance to the tag. This encoded data would then become part of
the tagged part’s history. This data can be details about the port of transit with dates.
Σ Passive RFID Tags : Passive tags operate without a power source of its own. A passive tag
obtains operating power from the reader’s antenna. The data within a passive tag is read
only and generally cannot be changed during operation. Passive tags are lighter, less
expensive and offer a virtually unlimited operational lifetime. The trade off is that they have
shorter read ranges than active tags and require a higher-powered reader. Passive tags
contain data usually 32 to 128 bits long.
RFID tags are of different shapes and sizes. Animal tracking tags are inserted beneath the
skin and are as small as a pencil lead. Tags can be screw-shaped to identify trees or wooden
logs. In stores, plastic tags are attached to merchandise and used as anti-theft devices.
Heavy-duty large tags are used to track containers or heavy machinery. The reader emits
radio waves in any range from one centimeter to 25 meters or more. When an RFID tag
passes through the electromagnetic zone of the reader, it detects the reader’s activation
signal. The reader decodes the data encoded in the tag’s integrated circuit and the data is
passed to the host computer for processing. A basic
RFID system consist of three components:
Σ A transponder programmed with unique information (RFID tag).
Σ A transceiver with decoder (a reader).
Σ An antenna or coil.
The antenna emits radio signals to read data from or write data into the tag. Antennas
control data acquisition and communication. An antenna is fitted with the transceiver to
become a reader. Close proximity passive tags rely on electromagnetic or inductive coupling
techniques (Fig. 4.3a). Whereas, active tags are based upon propagating electromagnetic
waves techniques (Fig. 4.3b). Coupling is via “antenna” structures forming an integral
feature in both tags and readers. While the term antenna is generally considered more
appropriate for propagating systems, it is also loosely applied to inductive systems.
3. What is WiMax (Wireless broadband)? How is it different from WiFi? Explain the WiMax
physical layer.
WiMAX provides wireless transmission of data using a variety of transmission modes, from point-to-
multipoint links to portable and fully mobile Internet access. This technology provides up to 10
Mbps bandwidth without the need for cables.

Physical Layer
To support duplexing, 802.16 adapted a burst design that allows both time-division duplexing
(TDD) and frequency-division duplexing (FDD). In TDD the uplink and downlink share a channel
but do not transmit simultaneously. In the case of FDD the uplink and downlink operate on separate
channels and sometimes simultaneously. Support for half-duplex FDD subscriber stations is also
supported in 802.16. Both TDD and FDD alternatives support adaptive burst profiles in which
modulation and coding options may be dynamically assigned on a burst-by-burst basis.
The 2–11 GHz bands, both licensed and unlicensed, are used in 802.16. Design of the 2–11
GHz physical layer is driven by the need for non-line-of-sight operation. The draft currently specifies
that compliant systems implement one of three air interface specifications, each of which provides
for interoperability. The 802.16 standard specifies three physical layers for services:

Σ WirelessMAN-SC2: This uses a single-carrier modulation format. This is to support existing


networks and protocols.

Σ WirelessMAN-OFDM: This uses orthogonal frequency-division multiplexing with a 256-point


transform. Access is by TDMA. This air interface is mandatory for license-exempt bands.

Σ WirelessMAN-OFDMA: This uses orthogonal frequency-division multiple access with a 2048-


point transform. In this system, multiple access is provided by addressing a sub-set of the
multiple carriers to individual receivers.
4. Give the statements of IEEE 802.16 standards.
IEEE 802.16 standardizes the air interface and related functions associated with WLL. Three
working groups have been chartered to produce the following standards:
IEEE 802.16.1—Air interface for 10 to 66 GHz.

IEEE 802.16.2—Coexistence of broadband wireless access systems.

IEEE 802.16.3—Air interface for licensed frequencies, 2 to 11 GHz.


Extensive radio spectrum is available in frequency bands from 10 to 66 GHz worldwide. In
a business scenario, 802.16 can serve as a backbone for 802.11 networks. Other possibilities
are using 802.16 within the enterprise along with 802.11a, 802.11b or 802.11g.

IEEE 802.16 standards are concerned with the air interface between a subscriber’s transceiver
station and a base transceiver station. The 802.16 standards are organized into a three-layer
architecture.

The physical layer: This layer specifies the frequency band, the modulation scheme, errorcorrection
techniques, synchronization between transmitter and receiver, data rate and the
multiplexing structure.

The MAC (Media Access Control) layer: This layer is responsible for transmitting data in
frames and controlling access to the shared wireless medium through media access control
(MAC) layer. The MAC protocol defines how and when a base station or subscriber station
may initiate transmission on the channel.

Above the MAC layer is a convergence layer that provides functions specific to the service
being provided. For IEEE 802.16.1, bearer services include digital audio/video multicast, digital
telephony, ATM, Internet access, wireless trunks in telephone networks and frame relay.
5. What are EDGE and Evolved EDGE?
Enhanced Data rates for GSM Evolution (EDGE), is an upgrade to GSM/GPRS networks to offer
higher capacity and performance in data transmission. EDGE is an improvement to the GPRS air
interface that enables higher user bit-rates and greater system capacity by enhancing capabilities
of the physical layer. Core nodes in GPRS, like SGSN and GGSN are not affected by these higher
bit-rates; and hence, no new hardware is required for EDGE; only base station transceivers need
to be EDGE-capable. Also, the BSS and BSC software needs to be updated. EDGE is also called
Enhanced GPRS (EGPRS) or IMT Single Carrier (IMT-SC).
EDGE has improved steadily since its introduction and, today it offers user bit-rates of around
250 Kbit/s, with end-to-end latency of less than 150 ms. To achieve this, EDGE uses 8 phase shift
keying (8PSK) for the upper five of its nine modulation and coding schemes. In effect, EDGE
makes a 3-bit word for every change in carrier phase. This results in tripling of the gross data rate
offered by GSM. Like GPRS, EDGE too, uses a rate adaptation algorithm that adapts the
Modulation and Coding Scheme (MCS) according to the current quality of the radio channel.
EDGE introduces Incremental Redundancy which (instead of retransmitting disturbed packets)
sends more redundancy information to be combined in the receiver. This results in increased
probability of correct decoding. 8-PSK, it is a high level linear modulation method that carries
three times more information through an extended signal constellation. Figure 7.6 shows GMSK
in comparison to 8-PSK.
Evolved EDGE
The next generation of EDGE is called Evolved EDGE that is capable of offering data rates close
to 1 Mbit/s. In this EDGE Evolution, latencies would be reduced by lowering the Transmission
Time Interval (TTI) from 20 ms to 10 ms. This would be through using dual carriers, higher
symbol rate and higher-order modulation (32 QAM and 16 QAM instead of 8-PSK) and turbo
codes to improve error correction. Though it is still in the test phase, it is being hailed as a cheaper
alternative to full-fledged deployment to 3G networks.
6. How does Mobile IP Work? Explain tunnelling in the context of Mobile IP.
Mobile IP
-‘Mobile IP’ signifies that, while a user is connected to applications across the Internet and the
user’s point of attachment changes dynamically, all connections are maintained despite the
change in underlying network properties
- Similar to the handoff/roaming situation in cellular network
- Mobile IP allows the mobile node to use two IP addresses called home address and care of address
- The home address is static and known to everybody as the identity of the host
- The care of address changes at each new point of attachment and can be thought of as the mobile
node’s location specific address

Let’s take the case of mobile node (A) and another host (server X).
The following steps take place:
- Server X wants to transmit an IP datagram to node A. The home address of A is advertised and
known to X. X does not know whether A is in the home network or somewhere else. Therefore, X
sends the packet to A with A’s home address as the destination IP address in the IP header. The IP
datagram is routed to A’s home network.
At the A’s home network, the incoming IP datagram is intercepted by the home agent. The home
agent discovers that A is in a foreign network. A care of address has been allocated to A by
this foreign network and available with the home agent. The home agent encapsulates the entire
datagram inside a new IP datagram, with A’s care of address in the IP header. This new
datagram with the care of address as the destination address is
retransmitted by the home agent.
- At the foreign network, the incoming IP datagram is intercepted by the foreign agent. The foreign
agent is the counterpart of the home agent in the foreign network. The foreign agent strips off
the outer IP header, and delivers the original datagram to A.
A intends to respond to this message and sends traffic to X. In this example, X is not mobile;
therefore X has a fixed IP address. For routing A’s IP datagram to X, each datagram is sent to some
router in the foreign network. Typically, this router is the foreign agent. A uses X’s IP static address
as the destination address in the IP header.
- The IP datagram from A to X travels directly across the network, using X’s IP address as the
destination address. Discovery
- A mobile node uses a discovery procedure to identify prospective home agents and foreign agents.
- Registration - A mobile node uses a registration procedure to inform its home agent of its care-of
address.
- Tunneling - Tunneling procedure is used to forward IP datagrams from a home address to a care of
address.

TUNNELING

In the mobile IP, an IP-within-IP encapsulation mechanism is used. Using IP-within-IP, the home
agent, adds a new IP header called tunnel header. The new tunnel header uses the mobile node’s
care-of address as the tunnel destination IP address. The tunnel source IP address is the home
agent’s IP address. The tunnel header uses 4 as the protocol number (Fig. 4.8), indicating that the
next protocol header is again an IP header. In IP-within-IP, the entire original IP header is preserved
as the first part of the payload of the tunnel header. The foreign agent after receiving the packet,
drops the tunnel header and delivers the rest to the mobile node.
When a mobile node is roaming in a foreign network, the home agent must be able to intercept
all IP datagram packets sent to the mobile node so that these datagrams can be forwarded via
tunneling. The home agent, therefore, needs to inform other nodes in the home network that all IP
datagrams with the destination address of the mobile node should be delivered to the home agent.
In essence, the home agent steals the identity of the mobile node in order to capture packets
destined for that node that are transmitted across the home network. For this purpose ARP
(Address Resolution Protocol) is used to notify all nodes in the home network.
6. In GSM network, there are some databases used for various purposes. What are they? What
are their functions?

GSM network databases contain lists of subscribers, devices, services,


and other Identifiable items that may be used by the GSM system. Some of
the key GSM network databases include a master subscriber database
(home location register), temporary active user subscriber database (visitor
location register), unauthorized or suspect user database (equipment identity
register), billing database, and authorization and validation center
(authentication).

Home Location Register - HLR - is a subscriber database containing each


customer’s international mobile subscriber
identity - IMSI and international mobile equipment identifier - IMEI to
uniquely identify each customer. The HLR holds each customer’s user profile,
which includes the selected long distance carrier, calling restrictions, service
fee charge rates, and other selected network options.

Visitor Location Register - VLR - contains a subset of a subscriber’s HLR


information for use while a mobile telephone is active on a particular MSC.
The VLR holds both visiting and home customers’ information. The user's
required HLR information is temporarily stored in the VLR memory and then
erased, either when the wireless telephone registers with another MSC or in
another system, or after a specified period of inactivity.

Equipment Identity Register - EIR - is a database that contains the identity


of telecommunications devices (such as wireless telephones) and the status
of these devices in the network (such as authorized or not-authorized). The
EIR is primarily used to identify wireless telephones that may have been
stolen or have questionable usage patterns that may indicate fraudulent use.

Authentication Center - AuC - The authentication center (AuC) stores and


processes information that is required to validate the identity ("authenticate")
of a wireless telephone before service is provided.

SMS Center - SMSC - receives, stores, delivers, and confirms receipt of


short messages.

Group Call Register - GCR - is a network database that holds a list of group
members and the attributes that allow the set-up and processing of calls to
and from group members. The GCR holds the membership lists, account
features, priority authorization and the current location of group members.
7. Draw the Cell Clusters and the system architecture of GSM and explain.
GSM CELL CLUSTERS

GSM ARCHITECTURE
GSM networks are structured in hierarchic fashion (Fig. 5.2). It consists at the minimum one
administrative region assigned to one MSC (Mobile Switching Centre). The administrative
region is commonly known as PLMN (Public Land Mobile Network). Each administrative
region is subdivided into one or many Location Area (LA). One LA consists of many cell
groups. Each cell group is assigned to one BSC (Base Station Controller). For each LA there
will be at least one BSC. Cells in one BSC can belong to different LAs.
Cells are formed by the radio areas covered by a BTS (Base Transceiver Station) (Fig. 5.3).
Several BTSs are controlled by one BSC. Traffic from the MS (Mobile Station) is routed
through MSC. Calls originating from or terminating in a fixed network or other mobile
networks is handled by the GMSC (Gateway MSC). Figure 5.3 depicts the architecture of a
GSM PLMN from technology point of view, whereas Figure 5.4 depicts the same
architecture from the operational point of view.
For all subscribers registered with a cellular network operator, permanent data such as the
service profile is stored in the Home Location Register (HLR). The data relate to the
following
information:
Σ Authentication information like International Mobile Subscriber Identity (IMSI).
Σ Identification information like name, address, etc., of the subscriber.
Σ Identification information like Mobile Subscriber ISDN (MSISDN), etc.
Σ Billing information like prepaid or postpaid customer.
Σ Operator selected denial of service to a subscriber.
Σ Handling of supplementary services like for CFU (Call Forwarding Unconditional), CFB
(Call Forwarding Busy), CFNR (Call Forwarding Not Reachable) or CFNA (Call Forwarding
Not Answered).
Σ Storage of SMS Service Center (SC) number in case the mobile is not connectable so that
whenever the mobile is connectable, a paging signal is sent to the SC.
Σ Provisioning information like whether long distance and international calls are allowed or
not.
Σ Provisioning information like whether roaming is enabled or not.
Σ Information related to auxiliary services like Voice mail, data, fax services, etc.
Σ Information related to auxiliary services like CLI (Caller Line Identification), etc.
Σ Information related to supplementary services for call routing. In GSM network, one can
customize the personal profile to the extent that while the subscriber is roaming in a foreign
PLMN, incoming calls can be barred. Also, outgoing international calls can be barred, etc.
There is some variable information, which could also be part of the HLR. This includes the
pointer to the VLR, location area of the subscriber, Power OFF status of the handset, etc.
8. Draw the GPRS System Architecture and Explain the GPRS Network Enhancements.

GPRS Network Enhancements


In addition to the new GPRS components (SGSN and GGSN), some existing GSM network
elements must also be enhanced in order to support packet data. These are:
Base Station System (BSS): BSS system needs enhancement to recognize and send packet data.
This includes BTS upgrade to allow transportation of user data to the SGSN. Also, the BTS needs
to be upgraded to support packet data transportation between the BTS and the MS (Mobile Station)
over the radio.
Home Location Register (HLR): HLR needs enhancement to register GPRS user profiles and
respond to queries originating from GSNs regarding these profiles.
Mobile Station (MS): The mobile station or the mobile phone for GPRS is different from that of
GSM.
SMS Nodes: SMS-GMSCs and SMS-IWMSCs are upgraded to support SMS transmission via
the SGSN. Optionally, the MSC/VLR can be enhanced for more efficient coordination of GPRS
and non-GPRS services and functionality.
9. Compare the Architecture and capabilities of 3G, 4G and 5G.
Unit 3
1. What is “Higher User to Install Base Ratio”?
Higher User to Install Base Ratio: Wireless environment offers a higher user to capacity
ratio. For example in a wired network like telephone, physical wire needs to be laid for each
and every subscriber. Whereas, for a cellular network the ratio between subscribers and
available channel is from 10 to 25 or even more. This means that if there is capacity for 100
channels, the network operator can safely have 2500 subscribers. Likewise in a wireless LAN,
the network can offer a very high level of return on investment.

2. Give the statements of IEEE 802.11 standards.


802.11 − This pertains to wireless LANs and provides 1 - or 2-Mbps transmission in
the 2.4-GHz band using either frequency-hopping spread spectrum (FHSS) or direct-
sequence spread spectrum (DSSS).
802.11a − This is an extension to 802.11 that pertains to wireless LANs and goes as
fast as 54 Mbps in the 5-GHz band. 802.11a employs the orthogonal frequency
division multiplexing (OFDM) encoding scheme as opposed to either FHSS or DSSS.
802.11b − The 802.11 high rate WiFi is an extension to 802.11 that pertains to
wireless LANs and yields a connection as fast as 11 Mbps transmission (with a
fallback to 5.5, 2, and 1 Mbps depending on strength of signal) in the 2.4-GHz band.
The 802.11b specification uses only DSSS. Note that 802.11b was actually an
amendment to the original 802.11 standard added in 1999 to permit wireless
functionality to be analogous to hard-wired Ethernet connections.
802.11g − This pertains to wireless LANs and provides 20+ Mbps in the 2.4-GHz
band.
3. Explain the mechanism behind CSMA/CA and give an example hidden and exposed terminal
problem scenario with diagrams.
The mechanism behind CSMA/CA is as follows:
Σ When a wireless station (a wireless LAN device) wants to communicate, it first listens to its
media (radio spectrum) to check if it can sense radio waves from any other wireless station.
Σ If the medium is free for a specified time then the station is allowed to transmit. This time
interval is called Distributed Inter Frame Space (DIFS).
Σ If the current device senses a carrier signal of another wireless device on the same frequency,
as it wants to transmit on, it backs off (does not transmit) and initiates a random timeout.
Σ After the timeout has expired, the wireless station again listens to the radio spectrum and if it
still senses another wireless station transmitting, it continues to initiate random timeouts until
it does not detect or sense another wireless station transmitting on the same frequency.
Σ When it does not sense another wireless station transmitting, the current wireless station
starts transmitting its own carrier signal to communicate with the other wireless station, and
once synchronized, transmits the data.
Σ The receiving station checks the CRC of the received packet and sends an acknowledgment
packet (ACK). Receipt of the acknowledgment indicates to the transmitter that no collision
occurred. If the sender does not receive the acknowledgment then it retransmits the fragment

Consider the scenario with three mobile nodes as shown in Figure 10.9(a). The transmission of
A reaches B, but not C. The transmission of C reaches B, but not A. However, the radio signal of
B reaches both A and C making A and C both in the range of B. The net effect is A cannot detect
C and vice versa.
A starts sending to B; C does not receive this transmission. C also wants to send to B and senses
the medium. To C the medium appears to be free. Thus C starts sending causing collision at B.
But now A cannot detect the collision and continues with its transmission. A is “hidden” for C
and vice versa.
Consider another case as shown in Figure 10.9(b). The radio transmission signal of A reaches C
and B. The radio signal of C reaches both A and D. A wants to communicate to B, A starts
sending signals to B. C wants to communicate with D, C senses the carrier and finds that A is
talking to B. C has to wait till the time A finishes with B. However, D is outside the range of A,
therefore waiting is not necessary. In fact A, B and C, D can communicate with each other in
parallel without any collision, but according to the protocol that is not possible. A and C are
“exposed” terminals
4. How do you protect WLAN from casual eavesdropping? Explain the technology.
WEP (Wired Equivalent Privacy)
WEP was designed to protect users of a WLAN from casual eavesdropping and was intended to
offer following facilities:
Σ Reasonably strong encryption. It relies on the difficulty of recovering the secret key through
a brute force attack. The difficulty grows with the key length.
Σ Self-synchronizing. Each packet contains the information required to decrypt it. There is
no need to deal with lost packets.
Σ Efficient. It can be implemented in software with reasonable efficiency.
Σ Exportable. Limiting the key length leads to a greater possibility of export beyond the US.
The WEP algorithm is the RC4 cryptographic algorithm from RSA Data Security. RC4 uses
stream cipher technique. It is a symmetric algorithm and uses the same key for both enciphering
and
deciphering the data. For each transmission, the plaintext is bitwise XORed with a pseudorandom
keystream to produce ciphertext. For decryption the process is reversed.
The algorithm operates as follows:
1. It is assumed that the secret key has been distributed to both the transmitting and receiving
stations by some secure means.
2. On the transmitting station, the 40-bit secret key is concatenated with a 24-bit Initialization
Vector (IV) to produce a seed for input into the WEP PRNG (Pseudo Random Number
Generator).
3. The seed is passed into the PRNG to produce a stream (keystream) of pseudorandom octets.
4. The plaintext PDU is then XORed with the pseudo-random keystream to produce the
ciphertext PDU.
5. This ciphertext PDU is then concatenated with the 24-bits IV and transmitted on the wireless
media.
6. The receiving station reads the IV and concatenates it with the secret key, producing the
seed that it passes to the PRNG.
7. The receiver’s PRNG produces identical keystream used by the transmitting station. When
this PRNG is XORed with the ciphertext, the original plaintext PDU is produced.
It is worth mentioning that the plaintext PDU is also protected with a CRC to prevent random
tampering with the ciphertext in transit.
5. In an Ethernet(wired) LAN CSMA-CD is used, whereas in Wireless LAN CSMA-CA is used.
What is CSMA-CA? Why is CSMA-CA used instead of CSMA-CD in Wireless LAN?

Carrier sense multiple access/collision avoidance (CSMA/CA) is a protocol for carrier transmission
in 802.11 networks. It was developed to minimize the potential of a collision occurring when two or
more stations send their signals over a data link layer.
In this scenario, CSMA requires each station to first check the state of the medium before initiating a
transmission. This helps to avert potential collisions by listening to the broadcasting nodes and then
informing devices to transmit when the channel is free.

CSMA/CA is used in wireless networks to prevent collisions by checking whether the channel is idle
before sending a packet. Collisions can still occur in wireless networks, because two devices trying
to access the access point at the same time causes a collision when both are authorised to use the
same channel.
6. Compare the Top-down and de centralized approaches of 3G versus Wi-Fi.
7. Explain the fundamentals of Call Processing.
FUNDAMENTALS OF CALL PROCESSING

To make a successful call, there are many steps. Figure 11.1 depicts various steps in a
telecommunication
call set up and tear down. However, if they are simplified, they will look like this:
Step 1 The A-subscriber lifts the handset. The moment a subscriber lifts the handset of a
telephone, the switch in an exchange is able to detect that a subscriber has lifted the handset. At
this moment the subscriber or the calling party (called the A-party) is welcome to enter the number
of the destination or called party (called the B-party). The welcome message is a dial tone. The
caller dials the telephone number of the called party.

Step 2 The exchange receives B-subscriber’s number. B’s number is received by the switch.
The switch analyses B’s number to determine whether B is within the same exchange or a different
exchange. If B is in a different exchange, it is called out-of-switch number.
Step 3 The exchange sets up the outgoing call. If B is within the same exchange, the line
interface circuit of B is obtained and A’s line is physically connected to that of B’s. If B is from
another exchange, a routing analysis is performed. The switch will make an attempt to connect to
B using the routing path. At this stage ISUP messages move through the SS7 network from switching
node to switching node. While the ISUP message is moving through the network, a voice path
parallel to the ISUP path is being reserved for circuit establishment. If it is unable to set up a path
due to the fact that B is busy, a busy tone is played for A. If B’s phone is free, and the switch is able
to establish a path between A and B, the circuit in the trunk is established. The telephone of B rings
and A hears a ring tone. The ring tone of A is issued by A’s exchange, whereas the ringing current
(signal) to B’s phone is sent by B’s exchange.
The ISUP message sent from A’s switch is called the IAM (Initial Address Message). This message
contains all the information necessary for each switch to be able to consult its routing table and to
select circuits that will result in connecting the circuit from end to end. A’s switch receives a
confirmation message called the ACM (Address Complete Message). When A’s exchange receives
this ACM message, it issues the ring tone to A. Once the phone is ringing, there is no further
signalling being exchanged for a time.
A charging analysis is performed on the call request. Charging depends on subscriber’s category,
tariff plan, time of day, distance between the called and caller party, etc. One of the registered
tariffs is selected for the billing of the call.
Following the ring at B’s telephone, B decides to answer the call. B picks up the phone. When
B’s phone comes ‘off hook’ the switch at B’s end sends an ANM (ANswer Message) backward into
the SS7 network to A’s exchange. Each switch is thus notified that the full circuit must now exist.
The circuit reserved from A to B is now connected. The system switches from signal mode to
traffic mode.
A and B enter into conversation mode. They talk as long as they want. The switches monitor the
connection, primarily to enable the call to be charged.
Step 4 The subscribers conclude their conversation. The switch continues to scan the
subscribers’ lines even during the conversation. Eventually, of course, someone hangs up. The
phone line once again goes “on hook” and that is sensed at the subscriber interface of the switches
serving the customer who hung up. Whichever office detects the hang up, that office sends a REL
(release) message on to the previous switch in the circuit. Upon receiving the REL, each switch
releases the circuit connection. At the same time, it returns an RLC (release complete) back to the
switch that sent the REL. Switch by switch, the scenario continues until each switch in the circuit
has released its circuitry and confirmed that action to the previous switch. Charging of the call
stops, and a CDR (Call Detail Record) is produced for charging.
8. What is intelligent network?
Intelligence network (IN) is a concept where intelligence is taken out of the central switch and
distributed within the network. Through IN, intelligence is added into the network and placed in
computer nodes that are distributed throughout the network.
9. Draw the SS#7 Network Architecture and explain.

The STP (Signaling Transfer Point)


STP is like a switch or a node in the SS7 network doing the basic routing functions. For example,
if an STP has links heading off toward the four compass points, it might be more “appropriate” to
direct a message addressed to Mumbai to a west-leading link than to an east-leading link. STP
routing decisions are based on geography, distance, congestion, and least cost criteria. Once a SS7
message is delivered from a source to destination, a circuit on the same path is reserved for traffic.
For fault tolerance, STPs are always installed in pairs with cross connections.
The SSP (Service Switching Point)
Service Switching Point is a switch in the SS7 network that can handle call set-up. The SSP has the
ability to stop call processing, make queries to even unknown databases, and perform actions
appropriate to the response. SSP is equipped with all the intelligence required to handle numerous
feature capabilities. Example of a SSP will be a MSC in a cellular network. There is another
switching point called a CCSSO (Common Channel Signaling Switching Office). These are end or
tandem offices which have the capability to use the SS7 in what is referred to as a trunk signaling
mode for call set-up. CCSSO is a limited version of the SSP.
The SCP (Service Control Point)
One of the first purely digital uses for the SS7 network was to provide a service to translate from
one form of data to another. For example, switches need to maintain tables to translate dialed
digits into routing information consistent with the international numbering system (for example
iiitb number +91808410628). It is that plan that breaks India (country code 91) down into city code
(80), exchange code (841), and finally to the line (0628) serving individual telephone. Let us take
another example where a person has moved his home from one part of the town to another. When
we dial the telephone number, it plays a recorded message like “The number you have dialed is
28670203, the number has changed to 25320203. You may dial the new number or wait for a
while to be connected automatically.”
When a virtual number like 1-800 in India is dialed, there is no way for the switch to determine
how to route this call. This is because such prefixes have no reference to the international
numbering
plan. In fact, a 1-800 number dialed in Mangalore may be connected to a number in Bangalore,
while the same number dialed in Pune may result in a connection to Mumbai. When that translation
is returned to the switch, the number can be connected exactly as it would have been if it had been
dialed in the first place. This database is located at an SS7 address called Signaling Point Code.
SCPs are used for a variety of applications such as Calling Card verification, toll-free calls, televoting,
premium tariff (1-900) calls, etc. Such intelligent nodes make the network intelligent. This
also frees the switch from trying to maintain ever larger routing tables, and enables the use of a
broad range of services which depend on translations or digital data services of a variety of types.
SCP provides the access mechanism required for a service. These services may reside in the
same location as the SCP or the SCP may serve as a “front end” for services located elsewhere. In
either case the SCP controls many services. To identify a service in a SS7 network, two parameters
are required. These are SCP address and the service within the SCP.
CRP (Customer Routing Point)
The CRP provides on-premises control of the routing information requested by switches for
translation of 800 type dialing. The operator of the CRP is a customer who requires rapid update
and control of the translation of their own numbers.
Intelligent Peripheral (IP): This is a peripheral process that deals with the requests made of it
through the SCP by providing the services of a variety of equipments. IP includes database
functionality of the SCP along with additional capabilities such as voice interaction and control of
voice resources. Generally speaking, SCPs work well with requirements that call for voluminous
data transactions. IPs, on the other hand, are best suited for special circumstance call processing
involving voice resources and/or interaction. Example of an IP is a voice-activated system, where
instead of dialing a number we can simply say “call iiitb”. Here the call will be routed to an IP,
which in turn will provide the iiitb telephone number.
Services Node (SN): A programmable IP is called Service Node (SN). Still, what one network
calls an IP might be called a Services Node in another network.
Services Management System (SMS): This is a node in the SS7 network that provides a human
interface to the database. This also provides the facility to update the database. SMS provides
GUI/command line interfaces to update and manage services and the network. Service Operators
configure the SMS to manage such mission-critical tasks as billing or access authorization.
10. Draw a Customer and Provider Network Devices scenario and explain the Virtual Private
Network.

Virtual private network (VPN) can be defined as connectivity between sites on a shared
infrastructure with similar access and security policies as a private network—it provides a user
same capabilities as private leased lines using the shared public infrastructure like the internet.
Unit 4
1. Draw the Components of Personal Data Assistant and Mobile phone comparably.
2. List the design constraints in applications of handheld devices.
Common across these devices are the following characteristics:
- Low-end processors.
- Small screen size.
- Cumbersome input device.
- Limited battery power.
- Memory limitations.

Processing Power: The processing speeds start at about 16 MHz. Heavy-duty computation
like encryption key generation is a heavy drain on the device’s resources. Most devices that
support security provide a special processor designed for the purpose. Computation on the
device should be done judiciously. Offloading computation to a backend server is always a
good idea.
Too many computations on the client while allowing for faster response eat into valuable
memory. Shifting everything to the server leads to poor response, which is a frustrating
experience for the user. Based on the functionality and specificity of the software, clients
are of three types:

1. Thin clients: These are generic in nature and cater to a wide range of sources. They are
similar to the web browsers. Communication from the server is mainly based on some
flavor of Markup Language (ML). The server needs to send large amount of display
information to the client, to adequately represent data, chocking up the transmission
channel. Thus the thin client offers generality at the cost of bandwidth. This is a major
consideration especially in networks where the users pay for the data and not call time.

2. Thick clients: The intelligence resides in the device and a call is made to the server only
for data. Computation is done locally. While this approach resolves the bandwidth problem
it Introduces two more problems, namely, the size of the application on the device and
distribution of the application when an update or fix happens.

3. Thin plus or semi-thick clients: These lie somewhere in between. How thick or thin is
decided based on the functionality of the application, the bandwidth availability and cost
constraints.

Screen Size: Most handhelds have a small screen, limiting the information that we can
display at one time. Hence, screens should be designed very carefully taking care to remove
all extraneous information. It is a good practice to limit scrolling to two screens below.
Navigation should be easy using a single click as far as possible. A general rule of thumb is
that the depth of navigation should be at most four clicks.

Cumbersome Input Devices: Most devices sport a stylus or T keypads or a very small
“qwerty” keyboard where keying in long strings is a pain. Hence, inputs should be kept to
the minimum. As far as possible we should try to device inputs as a single click kind of
option.

Application Load Time: Generally, users switch on their handhelds for short durations. For
example, often it is to retrieve a contact number. The load time for applications should be
low, as the users would not like to wait for the application to load each time.
Battery: Batteries are a scarce resource. One of the keys to the success of the application is
long battery life. Activities like serial or IR communications, sound extended animation, and
other tasks that use the CPU for long periods tend to consume large amounts of power.

Memory: All handheld devices have limited storage space, from 512K to 8MB, and a
dynamic heap in the range of 32K to 256K (newer devices tend to have 8MB and 256K,
respectively). Under such circumstances optimization is crucial. The optimization mantra is
heap first, speed second, and code size third.

Data Storage: All devices provide some amount of persistent storage. However, this is very
limited. Different devices organize this in different ways. Palm OS-based devices, for
example, treat all storage as database blocks. We shall see more about it in the subsequent
chapters. We will also discuss the techniques to optimize storage under different OSs.

Backward Compatibility: Backward compatibility is a key issue as the devices have evolved
rather rapidly in a very short span of time and users are not expected to upgrade their
system every time an advanced version becomes available. Hence, to gain wider acceptance
we have to write applications in such a manner that they will run on all versions of the
device and at the same time give the users of a later version better functionality.

Application Size: Applications need to be stored on the devices. Most devices will have an
upper limitation on the size of executables. This needs to be taken into account during the
design phase itself. Each feature should be visited multiple times with questions like “Is it
necessary?”, “Can it be done differently?”. We should try to ensure that only absolutely
necessary stuff resides on the device.
3. Draw the Components of android OS and explain.

The Android OS is roughly divided into fi ve sections in four main layers:


➤ Linux kernel — This is the kernel on which Android is based. This layer contains all the lowlevel
device drivers for the various hardware components of an Android device.

➤ Libraries — These contain all the code that provides the main features of an Android OS. For
example, the SQLite library provides database support so that an application can use it for
data storage. The WebKit library provides functionalities for web browsing.

➤ Android runtime — At the same layer as the libraries, the Android runtime provides a set
of core libraries that enable developers to write Android apps using the Java programming
language. The Android runtime also includes the Dalvik virtual machine, which enables every
Android application to run in its own process, with its own instance of the Dalvik virtual
machine (Android applications are compiled into Dalvik executables). Dalvik is a specialized
virtual machine designed specifi cally for Android and optimized for battery-powered mobile
devices with limited memory and CPU.

➤ Application framework — Exposes the various capabilities of the Android OS to application


developers so that they can make use of them in their applications.

➤ Applications — At this top layer, you will fi nd applications that ship with the Android device
(such as Phone, Contacts, Browser, etc.), as well as applications that you download and
install from the Android Market. Any applications that you write are located at this layer.
4. How much memory a PALM OS can occupy and run in how much of RAM?

Palm OS occupies approximately 300K bytes and can run in 32K bytes of RAM.
5. Explain the Palm OS Architecture with a Diagram.

the high level view of the Palm OS device consists of three layers : Application, Operating System,
and Hardware. Palm OS occupies approximately 300K bytes and can run in 32K bytes of RAM.
the heart of the OS is the kernel. Essentially the kernel handles all lowlevel
communication with the processor, interrupts, multitasking facilities and messaging to the
OS atop it. The kernel interfaces to the hardware via the hardware abstraction layer. On top of the
kernel there are the system services. Each service has a manager.
To achieve faster execution these are generally mapped ROM commands. Then there are the
system libraries and independent third party libraries. Later versions of the OS also contain a PACE
(Palm Application Compatibility Environment) which is an emulator for the older application
ensuring backward compatibility. This essentially ensures backward compatibility. The topmost layer
contains the applications that use the underlying library to perform certain tasks. We will now see
these components in some detail.

The kernel itself supports a lot of features but not all of these are available to the
applications. Also since the devices features available in various models are different, we urge the
readers to explore the features supported by the model on which the application is to be deployed
of the users are advice. Some important features supported by the kernel are listed below.
Kernel Features
Multitasking: The kernel itself supports advanced multitasking, including semaphores. But certain
licensing limitations cause these features to be available only to the system functions and not the
applications. So, for our purpose the OS is essentially single-tasked.

Interrupts: The kernel supports both maskable and non-maskable interrupts in normal and nested
modes. The handling is done through an interrupt specially written for it. It supports a mechanism
to trap errors and is able to handle hardware interrupts. Interrupts can also initiate other tasks.

Time slicing and scheduling: This essentially allows the execution of several tasks according to
their priority thereby supporting timers and time procedure. There are three types of triggers for
task switching:

Context switching: An application task requesting an implicit context switching.


Σ Hardware interrupt: There is an interrupt controller inside the Palm hardware system.
Σ Timer expiration: Each networking function has a timeout value to prevent the system from
being idle in waiting state forever.

Memory
A Palm device has ROM and RAM. Note: There is no hard disk. The ROM contains the OS and
some other static data. Most new models use a flash ROM and hence allow OS updates. Since the
onboard memory is pretty restricted, different versions of the OS support various types of extended
memory in the form of memory cards.

Dynamic Heap contains the operating system’s global variables and data objects, user interface
components, buffers, application data and an application stack, which also services system
functions.
The size varies between 32 kb to 256 kb depending on the Operating System version.
Storage Heap holds all the applications, user data, system patches, and any other persistent data
in the system. The point to be noted is that data is not stored in files but rather in databases.
ROM Heap holds the operating system kernel. Interestingly its physical address in memory is
at the higher end of the address space and helps to make compaction of the dynamic heap faster.
Database: There are two types of databases—record and resource databases. As the names suggest
Record databases store user data while Resource databases store applications and free-form data.
Record databases can have 64K records where resource databases can hold over 200 trillion
records.
Palm OS supports segmentation to overcome size restrictions on storage. It is the responsibility of
the memory manager to handle logical and physical segmentation. Palm OS maps the databases
to physical addresses and is analogous to the paging. Indexing is used to locate and retrieve data.
Figure 13.4 shows a typical database architecture.

Cross card support is implemented since Version 4 onwards in the form of VFS or virtual file
system. All the application data is held in the RAM and updated in place. This leads to an important
consideration “Memory integrity” which is the responsibility of the memory manager. Presiding
over all three memory heaps is the Palm memory manager.
The memory manager is responsible for
Σ Memory allocation,
Σ Manipulating the main data structures used to organize data within memory, and
Σ Providing programming APIs that ensures standard memory access across different versions
of Palm OS.
For faster response there is provision of using the system stack. This is also called the Feature
Memory. But application developers need to note that this taxes the system heap for very large
data structures.

13.3.3 System Managers


The next layer is the system services. To obtain any system service the developers have to use the
respective managers. All OS functionality the programmer wants to access must be accessed via
the managers. The main language for programming Palm is C.

Event Manager: Responsible for casting events handy for performing a global find or if the
system should enter sleep mode.
Σ Attention Manager: This is the manager responsible for alarms. Available from OS 4.0
onwards. it serves as a central modification point for all alarms set in the system.
Σ Data and Resource Manager: Responsible for record and resource creation, modification
and deletion.
Σ Exchange Manager: Responsible for all data transfer between several Palm OS devices. This
includes IR, TCP/IP and Bluetooth.
Σ Feature Manager: Responsible for feature memory mentioned in the section on memory.
Σ Graffiti Manager: All graffiti is handled via the graffiti manager
Σ Memory Manager: This manager is responsible for all memory allocation and handling. It
also ensures the integrity of the system’s memory by validating every write call.
Σ Sound Manager: The sound manager allows synchronous and asynchronous sound (one of
the few threads additionally available to the OS) and MIDI playback.
Σ Telephony Manager: This manager was added in OS version 4.0, and as the name signifies it
allows access to telephony API.
Σ VFS Manager: This manager also was added in OS 4.0.
6. Give the Symbian OS Architecture and Explain.

The kernel encapsulates the system services like multitasking, file services, power management,
memory management and the various device drivers. It includes support for the telephony services
for GSM, GPRS, CDMA and the security features. Version 8.0 boasts of powerful kernel
architecture, with hard real-time capabilities. It provides the programming framework in the form
of an abstraction making it easier to port Symbian OS.

As most other mobile operating systems, it resides in the flash memory and executes in place. In
the true spirit of plug and play, the OS is almost entirely implemented as DLLs. This helps in
keeping the size small as there is a single copy of the library and everybody links to it.

Hardware Interfaces
All applications need access to hardware for functions like I/O media control. Optional hardware
can be plugged in and the OS is expected to recognize and service it. As for other things the
hardware support is also implemented as DLLS. All hardware access is restricted to the privileged
mode, i.e., all calls have to pass through the kernel.
Hardware is differentiated by the kernel’s dependence on it. For example, timers, UART, DMA,
etc., are essential for the OS. These are packaged along with the OS code and have direct kernel
access.
Support for additional hardware is provided through a separate DLL, referred to as a kernel
extension. Examples for kernel extension include keyboard, media devices and a lot more. Kernel
extensions are detected and initialized at boot. Applications use the user library API to access
kernel extensions.
And finally we have device drivers for optional or non essential hardware. Device drivers are
true plug and play entities. Each device driver has two parts: a user side library for applications to
link to and a kernel-side counterpart, for the actual hardware access. Note: However the screen
buffer is an exception, here information is directly copied to the LCD display. The avoidance of
frequent context switches allows for higher speeds.
Interestingly, a file system is also considered a device and access is provided through a device
driver. The two components of this driver are a file system (generally FAT) and a media driver.
The media driver is the kernel side library performing the actual operations.
Memory Management
Resource allocation and process life cycle are the prerogative of the kernel. It keeps track of events
like thread death so that resources can be freed. As mentioned in the Palm OS chapter, memory is
required for three purposes: to store the OS itself, persistent application, and user data and runtime
requirements. The volatile memory is provided through a RAM. The persistent memory is provided
through Flash Memory. A flash memory though more expensive than ROM is the preferred option
as it can be reprogrammed.

Symbian OS uses page memory architecture. It implements a two-level page table using 4 KB
pages. This allows for efficient memory usage.
Owing to the multi-tasking capability of the OS, security becomes an important consideration.
Symbian OS addresses security concerns in two ways. First, by using privileged and non-privileged
mode execution it takes care of restricting access to kernel and hardware access. Second, it requires
all applications to run in a virtual machine (VM) thereby protecting the applications from each
other. Each application executes as a single process. (A single process is likely to have multiple
threads). At launch or initialization, the application is allocated memory for its data; the outer page
table stores a reference to this. When a context switch causes this process to be activated, all the
pages are moved to a pre-defined location in the virtual memory map, hence execution continues
in the appropriate thread. Applications cannot make direct calls to the call to hardware drivers;
they have to use user library APIs which in turn use system services through the kernel.
As mentioned earlier the primary concern of the MMU is to provide a protected mode system.
Other functions of the MMU include
Σ Restriction on access to process data.
Σ Protection of application and OS code.
Σ Isolation of the peripheral hardware.
More information on the MMU and CPU architecture can be found at the Symbian site.
All handsets have limited runtime memory. Out of memory exceptions are quite likely. One
way that Symbian uses to counter this is by having a clean-up stack, all partially constructed objects
are placed here until their construction has been completed. If the phone does not have sufficient
memory to complete object creation then it simply deletes the contents of this stack. By not
allowing partially constructed objects it avoids memory leaks as well as protects applications from
potential data loss.
System Software
All applications require system services of one type or the other. The Symbian OS System services
framework operates in a client server mode where in most of the system services are provided as
servers for example a file server, font and bitmap server, a media server etc. An application is a
client that connects to these servers and requests their services. The client connects to the server
using the kernel interfaces and uses a message passing mechanism for interaction. The server
however runs in an unprivileged mode and will use other backend device drivers or kernel
extensions to perform its tasks. From an application perspective we need to concentrate on the user
library. The user library provides APIs to application framework and controlled access to the kernel.
7. What are the Programming languages supported by Symbian OS give a sample look like code for
Application development in Symbian OS.

The programming languages supported by Symbian OS are Java and C++

Sample code

#include <e32base.h>
#include <e32cons.h>
LOCAL_D CConsoleBase* gConsole;
GLDEF_C int E32Main()
{

//Obtain a console
gConsole = Console::NewL(_L(“SYMBIAN”),TSize(KConsFullScreen,KConsFullScreen));

//Create a descriptor for the message


_LIT(SymbianHello,“Hello Symbian\n”);

//print to the console


gConsole->Printf(SymbianHello);

//pause
User::After(1000000);

//exit
return 0;
}
8. What is J2ME RMI Profile? Give the Basic Socket Connection Interface syntax of J2ME.

The J2ME RMI (Remote Method Invocation) Profile, as the name suggests provides support for
RMI across applications. It is built on top of the Foundation Profile and uses TCP/IP as the
underlying connection protocol. It is interoperable with the Java2 Standard Edition ( J2SE) RMI
API 1.2 and higher. Details of the RMI Profile specifications can be found at JSR-66 home.

SOCKET CONNECTION INTERFACE

SocketConnection client = (SocketConnection) Connector.open


(“socket://” + myhost + “:” + 7001);
InputStream is = client.openInputStream( );
OutputStream os = client.openOutputStream( );
// send a request to server
os.write(content.getBytes( ));
// read server response
int c = 0;
while((c = is.read( )) != -1)
{
// store for later use.
}
// close all
is.close( );
os.close( );
client.close( );
9. Why do you think that Windows Phone was lagging behind Android in popularity?

Google’s Android which is a descendent of Linux and Open Source has


gained popularity. Google, in association with Open Handset Alliance, announced the opening
up of the whole source code of Android (including network and telephony stack) under an
Apache license. This has led to a huge developer’s community directly participating in making it
more robust and user intuitive. Hence android has gained more popularity than Windows Phone
10. Explain different layers in the Windows CE architecture and also Explain the Windows CE
development environment with an example.

OEM Layer
The OEM layer is responsible for getting a Windows CE–based OS to run on a new hardware
platform. Within the OEM layer there is an OEM adaptation layer (OAL). This layer resides between
the Windows CE kernel and the hardware of the device. It facilitates communication between the
operating system (OS) and the target device and includes code to handle interrupts, timers, generic
IOCTLs (I/O control codes), etc.

Operating System Layer


The operating system layer contains all the software supplied by Microsoft as a part of the operating
system. The main component in this layer is the kernel.

Kernel
The kernel is the core of the OS, and is represented by the Coredll.dll module. It provides the base
operating system functionality that is common to all devices. Like any other operating system,
Windows CE kernel is responsible for memory management, process management, and certain
required file management functions. It manages virtual memory, scheduling, multitasking,
multithreading and exception handling. There are some optional kernel components that are
needed
to include features like telephony, multimedia and graphics device interface (GDI).
Windows CE maps the bottom section of memory into 33, 32 Mb slices called “slots”. The
lowest slot is used for the currently running process (the process at slot 0), and other low slots are
used for system processes as:
Slot 0: current running process
Slot 1: kernel (NK.EXE)
Slot 2: File system – object store, registry, CeDB etc. (Filesys.exe)
Slot 3: Device manager (Device.exe)
Slot 4: Windows CE shell (Shell32.exe).
Five slots are used, leaving 28 remaining slots for user processes.

Graphic Windowing and Event System (GWES)


Graphic Windowing and Event System, commonly known as GWES is the graphical user interface
between a user and the OS. GWES handles the user input/output. It provides controls, menus,
dialog boxes and resources for devices that require a graphical display.

Device Manager
In desktop operating systems we load all the device drivers during the startup. However, in
Windows
CE we do not do so; we use the Device Manager to load the drivers as and when necessary. The
Device Manager is launched from the kernel and runs continuously.

Windows CE Storage
Windows CE offers different types of storage. These are registry, file system, object store, and
databases. Object store is a new concept and available only in Windows CE. Most of these storages
in Windows CE are RAM-based.

Communication Services and Networking


The communications component in Windows CE provides support for various types of media
access. This varies from device to device. However, the most important ones are communication
through the serial port and infrared. Also there is support for Internet and remote access.

Application Layer
The last and final layer is the custom application layer. All the Windows CE user applications form
this layer. Subsystems for user interface and internationalization are part of this layer. Windows
CE applications available from Microsoft, applications developed by OEM or application developed
by third parties are part of this layer.

WINDOWS CE DEVELOPMENT ENVIRONMENT

The application for Windows CE is developed on a desktop environment. It is tested through a


simulator on the desktop environment. Once the application is found working on the simulator it
is loaded on the physical Windows CE device for testing. Therefore, Windows CE development
environment comprises different systems and subsystems in the desktop. Also, it requires some
components on the Windows CE device. Following are the components:

Windows 2000 operating system on the workstation: it is recommended that Windows


2000, or a later edition is used as the host OS on the workstation for the Windows CE development.

Visual Studio: The Windows CE development environment is an add-on on the desktop


development environment. Visual Studio for Windows CE extends the Visual Studio for
desktop.
eMbedded Visual Tools: This set of software comprises different tools for the Windows CE
development and debugging. The set includes:
o Remote file viewer
o Remote Heap Walker
o Remote Process Viewer
o Remote Registry Editor
o Remote Spy++
o Remote Zooming
o Control Manager

Σ SDK (Software Development Kits): For Palm-size PC and Handheld/PC SDK can also
be used. This can give a better control over the device.

Σ ActiveSync: Like we archive our files in the desktop, we need to archive our files and data in
the Windows CE device. Also, as the data is stored in RAM, it is advisable to save the data
from time to time. ActiveSync is used to perform all these functions. All Windows CE devices
come with a cradle that attaches to a desktop or a laptop PC via ActiveSync. It is a system that
manages the connection between a desktop computer and the Windows CE device. ActiveSync
can be configured to synchronize e-mail, calendar appointments, contacts and many more
applications.
Once the software are installed, we need to connect the workstation with the Windows CE
device. This is required for multiple functions starting from installing of the Windows CE software
to the debugging of the Windows CE system. This will be used as the PC-Link.

Windows C++ Development


One of the most common platforms for developing applications for Windows CE is Visual C++.
All application developed using Visual C++ will work on all Windows CE platforms. For C++
development we need Visual C++ Toolkit for Windows CE. We can develop application for
Windows CE using the MFC classes. To develop applications using Visual C++ we will need the
following:
Σ Visual C++ Professional or Enterprise edition (latest release).
Σ HPC or PSPC SDK, downloadable for free from the Microsoft website.
Σ The Visual C++ Toolkit for Windows CE (latest release).
Unit 5
1. Differentiate Gateway and Gatekeeper in VoIP.
GATEWAY
The purpose of the gateway is to do the signal and media translation from IP to circuitswitch
network and vice versa. This includes translation between transmission formats, translation
between
audio and video codecs, call setup and call clearing on both the IP side and the circuit-switched
network side. The primary applications of gateways are:
- Establishing links with analog PSTN terminals.
- Establishing links with remote H.320-compliant terminals over ISDN-based switched-circuit
networks.
- Establishing links with remote H.324-compliant terminals over PSTN networks

GATEKEEPER
A gatekeeper acts as the central point of control for all calls within its zone for all registered
endpoints.
A gatekeeper is not mandatory in an H.323 system. However, if a gatekeeper is present, terminals
must use the services offered by gatekeepers. Gatekeepers perform functions like address
translation
and bandwidth management. For example, if a network has a threshold for the number of
simultaneous conferences on the LAN, the gatekeeper can refuse to make any more connections
once the threshold is reached. An optional feature of a gatekeeper is its ability to route H.323 calls.
By routing a call through a gatekeeper, service providers can meter a call with an intention of
charging.
2. Explain the IP Multimedia Subsystem Architecture.

The IMS services architecture is a unified architecture that supports a wide range of services
enabled by the flexibility of SIP. As shown in Figure 17.12, the IMS architecture is a collection of
logical horizontal functions, which can be divided into three major layers:
Σ Communication Layer
Σ Session Control Layer
Σ Applications or Service Layer

In the IMS architecture, Call Session Control Function (CSCF) is used in the session control
layer.
The session control layer contains the Call Session Control Function (CSCF), which provides the
registration of the endpoints and routing of the SIP signaling messages to the appropriate
application server. The session control layer includes the Home Subscriber Server (HSS)
database that maintains the unique service profile for each end user. The end user’s service
profile stores all of the user service information and preferences in a central location. This
includes an end user’s current registration information (i.e., IP address), roaming information,
telephony services (i.e., call forwarding information), instant messaging service information (i.e.,
buddies list), voice mail box options (i.e., greetings), etc. Media resource function (MRF)
includes functions related to conference booking and floor management. Conference booking
provides booking information like start time, duration, list of participants, etc. Through floor
control, end users (participants, or chairman of the conference) can influence floor and provide
information to the MRF Controller on how incoming media streams should be mixed and
distributed
3. Compare the VoIP, VoWLAN, VoLTE.
4. What is convergence between PSTN and IP networks? Discuss its implications.

To make convergence and interworking between PSTN and IP networks possible, three
functional gateway elements are defined. Two of these are interface elements: the Media
Gateway and the Signaling Gateway. The third element is the Media Gateway Controller.
Signaling gateway (SG) is responsible for interfacing to the SS#7 network and forwarding the
signaling message to the IP network. The Media Gateway (MG) is responsible for packetization
of voice and other real-time traffic (media). The Media Gateway Controller (MGC) plays the role
of the mediator to enable and control access and resource usage between the IP and PSTN
network. Together, these elements form the building blocks for a distributed architecture
approach to providing voice, fax and a set of digital data services over IP networks.
5. Explain the Principles of Best Effort Delivery.

The four basic principles of best effort delivery:

1. Classify packets so as to allow routers (on the source to destination path) to distinguish
amongst packets belonging to different classes of traffic. This can be done through packet
marking. Then, routers can behave differently with different traffic classes.

2. For many traffic flows passing through a router, there should be some extent of isolation
among them. This is necessary because if one traffic flow misbehaves (that is, tries to capture
the whole bandwidth at the router for itself), the other should not be adversely affected.
This can be achieved by either policing an ongoing traffic flow or through link layer level
packet scheduling mechanism for specific bandwidth allocation to each class of traffic flow.

3. Flow isolation amongst various classes of traffic should use the available bandwidth as
efficiently as possible. Consider a scenario where a particular traffic flow has decreased its
usage of allocated resources. Then, in this case, the unused resources should not be wasted
but made allowable for usage of other existing traffic flows.

4. There should be a call admission mechanism in which traffic flows should declare their
QoS requirements beforehand. This would facilitate the event in which a flow is admitted
into the network only when QoS requirements can be honored (and not when the QoS
cannot be facilitated).
6. What is a codec? Explain its role in multimedia.

A codec is a device or program which is capable of performing encoding and decoding on a


digital data stream. The word ‘codec’ is essentially a combination of code and decode; that in
other words signifies Compression and Decompression respectively. In early days of
communications, the term codec was primarily used for hardware that encoded and decoded
analog signals.
But in recent years, codec is applied to a class of software for converting among digital signal
formats, and including compander functions.

Codecs (in the software sense) encodes a stream or signal for transmission, storage or
encryption and decodes it for viewing or editing. Codecs are often used in video-conferencing
and streaming multimedia applications. A video camera’s analog-to-digital converter (ADC)
converts its analog signals into digital signals, which are then passed through a video
compressor for digital transmission or storage. A receiving device then runs the signal through a
video de-compressor, then a digitalto- analog converter (DAC) for analog display. The raw
encoded form of audio and video data is often called essence, to distinguish it from the metadata
information that together make up the information content of the stream and any wrapper data
that is then added to aid access to or improve the quality of the stream.

Most of the codecs functions and algorithms we encounter today, use lossy compression
technique.

There are lossless codecs too, but for most purposes the slight increase in quality is not worth
the increase in data size, which is often considerable. Using more than one codec or encoding
scheme while creating a finished product can degrade quality significantly. Many codecs are
designed to emphasize certain aspects of the media to be encoded. For example, a digital video
(using a DV codec) of a sports event, such as baseball or soccer, needs to encode motion well,
but not necessarily exact colors, while a video of an art exhibit needs to perform well encoding
color and surface texture. There are many codecs ranging from those downloadable for free to
ones costing thousands of dollars.
Generally, we will find that codecs can be functionally classified into two main categories: audio
and video. However, there are few codecs for text and data too. Again, as mentioned previously,
codecs can be proprietary or interoperable.
7. Explain the Components of Information Security with a neat diagram.

Information security needs to cater to all possible attacks related to confidentiality,


integrity, availability, non-repudiation, authorization, trust and accounting (CIANATA).
Confidentiality is the property where the information is kept secret so that unauthorized persons
cannot get the information. Integrity is the property of keeping the information intact. Availability
is the property of a system by which the system will be available to its legitimate users.
Nonrepudiation
is the property by which the identity of both sender and receiver of the message can
be identified and verified. Authorization is the property by which the user’s properties can be
associated to the information access. Trust is the property of expectation, confidence, and belief
over time. Accounting is the property of calculating the fee for a service rendered.

Confidentiality
Confidentiality is ensured through encryption of the data. To a person a comprehensible
message is
written in a particular language. The language can be English, Hindi, French or any other
language.
These messages are called plaintext or cleartext messages. Through encryption (or encipher)
we
disguise this message in such a fashion that it is no longer understandable by either a person or
a
machine. An encrypted message is called ciphertext. The process of converting a ciphertext
back
into plaintext is called decryption (or deciphering).

Integrity
Integrity is to ensure the integrity of the message. Integrity is achieved by adding additional
information into the message. This is done through checksums, message digests or digital
signature.
In a crypto system, the receiver of the message checks this extra information to verify whether
the
message has been tampered with.

Authorization
Authorization deals with privileges. In any transaction, there is a subject (a person) and an object
(data items or file). The subject wants some function to be performed on the object. The privilege
to an object is defined through ACL or Access Control List. ACL is used while allowing access to
the object. The privilege on an object can be read, write, or execute. Besides objects there need
to
be privilege-based type of subjects. This is done through authorization.

Non-repudiation
Authentication and non-repudiation have some overlapping properties. Authentication is a
process
by which we validate the identity of the parties involved in a transaction. In non-repudiation we
identify the identity of these parties beyond any point of doubt. Non-repudiation can be
considered
as authentication with formal record. These records will have legal bindings.

Availability
Media management is not within the scope of security protocols and algorithms. However, media
management is part of the larger security framework. Media management is needed to ensure
availability of service. For a message a confidentiality may be maintained; also, the integrity is
intact but an attacker can manipulate the media to make sure that the message does not reach
the
destination.

Trust
Computers rely on user authentication and access control to provide security. Within a network,
it may be safe to assume that the keyholder is authentic, and the keyholder is using the key
assigned to him or her. However, these strategies are inadequate for mobile computing
environments with high level of flexibility. Mobile computing lacks centralized control and its
users are not all predetermined. Mobile users expect to access resources and services
anywhere and anytime.

This leads to serious security risks and access control problems. To handle such dynamic
everchanging context, trust-based security management is necessary. Trust involves developing
a security policy, assigning credentials to entities, verifying that the credentials fulfill the policy.
Also, we need delegation of trust to third parties, and reasoning about users’ access rights.

Accounting
For any service, the service provider needs to be paid. The service can be either a content
service or a network service. Accounting and billing is a very critical aspect in mobile computing
environment. Accounting is the process by which the usage of the service is metered. Based
upon the usage, the service provider collects the fee either directly from the customer or through
the home network. This will be true even if the user is roaming in a foreign network, and using
the services in the foreign network.

RADIUS (Remote Authentication Dial In User Service) protocol (RFC 2865) has been in use
for a long time for the AAA (Authentication, Authorization, and Accounting) functions in Internet.

With the demanding service requirement of mobile computing, it is now apparent that RADIUS is
incapable of supporting all these complexities. A new protocol called Diameter (RFC 3588) has
been released to address the AAA needs for data roaming and mobile computing. Diameter can
work in both local and roaming AAA situations
8. Describe symmetric key and public key encryption. If you are required to design a security
system, when will you use which one?

Symmetric encryption is a type of encryption where only one key (a secret key) is
used to both encrypt and decrypt electronic information. The entities
communicating via symmetric encryption must exchange the key so that it can be
used in the decryption process.

It is used when a large amount of data is required to transfer.

In public key cryptography we use two different keys, one key for encryption and another for
decryption. As there are two different keys used, this is also called asymmetric key cryptography.
The development of public key cryptography can be considered as the greatest advance in the
history of cryptography. Public key cryptosystem is based on mathematical functions rather than
permutation and substitution.

It is used when we have to transfer small amount of data and provides confidentiality,
authenticity and non-repudiation.
9. Explain the Functioning of MPLS with diagram.

MPLS operates at an OSI Model layer that is generally considered to lie between
traditional definitions of Layer 2 (data link layer) and Layer 3 (network layer) to perform smarter
routing, and thus is often referred to as a “Layer 2.5” protocol.

MPLS is a packet forwarding technology which makes the use of labels for data forwarding
decisions. It provides a unified data carriage service for different traffic categories like IP
packets,
frames of ATM and SONET, etc. Such a model facilitates MPLS to be a generic model for both,
circuit switched and packet switched data. The MPLS working group aims to standardize a base
technology which can combine the use of label swapping in the forwarding component with
network
layer routing in the control component and thus, provisioning:
Σ MPLS to run over any link layer technology while supporting both unicast and multicast
traffic flows.
Σ MPLS to be scalable enough to support Internet growth while being compatible with the
IETF Integrated Services Model and its related protocols.
Σ MPLS to support current IP network operations.
Coming from the family of IETF, MPLS initiates assignment and distribution of label bindings
for the establishment of Label Switched Paths (LSPs). LSPs can be created by concatenating
one or
more label switched hops which, in turn, provision a packet to be forwarded from one Label
Switching Router (LSR) to another LSR across the whole MPLS domain. MPLS defines standard
based IP signaling and label distribution protocols along with extensions to existing protocols.
This helps multi-vendor interoperability. With MPLS, the network layer header analysis is done
when the packet enters its domain and this label inspection drives subsequent packet forwarding
across the whole of domain. Figure 21.2 depicts an overview of MPLS functioning.
10. Explain the role of Java and XML in Android Application development with essential syntax and
semantics and also explain the SDK Features.

Java plays an important role in development of Android applications


because business logic is written in Java. You can say that knowledge of
core Java is must for the development of android application. Knowledge
of advance Java is a plus point for the development. With the knowledge of
advance Java, you can add new features to the application. Let’s start to
discuss the role of Java in android development by taking a look at the
features of Java which makes it popular language for the Android
development.
XML performs the same function in Android app development: describing
data and introducing elements. Specifically, XML sets the layout of things
like buttons and images, and defines the font, color, and any text that
shows by default.
Syntax for java code:
package net.learn2develop.HelloWorld;
import android.app.Activity;
import android.os.Bundle;
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Syntax for XML code
<?xml version=”1.0” encoding=”utf-8”?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/
android”
android:layout_width=”fill_parent”

android:layout_height=”fill_parent”
android:orientation=”vertical” >
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello” />
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”This is my first Android Application!” />
<Button
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”And this is a clickable button!” />
</LinearLayout>
ANDROID SDK
Android SDK is a collection of libraries and Software Development tools that are
essential for Developing Android Applications. Whenever Google releases a new
version or update of Android Software, a corresponding SDK also releases with
it.
Android SDK Tools
Android SDK tool is an important component of Android SDK. It consists of a
complete set of development and debugging tools. Below are the SDK developer
tools:
Android SDK Build-Tools
Android SDK build tools are used for building actual binaries of Android App. The
main functions of Android SDK Build tools are built, debug, run and test Android
applications. The latest version of the Android SDK Build tool is 30.0.3. While
downloading or updating Android in our System, one must ensure that its latest
version is download in SDK Components.
Android Emulator
An Android Emulator is a device that simulates an Android device on your system.
Suppose we want to run our android application that we code. One option is that we
will run this on our Android Mobile by Enabling USB Debugging on our mobile.
Another option is using Android Emulator. In Android Emulator the virtual android
device is shown on our system on which we run the Android application that we
code.
Android SDK Platform-tools
Android SDK Platform-tools is helpful when we are working on Project and they will
show the error messages at the same time. It is specifically used for testing. It
includes:
• Android Debug Bridge (ADB), is a command-line tool that helps to
communicate with the device. It allows us to perform an action such as Installing
App and Debugging App etc.
• Fastboot allows you to flash a device with a new system image.
• Systrace tools help to collect and inspect timing information. It is very crucial
for App Debugging.

You might also like