Ii - MSC - CS - Mobile Computing

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 149

MOBILE COMPUTING

SYLLABUS
UNIT - I
Basics of mobile - Mobile device profiles - Middleware and gateways - Wireless
Internet - Smart clients - Three-tier Architecture- Design considerations for mobile
computing-Mobility and Location based services.

UNIT - II
Mobile computing through Internet - Mobile-enabled Applications - Developing
Mobile GUIs – VUIs and Mobile Applications – Characteristics and benefits – Multi
channel and Multi modal user interfaces – Synchronization and replication of Mobile
Data - SMS architecture – GPRS – Mobile Computing through Telephony.

UNIT - III
Mobile Application Development - Android- wi-fi –GPS – Camera – Movement –
orientation - event based programming – iOS/ windows CE - Blackberry – windows
phone – MCommerce- Mobile payment system -J2ME
UNIT - IV
ADHOC Wireless Network - Ad Hoc Wireless Network –MAC protocol - Routing
protocols - Transport Layer Protocol - QoS – Energy Management– application
design – work flow – composing applications –Dynamic linking – Intents and
Services – Communication via the web.
Unit - V
Security and Hacking - Password security – Network security – web security –
Database security -Wireless Sensor Network - Architecture and Design – Medium
Access Control – Routing – Transport Layer –Energy model.
TEXT BOOKS
1. Jochen Schiller, Mobile Communications, SecondEdition, 2012.
2. William Stallings,”Wireless Communications & Networks”, Pearson
Education,2009.
UNIT-I
1.1 BASIC OF MOBILE
Mobile Computing is a technology that allows transmission of data, voice and
video via a computer or any other wireless enabled device without having to be
connected to a fixed physical link. The main concept involves
 Mobile communication
 Mobile hardware
 Mobile software

Mobile communication
The mobile communication in this case, refers to the infrastructure put in
place to ensure that seamless and reliable communication goes on. These would
include devices such as protocols, services, bandwidth, and portals necessary to
facilitate and support the stated services. The data format is also defined at this
stage. This ensures that there is no collision with other existing systems which offer
the same service.

Mobile Hardware
Mobile hardware includes mobile devices or device components that receive or
access the service of mobility. They would range from portable laptops,
smartphones, tablet Pc's, Personal Digital Assistants.

1
Smartphones
A smartphone is a more powerful version of a traditional cell phone. In
addition to the same basic features—phone calls, voicemail, text messaging—
smartphones can connect to the Internet over Wi-Fi or a cellular network (which
requires purchasing a monthly data plan). This means you can use a smartphone for
the same things you would normally do on a computer, such as checking your email,
browsing the Web, or shopping online
Most smartphones use a touch-sensitive screen, meaning there isn't a physical
keyboard on the device. Instead, you'll type on a virtual keyboard and use your
fingers to interact with the display. Other standard features include a high-quality
digital camera and the ability to play digital music and video files. For many people,
a smartphone can actually replace electronics like an old laptop, digital music player,
and digital camera in the same device.
Now mobile phone has slowly taken the place of laptop for many of the
applications.
Following figure depicts components in a generic mobile phone irrespective to
the technology on which they need to work such as GSM, CDMA, LTE and so on.
We will understand Mobile Phone with respect to GSM standard here

This kind of phone combines the features of a PDA with that of a mobile phone or
camera phone. It has a superior edge over other kinds of mobile phones.

2
Smartphones have the capability to run multiple programs concurrently. These
phones include high-resolution touch screens, web browsers that can access and
properly display standard web pages rather than just mobile-optimized sites, and
high-speed data access via Wi-Fi and high speed cellular broadband.
The most common mobile Operating Systems (OS) used by modern smartphones
include Google's Android, Apple's iOS, Nokia's Symbian, RIM's BlackBerry OS,
Samsung's Bada, Microsoft's Windows Phone, and embedded Linux distributions
such as Maemo and MeeGo.

Tablet PC and iPads


This mobile device is larger than a mobile phone or a PDA and integrates into a
touch screen and is operated using touch sensitive motions on the screen. They are
often controlled by a pen or by the touch of a finger. They are usually in slate form
and are light in weight. Examples would include ipads, Galaxy Tabs, Blackberry
Playbooks etc.

Tablet computers are designed to be portable. However, they provide a


different computing experience.

3
The most obvious difference is that tablet computers don't have keyboards or
touchpads. Instead, the entire screen is touch-sensitive, allowing you to type on a
virtual keyboard and use your finger as a mouse pointer.

Mobile software
Mobile software is the actual program that runs on the mobile hardware. It deals
with the characteristics and requirements of mobile applications. This is the engine
of the mobile device. In other terms, it is the operating system of the appliance. It's
the essential component that operates the mobile device.
MOBILE PHONE OS (OPERATING SYSTEM)
various operating systems are supported in mobile phone such as
Symbian,java,android,RT-Linux,Palm. It runs on CPU of different manufacturers.
For time critical applications RTOS (real-time operating system) is used.

BATTERY
It is the only major source of power to make/to keep mobile phone
functional. There are various types of batteries made of Nickel
Cadmium(NiCd),Nickel Metal Hydride(NiMH), based on lithium,Li-ion and so on.
The major factors for designers is to reduce battery size, last for more talk
time,increase battery life. Battery comes usually with 3.6 or 3.7 voltage and 600mAh
or 960 mAh ratings. Battery Charger is usually provided with mobile phone to
charge the mobile phone battery. Battery charger is AC to DC converter.
Connectivity (WLAN, Bluetooth, USB, GPS)
To make data transfer fast enough between mobile phone and other
computing devices(laptop,desktop,tablet) or between mobile and mobile various
technologies are evolved which include WLAN,Bluetooth,USB. GPS(global
positioning system) is used for location assistance and will enable google map to
work efficiently.

MICROPHONE AND SPEAKER


4
Microphone : Microphone or mic converts air pressure variations(result of our
speech) to electrical signal to couple on the PCB for further processing. Usually in
mobile phone mic of types condenser,dynamic,carbon or ribbon is used.
Speaker : It converts electrical signal to audible signal(pressure vibrations) for
human being to hear. This is often coupled with audio amplifier to get required
amplification of audio signal. It also tied with volume control circuit to
change(increase or decrease) the amplitude of the audio signal.
Camera: Now-a-days with almost all the mobile phone camera feature is
available for one to click pictures at various occasions. It is the major specifications in
increasing cost of mobile phone. There are various mega pixel camera for mobile
phones are available such as 12 mega pixel, 14 mega pixel and even 41 mega pixel
available in smartphones.This has become evident because of advancement in sensor
technology.If one wants to buy low cost mobile phone, they usually go for non
camera mobile phone.

DISPLAY AND KEYPAD


Display: There are various display devices used in mobile phone such as
LCD(liquid crystal display), TFT(Thin-film transistor) screen,OLED(organic light
emitting diode),TFD(thin film diode), touch screen of capacitive and resistive type
etc.

Keypad : Earlier days keypad was simple matrix type keypad which contains
numeric digits( 0 to 9), alphabets( a to z),special characters and specific function
keys. These has been designed for various applications such as accepting
call,rejecting call,cursor movement(left,right,top,down) dialling number, typing
name/sms/mms and so on. Now-a-days keypad has been removed from the phone
5
design and it has become part of mobile phone software. It pops on the display
screen itself which can be operated by user using touch of a finger tip.

Mobile Computing Classification


Mobile computing is not only limited to mobile phones, but there are various
gadgets available in the market that are built on a platform to support mobile
computing. They are usually classified in the following categories −
Personal Digital Assistant (PDA)
The main purpose of this device is to act as an electronic organizer or day planner
that is portable, easy to use and capable of sharing information with your computer
systems.
PDA is an extension of the PC, not a replacement. These systems are capable of
sharing information with a computer system through a process or service known as
synchronization. Both devices will access each other to check for changes or updates
in the individual devices. The use of infrared and Bluetooth connections enables
these devices to always be synchronized.
Mobile Computing - Major Advantages
Mobile computing has changed the complete landscape of our day-to-day life.
Following are the major advantages of Mobile Computing −
Location Flexibility
This has enabled users to work from anywhere as long as there is a connection
established. A user can work without being in a fixed position. Their mobility
ensures that they are able to carry out numerous tasks at the same time and perform
their stated jobs.
Saves Time
The time consumed or wasted while travelling from different locations or to the
office and back, has been slashed. One can now access all the important documents
and files over a secure channel or portal and work as if they were on their computer.
It has enhanced telecommuting in many companies. It has also reduced unnecessary
incurred expenses.
Enhanced Productivity
6
Users can work efficiently and effectively from whichever location they find
comfortable. This in turn enhances their productivity level.
Ease of Research
Research has been made easier, since users earlier were required to go to the field
and search for facts and feed them back into the system. It has also made it easier for
field officers and researchers to collect and feed data from wherever they are without
making unnecessary trips to and from the office to the field.
Entertainment
Video and audio recordings can now be streamed on-the-go using mobile
computing. It's easy to access a wide variety of movies, educational and informative
material.
Streamlining of Business Processes
Business processes are now easily available through secured connections.
Looking into security issues, adequate measures have been put in place to ensure
authentication and authorization of the user accessing the services.
Some business functions can be run over secure links and sharing of information
between business partners can also take place.
Meetings, seminars and other informative services can be conducted using video
and voice conferencing. Travel time and expenditure is also considerably reduced
A mobile phone typically consists of a single board, but within this there are a
number of distinct functional areas, but designed to integrate to become a complete
mobile phone: Radio frequency - receiver and transmitter. Digital signal processing.
Analogue / digital conversion.
Mobile phones are used for a variety of purposes, such as keeping in touch
with family members, for conducting business, and in order to have access to a
telephone in the event of an emergency. Some people carry more than one mobile
phone for different purposes, such as for business and personal use.
There are various advantages of Mobile Phone, which are given below.
 Call and Text.
 Stay Connected with your Family and Friends.
 Latest News Updates.
7
 Take Photos and Videos.
 Find Directions and Search Places.
 Play Games.
 Portable Music Library.
 Research Anything Anytime.
A mobile device is a general term for any type of handheld computer. These
devices are designed to be extremely portable, and they can often fit in your hand.
Some mobile devices—like tablets, e-readers, and smartphones—are powerful
enough to do many of the same things you can do with a desktop or laptop
computer.
E-readers
E-book readers—also called e-readers—are similar to tablet computers, except
they are mainly designed for reading e-books (digital, downloadable books).
Notable examples include the Amazon Kindle, Barnes & Noble Nook, and Kobo.
Most e-readers use an e-ink display, which is easier to read than a traditional
computer display.

1.2 MOBILE DEVICE PROFILES


Mobile Information Device Profile (MIDP) is a specification for the use of Java
technology for mobile devices. In the context of software development, MIDP sits on
top of the Connected Limited Device Configuration (CLDC).
Mobile Profiles allow you to target specific mobile devices and display
content differently to those devices. For example, you could target all devices that
have a resolution width greater than 300 pixels to display one version of the website.
Techopedia Explains Mobile Information Device Profile (MIDP)
Some commonly-used MIDP development tools include the Sun Java Wireless
Toolkit and the Netbeans Mobility Pack.
In theory, applications written using MIDP and CLDC should have the ability
to run on different Java ME-capable devices without any changes in their code,
which is consistent with Java’s "write once, run anywhere" mantra. In practice,

8
however, varying hardware specifications among devices, such as graphical display
sizes/resolutions and user interfaces, force developers to make additional
customizations.
MIDP 3.0, released in 2009, supports the following features (not an exhaustive
list):

 Shared libraries for midlets


 Improved cross-device interoperability
 Improved UI expressability and extensibility
 Support of devices with larger displays
 High-performance games
 Auto-launched midlets
 Inter-midlet communications

Mobile Information Devices


MIDP is targeted at a class of devices known as mobile information devices
(MIDs). These are devices that have the following minimal characteristics:
Enough memory to run MIDP applications. A bit addressable display at least
96 pixels wide by 56 pixels high, either monochrome or color.

9
A keypad, keyboard, or touch screen. Two-way wireless networking capability.
Almost any wireless device built these days fits the definition of a MID,
including low-end cellphones.
Personal digital assistants (PDAs) can also be considered to be MIDs because
wireless networking is now an option for most PDAs, but MIDP doesn’t target these
devices specifically: PDAs have more memory, larger screens, and interesting
information management capabilities that are more effectively exploited using other
profiles.

The MIDP Specification


There are two versions of the Mobile Information Device Profile, both defined
using the Java Community Process (JCP). MIDP 1.0, known as Java Specification
Request (JSR) 37, was released in September 2000. MIDP 2.0, JSR 118, is currently in
proposed final draft form, the final step before formal release as a final specification.
No devices yet support MIDP 2.0, but there are many devices currently on the
market that support MIDP 1.0. We’ll concentrate solely on MIDP 1.0 for now,
deferring discussion of MIDP 2.0 until later in this series.
The MIDP 1.0 specification was defined by an expert group consisting of all
the major players in the wireless and handheld device arena, including familiar
names like Motorola, Nokia, Ericsson, Research in Motion, and Symbian. It has a lot
of support in the telecommunications industry, and handset manufacturers like
Motorola and Nokia in particular are devoting a lot of development effort to
supporting MIDP in a wide range of their devices.

The configuration used by MIDP is the Connected Limited Device


Configuration (CLDC), which we’ve already discussed in a previous article in this
series. The CLDC has the small footprint required to run on low-end devices.
Devices that are capable of running the other configuration, the Connected Device
Configuration (CDC), can also run MIDP, of course, since the CDC is a superset of
the CLDC.

10
The MIDP adds APIs in a number of areas to the very basic APIs defined by
the CLDC. The new features include:
Support for application lifecycle management similar to the way applets are
defined in Java 2 Standard Edition.
Persistent storage of data.
HTTP-based network connectivity based on the CLDC’s Generic Connection
Framework. Simple user interface support, with enough flexibility to build games or
business applications.

Managing Mobile Device Profiles


You can use a mobile device profile to change settings on your mobile
devices, as well as add, change, and remove custom properties and registry keys. It
also allows you to configure Remote Control for devices that have a Remote Control
client installed.
A mobile device profile has the following general options:
Enabled - Enables or disables the profile.
Home location - Sets the home location for the profile.
Mobile device selection criteria
Determines which devices the profile is applied to. For information on
selection criteria, see Using Selection Criteria.
Orphan Package Removal
Removes packages that have been orphaned from the device. A package is
considered orphaned if it has been deleted from the Avalanche Console, if the
software profile it belongs to has been disabled, or if the package has been disabled.
Orphaned packages must be listed by name. Orphaned packages must be listed by
name. Orphan package removal will only happen once, when the profile is first
applied.
Set Server Address
Specifies the address of a specific mobile device server you want the devices
to connect to.
Enable SMS Notification
11
Allows SMS messages to be sent to the device from the Avalanche Console.

Force Package Synchronization


Synchronizes each file of each package on the device without checking the
meta-file, which provides information about the state of the files. When the option is
not enabled, the server checks the meta-file, and then synchronizes only the files that
have been altered or do not match.
Restrict simultaneous device updates
Limits the number of devices using the profile that are allowed to update
simultaneously. This may be useful if there is a particular update that will take
significant bandwidth or time. Restrict how many devices receive that update at a
time so that other functions aren't affected.

Authorized Users
This allows you to give a user permission for one specific profile, rather than
all profiles of a specific type. Users that already have permission for the profile will
not appear in the list of available users. For information about creating users and
assigning permissions, see Managing User Accounts.
The location selected when you create the profile will be the profile's home
location.Other options on a mobile device profile such as custom properties, registry

12
keys, device wipe folders, and advanced configurations are described in the
following sections:
• Configuring Device Wipe Folders
• Editing Custom Properties for Mobile Device Profiles
• Editing Registry Keys for a Mobile Device Profile
• Remote Control Settings in a Mobile Device Profile
• Configuring Mobile Device Profile Advanced Settings
To create and configure a mobile device profile from the Profiles tab:
If you are creating a new mobile device profile, click New Profile in the
Available Profiles panel and click Mobile Device Profile in the dialog box that
appears. When the Mobile Device Profile page appears, type a name for the new
profile.
If you are configuring a profile that has already been created, click on the
mobile device profile from the Profiles tab. When the Mobile Device Profile page
appears, click Edit.
 Configure the profile settings.
 Click Save to save your changes.
Creating Mobile Device Profiles
This how-to assumes that you have set up IGEL Mobile Device Management
Essentials (MDM). If not, see MDM Basic Overview.
To create a mobile device profile, proceed as follows:
 Right-click Profiles in the UMS structure tree; from the context menu, choose
New Mobile Device Profile.
 Enter a Profile Name
 Enter a Profile Description
 For Based on, choose IGEL Firmware for iOS 10.3.x
 Click OK.
 The settings window for the profile will open.
 In the settings window, you can make settings and apply them immediately
or click Save and apply settings later

13
Sending Profiles to Mobile Devices
This how-to assumes that you have set up IGEL Mobile Device Management
Essentials (MDM). If not, see MDM Basic Overview.
To send a profile to a mobile device, proceed as follows:
Assign a profile to a device by dragging and dropping the profile onto the
mobile-device object in the Mobile Devices tree node.
Right-click the device and select Send Configuration.
1.3 MIDDLEWARE AND GATEWAYS
What is Middleware?
Middleware is Software that provides a link between separate software
applications. It is a layer that lies between the operating system and applications.
Any software layered between a user application and operating system can be
termed as middleware.
Example
o communication middleware
o object oriented middleware
o message oriented middleware
o transaction processing middleware
o data base middleware
o RPC middleware

Use of Middleware:

14
 Provide interaction with another service or application.
 Filter data to make them friendly usable.
 Make an application independent from network services.
 Make an application reliable and always available.
 Add complementary attributes like semantics.
There are some middleware components like behavior management
middleware, which can be a layer between the client device and the application.
In 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

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

15
mainframe services, or Javamail connector for IMAP or POP3 services
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 short transaction 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 short transaction.
• Management of the Web components will be handled by this middleware as well
Types of Middleware:
 Communication Middleware : Communication Middleware is used to connect
one application with another application. For Example connecting one
application with another application using telnet.
 Message Oriented Middleware: It supports the receiving and sending of
messages over distributed applications. It enables applications to be
disbursed over various platforms. It makes the process of creating software
applications across many operating systems. It makes network protocols less
complicated. It holds many advantages over middleware alternatives and is
one of the most widely used types of middleware.
 Object Oriented Middleware : Object Oriented Middleware is also known as
an object request broker. It provides the facility to send objects and request
services via an object oriented system. In short, it manages the
communication between objects.
 Remote Procedure Call (RPC) Middleware : It provides the facility to calls
procedures on remote systems and is used to perform synchronous or
asynchronous interactions between applications or systems. It is usually
utilized within a software application.
 Database Middleware: It provides direct access to databases and direct
interaction with databases, There are many database gateways and
connectivity options and you simply have to see what will best work for your

16
necessary solution. This is the most general and commonly known type of
middleware. This includes SQL database software.
 Transaction Middleware : This type of middleware includes applications like
transaction processing monitors. It also encompasses web application servers,
These types of middleware are becoming more and more common today.
 Embedded Middleware : This type of middleware allows the facility of
communication and integration of services with an interface of software or
firmware. It acts as a liaison between embedded applications and the real
time operating system,
 Content-Centric Middleware: This type of middleware allows you to abstract
specific content without worry of how it is obtained. This is done through a
simple provide / consume abstraction. It is similar to publish / subscribe
middleware, which is another type of this software that is often used as a part
of web based applications.
What is Gateway ?
Gateways are required when the networks between the device and the
middleware having different set of protocol.
For Example: an IVR Gateway is used to interface voice with a computer.
WAP Gateway is used to access internet on mobile phones.
Communication Gateways
• Between the device and the middleware there will be network of networks.
• Gateways are deployed when there are different transport bearers or networks
with dissimilar protocols.
• For example, we need an IVR (Interactive Voice Response) gateway to interface
voice with a computer, or an WAP gateway to access internet over a mobile phone.
1.4 WIRELESS INTERNET
Wireless internet enables wireless connectivity to the internet via radio waves
rather than wires on a person's home computer, laptop, smartphone or similar
mobile device. Wireless internet can be accessed directly through providers like
AT&T, Verizon, T-Mobile, Boingo and Clearwire.

17
Wireless Internet service is a type of Internet service that provisions
connectivity through wireless means. It provides Internet connectivity service to end
users and organizations over a wireless communication network. Wireless Internet
service is primarily delivered by a wireless Internet service provider (WISP).
WiFi is the wireless network you use in your house, but it can be created from
any type of internet connection. Wireless home internet is a specific type of internet
connection that uses cell towers.

Imagine for a moment if all the wireless connections in the world were
instantly replaced by cables. You'd have cables stretching through the air from every
radio in every home hundreds of miles back to the transmitters. You'd have wires
reaching from every cellphone to every phone mast. Radio-controlled cars would
disappear too, replaced by yet more cables. You couldn't step out of the door
without tripping over cables.
From radio to Wi-Fi
Radio is an invisible game of throw-and-catch. Instead of throwing a ball
from one person to another, you send information, coded as a pattern of electricity
and magnetism, from a transmitter (the thrower) to a receiver (the catcher)—both of
which are kinds of antennas.
The transmitter is a piece of equipment that turns electrical signals (such as
the sound of someone speaking, in radio, or a picture, in TV) into an oscillating

18
electromagnetic wave that beams through the air, in a straight line, at the speed of
light (300,000 km 186,000 miles per second).
The receiver is a mirror-image piece of equipment that catches the waves and
turns them back into electrical signals—so we can recreate the radio sounds or TV
pictures. The more powerful the transmitter and receiver, the further apart they can
be spaced. Radio stations use gigantic transmitters, and that's why we can pick up
radio signals from thousands of miles away on the opposite side of Earth. Wireless
Internet is simply a way of using radio waves to send and receive Internet data
instead of radio sounds or TV pictures.

What is Wi-Fi?
If you have wireless Internet access at home, you probably have a little
box called a router that plugs into your telephone socket. This kind of router is a bit
like a sophisticated modem: it's a standalone computer whose job is to relay
connections to and from the Internet.
At home, you might use a router to connect several computers to the
Internet at once (saving on the need for several separate modems). In other words,
the router does two jobs: it creates a wireless computer network, linking all your
computers together, and it also gives all your machines a shared gateway to the
Internet.
You can connect a router to all your different computers using ordinary
network-connecting cables (for the technically minded, these are called RJ-45, Cat 5,
or Ethernet cables). This creates what's called a LAN (local area network) linking the
machines together.

19
A computer network is a very orderly affair, more like an organized
committee meeting, with carefully agreed rules of behavior, than a free-for-all
cocktail party. The machines on the network have to be hooked up in a standard
way and they communicate in a very orderly fashion. The rules that govern the
network setup and the communication are based on an international standard called
Ethernet.

1.5 SMART CLIENTS


A smart client is a type of application environment connected to the Internet
that allows server-based operations through the HTTP connection model. Smart
client is a way to describe enhanced features and client applications as these types of
IT systems evolve.
smart client applications evolved beyond this in order to provide security for
these services, and to streamline the offering of services to individual users or clients

20
client devices include different kinds of mobile devices or smartphones. In
addition, smart client services share various characteristics, including the use of local
resources, a more always-on connection model and better features for updates or
upgrades

An Internet-connected device that allows the user’s local applications to


interact with server-based applications through the use of Web services. For
example, a smart client running a word processing application can interface with a
remote database over the Internet in order to collect data from the database to be
used in the word processing document. Smart clients are distinguished by key
characteristics:
They support work offline smart clients can work with data even when they
are not connected to the Internet (which distinguishes them from browser-based
applications, which do not work when the device is not connected to the Internet);
Smart client applications have the ability to be deployed and updated in real
time over the network from a centralized server. Smart client applications support
multiple platforms and languages because they are built on Web services;
Smart client applications can run on almost any device that has Internet
connectivity, including desktops, workstations, notebooks, tablet PCs, PDAs, and
mobile phones.

21
1.6 THREE-TIER ARCHITECTURE
Three-tier architecture is a well-established software application architecture
that organizes applications into three logical and physical computing tiers: the
presentation tier, or user interface; the application tier, where data is processed; and
the data tier, where the data associated with the application is stored and managed.

The web server is the presentation tier and provides the user interface. This is
usually a web page or web site, such as an ecommerce site where the user adds
products to the shopping cart, adds payment details or creates an account. The
content can be static or dynamic, and is usually developed using HTML, CSS and
Javascript .

The application server corresponds to the middle tier, housing the business logic
used to process user inputs. To continue the ecommerce example, this is the tier that

22
queries the inventory database to return product availability, or adds details to a
customer's profile. This layer often developed using Python, Ruby or PHP and runs
a framework such as e Django, Rails, Symphony or ASP.NET, for example.
A 3-tier architecture is an application program that is organized into three major
parts, comprising of:
The database server is the data or backend tier of a web application. It runs on
database management software, such as MySQL, Oracle, DB2 or PostgreSQL,

Layer-1 : Presentation Layer (UI)


Layer-2: Application Layer(AL)
Layer-3: Data Access Layer(DA)
1. Presentation Tier
This is the user facing system in the first tier. This is the layer of agent
application and systems. These applications run on the client device and the user
interface. This tier is responsible for presenting the information to the end user. A
mobile computing agent needs to be context-aware and device independent.
This layer presents data to the user and optionally permits data manipulation
and data entry, also this layer requests the data form Business layer. This layer
accomplished through use of Dynamic HTML and client-side data sources and data
cursors
2. Application Tier

23
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. Middleware covers a wide range of software systems,
including distributed objects and components, message-oriented communication ,
database connectors, middleware application support, transaction drivers etx.
We can group middleware into the following major categories
o Message-oriented Middleware
o Transaction Processing Middleware
o Communication Middleware
o Distributed object and components

a. Message-oriented Middleware
Message-oriented Middleware is a middleware framework that loosely connects
different applications through asynchronous exchange of message.
For Example JMS-Java Message Service
b. Transaction Processing Middleware
Transaction Processing Middleware provides tools and an environment for
developing transaction based distributed application. TP middleware maps
numerous client request through application-service routines to different application
task.

For Example MVC-Model Video Controller


c. Communication Middleware
Communication Middleware is used to connect one application to
another through some communication middleware, like connecting one application
to another though telnet.
24
d. Distributed object and components
Distributed object and components is CORBA (Common Object Request Broker
Architecture). CORBA based program from the same or another vender , on almost
any other computer, operating system, programming language and nework.
3. Data Tier
The Data Tier is used to store data needed by the application and acts
as a repository for both temporary and permanent data. The data can be stored in
any form of data store or database.
The data can be also be stored in XML format for interoperability with other systems
and data sources.
The third tier of the 3-tier system is made up of the DBMS that provides all the
data for the above two layers.
 This is the actual DBMS access layer.
 Avoiding dependencies on the storage mechanisms allows for updates or
changes without the application tier clients being affected by or even aware of
the change.
Data sources can be text files, spread sheets, hierarchical, XML database from
vendors like Oracle ,SQL, Sybase etc.

Data tier controls the servers where the information is stored; it runs a
relational database management system on a database server or a mainframe and
25
contains the computer data storage logic. The data tier keeps data independent from
application servers or processing logic and improves scalability and performance

1.7 DESIGN CONSIDERATIONS FOR MOBILE COMPUTING


Design decisions are influenced by target device's screen size, resolution,
orientations, memory, CPU performance characteristics. Operating systems
capabilities, device hardware, user input mechanism (touch/non-touch), sensors
(such as GPS or accelerometer etc.
 Need new solutions to old/new problems to overcome the above constraints
 Need to Reduce communication and operational cost need to manage
mobility
 Need to conserve energy
 Need to design special interface for small devices
 Need to enforce wireless security
The mobile computing environment is constrained in many ways. Mobile
elements themselves are resource-poor and unreliable. Their network connectivity is
often achieved through low-bandwidth wireless links.
Following guidelines to ensure that your application meets your requirements
and platforms efficiently in scenarios common to mobile computing through Internet
–Making existing applications mobile-enabled.

 Decide If you build a rich client, a thin web client, or Rich internet application
 Determine the device types you will support.

26
 Design considering occasionally connected limited bandwidth scenario when
 required.
 Design a UI appropriate for mobile devices, taking into platform constraint.
 Design a layered architecture appropriate for mobile devices that improves
reuse and maintainability.
These severe restrictions have a great impact on the design and structure of
mobile computing applications and motivate the development of new computing
models.
These mobile computing models must provide efficient access to both existing
and new applications which is a key requirement for the wide acceptance of mobile
computing.
An important design consideration is the type of functionality assigned to mobile
hosts. Mobile units are still characterized as unreliable and prone to hard failures,
i.e., theft, loss or accidental damage.
Thus following requirements must be considered for mobile computing
environment:
Type of Application (Native or Mobile Web) :
 Before designing mobile application you need to determine type of
application.
 If your application requires local processing. access to local resources than
consider designing a native application.
 A native application is hard to maintain. requires separate distribution and
upgrade infrastructure, are compatible only with target device/platform,
requires more effort (sometimes huge) to port on different devices.
 A mobile web application is compatible with all devices with internet
connection and a browser
Target device :
 Target device and platform (OS) plays a key role throughout design decisions
making process.

27
 Design decisions are influenced by target device’s screen size, resolution,
orientations, memory, CPU performance characteristics. Operating systems
capabilities, device hardware, user input mechanism (touch/non-touch),
sensors (such as GPS or accelerometer etc.
User experience:
 User interface should be rich, intuitive and responsive. While using mobile
application user is often distracted by external or internal (e.g. incoming call
when user is in middle of a wizard) events. These events have to be factored
in design.
 Screens should be identified with consideration that user is often focused on
discrete individual task. Long data entry forms may irritate user and should
ask for absolutely required data/information.
Resource Constraint:
 Every design decision should take into account the limited CPU, memory and
battery life. Reading and writing to memory, wireless connections, specialized
hardware, and processor speed all have an impact on the overall power
usage.
 One cannot afford a long running process in application.
 In some cases, application processing should be offloaded from the device to
avoid excessive resource consumption e.g. using notification or app directed
SMS instead of polling to monitor a value/flag on server.
Multiple Platforms:
 There is high technology fragmentation in Mobile world. It is very unlikely
that an application will target only one platform or only one device. In near
future, requirement like same code base should support iPhone and iPad or
Android Phone and Android tablet will arise. Architect should consider
portability as important architectural goal.
 If you are developing for more than one device, design first for the subset of
functionality that exists on all of the devices, and then customize for device-
specific features when they are detected.

28
Security:
 Devices are more vulnerable than desktop, primarily due to lack of
awareness. Moreover device can be lost easily. Ensure that the device – server
communication is secured and server accepts request only from authentic
source (device).
 If you are storing any confidential application or configuration data locally.
ensure that the data is encrypted.
Network Communication:
 Network communication on device is slow and costly. Reduce network traffic
by combining several commands in one request e.g. committing added,
updated and deleted record in one request instead of firing separate request
on each add/update/delete.
 Compress large text / XML data to lesser network traffic. Design for
asynchronous communication.
1.8 MOBILITY AND LOCATION BASED SERVICES
There are many location-based services that do not have any relationship with
3G services. So, location-based services are those things that provide the mobile
device, the mobile application, and the mobile user with location information about
themselves or other devices, applications, and users.
What is a location-based service (LBS)?
A location-based service (LBS) is a software service for mobile device
applications that requires knowledge about where the mobile device is
geographically located. The application collects geodata, which is data gathered in
real time using one or more location tracking technologies.
Location-based services integrate data from various resources, including
Global Positioning System (GPS) satellites, cellular tower pings and short-range
positioning beacons, to provide services based on the user's geographical location.
Although location-based technologies have been commercially available for almost
two decades, the applications and services that use geodata have recently become
mainstream, thanks to the widespread use of Android and Apple smartphones and
tablets.
29
What are the types and components required to operate location-based services?
Location-based services can be broken into the following distinct categories:

 Pull. The application user initiates the location-based service processes. One
example of a query-based location-based service is a user checking a mobile
map application, such as Waze, to find the nearest automated teller machine.
Some location-based services also enable users to check in to restaurants,
concerts or sporting events using apps such as Foursquare, Yelp or Google
Maps.
 Push. The application initiates the location process based on a trigger or at
regular intervals. The application then presents the user or device with
relevant information based on their geographic location. Proximity-based
marketing is a push-based location-based service example. Here, a user is sent
an advertisement or coupon after the application proactively identifies that
person as being near a specific retail outlet.
For location-based services to operate, the following four basic components are
required:

 an application that uses location-based services;


 a positioning mechanism to collect geodata;
 a mobile network to transmit or receive data; and

30
 analytics software running on a remote server to compute and deliver
relevant data to the user based on geographic location.
Location-based services must be permission-based, so the end user must opt
in to the service in order to use it. In most cases, this means the user turns on the
location-based service application and accepts a request to enable the service to
know the device's location.
Depending on the need, mobile device hardware type and available supporting
technologies, the following tracking mechanisms are often used for location-based
services:
 GPS
 Wi-Fi access point triangulation
 cellular tower triangulation
 Bluetooth beacons
 radio frequency identification
What are location-based services used for?
There are numerous location-based services, including Waze, Google Maps,
Lyft, Uber, GasBuddy and WhatsApp. While the types and benefits of these services
are growing, common uses include the following:
 navigation and travel information, including real-time traffic notifications;
 store and service locators;
 fleet and mobile workforce management tracking;
 inventory monitoring;
 anti-theft prevention;
 fraud prevention using a location-based service to match a customer's
location to a credit card transaction;
 proximity-based marketing;
 roadside assistance;
 social networking;

31
UNIT-II

2.1 MOBILE COMPUTING THROUGH INTERNET


Mobile Computing is the use of portable computing devices (such as laptop
and handheld computers) in conjunction with mobile communications technologies
to enable users to access the Internet and data on their home or work computers
from anywhere in the world. It is the process of computation on a mobile device.
For mobile and ubiquitous computing, the access network, it could range from
infrared, Bluetooth, WiFi, GSM,GPRS,IS-95, CDMA etc., For wired, it is expected to
be some kind of LAN. In case of wired network the bandwidth is higher, stable and
the device is likely to a workstation with a large memory and display. Also, such
devices are not constrained by the limited battery power.
When the user-facing device is a wired device, the complexity and challenges are
farless. However, some of the constraints for wireless can still apply in the case of
wired devices and networks. Therefore, from the mobile computing client point of
view, consideration for wired device will be the same as a wireless client.
The combination of communication middleware and application middleware
can be used to make an application mobile.

2.2 MOBILE-ENABLED APPLICATIONS


There are many applications that are now being used with the intranet or the
corporate networks, that need to be made ubiquitous. These are different
productivity tools like e-mail or messaging applications, workflow systems etc., will
also fall within this category.
These applications need to be made ubiquitous and mobile computing
capable.
There are many ways by which this can be achieved.
a.Enhance existing application take the current application. Enhance the application
to support mobile computing.
b.Rent an application from an ASP there are many organizations who
develop ubiquitous application and rent the same at a fee.

32
c. Write a new application develop a new application to meet the new business
requirement of the mobile computing.
d.Buy a packaged solution there are many companies who are offering packaged
solutions for various business areas starting from manufacturing to sales and
marketing.
e.Bridge the gap through middleware use different middleware technique to face lift
and mobile computing enable the existing application.
One of these techniques or any combinations can be used to make an
application ubiquitous. If the enterprise has a source code for the application,
enhancement of the existing application may be a choice. Buying a package or
renting a solution from an ASP can also be preferred path for some business
situations.
Many of these applications might have been developed in-house, but may not
be in a position to be enhanced. Some might have been purchased as products. A
product developed by outside agency cannot be enhanced or changed as desired. In
many of such situations, mobile computing enabling can be done through
middleware.
The combination of communication middleware and application middleware
can be used to make an application mobile.
Mobile applications have an essential role to play in modern emergency
response. Because of the pervasiveness of smart phones and internet-aware devices,
we can now provide our clients with unprecedented reach in terms of alerting and
interacting with first-responders and the general public, ensuring that everyone has
access to the latest appropriate information, regardless of location.
Applications like EMLive are true force-multipliers when it comes to helping
departments provide instant, audience-appropriate access to critical updates and
alerts, from any Internet-aware device.

33
Applications of Mobile Computing
 Web or Internet access.
 Global Position System (GPS).
 Emergency services.
 Entertainment services.
 Educational services

A Mobile phone is a electronic wireless device that permits users to make and
receive calls and send text messages with other device. The oldest generation of
mobile phones can only make and receive calls. Mobile phones, web browsers,
games, cameras, video players, and even navigation systems have been packed with
many additional features.
2.3 DEVELOPING MOBILE GUIS
Graphical User Interface (GUI) for the Smartphone Application Pre-
Processor. It supports HTTP and the infrastructure and communication protocol
native to each type of mobile device.
For Example WAP-Wireless Application Protocol
XML content can be produced by the presentation layer and transformed
using XSL. It become obvious that there needed to be a solution for an intermediate
user interface format.
Our goal is to design and implement the user interfaces of our mobile
applications so as to minimize the development effort and maximize the robustness

34
of the user interfaces.
The device so that code is maintainable, extensible, and flexible. Whatever
problems you may have faced in maintainability, extensibility, and flexibility of
software for stationary applications are permutated by the dimensions of mobility.
we face two general types of user interfaces: those that use the mobile device
for rendering some or all of the user interface and those that
use the end device merely as a communication channel to the user. An example of
the first is a networked PDA application.
most popular technique for separation of concerns when it comes to building
object-oriented user interfaces: the modelview-controller technique.
Model-View-Controller
Model-View-Controller (MVC) is an object-oriented design pattern for
separation of concerns of applications with user input (see Figure 6.1). MVC is best
defined by Buschmann, Meunier, Rohnert, Sommerlad, and Stal (also known as the
“Gang of Five”) in one of the staple texts of software application development called
Pattern.

MVC allows separation of three different concerns: receiving input from the
user (controller), implementing components that model business logic and perations
that build the core functionality of the application (model), and presenting
information to the user (view).
MVC is widely implemented in stationary client applications and server-
based (thin-client) Web-based applications.
In such systems, there is typically only one type of view (HTML) and one
type of controller (PCs and the relevant peripheries).

35
Minor differences in things such as browser versions and monitor sizes are
typically taken care of by work-arounds rather than by creating multiple views.
When it comes to mobile application development, MVC has a couple of
disadvantages.
First, proliferation of views and controllers becomes unmanageable and very
difficult to maintain as mobile applications have multiple user interfaces rendered
through multiple channels and can receive input from numerous controllers.
Second, the inherent asymmetry in treating the input and the output from the
user to the model compounds the effect of this proliferation problem. For example, a
system that offers a VUI and an HTML user interface for its users would need at
least two separate controllers, one that can receives user input through a voice
channel and another that receives input from the user through HTTP. Likewise,
Two different views would be needed, one that renders a GUI in HTML and
another that renders an aural user interface through playback of audio. Oriented
Software Architecture: A System of Patterns.

Presentation-Abstraction-Control
Presentation-Abstraction-Control (PAC) is an object-oriented design pattern
that separates the concerns of a system by breaking it down into loosely coupled
agents, each responsible for one task . The Presentation-PAC architectural pattern
defines a structure for interactive software systems in the form of a hierarchy of
cooperating agents.
Every agent internally has components that serve one of three tasks: those
components that abstract away the core functionality and data used by the agent
(abstraction), those components that provide access to the agent (presentation), and

36
those components that control theinteractions between the abstraction and
presentation layers (control).
Note that the PAC pattern is similar to the MVC pattern in that it hides the
internal implementation of the logical functions of the system from the user interface
(i.e., the abstraction layer hides the business logic).
In PAC, the separation between the user interface and the functionality of the
internals of the application is made by using the control component to pass messages
back and forth between the two layers.
Let us look at an example of how we can apply PAC. Let us say we need to
build a reusable user interface component that collects billing information from a
user when he or she is purchasing something online.

Using an HTML-based browser. This component is probably a panel that has


some buttons, labels, and text fields.
Transformation-Based Techniques for Mobile Applications
The goal of such markup languages is to take a subset of functionality of
HTML. This has two benefits:

37
 Only a subset is needed for devices with limited capabilities, bandwidth,
power supply, etc.
 Having a subset enables us to have a simpler and smaller browser that uses
less of these scarce resources

Developers began using two techniques to complement both PAC and MVC:
1. Transcoding: If the content is initially in HTML, we are dealing with a “view” of
the existing system. Transcoding techniques focus on extracting the information out
of this view to create an intermediate format that can in turn be used to produce
other views. The process of creating this intermediate format is referred to as
“transcoding.” Prior to use in the moble context, the term transcoding typically
meant conversion of one compressed format to another. And, as in the case of
conversion of one compressed format to another, there is almost always some loss of
data in conversion of HTML (or another markup language) into the intermediate
format. The intermediate format is used like a generic user interface and then
transformed to the various views using XSL or a similar technology.
2. Transforming: Although we can start with HTML (or some other presentational
view of the system) and convert to other views of the system, this is a solution that
should be done only as a last measure. The preferred situation is that all content is
initially produced in XML that gives a presentation-neutral view of the system. This
content can then be transformed to the appropriate views using XSL or similar
technologies

XForms defines distinct and discrete controls and elements that define a
language for building user interface. XForms is an XML application.

38
The full suite of Android’s user interface was utilised to capture input from
the user: including spinners, checkboxes, radio-buttons, textboxes etc. Touching the
application icon at the top of the screen slides a menu out from the left hand side
which allows the user to navigate through the application.
The “Display Model” button is used to show a graphical representation of the
model. The “Examine” button is used for post processing the results from the finite
element model.
Each of the screens described above are created using XML layout files which
specify the relative position of the various UI elements. These layouts are displayed
by the corresponding Android activity class when required.
In some cases, such as with dialogs, the display is created dynamically using
only Java code without the need for a XML layout to be defined in advance. This is
achieved using one of the many “builder” classes provided with the Android API.
The graphical display of the model is also created dynamically by filling an empty
frame layout with a Canvas object when the user requests the model be displayed.
A facility for zooming in/out and an option to fit the finite element model to
the screen are provided in the lower right corner of the GUI.

2.4 VUI AND MOBILE APPLICATIONS


Voice user interfaces (VUIs) are interfaces that allow users to interact with
computing systems through use of voice. Although our voice can be used in
different ways, VUIs typically refer to communication through the use of language.
This narrows down the problem at hand as communication through VUIs is a subset
of communicating through aural user interfaces.
VUIs, we refer to communicating with machines using pronounced language.
That interact with users through the use of voice, namely voice recognition, voice
transcription, and speech synthesis (a subset of which is referred to as text-to-
speech).
Voice transcription and voice recognition systems are used to treat user input.
Although both of these systems are often referred to as voice recognition systems,
39
within this text, for the purpose of clarity and brevity, we will refer to free-flow
conversion of speech to text.

Speech-synthesis systems produce speech from binary or textual data.


Although the industry uses the terms “text-to-speech” and “speech synthesis”
interchangeably, it is important to understand that text-to-speech systems are a
subset of speech-synthesis systems.
TYPES:
 Qualities of speech
 Voice transcription
 Voice recognition

a. Qualities of speech
The qualities of speech are those things that differentiate speech from other
types of aural input. To build good VUIs, a general understanding of the physical
qualities of speech not only give us a better high-level insight into the operation of
voice recognition engines but also leads us toward building better VUIs.
Speech, as in any other type of aural input, has a loudness level. The loudness
of a sound is based on the amplitude of the sound wave that makes the sound.
The amplitude of speech is important in that input devices are designed to receive
sounds within certain amplitude thresholds.

40
b. Voice transcription
Transcription of speech is something that our brains do very well very fast.
So, it is something that we generally take for granted.
Voice transcription systems fall short in delivery: They typically have a limit
on how well they transcribe the user’s voice without errors regardless of the amount
of training.
Using voice transcription for mobile applications is an interesting proposition.
When it comes to the mobile user, the primary method of accessing a VUI is
telephony. Moreover, most mobile users are connected through some sort of wireless
device .
Although voice transcription allows for natural interactions, voice recognition
gives us a more realistic way of recognizing what the user’s speech means with
technologies that are available today in a user-independent manner.
c. Voice recognition
the term voice recognition is often used as an encompassing definition of
voice transcription and voice recognition, in this text, we will use it to recognize the
so-called command-and-control type of recognition. Some major distinctions
between voice transcription and voice recognition, as defined in this text, are the
following:
i. Voice recognition systems rely on predefined interactions with the user. These
interactions can be composed of predefined words, phrases, or sentences. The
41
interactions can also be composites of predefined words, phrases, or sentences.
Grammars are how these words, phrases, sentences, or their composites are
predefined.
ii. Voice recognition systems attempt to map these predefined words, phrases,
sentences, or composites to something that is understandable by the computing
system.
iii. Voice recognition systems are typically used for “command and control” of a
computing system as opposed to dictating text. Though it is possible to create
dictation systems using voice recognition systems, it is awkward to do so.
Besides, voice recognition, by definition, is limited to a finite vocabulary that
constrains not just possible words, but the possible combination of words into
phrases and sentences. Therefore, an exploding vocabulary set typically makes voice
recognition systems inadequate for transcription tasks.
iv.Performance of voice recognition systems is inversely related, typically
exponentially, to the size of the grammar vocabulary for a given transaction.

2.5 CHARACTERISTICS AND BENEFITS


Mobile computing has changed the complete landscape of our day-to-day life.
 Inventions of smaller, easily portable end-user devices.
 Development of new Communication protocols between device and servers.
 Evolution of Wireless networks to transfer data and voice among devices and
servers.
Following are the major advantages of Mobile Computing
Location Flexibility
This has enabled users to work from anywhere as long as there is a
connection established. A user can work without being in a fixed position. Their
mobility ensures that they are able to carry out numerous tasks at the same time and
perform their stated jobs.

42
Saves Time
The time consumed or wasted while travelling from different locations or to
the office and back, has been slashed. One can now access all the important
documents and files over a secure channel or portal and work as if they were on
their computer. It has enhanced telecommuting in many companies. It has also
reduced unnecessary incurred expenses.

Enhanced Productivity
Users can work efficiently and effectively from whichever location they find
comfortable. This in turn enhances their productivity level.

Ease of Research
Research has been made easier, since users earlier were required to go to the
field and search for facts and feed them back into the system. It has also made it
easier for field officers and researchers to collect and feed data from wherever they
are without making unnecessary trips to and from the office to the field.

Entertainment
Video and audio recordings can now be streamed on-the-go using mobile
computing. It's easy to access a wide variety of movies, educational and informative
material. With the improvement and availability of high speed data connections at
considerable cost, one is able to get all the entertainment they want as they browse
the internet for streamed data. One is able to watch news, movies, and
documentaries among other entertainment offers over the internet. This was not
possible before mobile computing dawned on the computing world.

2.6 MULTI CHANNEL AND MULTI MODAL USER INTERFACES


Multimodality refers to the number of ways a user interface for an application
may be presented. Hence, an application that only has a GUI but makes this GUI
available to Palm devices as well as Windows-based desktops is a multimodal
application.
43
Multimodality is a superset of the first definition of multichannel we
discussed (where multichannel refers to the number of channels of communication
between the computing apparatus and the user).
we need to define what “modalities” or “modes” are in and of themselves.
Obviously, there are many ways to define them, but we will choose the definition
used by UTMS ,which defines five main modes based on the human senses (audio,
vision, touch, smell, and taste).
DTMF input to a phone provides one form of audio-based modality whereas
voice recognition offers another modality. It is equally as important to distinguish
between multimedia and multimodal. Multimedia refers to the content presented to
a user; it is purely a term applicable to the output channel of the user interface.

The user and the dimensions of mobility we have discussed repeatedly in this
text, contextual and environmental factors are two factors that spur the use of
multiple types of channels in communicating with the user, thereby making
multimodal development that much more important.
1. Context-Aware Computing :
We have talked about the mobile condition of the user, which describes those
added dimensions that affect the user’s state of being while interacting with the
mobile application. However, there also the context in which the user is using any

44
computing application, be it mobile or not. This context adds meaning to when,
where, and how the user interacts with the computing application and gives a
different meaning to the individual interactions.
Much of the context is defined by the domain: What is the problem that the
application is trying to solve (commerce, navigation, game, etc.)? Users typically
think of context-aware applications as “smarter” (if they are well designed).
What this translates to is a better usage experience by the user.
2. Environmental Factors:
We know that our target users are mobile. We also understand that the
dimensions of mobility distinguish the design and implementation of mobile
applications from their stationary counterparts. Environmental conditions can
further complicate the problem. For example, an application that is to be used in a
rugged environment with low visibility may have additional requirements when it
comes to the user interface.

To build into the mobile application, requires CPU, storage space, memory,
and other resources. So, multimodality is not always desirable or possible based on
the amount of resources on the device.
GSM and any cellular system prior to GSM, there is only one channel to the
mobile device. This channel may be used to provide voice or data, but not both at the
same time.
General Packet Radio Service (GPRS) is the first type of network that enables
multiple channels to exist simultaneously. The two predominant network
technologies are TDMA and CDMA .
WLANs (wireless LANs) such as WIFI (wireless fidelity, further described in
later chapters) and Bluetooth are becoming more and more pervasive, thereby
offering high-bandwidth access to the network through IP-based technologies.
The goal of most user interface research efforts today is to move user
interfaces toward a more natural and symmetric multimodal environment.

45
1. Sequential multimodal input is the simplest type, where at each step of the
interaction, either one or the other input modality is active, but never more than one
simultaneously.
2. Uncoordinated, simultaneous multimodal input allows concurrent activation of
more than one modality. However, should the user provide input on more than one
modality, this information is not integrated but will be processed in isolation, in
random order.
3. Coordinated, simultaneous multimodal input fully exploits multimodality,
providing for the integration of complementary input signals from different
modalities into a joint event, based on time stamping.

To providing avenues to create solutions that deal with the mobile condition
of the user. This is why it is particularly important to us. In conjunction with the
aforementioned taxonomy, Pentanes and colleagues recognize six different
dimensions in which a visible display can be measured;
 Maximum Width
 Portability
 Ubiquity
 Saliency
 Simultaneity
 Privacy
MODELINGMULTICHANNEL ANDMULTIMODAL APPLICATIONS WITH UML
These various aspects include the multi-media content, the handling and
management of the content, synchronization of the various types of content, and
specifying various ways to create composites of single-mode content. Because each
of these domains constitutes a different problem set, we need different UML
extensions to represent each specific domain

46
They have the following characteristics:
1. They show the composite structure and composite behavior of the user interface as
well as showing the inputs and outputs into a user interface.
2. They also show, at a very high granularity level, the relationship between user
interface components and non-user-interface components in the system.
3. They are describable, with UML meta modeling, as a real UML extension.

That multimodal and multichannel are not the same thing. Multichannel
may have two different meetings. First, it can be used to imply a user interface that
establishes more than one communication channel to the user. For example, a user
interface may present an audio and a video channel to the user.
2.7 SYNCHRONIZATION AND REPLICATION OF MOBILE DATA
Data synchronization is a method of establishing consistency among data
from a data source to the target data storage and vice versa. In data synchronization,
we have to keep multiple copies of a dataset in coherence with one another to
maintain the data integrity.
Data synchronization, in its broadest sense, assures that there are no conflicts
or discrepancies among two or more instances of the same data. The problem with
this definition is that conflicts and discrepancies are domain dependent. In other

47
words, whether two or more data sources are synchronized depends on the
definition of “conflicts and discrepancies” within the data domain.

That performs the replication and synchronization, some lend themselves in a


more effective way to particular types of data replication. This is some what obvious,
but let us review it quickly:
1. One-to-Many Replication
There is one central host that creates complete or partial replicas and with
which all of the nodes synchronize partially or completely. At the network layer,
star, bus, and peer-to-peer networks allow this to be done efficiently whereas the
application-layer communication architecture can be centralized, client–server, or
peer to peer.

2. One-to-One Replication:
In this case, there are only two participants. There is one master and one
replica. Though, as we mentioned before, the roles of master and replica are
typically static to the life cycle of the application, sometimes the replication tool
allows for reversal of the roles.
3. Many-to-Many Replication :
There are many masters and replicas in the replication and synchronization
scheme. Any one of the instances of the storage systems that can assume the role of a
master can replicate a new replica. From that point on, replicas, whether partial or
complete, can synchronize with masters or among themselves.
It is also important to keep in mind that replication and synchronization are
transactional.

48
Replication and synchronization are typically stateful . This means that there
is typically more than one single atomic transaction during a synchronization session
and that it is useful to maintain information about these various atomic transactions
as they are executed and completed.
In fact, in the case of one-to-many, many-to-many, or many-to-one
replication.

Data replication and Synchronization for mobile application


we need data replication and synchronization for mobile devices because we
assume that most mobile devices are sometimes disconnected from a network and
operating in isolation. This means that they need to access local data so that the
device operator can continue to use the applications on the device.

Typically, the sequence of events taking place are as follows:


1. Initial Replication: Some data are replicated from the master to the replica.
Normally, the master is a PC, server, or some other device that hosts some data and
the replica is the mobile device, but this does not have to be the case. The mobile
device can act as a master and create replicas on other devices.
2. Local Data Modification: This stage entails all of the user or machine interactions
that modify the data for one node. Usage of the data while the device is weakly
connected or disconnected may result in the data in other nodes becoming partially
or completely obsolete (or in conflict if the same data are modified at some other
node with different information).
49
3. Synchronization: This stage entails exchange of synchronization messages that
update the obsolete data and either resolve the conflicts in an automated fashion or
present the user with the necessary information to resolve the conflicts manually.
The scalability-related variables that we have to take into account when
designing a saleable mobile data replication and synchronization solution.

2.8 SMS ARCHITECTURE


The Short Message Service (SMS) allows the exchange of short messages
between a mobile station and the wireless system, and between the wireless system
and an external device capable of transmitting and optionally receiving short
messages.
The external device may be a voice telephone, a data terminal or a short
message entry system. The Short Message Service consists of message entry features,
administration features, and message transmission capabilities.
These features are distributed between a wireless system and the SMS
message center (MC) that together make up the SMS system. The message center
may be either separate from or physically integrated into the wireless system. Short
message entry features are provided through interfaces to the message center and
the mobile station. Senders use these interfaces to enter short messages, intended
destination addresses, and various delivery options.
The protocols associated with SMS have evolved since the first commercial
text message was sent in 1992. Today the 3rd Generation Partnership Project (3GPP)
maintains the SMS standard. In addition to officially recognizing SMS as a
communication protocol, they also recognize five main short message service center
(SMSC, SC or SMS-C) access protocols, though only four are primarily used. These
mainstream protocols, which include SMPP, CIMD, UCP/EMI, and OIS, are
proprietary binary access protocols associated with SMS that communicate over
TCP/IP or X.25.
The technical realization specification as outlined by the 3GPP details in great
length the service elements, service and message center functionality, routing,
architecture, and protocols used within the SMS standard for GSM systems. The
50
3GPP also produces other specification documents for things like requirements,
security, data, and program management, all relating to SMS. It is important to note
that this main specification document focuses on the communication between mobile
stations
(MS or mobile user) and SCs. SMS communication can really extend beyond
just the SC to entities like the aggregator or broker (and with other protocols like
CDMA).

In principle any number of relay points could be included, each containing an


SMS protocol stack similar to that shown for the base station. For example, during a
call that has undergone an intersystem handoff, SMS messages arriving at the mobile
station’s anchor base station must be forwarded to the current serving base station
for delivery.
The SMS bearer service is the portion of the SMS system responsible for
delivery of messages between the message center and mobile user equipment. The
bearer service is provided by the SMS Transport Layer and the SMS Relay Layer.
The SMS Transport Layer is the highest layer of the bearer service protocol.
The Transport Layer manages the end-to-end delivery of messages. In an
entity serving as a relay point, the Transport Layer is responsible for receiving SMS
Transport Layer messages from an underlying SMS Relay Layer, interpreting the
destination address and other routing information, and forwarding the message via
an underlying SMS Relay Layer. In entities serving as end points, the Transport
Layer provides the interface between the SMS Bearer Service and the SMS
Teleservice. The SMS Relay Layer provides the interface between the Transport
Layer and the Link Layer used for message transmission.
If any mobile user looking for the way how a SMS takes a rout to reach one
user's mobile to another associate mobile user, So user should must aware about
SMS architecture which plays a very important role. Anyone can easily find out the
way by takes a look to understand GSM, illustrated figure below.

51
If a user sends a SMS to his buddy,the SMS first deliver from the MS which is
know as Mobile Station A to SM-SC(Short Message Service Center) Via the Base
Station System (BSS), and then it catch up to the Mobile Station center(MSC) and
finally combine with InterworkingMSC(IW-MSC).
The use of Short Message Service Center (SM-SC) to carry ahead the SMS
message to the GSM network through a definite GSM-MSC called the Short Message
Service gateway MSC (SMS-GMSC). The SM-SC is allowed to link with several GSM
networks and to several SM-GMSCs in a GSM network. The SMS-GMSC come
across the contemporary MSC of the message acceptor and then step ahead the SMS
message to that Mobile Station center, pursue the Global System for Mobile
Communication (GSM) roaming protocol.The MSC then Publish the SMS through
the Base Station System (BSS) to the destination MSB.
MS messages are created by mobile phones or other devices (e.g.: personal
computers). These devices can send and receive SMS messages by communicating
with the GSM network. All of these devices have at least one MSISDN number. They
are called Short Messaging Entities. To understand their roles in the GSM SMS
network, please take a look at SMS architecture diagram below

52
he SMEs are the starting points (the source) and the end points (the receiver)
for SMS messages. They always communicate with a Short Message Service Center
(SMSC) and never communicate directly with each other. An SME can be a mobile
telephone. Depending on the role of the mobile phone in the communication, there
are two kinds of SMS messages: Mobile-originated (MO) messages and Mobile-
terminated (MT) messages. MO messages are sent by the mobile phone to the SMSC.
Mobile-terminated messages are received by the mobile phone. The two messages
are encoded differently during transmission.
An SME can also be a computer equipped with a messaging software, such as
Ozeki NG - SMS Gateway, which can communicate directly with the SMSC of the
service provider. For this communication, a mobile phone attached to the PC with a
phone-to-pc data cable or a direct IP link can be used.

53
2.9 GPRS
General Packet Radio Services (GPRS) is a best-effort packet-switching
protocol for wireless and cellular network communication services.
The General Packet Radio Service (GPRS) is an enhancement to the existing
GSM network infrastructure and provides a connectionless packet data service. The
same cellular base-stations that support voice calls are used to support GPRS and as
a consequence GPRS can be used wherever it is possible to make a voice call.
General Packet Radio Services (GPRS) is a packet-based wireless
communication

54
service that promises data rates from 56 up to 114 Kbps and continuous connection
to the Internet for mobile phone and computer users. The higher data rates allow
users to
take part in video conferences and interact with multimedia Web sites and similar
applications using mobile handheld devices as well as notebook computers.
GPRS is based on Global System for Mobile (GSM) communication and
complements existing services such circuit-switched cellular phone connections
and the Short Message Service (SMS).
In theory, GPRS packet-based services cost users less than circuit-switched
services since communication channels are being used on a shared-use, as-packets-
are-needed basis rather than dedicated to only one user at a time. It is also easier to
make applications available to mobile users because the faster data rate
means that middleware currently needed to adapt applications to the slower speed
of wireless systems are no longer be needed. As GPRS has become more widely
available, along with other 2.5G and 3G services, mobile users of virtual private
networks (VPNs) have been able to access the private network continuously over
wireless rather than through
a rooted dial-up connection.
GPRS also complements Bluetooth, a standard for replacing wired
connections between devices with wireless radio connections. In addition to the
Internet Protocol (IP), GPRS supports X.25, a packet-based protocol that is used
mainly in Europe.
GPRS is an evolutionary step toward Enhanced Data GSM Environment (EDGE) and
Universal Mobile Telephone Service (UMTS).

55
GPRS and packet Data Network
GPRS architecture works on the same procedure like GSM network, but, has
additional entities that allow packet data transmission. This data network overlaps a
second-generation GSM network providing packet data transport at the rates from
9.6 to 171 kbps. Along with the packet data transport the GSM network
accommodates multiple users to share the same air interface resources concurrently.
Following is the GPRS Architecture diagram:
GPRS attempts to reuse the existing GSM network elements as much as
possible, but to effectively build a packet-based mobile cellular network,
some new network elements, interfaces, and protocols for handling packet traffic
are required.
Therefore, GPRS requires modifications to numerous GSM network
elements as summarized below:
GSM Network Element Modification or Upgrade Required for GPRS.
Mobile Station (MS) New Mobile Station is required to access GPRS services.
These new terminals will be backward compatible with GSM for voice calls.
BTS A software upgrade is required in the existing Base Transceiver
Station(BTS).
BSC The Base Station Controller (BSC) requires a software upgrade and the
installation of new hardware called the packet control unit (PCU). The PCU directs
the data traffic

56
to the GPRS network and can be a separate hardware element associated with the
BSC.
GPRS Support Nodes (GSNs) The deployment of GPRS requires the
installation of new core network elements called the serving GPRS support node
(SGSN) and gateway GPRS support node (GGSN).
Databases (HLR, VLR, etc.) All the databases involved in the network
will require software upgrades to handle the new call models and functions
introduced by GPRS.
GPRS Mobile Stations
New Mobile Stations (MS) are required to use GPRS services because existing
GSM phones do not handle the enhanced air interface or packet data. A variety of
MS can exist, including a high-speed version of current phones to support high-
speed data access, a new PDA device with an embedded GSM phone, and PC cards
for laptop computers. These mobile stations are backward compatible for making
voice calls using GSM.
GPRS Base Station Subsystem
Each BSC requires the installation of one or more Packet Control Units (PCUs)
and a software upgrade. The PCU provides a physical and logical data interface to
the Base Station Subsystem (BSS) for packet data traffic. The BTS can also require a
software upgrade but typically does not require hardware enhancements. When
either voice or data traffic is originated at the subscriber mobile, it is transported
over the air interface to the BTS, and from the BTS to the BSC in the same way as a
standard GSM call.
However, at the output of the BSC, the traffic is separated; voice is sent to the
Mobile Switching Center (MSC) per standard GSM, and data is sent to a new device
called the SGSN via the PCU over a Frame Relay interface.
GPRS Support Nodes
Following two new components, called Gateway GPRS Support Nodes
(GSNs) and, Serving GPRS Support Node (SGSN) are added:
Gateway GPRS Support Node (GGSN)

57
The Gateway GPRS Support Node acts as an interface and a router to external
networks. It contains routing information for GPRS mobiles, which is used to tunnel
packets through the IP based internal backbone to the correct Serving GPRS Support
Node. The GGSN also collects charging information connected to the use of the
external data networks and can act as a packet filter for incoming traffic.
Serving GPRS Support Node (SGSN)
The Serving GPRS Support Node is responsible for authentication of GPRS
mobiles, registration of mobiles in the network, mobility management, and collecting
information on charging for the use of the air interface.
Internal Backbone
The internal backbone is an IP based network used to carry packets between
different GSNs. Tunneling is used between SGSNs and GGSNs, so the internal
backbone does not need any information about domains outside the GPRS network.
Signaling from a GSN to a MSC, HLR or EIR is done using SS7.

Routing Area
GPRS introduces the concept of a Routing Area. This concept is similar to
Location Area in GSM, except that it generally contains fewer cells. Because routing
areas are smaller than location areas, less radio resources are used While
broadcasting a page message .
General Packet Radio Service (GPRS) is a packet oriented mobile data
standard on the 2G and 3G cellular communication network's global system for
mobile communications (GSM). GPRS was established by European
Telecommunications Standards Institute (ETSI) in response to the earlier CDPD and
i-mode packet-switched cellular technologies.
It is now maintained by the 3rd Generation Partnership Project (3GPP). GPRS
is typically sold according to the total volume of data transferred during the billing
cycle, in contrast with circuit switched data, which is usually billed per minute of
connection time, or sometimes by one-third minute increments. Usage above the
GPRS bundled data cap may be charged per MB of data, speed limited, or
disallowed.
58
GPRS is a best-effort service, implying variable throughput and latency that
depend on the number of other users sharing the service concurrently, as opposed to
circuit switching, where a certain quality of service (QoS) is guaranteed during the
connection. In 2G systems, GPRS provides data rates of 56–114 kbit/sec.
2G cellular technology combined with GPRS is sometimes described as 2.5G,
that is, a technology between the second (2G) and third (3G) generations of mobile
telephony. It provides moderate-speed data transfer, by using unused time-division
multiple access (TDMA) channels in, for example, the GSM system. GPRS is
integrated into GSM Release 97 and newer releases.
The 3rd Generation Partnership Project (3GPP) standardized GPRS in early
1998, but commercial cellular networks did not widely adopt the technology until
2000. It was the first technology successfully deployed in 2G mobile phone systems.
GPRS technology different from other cellular wireless technologies, like
Global System for Mobile Communications (GSM), available at the time was the use
of packet-switched data instead of the traditional circuit-switched data. When a
cellphone was on circuit-switched mode, the circuit was permanently switched on to
a specific user. By contrast, packet-switched data transfers occurred in bursts during
short peaks, followed by breaks.
This approach was a more efficient use of available capacity because, by
splitting data into packets and tags, GPRS shared overall capacity among multiple
users. This was possible because everyone wasn't online at the same time often.
The destination address became available when inserted into the packet,
which enabled packets from multiple sources to transmit through a single link.

Difference between GSM and GPRS


The primary difference between GSM and GPRS is that GSM is a circuit-
switching system, while GPRS is a packet-switching system. GPRS offered more data
transmission options for GSM-based devices, as GSM networks at the time could
only use Short Message Service (SMS), for example, to transmit a small amount of
data.

59
GPRS technology, mobile devices could support data functions across cellular
internet connections. GPRS revolutionized GSM by providing real data capability
and enabling emails and simple web browsing -- albeit at speeds much slower than
the current standard.

The GPRS service on your iPhone is a mobile data connection protocol,


similar to EDGE, 4G or 3G. The GPRS service may be offered as a connection option
by your cellular provider.

GPRS is a GSM upgrade that provides packet data and rates up to


approximately 170 Kbps. GPRS modulation is based on Gaussian Minimum-Shift
Keying (GMSK) modulation. It is very important, though, to understand that this is
the maximum bandwidth delivered. Most of the time, depending on the QOS of the
location of the device and many other factors, users get only a fraction of this
bandwidth. The general system architecture that the careers must deploy to provide
GPRS service.

60
Because GPRS is an add-on to GSM, a GSM-enabled mobile device does not
necessarily support GPRS. To use GPRS and EDGE, the device must be specifically
enabled for the appropriate technology, the carrier must be able to support the
service, and the carrier must enable the device account to use the service. Also, in the
case of both GPRS and EDGE, it is possible to saturate the base station node,
particularly because these technologies are typically deployed on TDMA.
2.10 MOBILE COMPUTING THROUGH TELEPHONY
The first functioning cell system and first real cell phone call in 1973. The
phone, which weighed about six pounds, was developed by Martin Cooper of
Motorola Bell Labs and Motorola were the main competitors in the US.
Bell Labs did most of the work developing the cell technology. Service began
in Tokyo in 1979 and Nordic Mobile Telephone was founded in Norway, Sweden,
Finland, and Denmark the same year .The first commercial service began in 1983
with the advent of the legendary Motorola DynaTAC 8000X .

61
In 1984 Bell Labs perfected the modern system of cellular telephony that we
use today . Thus began first generation analog cellular telephony (1G). Mobile
stations compete with one another for the frequency resource to transmit their
information streams. Without any other measures to control simultaneous access of
several users, collisions can occur . Since collisions are very undesirable for a
connection-oriented communication like mobile telephony, the individual
subscribers/mobile stations must be assigned dedicated channels on
demand.
In order to divide the available physical resources of a mobile system, i.e. the
frequency bands, into voice channels, special multiple access procedures are used
which are presented in the following

Frequency Division Multiple Access (FDMA)


Frequency Division Multiple Access (FDMA) is one of the most common
multiple access procedures. The frequency band is divided into channels of equal
bandwidth such that each conversation is carried on a different frequency (Figure ).
Best suited to analog mobile radio, FDMA systems include the C-Netz in Germany,
TACS in the UK, and AMPS in the USA. In the C-Netz, two frequency
bands of 4.44 MHz each are subdivided into 222 individual communication
channels at 20 kHz bandwidth.
The effort in the base station to realize a frequency division multiple access
system is very high. Even though the required hardware components are relatively
simple, each channel needs its own transceiving unit.
62
Furthermore, the tolerance requirements for the high-frequency networks
and the linearity of the amplifiers in the transmitter stages of the base station are
quite high, since a large number of channels need to be amplified and transmitted
together .One also needs a duplexing unit with filters for the transmitter and
receiver units to enable full-duplex operation, which makes it nearly impossible to
build small, compact mobile stations, since the required narrowband filters can
hardly be realized with integrated circuits.

Time Division Multiple Access (TDMA)


Time Division Multiple Access (TDMA) is a more expensive technique, for
it needs a highly accurate synchronization between transmitter and receiver. The
TDMA technique is used in digital mobile radio systems.
The individual mobile stations are cyclically assigned a frequency for
exclusive use only for the duration of a time slot. Furthermore, in most cases the
whole system bandwidth for a time slot is not assigned to one station, but the system
frequency range is subdivided into subbands, and TDMA is used for multiple access
to each subband.
The sub bands are known as carrier frequencies, and the mobile systems
using this technique are designated as multicarrier systems (not to be confused
with multicarrier modulation). The pan-European digital system GSM employs
such a combination of FDMA and TDMA; it is a multicarrier TDMA system. A
frequency range of 25 MHz holds 124 single channels (carrier frequencies) of 200
kHz bandwidth each, with each of these frequency channels containing again 8
TDMA conversation channels.

63
Code Division Multiple Access (CDMA)
Systems with Code Division Multiple Access (CDMA) are broadband systems,
in which each subscriber uses the whole system bandwidth (similar to TDMA) for
the complete duration of the connection (similar to FDMA).
Furthermore, usage is not exclusive, i.e. all the subscribers in a cell use the
same frequency band simultaneously. To separate the signals, the subscribers are
assigned orthogonal codes. The basis of CDMA is a band-spreading or spread
spectrum technique.
The signal of one subscriber is spread spectrally over a multiple of its original
bandwidth. Typically, spreading factors are between 10 and 1000; they generate a
broadband signal for transmission from the narrowband signal, and this is less
sensitive to frequency-selective interference and disturbances. Furthermore, the
spectral power density is decreased by band spreading, and communication is even
possible below the noise threshold.

Mobile computing through telephone


One of the early examples of mobile computing was accessing applications
and services through voice interface. This technology was generally referred to as
computer telephony interface. Different banks around the world were offering
telephone banking for quite sometime using this technology. In a telephone banking

64
application, the user calls a number and then does his banking transaction through a
fixed telephone.
In this application the telephone does many functions of a bank teller. Input to
this system is a telephone keyboard and output is a synthesized voice. These
applications can be used from anywhere in the world. The only issue in this case is
the cost of a call.
The telephone companies soon came up with a brilliant idea to solve this
problem of multiple numbers by offering 800 services using Intelligent Networks
technology.
This also commonly known as TOLL Free numbers. In this technology only
one number like 1-800-2MYBANK is published. The number is not attached to any
specific exchange or any specific city. When a subscriber calls this number an
optimal routing is done and the call is connected to the nearest service center.
To make this type of mobile computing work through voice interfaces, we
use interactive voice response. In USA and Japan IVRs are commonly known as
Voice Response Unit.
The technical name for this technology is Computer Telephony. IVR software
can be hosted on a Windows-NT, Linus, or other computers with the voice cards.
There are many companies who manufacture voice cards; however,
one of the most popular card vendors is from Inter/Dialogic. IVR works as the
gateway between a voice based telephone system and a computer system.
Multiple telephone lines are connected to the voice card through
appropriate telecom interfaces. When a caller dials the IVR number , a ring tone is
received by the voice card with in the IVR. The voice card answers the call and
establishes a connection between the caller and the IVR application.

65
UNIT-III
3.1 MOBILE APPLICATION DEVELOPMENT
Mobile application development is the process of creating software
applications that run on a mobile device, and a typical mobile application utilizes a
network connection to work with remote computing resources.
A Mobile Developer – also known as a mobile app developer or an app
developer – is someone who designs, develops, and implements mobile applications.
They are responsible for the development of these software applications in line with
the appropriate mobile platforms. These are
 iPhone App Development
 Android App Development
 Windows App Development
 Hybrid App Development

66
3.2 ANDROID
Android is an open source and Linux-based operating system for mobile
devices such as smartphones and tablet computers. Android was developed by the
Open Handset Alliance, led by Google, and other companies. This tutorial will teach
you basic Android programming and will also take you through some advance
concepts related to Android application development.
Android is an open source and Linux-based Operating System for mobile
devices such as smartphones and tablet computers. Android was developed by the
Open Handset Alliance, led by Google, and other companies.
Android offers a unified approach to application development for mobile
devices which means developers need only develop for Android, and their
applications should be able to run on different devices powered by Android.
The first beta version of the Android Software Development Kit (SDK) was
released by Google in 2007 where as the first commercial version, Android 1.0, was
released in September 2008.

On June 27, 2012, at the Google I/O conference, Google announced the next
Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the
primary aim of improving the user interface, both in terms of functionality and
performance.
The source code for Android is available under free and open source software
licenses. Google publishes most of the code under the Apache License version 2.0
and the rest, Linux kernel changes, under the GNU General Public License version 2.

67
Features of Android
Android is a powerful operating system competing with Apple 4GS and
supports great features. Few of them are listed below
Sr.No. Feature & Description
1.Beautiful UI
Android OS basic screen provides a beautiful and intuitive user interface.

2. Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
3. Storage
SQLite, a lightweight relational database, is used for data storage purposes.
4. Media support
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.

68
5. Messaging
SMS and MMS
6. Web browser
Based on the open-source WebKit layout engine, coupled with Chrome's V8
JavaScript engine supporting HTML5 and CSS3.
7. Multi-touch
Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.
8. Multi-tasking
User can jump from one task to another and same time various application
can run simultaneously.
9. Resizable widgets
Widgets are resizable, so users can expand them to show more content or
shrink them to save space.
10. Multi-Language
Supports single direction and bi-directional text.
11. GCM
Google Cloud Messaging (GCM) is a service that lets developers send short
message data to their users on Android devices, without needing a proprietary sync
solution.

12. Wi-Fi Direct


A technology that lets apps discover and pair directly, over a high-bandwidth
peer-to-peer connection.
13. Android Beam
A popular NFC-based technology that lets users instantly share, just by
touching two NFC-enabled phones together.

ANDROID APPLICATIONS

69
Android applications are usually developed in the Java language using the
Android Software Development Kit.
Android applications can be packaged easily and sold out either through a
store such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and the
Amazon Appstore.
Android powers hundreds of millions of mobile devices in more than 190
countries around the world. It's the largest installed base of any mobile platform and
growing fast. Every day more than 1 million new Android devices are activated
worldwide.
We will start from environment setup for Android application programming
and then drill down to look into various aspects of Android applications.

3.3 Wi-Fi
Wi-Fi is the wireless technology used to connect computers, tablets,
smartphones and other devices to the internet. Wi-Fi is the radio signal sent from a
wireless router to a nearby device, which translates the signal into data you can see
and use.
WiFi is a wireless network to connect nearby devices to each other and share
internet via hotspots. Internet is a global network of networks, connecting computers
all over the world. WiFi uses radio frequency waves to transmit data.
Wi Fi, is often thought to be short for Wireless Fidelity.
Wi-Fi uses radio waves to transmit data from your wireless router to your Wi-
Fi enabled devices like your TV, smartphone, tablet and computer.

70
Internet connectivity occurs through a wireless router. When you access Wi-
Fi, you are connecting to a wireless router that allows your Wi-Fi-compatible devices
to interface with the Internet.
Connect to Wi-Fi networks on your Android device
To use Wi-Fi the way you want, you can change how and when your phone
connects.
When you have Wi-Fi turned on, your phone automatically connects to
nearby Wi-Fi networks you've connected to before. You can also set your phone to
automatically turn on Wi-Fi near saved networks.

3.4 GPS
The Global Positioning System (GPS) is a U.S.-owned utility that provides
users with positioning, navigation, and timing (PNT) services. This system consists
of three segments: the space segment, the control segment, and the user segment.
A GPS receiver in your phone listens for these signals. Once the receiver
calculates its distance from four or more GPS satellites.

GPS trackers use the Global Navigation Satellite System network to give
location information and track movements. GPS devices receive satellite and
microwave signals and use calculations to determine a location and to track speed
and movement.
The Global Positioning System is a radio-navigation system formed from a
group of satellites and ground stations. It was initially designed for military use and
is still primarily funded and controlled by the US Department of Defense, but today

71
it has many civil uses as well as military uses, and civilian users are able to use the
system without any restrictions.
GPS trackers use the Global Navigation Satellite System network to give
location information and track movements. GPS devices receive satellite and
microwave signals and use calculations to determine a location and to track speed
and movement.
This means that you can not only find out where an object with a GPS tracker
is currently, you can also find out where it’s been and how fast it’s moving, which
can be useful information.
GPS that comes in an iPhone or Android phone may not be sensitive enough
to give an exact address where the phone is located, it can narrow the location to
within a small area. This can help emergency responders find you if you call 911
from your cell phone, and it can also help you narrow down the place where your
phone can be found if you lose it.
The GPS tracking system located in your phone does have some drawbacks. If
you need an exact location, you may not be able to get it from using the built-in GPS
cell phone tracker. What’s more, these trackers can be turned on and off. If your
phone is stolen, for instance, one of the first things that the thief is likely to do is turn
the GPS off so that you’re not able to see the phone’s location from another device.
GPS tracking apps that you can install on your cell phone can provide another
layer of protection for your phone. These apps are often more sensitive than the ones
that come with the phone itself and can give you an exact location.

72
Mobile GPS technology has enabled today's smartphones with convenient
and highly efficient means for end users to receive navigating instructions via a
global positioning system process called "trilateration." A phone's built-in GPS
receiver also communicates with an array of satellites that provides navigation
instructions for those in an automobile.

3.5 CAMERA
camera, in photography, device for recording an image of an object on a light-
sensitive surface; it is essentially a light-tight box with an aperture to admit light
focused onto a sensitized film or plate.
A webcam is a video camera that feeds or streams an image or video in real
time to or through a computer network, such as the Internet. Webcams are typically
small cameras that sit on a desk, attach to a user's monitor, or are built into the
hardware.
Digital Camera Modes allow photographers to control the parameters of an
exposure, specifically, Shutter Speed, Aperture and ISO. While certain modes can
fully automate the camera exposure, there are other modes that let the photographer
manually control some or all parameters of the exposure.
Types of Camera Modes
Here are the four main types of camera modes that can be found in most digital
cameras today:
 Program (P)
 Shutter Priority (Tv) or (S)
 Aperture Priority (Av) or (A)
 Manual (M)
Program Mode
In “Program” mode, the camera automatically chooses the Aperture and the
Shutter Speed for you, based on the amount of light that passes through the lens.
This is the mode you want to use for “point and shoot” moments, when you just
need to quickly snap a picture.

73
The camera will try to balance between aperture and shutter speed, increasing
and decreasing the two based on the intensity of light. If you point the camera to a
bright area, the aperture will automatically increase to a bigger number, while
keeping the shutter speed reasonably fast.
Pointing the camera to a darker area will decrease the aperture to a lower
number, in order to maintain a reasonably fast shutter speed. If there is not enough
light, the lens aperture will stay at the lowest number (maximum aperture), while
the shutter speed will keep on decreasing until it reaches proper exposure.
I personally never use this mode, since it does not give me much control over
the exposure. There is a way to override the camera-guessed shutter speed and
aperture by moving the control dial (on Nikon cameras it is the dial on the back of
the camera). If you rotate the control dial towards the left, the camera will decrease
the shutter speed and increase the aperture.
If you rotate the dial towards the right, the camera will increase the shutter
speed and decrease the aperture. Basically, if you needed to get a faster shutter
speed for freezing action, you would rotate the dial to the right, and if you needed to
get a large depth of field, you would rotate the dial to the left.

Shutter-Priority Mode
In “Shutter Priority” mode, you manually set the camera’s shutter speed and the
camera automatically picks the right aperture for you, based on the amount of light
that passes through the lens. This mode is intended to be used when motion needs to
be frozen or intentionally blurred.
If there is too much light, the camera will increase the lens aperture to a
higher number, which decreases the amount of light that passes through the lens. If
there is not enough light, the camera will decrease the aperture to the lowest
number, so that more light passes through the lens. So in Shutter Priority mode, the
shutter speed stays the same (what you set it to), while aperture automatically
increases and decreases, based on the amount of light. In addition, there is no control
over subject isolation, because you are letting the camera control the depth of field.

74
I try not to use this mode either, because there is a risk of getting an
overexposed or underexposed image. Why? Because if the amount of ambient light
is not sufficient and I set the shutter speed to a really high number, my exposure will
be limited to the aperture/speed of my lens.
For example, if the maximum aperture of my lens is f/4.0, the camera will not
be able to use a lower aperture than f/4.0 and will still shoot at the fast shutter speed
that I manually set. The result will be an underexposed image. At the same time, if I
use a very slow shutter speed when there is plenty of light, the image will be
overexposed and blown out.

Aperture-Priority Mode
In “Aperture Priority” mode, you manually set the lens aperture, while the
camera automatically picks the right shutter speed to properly expose the image.
You have full control over subject isolation and you can play with the depth of field,
because you can increase or decrease the lens aperture and let the camera do the
math on measuring the right shutter speed.
If there is too much light, the camera will automatically increase the shutter
speed, while if you are in a low-light environment, the camera will decrease the
shutter speed. There is almost no risk of having an overexposed or an underexposed
image, because the shutter speed can go as low as 30 seconds and as fast as 1/4000-
1/8000th of a second (depending on the camera), which is more than sufficient for
most lighting situations.
This is the mode that I use 95% of the time, because I have full control over
the depth of field and I know that the image will be properly exposed under normal
circumstances. The metering systems in most modern cameras work very well and I
let the camera calculate and control the shutter speed for me.

Manual Mode
As the name suggests, “Manual” mode stands for a full manual control of
Aperture and Shutter Speed. In this mode, you can manually set both the aperture
and the shutter speed to any value you want – the camera lets you fully take over the
75
exposure controls. This mode is generally used in situations, where the camera has a
hard time figuring out the correct exposure in extreme lighting situations. For
example, if you are photographing a scene with a very bright area, the camera might
incorrectly guess the exposure and either overexpose or underexpose the rest of the
image. In those cases, you can set your camera to manual mode, then evaluate the
amount of light in darker and brighter areas and override the exposure with your
own settings.
Manual mode is also useful for consistency, if you need to make sure that
both shutter speed and aperture stay the same across multiple exposures. For
example, to properly stitch a panorama, all shots that you are trying to put together
need to have the same shutter speed and aperture. Otherwise, some images will be
darker, while others are lighter.
Once you set the shutter speed and aperture to the values of your choice in
manual mode, your images will all have consistent exposures.

3.6 MOVEMENT
Mobile is the movement driving society towards a future in which technology
is a fully integrated component of

76
The quicker you jump on the mobile express, the sooner you’ll be able to
grasp how the mobile movement is drastically changing customers journeys.
Because we’re sure about one thing: if you’re not as mobile as your customers, they
won’t be your customers much longer.
The fact that over 30% of the world's population has a smartphone is proof
enough the mobile technology movement has arrived. Along with this device
domination, app creation and usage has exploded, with good reason. Game and
productivity apps allow us to hold have fun and improve our lives – all from a
device we hold in our hands.
As a marketer, however, one of the most intriguing stats we came across is
that of the average 4-5 hours mobile users spend on their devices, 80% of it is spent
on three apps – and one of those apps is Chrome. To us, this suggests the importance
of a solid mobile marketing strategy because, despite all the apps out there, people
are still browsing – and therefore searching for products and services – from their
smartphones.
As a business owner or marketer, don't let anyone tell you your industry isn't
right for mobile marketing. Somewhere out there, somebody is using their
smartphone to search for exactly what you offer.
One of the most surprising aspects of the mobile technology movement is
how it interacts with and impacts non-technological activities. For example,
shopping in a store, in itself, does not involve a mobile device in any way, shape or
form. However, our mobile devices have become such a part of our everyday lives
that of course, we bring them shopping. When we have our devices with us while
we're in a store, it means we have quick and easy access to apps and the Internet –
which can actually make us more efficient shoppers!
As always, don't only believe us, trust the numbers too. 80% of consumers use
their smartphones to shop, a stat that definitely passes our eye test (almost
everybody we see in stores has their phone out). A more significant stat suggests
40% of shoppers consult three or more channels – while shopping – before making a
purchase.

77
3.7 ORIENTATION
Smartphones and other mobile technology identify their orientation through
the use of an accelerator, a small device made up of axis-based motion sensing. The
motion sensors in accelerometers can even be used to detect earthquakes, and may
by used in medical devices such as bionic limbs and other artificial body parts.
We can accurately estimate which way a mobile phone user is facing
regardless of the position of their phone or its orientation.
Knowing which way a user is facing can provide valuable information for the
provision of mobile services and applications. The proposed technology utilises
inertial sensors that are readily available in mobile consumer devices (e.g. smart
phones). While providing high accuracy, the solution is able to cope with arbitrary
wearing positions and orientations of the mobile consumer device, making it
suitable for use in every-day life situations. This is achieved by an estimation of the
user orientation with respect to the reference frame of both the sensing module and
the global earth coordinate system.

Benefits

78
 Accuracy: Outperforms the existing state of the art solutions e.g. GPS based
systems.
 Scalability: Implementable on off the shelf smart phones and does not rely on
specialized hardware.
 User friendly: Works regardless of the mobile device position and orientation
on the user¿s body.
 Real-time: Provides instantaneous estimation.
 Energy efficiency: Uses low-energy inertial sensors (instead of relying on
energy demanding sensors such as GPS).
Applications
 Positioning applications for indoor or outdoor environments.
 Dead reckoning.
 Real-time user tracking.
 Advanced human to computer interaction (HCI) in smart environments.
 User profiling for real world analytics.
 Improved social network analysis.
 Organizational engineering.
 Real world gaming.

3.8 EVENT BASED PROGRAMMING


Event-driven programming is a programming paradigm in which the flow of
program execution is determined by events - for example a user action such as a
mouse click, key press, or a message from the operating system or another program.
Event-driven programming focuses on events. Eventually, the flow of
program depends upon events. Until now, we were dealing with either sequential or
parallel execution model but the model having the concept of event-driven
programming is called asynchronous model.

79
In event-driven programming the program responds to events. The program
responds to events that the user generates in interacting with GUI components. The
order of events is controlled by the user.
3.9 iOS/ windows CE
Windows Consumer Electronics) Microsoft's earlier version of Windows for
handheld devices and embedded systems that ran on x86, ARM, MIPS and SuperH
CPUs. Introduced in 1996, Windows CE was renamed "Windows Embedded CE" in
2006, then "Windows Embedded Compact" in 2008, and finally Windows IoT. See
Windows IoT, x86, ARM and SuperH.
Windows CE used the same Win32 programming interface (API) as regular
Windows, but could run in less than 1MB of RAM. It supported most Windows
technologies such as .NET Compact Framework, MFC, COM, ActiveX and DirectX.
In addition, numerous components were available in source code to be modified for
specific platforms.

Windows Phones Were Windows CE Until WinPhone 8

80
Microsoft's first Windows Mobile platform and its second Windows Phone
platform, prior to Windows Phone 8, were also based on Windows CE. See Windows
Mobile and Windows Phone.

3.10 BLACKBERRY
BlackBerry OS is a proprietary mobile operating system designed specifically
for Research In Motion's (RIM) BlackBerry devices. The BlackBerry OS runs on
Blackberry variant phones like the BlackBerry Bold, Curve, Pearl and Storm series.
The BlackBerry OS is designed for smartphone environments and is best
known for its robust support for push Internet email.
BlackBerry OS is similar to Apple’s iOS in this regard. Traditionally,
BlackBerry applications are written using Java, particularly the Java Micro Edition
(Java ME) platform.
However, RIM introduced the BlackBerry Web development platform in 2010,
which makes use of the widget software development kit (SDK) to create small
standalone Web apps made up of HTML, CSS and JavaScript code.
BlackBerry OS is a proprietary mobile operating system developed by
BlackBerry Ltd for its BlackBerry line of smart phone handheld devices. The
operating system provides multitasking and supports specialized input devices that
have been adopted by BlackBerry Ltd. for use in its handhelds, particularly the track
wheel, trackball, and most recently, the trackpad and touch screen.
The BlackBerry platform is perhaps best known for its native support for
corporate email, through MIDP 1.0 and, more recently, a subset of MIDP 2.0, which
allows complete wireless activation and synchronization with Microsoft Exchange,
Lotus Domino, or Novell.
GroupWise email, calendar, tasks, notes, and contacts, when used with
BlackBerry Enterprise Server. The operating system also supports WAP 1.2. Updates
to the operating system may be automatically available from wireless carriers that
support the BlackBerry over the air software loading (OTASL) service.
Third-party developers can write software using the available BlackBerry
APIclasses, although applications that make use of certain functionality must be
81
digitally signed. Research from June 2011 indicated that approximately 45% of
mobile developers were using the platform at the time of publication. BlackBerry OS
was discontinued after the release of BlackBerry 10, but BlackBerry will continue
support for the BlackBerry OS.

3.11 WINDOWS PHONE


Windows Phone (WP) is a family of mobile operating systems developed by
Microsoft for smart phones as the replacement successor to Windows Mobile and
Zune. Windows Phone features a new user interface derived from Metro design
language. Unlike Windows Mobile, it is primarily aimed at the consumer market
rather than the enterprise market. It was first launched in October 2010 with
Windows Phone 7. Windows Phone 8.1 was the last public release of the operating
system, released to manufacturing on April 14, 2014
Work on a major Windows Mobile update may have begun as early as 2004
under the codename "Photon", but work moved slowly and the project was
ultimately cancelled. In 2008, Microsoft reorganized the Windows Mobile group and
started work on a new mobile operating system. The product was to be released in
2009 as Windows Phone, but several delays prompted Microsoft to develop
Windows Mobile 6.5 as an interim release.
Windows Phone was developed quickly. One result was that the new OS
would not be compatible with Windows Mobile applications.
Microsoft was attempting to look at the mobile phone market in a new way,
with the end user in mind as well as the enterprise network.
The moves to some of the hardware choices we made for the Windows Phone
7 experience, we had to break application compatibility with Windows Mobile 6.5.
Windows Mobile update may have begun as early as 2004 under the
codename "Photon", but work moved slowly and the project was ultimately
cancelled.
In 2008, Microsoft reorganized the Windows Mobile group and started work
on a new mobile operating system. The product was to be released in 2009 as

82
Windows Phone, but several delays prompted Microsoft to develop Windows
Mobile 6.5 as an interim release.
Following this, Windows Phone was developed quickly. One result was that
the new OS would not be compatible with Windows Mobile applications. Larry
Lieberman, senior product manager for Microsoft's Mobile Developer Experience,
told eWeek: "If we'd had more time and resources, we may have been able to do
something in terms of backward compatibility."
Lieberman said that Microsoft was attempting to look at the mobile phone
market in a new way, with the end user in mind as well as the enterprise network.
Terry Myerson, corporate VP of Windows Phone engineering, said, "With the
move to capacitive touch screens, away from the stylus, and the moves to some of
the hardware choices we made for the Windows Phone 7 experience, we had to
break application compatibility with Windows Mobile 6.5."
From the beginning of Windows Phone until at least 2015, Joe Belfiore was the
head of development and the face of the platform's initiatives.
Further information: Microsoft Lumia On February 11, 2011, at a press event
in London, Microsoft CEO Steve Ballmer and Nokia CEO Stephen Elop announced a
partnership between their companies in which Windows Phone would become the
primary smartphone operating-system for Nokia, replacing Symbian.
The event focused largely on setting up "a new global mobile ecosystem",
suggesting competition with Android and iOS with the words "It is now a three
horse race". Elop stated the reason for choosing Windows Phone over Android,
saying: "the single most important word is 'differentiation'. Entering the Android
environment late, we knew we would have a hard time differentiating."
Bing would power search across Nokia devices integration of Nokia Maps
with Bing Maps integration of Nokia's Ovi store with the Windows Phone Store .

83
Windows Phone to run the Tango Variant and was aimed at emerging
markets. On September 2, 2013, Microsoft announced a deal to acquire Nokia's
mobile phone division outright, retaining former CEO Stephen Elop as the head of
Microsoft's devices operation. The merger was completed after regulatory approval
in all major markets in April 2014. As a result, Nokia's hardware division became a
subsidiary of Microsoft operating under the name Microsoft Mobile.
In February 2014, Nokia released the Nokia X series of smartphones, using a
version of Android forked from the Android Open Source Project. The operating
system was modified; Google's software was not included in favour of competing
applications and services from Microsoft and Nokia, and with a user interface highly
modified to resemble Windows Phone.

3.12 MCOMMERCE
M-commerce (mobile commerce) is the buying and selling of goods and
services through wireless handheld devices such as smartphones and tablets. As a
form of e-commerce, m-commerce enables users to access online shopping platforms
without needing to use a desktop computer.
Financial services, which includes mobile banking (when customers use their
handheld devices to access their accounts and pay their bills) as well as brokerage
services, in which stock quotes can be displayed and trading conducted from the
same handheld device.
Telecommunications, in which service changes, bill payment and account
reviews can all be performed from the same handheld device.
Service and retail, as consumers are given the ability to place and pay for orders on-
the-fly.

84
Information services, which include the delivery of financial news, sports
figures and traffic updates to a single mobile device.
Types of m-commerce
M-commerce can be categorized by function as either mobile shopping,
mobile banking or mobile payments. Mobile shopping allows for a customer to
purchase a product from a mobile device, using an application such as Amazon, or
over a web app. A subcategory of mobile shopping is app commerce, which is a
transaction that takes place over a native app.
Mobile banking includes any handheld technology that enables customers to
conduct fanatical transactions. This is typically done through a secure, dedicated app
provided by the banking institution. Mobile payments enable users to buy products
in-person using a mobile device. Digital wallets, such as Apple Pay, allow a
customer to buy a product without needing to swipe a card or pay with physical
cash.
M-commerce examples and types
Three main categories (mobile shopping, mobile payments, and mobile
banking), the highest growth areas for m-commerce are:
In-app purchasing (such as buying clothing items via a retail app)
 Mobile banking
 Virtual marketplace apps like Amazon
 Digital wallets like Apple Pay, Android Pay, and Samsung Pay
 Mobile ticketing
How mobile commerce works
With most m-commerce enabled platforms, the mobile device is connected to
a wireless network that can be used to conduct online product purchases.

85
For those in charge of developing an m-commerce application, important
KPIs to monitor include the total mobile traffic, total amount of traffic on the
application, average order value and the value of orders over time. Similarly,
tracking the mobile add to cart rate will help developers see if users are becoming
customers. M-commerce developers may also be interested in logging average page
loading times, mobile cart conversion rates and SMS subscriptions.

3.13 MOBILE PAYMENT SYSTEMS


Mobile payment systems enable customers to purchase and pay for goods or
services via mobile phones. Here, each mobile phone is used as the personal
payment tool in connection with the remote sales. Payments can take place far away
from both the recipient and the bank.

86
Google Pay is one of the best payment apps for Android. Another reason to
choose Google Pay is that it also accepts Apple Pay.

3.14 J2ME
J2ME (Java 2 Platform, Micro Edition) is a technology that allows
programmers to use the Java programming language and related tools to develop

87
programs for mobile wireless information devices such as cellular phones and
personal digital assistants (PDAs).
New Features in the J2ME Wireless Toolkit 1.0. 4
Support for obfuscation in the build cycle.
 Method profiling.
 Memory monitoring.
 Network monitoring.
 Device speed emulation

J2ME program for registering a user using Text Field and after registration
show the message registration completed.
For programming wireless devices
Example : Mobile Phones
The Java API and Java Virtual Machine that is designed to operate within the
sparse resources available in the new breed the embedded computers and
microcomputers.
J2ME is a specification for a virtual machine and some accompanying tools for
resource-limited devices. J2ME specifically addresses those devices that have be-
88
tween 32 kB and 10 MB of memory. J2ME addresses the needs of two categories of
devices [Sun Micro J2ME Spec 2000]: 1. Personal, mobile, connected information
devices. This portion of J2ME is called CLDC for Connected, Limited Device
Configuration. These types of devices include cell phones, PDAs, and other small
consumer devices. CLDC addresses the needs of devices with 32 to 512 kB of
memory. The virtual machine for the CLDC is called KVM for K-Virtual Machine.
Shared, fixed, connected information devices. Internet-enabled appliances,
mobile computers installed in cars, and similar systems that have a total memory of
2to16MB and can have a high bandwidth and continuous connection to the network
are in this group. CDC, or Connected Device Configuration, is the part of J2ME that
addresses such devices. CDC is a superset of CLDC.
Let us look at both CDC and CLDC and how we can use them to develop
mobile applications.

CLDC and MIDP


J2ME components, and other parts of Java as a plat- form, stack up. Figure 2.3
shows the breakdown of the J2ME MID Profile stack. As we mentioned previously,
CLDC is mainly intended for devices that are resource-starved such as mobile
phones and PDAs. CLDC addresses the following features:
Providing a virtual machine for providing language features. Perhaps the
most important thing to keep in mind for those who have built applications using
the Java Virtual Machine on desktops and servers is that the J2ME/CLDC Virtual
Machine is not at all like the version that comes with J2SE.
To cut down on the required resources for running it, the KVM does not
provide many of the advanced features that the J2SE Virtual Machine does. The
KVM is based on the Spotless project, which started at Sun Labs. The KVM takes up
anywhere from 40 to 80 kB depending on the device. The KVM is written in C (as are
most other Java Virtual Machines). Some features not offered on the KVM are the
following:
Floating point arithmetic : Floating point operations are expensive or require
the chipset on the device to have specific implementations for them. Many of the
89
resource-starved mobile devices either do not have floating point specific features on
the chip set or do not expose them for use by applications software running on the
device.
Support for JNI: Java Native Interfaces (JNI) allow developers to write
applications that use C/C++ programming languages along with Java in providing
Java APIs to modules or applications not written in Java.
Thread grouping : Advanced threading features are not offered on the KVM
and CLDC. Multithreading requires a baseline amount of resources to be dedicated
to creating, maintaining, and destroying threads. Each thread takes up a certain
amount of resources by simply existing, even if it never does any actual work.
Because the KVM is intended for resource-starved devices, it is natural to assume
that doing lots of advanced multithreading is not something that makes much sense
on such devices.
Full-blown exception handling : Exception and error handling seems to be
one of the first places that platform providers trim when building frameworks and
tools for limited devices. Although this makes more work for the application
developer, it allows the framework and the applications to be linear.
Automatic garbage collection of unused objects : Though the KVM does offer
some of the memory management features of the J2SE Virtual Machine, it does not
offer finalization of objects. This means that you have to tell the KVM when you are
done with an object. The KVM is not capable of finalizing based on the scope of
methods, etc.
Weak references :An object is said to be weakly referenced if it is necessary to
traverse the object that refers to it to reach it. The J2SE Virtual Machine does not
allow finalization of an object until all weak and strong references to that object are
cleared. The KVM does not provide this functionality for weakly referenced objects.
The elimination of weak references and finalization in the KVM make programming
for the KVM more like writing C and C++ applications than writing a typical J2SE
application. Much of the automatic memory management benefits of Java are in its
ability to manage memory based on weak references and to automatically finalize.
These features have been eliminated to shrink the virtual machine.
90
Although they allow the applications to be faster, the static size of the
applications grow as memory management is more manual and there is a higher
probability for typical C/C++ memory management type bugs in the applications.
This is not to imply that there is no garbage collection. Indeed, there is a garbage
collector in the KVM.
However, the garbage collector has to be manually notified when to discard
objects.

The security sandbox of CLDC is provided by removing the ability to write


JNI code to access native functions on the device, providing a very limited set of
APIs (which we will look at next), taking away the ability to write custom
classloaders (there are no custom classloaders in CLDC), and a class file verification
process that assures that the files called to be executed are Java class files. The
verification of a class file is also different from its counterpart in J2SE.
CLDC class file verification is a two-step process that offloads some of the
task of verification from the device. The CLDC verifier needs about 10 kB to execute.
But, because of the offloading of some of the verification process from run-time, the
size of the class files is slightly larger (about 5%).
Providing a reasonable amount of functionality for input and output . Most
programs need a persistence mechanism. CLDC provides a very limited and yet
sufficient set of APIs to read and write to the nonvolatile memory provided by
devices. It should be noted that the persistence of data on the device is hardware
dependent.
91
Providing some internationalization capabilities . CLDC’s input/output (I/O)
package (see the next section)provides input and output stream readers that can
handle different character encoding schemes. This allows internationalization in two
ways:
Dynamic:
The program can determine the required character set dynamically and use
the proper character set at run time. Programmatically, this is the more elegant
option. However, it requires additional code to implement the rules for discovery of
the required character set. This approach works well for small applications where
the device resources are not taken to their limit.
Static:
There can be multiple versions of the J2ME application ready to be loaded
onto the device. Provisioning of the application can take care of the version of
software that is distributed to the application. Though this approach is less elegant,
both the amount of code downloaded by the device and the amount of logic
executed at run time can be reduced.
The flexibility of having different character sets for the same device is still
available as different versions of the application are available for download on the
network.
Providing a reasonable amount of networking capabilities . CLDC provides a
connection framework to provide basic networking capabilities. Profiles such as
MIDP build on top of this framework and can introduce more advanced networking
capabilities.
The security sandbox of CLDC is provided by removing the ability to write
JNI code to access native functions on the device, providing a very limited set of
APIs (which we will look at next), taking away the ability to write custom class
loaders (there are no custom class loaders in CLDC), and a class file verification
process that assures that the files called to be executed are Java class files. The
verification of a class file is also different from its counterpart in J2SE.
CLDC class file verification is a two-step process that offloads some of the
task of verification from the device. The CLDC verifier needs about 10 KB to execute.
92
But, because of the offloading of some of the verification process rom run-time, the
size of the class files is slightly larger (about 5%).
Providing a reasonable amount of functionality for input and output . Most
programs need a persistence mechanism. CLDC provides a very limited and yet
sufficient set of APIs to read and write to the nonvolatile memory provided by
devices. It should be noted that the persistence of data on the device is hardware
dependent.
Providing some internationalization capabilities . CLDC’s input/output (I/O)
package (see the next section)provides input and output stream readers that can
handle different character encoding schemes. This allows internationalization in two
ways:
Dynamic:
The program can determine the required character set dynamically and
use the proper character set at run time. Programmatically, this is the more elegant
option. However, it requires additional code to implement the rules for discovery of
the required character set. This approach works well for small applications where
the device resources are not taken to their limit.
Static:
There can be multiple versions of the J2ME application ready to be
loaded onto the device. Provisioning of the application can take care of the version of
software that is distributed to the application. Though this approach is less elegant,
both the amount of code downloaded by the device and the amount of logic
executed at run time can be reduced. The flexibility of having different character sets
for the same device is still available as different versions of the application are
available for download on the network.
Providing a reasonable amount of networking capabilities . CLDC provides a
connection framework to provide basic networking capabilities. Profiles such as
MIDP build on top of this framework and can introduce more advanced networking
capabilities.

93
UNIT-IV
4.1 ADHOC WIRELESS NETWORK
An ad hoc network is a temporary type of Local Area Network (LAN). If you
set up an ad hoc network permanently, it becomes a LAN. Multiple devices can use
an ad hoc network at the same time, but this might cause a lull in performance.
A typical example of an ad-hoc network is connecting two or more laptops (or
other supported devices) to each other directly without any central access point,
either wirelessly or using a cable. When to use an ad-hoc network: If you want to
quickly set up a peer-to-peer (P2P) network between two devices.

An ad hoc network is one that is spontaneously formed when devices connect


and communicate with each other. The term ad hoc is a Latin word that literally
means "for this," implying improvised or impromptu.
Ad hoc networks are mostly wireless local area networks (LANs). The devices
communicate with each other directly instead of relying on a base station or access
points as in wireless LANs for data transfer co-ordination. Each device participates
in routing activity, by determining the route using the routing algorithm and
forwarding data to other devices via this route.

94
Classifications of Ad Hoc Networks
Ad hoc networks can be classified into several types depending upon the
nature of their applications. The most prominent ad hoc networks that are
commonly incorporated are illustrated in the diagram below
1. Mobile ad hoc networks
This is a self-configuring, self-organising, wireless network of mobile devices.
2.Vchicular ad hoc networks
This is network formed by communication between moving vehicles and
other roadside devices.
3. Wireless mesh networks
The device connected to these networks forms a wireless mesh, depending
upon the mobility patterns, nature of devices and inter-device distance.
4. Smart phone ad hoc networks
These peer to peer networks
5.Wireless Sensor Networks
A wireless ad hoc network (WANET) is a type of local area network (LAN)
that is built spontaneously to enable two or more wireless devices to be connected to
each other without requiring typical network infrastructure equipment, such as a
wireless router or access point. When Wi-Fi networks are in ad hoc mode, each
device in the network forwards data that is not intended for itself to the other
devices.
95
Because the devices in the ad hoc network can access each other's resources
directly through a basic peer-to-peer (P2P) wireless connection, central servers are
unnecessary for functions such as file sharing or printing. In a WANET, a collection
of devices, or nodes, is responsible for network operations, such as routing, security,
addressing and key management.
Devices in the ad hoc network require a wireless network adapter or chip,
and they need to be able to act as a wireless router when connected. When setting up
a wireless ad hoc network, each wireless adapter must be configured for ad hoc
mode instead of infrastructure mode. All wireless adapters need to use the same
service set identifier (SSID) and wireless frequency channel number.
Instead of relying on a wireless base station to coordinate the flow of
messages to each node in the network, the individual nodes in ad hoc networks
forward packets to and from each other. Makeshift by nature, ad hoc wireless
networks are useful where there is not a wireless structure built -- for example, if
there aren't any access points or routers within range and cabling cannot be
extended to reach the location where additional wireless communication is needed.

However, not all Wi-Fi networks are the same. In fact, Wi-Fi access points
work in either ad hoc or infrastructure mode. Typically, Wi-Fi networks in
infrastructure mode are created and managed using equipment such as Wi-Fi
routers, wireless access points (WAPs) and wireless controllers.

96
Ad hoc networks are also often short-lived networks created by a laptop or
other device. The use of more sophisticated network protocols and network services
found on infrastructure-based wireless networks usually are not suitable for ad hoc
networks.
Deciding when to employ ad hoc versus infrastructure mode depends on the
use. A user who wants a wireless router to act as a permanent access point should
choose infrastructure mode. But ad hoc mode might be a good option for a user
setting up a temporary wireless network between a small number of devices.
Wireless networks usually use an infrastructure mode, where devices connect
to an access point, such as a router. These devices send data through the access
point, which sends it to other devices in the network.
In ad hoc network, node acts as a router to send and receive the data. An
advantage of the system is robustness, flexibility and mobility. Ad hoc network are
capable for analyzing radio propagation environment to optimize the performance.
The most common way our wireless devices are connected is through the
infrastructure method of wireless networking. This means our multiple devices are
all connected to a single access point, usually a wireless router, and communicate
with the network through the router directly.
All traffic must pass through to the router and travel back to the devices
separately, even if we are sending files from one local device to another. An ad-hoc
wireless network is different in the sense that there is no universal access point
needed and the nodes can freely communicate with each other directly. A node can
be described as any single device that can transfer and receive data to and from
other devices nearby. This method of networking can often be called 'peer to peer'
since we can share local files between nodes without an infrastructure connection.

Advantages
One of the main advantages of an ad-hoc network is the ability to file share
without having to rely on an active network connection. An ad-hoc network will
97
only be useful if the plan is to transfer files between multiple devices regularly.
Although many newer devices do not use or even allow ad-hoc mode, there are still
a few good reasons we might want to use it.
Since we can create ad-hoc networks in virtually any environment at any
given time, this makes them quite ideal for companies, for businesses, or for general
at-home usage for specific situations. Not needing extra hardware to set up an ad-
hoc network creates ease of use and can cut the cost of business in most cases as
well.
4.2 MAC PROTOCOL
MAC protocol is the first protocol layer above the Physical Layer in ad hoc .
The primary task of any MAC protocol is to control the access of the nodes to shared
medium.
The issues associated with the design of a MAC protocol for wireless ad hoc
networks are: node mobility; an error- prone, broadcast and shared channel; time-
synchronization; bandwidth efficiency; QoS support.
Medium Access Control (MAC) address is a hardware address use to
uniquely identify each node of a network. It provides addressing and channel access
control mechanisms to enable the several terminals or network nodes to
communicate in a specified network. Medium Access Control of data
communication protocol is also named as Media Access Control. In IEEE 802 OSI
Reference model of computer networking, the Data Link Control (DLC) layer is
subdivided into two sub-layers:
The Logical Link Control (LLC) layer and The Medium Access Control (MAC)
layer.
The MAC sublayer acts as a direct interface between the logical link control
(LLC) Ethernet sublayer and the physical layer of reference model. Consequently,
each different type of network medium requires a different MAC layer. On networks
that don’t conform they are part of IEEE 802 standards but they do conform that
they participate OSI Reference Model then the node address is named the Data Link
Control (DLC) address.

98
The MAC sublayer emulates a full-duplex logical communication channel in a
multipoint network system. These communication channels may provide unicast,
multicast and/or broadcast communication services.

MAC address is suitable when multiple devices are connected with same
physical link then to prevent from collisions system uniquely identify the devices
one another at the data link layer, by using the MAC addresses that are assigned to
all ports on a switch. The MAC sublayer uses MAC protocols to prevent collisions
and MAC protocols uses MAC algorithm that accepts as input a secret key and an
arbitrary-length message to be authenticated, and outputs a MAC address.
Functions performed in the MAC sublayer:
The primary functions performed by the MAC layer as per the IEEE Std 802-
2001 section 6.2.3 are as follows:
Frame delimiting and recognition: This function is responsible to creates and
recognizes frame boundaries.
Addressing: MAC sublayer performs the addressing of destination stations (both as
individual stations and as groups of stations) and conveyance of source-station
addressing information as well.
Transparent data transfer: It performs the data transparency over data
transfer of LLC, PDUs, or of equivalent information in the Ethernet sublayer.
Protection: MAC sublayer function is to protect the data against errors, generally by
means of generating and checking frame check sequences.
Access control: Control of access to the physical transmission medium form
unauthorized medium access.
The most commonly used of MAC sublayer for wired networks i.e. Carrier
Sense Multiple Access with Collision Detection (CSMA/CD). Through MAC
schema, a sender senses the medium (a wire or coaxial cable) before transmission of
data to check whether the medium is free or not. If MAC senses that the medium is
busy, the sender waits until it is free. When medium becomes free, the sender starts
transmitting of data and continues to listen into the medium. If any kind of collision
detected by sender while sending data, it stops at once and sends a jamming signal.
99
But this scheme doest work well with wireless networks. Some of the problems that
occur when it uses to transfer data through wireless networks are as follow;
Signal strength decreases proportional to the square of the distance The
sender would apply Carrier Sense (CS) and Collision Detection (CD), but the
collisions happen at the receiver It might be a case that a sender cannot “hear” the
collision, i.e., CD does not work Furthermore, CS might not work, if for e.g., the
terminals are “hidden”.

4.3 ROUTING PROTOCOLS


In Mobile Ad hoc Network (MANET), nodes do not know the topology of
their network, instead they have to discover it by their own as the topology in the
ad-hoc network is dynamic topology. The basic rules is that a new node whenever
enters into an ad-hoc network, must announce its arrival and presence and should
also listen to similar announcement broadcasts made by other mobile nodes.

100
1. Contention-based protocols without reservation/scheduling –
 Sender-initiated protocols:
The transmission of packets are initiated by the sender node.
 Single-channel sender initiated. For example, MACAW, FAMA.
 Multiple-channel sender initiated protocols. For example, BTMA,
DBTMA, ICSMA.
 Receiver-initiated protocols:
The connection is initiated by the receiver node. For example, RI-BTMA,
MACA-BI, MARCH.
2. Contention-based protocols with reservation mechanisms –
 Synchronous protocols:
All node are kept synchronized. For example, D-PRMA, CATA, HRMA,
SRMA/PA, FPRP.
 Asynchronous protocols:
Relative time information is used to achieve effecting reservations. For example,
MACA/PR, RTMAC..

101
Contention-based protocols with scheduling mechanisms –
All the nodes are treated equally and no node is get deprived of bandwidth. For
example, Eg. DPS, DWOP, DLPS.
Other protocols –
These MAC protocols do not strictly fall into any above category. For
example, MMAC, MCSMA, PCM, RBAR.

4.4 TRANSPORT LAYER PROTOCOL


The transport layer is represented by two protocols: TCP and UDP.
The IP protocol in the network layer delivers a datagram from a source host
to the destination host. The operating system supports multiuser and
multiprocessing environments, an executing program is called a process.
When a host sends a message to other host means that source process is
sending a process to a destination process. The transport layer protocols define some
connections to individual ports known as protocol ports.
An IP protocol is a host-to-host protocol used to deliver a packet from source
host to the destination host while transport layer protocols are port-to-port protocols
that work on the top of the IP protocols to deliver the packet from the originating
port to the IP services, and from IP services to the destination port. Each port is
defined by a positive integer address, and it is of 16 bits.

102
UDP
UDP stands for User Datagram Protocol. UDP is a simple protocol and it
provides nonsequenced transport functionality. UDP is a connectionless protocol.
This type of protocol is used when reliability and security are less important than
speed and size.
UDP is an end-to-end transport level protocol that adds transport-level
addresses, checksum error control, and length information to the data from the
upper layer. The packet produced by the UDP protocol is known as a user datagram.

User Datagram Format


The user datagram has a 16-byte header which is shown below:

Where,
Source port address: It defines the address of the application process that has
delivered a message. The source port address is of 16 bits address. Destination port
address: It defines the address of the application process that will receive the
message.
The destination port address is of a 16-bit address. Total length: It defines the
total length of the user datagram in bytes. It is a 16-bit field.
Checksum: The checksum is a 16-bit field which is used in error detection.
TCP
TCP stands for Transmission Control Protocol. It provides full transport layer
services to applications. It is a connection-oriented protocol means the connection
established between both the ends of the transmission. For creating the connection,

103
TCP generates a virtual circuit between sender and receiver for the duration of a
transmission.
Features Of TCP protocol
Stream data transfer: TCP protocol transfers the data in the form of
contiguous stream of bytes. TCP group the bytes in the form of TCP segments and
then passed it to the IP layer for transmission to the destination. TCP itself segments
the data and forward to the IP.
Reliability:
TCP assigns a sequence number to each byte transmitted and expects a
positive acknowledgement from the receiving TCP. If ACK is not received within a
timeout interval, then the data is retransmitted to the destination.
The receiving TCP uses the sequence number to reassemble the segments if
they arrive out of order or to eliminate the duplicate segments.
Flow Control:
When receiving TCP sends an acknowledgement back to the sender
indicating the number the bytes it can receive without overflowing its internal
buffer. The number of bytes is sent in ACK in the form of the highest sequence
number that it can receive without any problem. This mechanism is also referred to
as a window mechanism.
Multiplexing:
Multiplexing is a process of accepting the data from different applications
and forwarding to the different applications on different computers. At the receiving
end, the data is forwarded to the correct application. This process is known as
demultiplexing. TCP transmits the packet to the correct application by using the
logical channels known as ports.
Logical Connections:
The combination of sockets, sequence numbers, and window sizes, is called a
logical connection. Each connection is identified by the pair of sockets used by
sending and receiving processes.

Full Duplex:
104
TCP provides Full Duplex service, i.e., the data flow in both the directions at
the same time. To achieve Full Duplex service, each TCP should have sending and
receiving buffers so that the segments can flow in both the directions. TCP is a
connection-oriented protocol. Suppose the process A wants to send and receive the
data from process B. The following steps occur:
 Establish a connection between two TCPs.
 Data is exchanged in both the directions.
 The Connection is terminated.
TCP Segment

Where,
Source port address: It is used to define the address of the application
program in a source computer. It is a 16-bit field. Destination port address: It is used
to define the address of the application program in a destination computer. It is a 16-
bit field.
Sequence number: A stream of data is divided into two or more TCP
segments. The 32-bit sequence number field represents the position of the data in an
original data stream.
Acknowledgement number: A 32-field acknowledgement number
acknowledge the data from other communicating devices. If ACK field is set to 1,
then it specifies the sequence number that the receiver is expecting to receive.

105
Header Length (HLEN): It specifies the size of the TCP header in 32-bit
words. The minimum size of the header is 5 words, and the maximum size of the
header is 15 words. Therefore, the maximum size of the TCP header is 60 bytes, and
the minimum size of the TCP header is 20 bytes.
Reserved:
It is a six-bit field which is reserved for future use.
Control bits:
Each bit of a control field functions individually and independently. A
control bit defines the use of a segment or serves as a validity check for other fields.
There are total six types of flags in control field:
URG:
The URG field indicates that the data in a segment is urgent.
ACK:
When ACK field is set, then it validates the acknowledgement number.
PSH: The PSH field is used to inform the sender that higher throughput is needed so
if possible, data must be pushed with higher throughput.
RST:
The reset bit is used to reset the TCP connection when there is any confusion
occurs in the sequence numbers.
SYN:
The SYN field is used to synchronize the sequence numbers in three types of
segments: connection request, connection confirmation ( with the ACK bit set ), and
confirmation acknowledgement.
FIN:
The FIN field is used to inform the receiving TCP module that the sender has
finished sending data. It is used in connection termination in three types of
segments: termination request, termination confirmation, and acknowledgement of
termination confirmation.
Window Size:
The window is a 16-bit field that defines the size of the window.
Checksum:
106
The checksum is a 16-bit field used in error detection.
Urgent pointer:
If URG flag is set to 1, then this 16-bit field is an offset from the sequence
number indicating that it is a last urgent data byte.
Options and padding:
It defines the optional fields that convey the additional information to the
receiver.

4.5 QoS
Quality of service (QoS) is the use of mechanisms or technologies that work
on a network to control traffic and ensure the performance of critical applications
with limited network capacity. It enables organizations to adjust their overall
network traffic by prioritizing specific high-performance applications.
QoS is typically applied to networks that carry traffic for resource-intensive
systems. Common services for which it is required include internet protocol
television (IPTV), online gaming, streaming media, videoconferencing, video on
demand (VOD), and Voice over IP (VoIP).
Using QoS in networking, organizations have the ability to optimize the
performance of multiple applications on their network and gain visibility into the bit
rate, delay, jitter, and packet rate of their network. This ensures they can engineer
the traffic on their network and change the way that packets are routed to the
internet or other networks to avoid transmission delay. This also ensures that the
organization achieves the expected service quality for applications and delivers
expected user experiences.
As per the QoS meaning, the key goal is to enable networks and organizations
to prioritize traffic, which includes offering dedicated bandwidth, controlled jitter,
and lower latency. The technologies used to ensure this are vital to enhancing the
performance of business applications, wide-area networks (WANs), and service
provider networks.
QoS: A set of service reqirements that are met by the network while
transferring a packet stream from a source to a destination.
107
QoS metrics could be defined in terms of one or a set of parameters
Example : delay, bandwith,packet,elay-jitter etc.

4.6 ENERGY MANAGEMENT


Energy management is the process of tracking and optimizing energy
consumption to conserve usage in a building. There are few steps for the process of
energy management: Collecting and analyzing continuous data. Identify
optimizations in equipment schedules, set points and flow rates to improve energy
efficiency.
Adhoc wireless networks are constrained by limited battery power, which
makes energy management an important issue. Adhoc Networks are more
perceptive to these issues where each mobile device is act like a router and
consequently, routing delay adds considerably to overall end-to-end delay.
 Battery Management:
 Transmit Power Management:
 System Power Management
Battery Management
Key Fact: Batteries recover their charge when idle.Use some batteries and
leave others to idle/recover.

Task scheduling:
1. Round-robin batteries
2. Divide batteries in High-charge and low-charge
class. Select one from high-charge using round-robin
Goal:
Increase the lifetime of the network
Shaping: If battery charge becomes below threshold, stop next transmission allowing
battery to recover.
Battery Energy Efficient (BEE) Routing Protocol:
Minimize energy and use max battery charge

108
Transmit Power Management
More transmit power  Longer reach but lower battery life
Datalink:
1. Dynamic Power Adjustment: Use the min power required for the next hop
2. Distributed Topology Control: Find power required and direction of neighbors.
Remove neighbors that have two-hop paths with less power than direct transmission
3. Distributed Power Control Loop: Find the minimum power required for
successful RTS/CTS, Data/Ack
4. Centralized Topology Control: The power of each node is reduced until it has
single connectivity, i.e., there is one path between each pair of nodes or bi-
connectivity, i.e, there are 2 disjoint paths between each pair of node.

System Power Management


Put system/components to sleep whenever possible.
4.7 APPLICATION DESIGN
Mobile Computing refers a technology that allows transmission of data, voice
and video via a computer or any other wireless enabled device.
Applications of Mobile Computing
 Web or Internet access.
 Global Position System (GPS).
 Emergency services.
 Entertainment services.
 Educational services.

109
The design concepts include user interface visual elements, principles,
accessibility and usability. Students gain production experience and skills
implementing mobile industry-standard graphics and design tools, which help them
create effective interfaces for mobile-first web and mobile applications.
Enable the business initiatives by supporting mobility of
 customers
 suppliers and business
 Employees
Mobile computing applications
wireless message (Ex. SMS)
Mobile ebusiness applications
Specialized applications
 location sensitive apps
 wireless sensor network apps
 mobile agent apps
Emergency services
 Stock Broker
 Vehicles
 For Estate Agents
 In courts
 In companies
 Stock Information Collection/Control
 Credit Card Verification
 Taxi/Truck Dispatch
 Electronic Mail/Paging
4.8 WORK FLOW

110
Mobile computers can be used in multiple ways. Here are three examples of
how mobile computers can improve your manufacturing processes:

1. Faster Data Entry


Data entry can be a quick one-step process when mobile computers are paired
with barcode and RFID scanners. These mobile technologies speed up the manual
processes that would otherwise take unnecessary time out of your employees’
schedule.
For example, entering the details of each item is a waste of time. Scanning the
same information with mobile computers takes a fraction of the time and allows you
to optimize your labor for more value-adding activities.
The results for your business are evident. You can greatly improve workflow
efficiency and cut down on task completion time.
2. Advanced Tracking
You can improve your company’s supply chain visibility by using mobile
technology alongside inventory management software. This way, you can view up-
to-date information on inventory databases to thoroughly assess your
manufacturing needs. A clear inventory of where products and components stand

111
throughout the production process is essential to maintain the efficiency of your
manufacturing workflow.
Mobile computers ensure that every piece of the production process has full
visibility and traceability. For example, mobile computers featuring barcode
scanners or wireless radio frequency identification (RFID) tag readers can accurately
keep track of the status of materials, items, and products found across the wide array
of part bins and assembly lines.
In addition to the above, mobile technology can also provide you with details
of each inbound and outbound order. Mobile computers can be used to display
detailed information, such as the location of packages and the estimated arrival time.
Mobile technology can also help the shipping department to verify the order and
print bills laden with all the customer shipping information.
3. Order Picking
Human errors due to inefficient order picking can lead to significant
inventory problems, wasted labor, and additional manual work needed to solve the
issue.
When mobile computers are incorporated in a manufacturing setting, order
picking issues can be resolved by requiring items to be scanned. Rather than
allowing workers to take products away from where they’re stored, a handheld
mobile computer with a built-in barcode scanner can ensure that each item is traced
and accounted for as it makes its way to the next destination.
This simple implementation means that more items get picked correctly.
Inventory problems are reduced, as it is the need to physically count items when
issues arise.
Mobile computers can also be deployed to help all employees follow highly
efficient workflows. From a manufacturer’s perspective, this is one of the main
ingredients of a recipe to grow your business operations.
Mobile computers also play a major role in validating shipping. After
scanning an item, a mobile computer can communicate with a wireless label printer
to create a shipping label in a fully automated process. Scanning labels can also

112
update backend inventory management systems for accurate inventory tracking and
detailed analytics.

4.9 COMPOSING APPLICATIONS


The rapid penetration of the mobile phones among all classes of people have
set a new trend for businesses. For every computing application, in parallel a mobile
app is also developed. A website for desktops invariably creates the need for a
mobile site. Now that many people access the net through mobile, websites have
gone into vertical scrolling mode instead of the horizontal mode.
The mobile applications are mostly watered down versions of web
applications and computer applications.
Mobile OPS
An operating system (OS)for computers such as Windows, Unix Linux, smart
phones also are run by an operating system. Popular ones are Android, iOS,
Blackberry, Windows,RIM among others. Majority stake in the market is held by
Android followed by iOS. The operating system enables menu driven applications
and programs that are user friendly.

4.10 DYNAMIC LINKING


Dynamic links are smart URLs which allow us to send existing and potential
users to any location within our Android and iOS app.
Dynamic linking, often implemented with dynamically linked libraries (DLL),
is a common way to partition applications and subsystems into smaller portions,
which can be compiled, tested, reused, managed, deployed, and installed separately.

113
Key benefits of Dynamic Links
There are the following benefits of Dynamic Links:
It is helpful in the conversion of web users to native app users. It increases the
conversion of user-to-user sharing. It drives more installs with email, social, and
SMS marketing campaigns. It also helps to turn desktop users into mobile app users.
Use cases
The use cases are some of the ways through which we can increase
development or growth and engagement by using dynamic links in our app. These
cases are as follows:
1. Converting web users to the app user
If a mobile web user installs our app by opening an app install link without a
dynamic link, then they have to navigate again to where they were. With the help of
dynamic links, we can make sure that after web users install our app, they can
continue where they left off.
2. User-to-user sharing
Make it easy for our users to share our app's content with their friends. There
is no need to worry about the platform, or either their friends already use our app or
not.

114
3. Email, social, and SMS campaigns
Sending promotional offers using links which work on any platform. Current
and future users can redeem our offer; either they use iOS, Android, or web
browsers, or not and either they already install our app or not.
4. Real-world app promotion
We use Eddystone beacons and QR codes, which encode a Dynamic Link in
our physical displays to promote our app at venues and events.
5. Converting desktop users to app users
Dynamic links are generated when web users bookmark a page or send
themselves a link. If they open the link on a different device, they can get the best
experience for the device.
When one program is dependent on some other program. In such a case,
rather than loading all the dependent programs, CPU links the dependent programs
to the main executing program when its required. This mechanism is known as
Dynamic Linking.
Dynamic linking refers to the linking that is done during load or run-time and
not when the exe is created.
In case of dynamic linking the linker while creating the exe does minimal
work.For the dynamic linker to work it actually has to load the libraries too.Hence
it's also called linking loader.

4.11 INTENTS AND SERVICES


Allow us to use application and components that are already part of Android
System.
Examples of Google application
An Intent is a messaging object you can use to request an action from another
app component. Although intents facilitate communication between components in
several ways, there are three fundamental use cases:
Starting an activity

115
An Activity represents a single screen in an app. You can start a new instance
of an Activity by passing an Intent to startActivity(). The Intent describes the activity
to start and carries any necessary data.
If you want to receive a result from the activity when it finishes, call
startActivityForResult(). Your activity receives the result as a separate Intent object
in your activity's onActivityResult() callback. For more information, see the
Activities guide.

Starting a service
A Service is a component that performs operations in the background without
a user interface. With Android 5.0 (API level 21) and later, you can start a service
with JobScheduler. For more information about Job Scheduler, see its API-reference
documentation.
For versions earlier than Android 5.0 (API level 21), you can start a service by
using methods of the Service class. You can start a service to perform a one-time
operation (such as downloading a file) by passing an Intent to startService(). The
Intent describes the service to start and carries any necessary data.

If the service is designed with a client-server interface, you can bind to the
service from another component by passing an Intent to bindService(). For more
information, see the Services guide.

INTENT TYPES

116
There are two types of intents:
Explicit intents specify which application will satisfy the intent, by supplying
either the target app's package name or a fully-qualified component class name.
You'll typically use an explicit intent to start a component in your own app, because
you know the class name of the activity or service you want to start. For example,
you might start a new activity within your app in response to a user action, or start a
service to download a file in the background.
Implicit intents do not name a specific component, but instead declare a
general action to perform, which allows a component from another app to handle it.
For example, if you want to show the user a location on a map, you can use an
implicit intent to request that another capable app show a specified location on a
map.
Intent element Description
Fully qualified String indicating the action (for
Action
example, android.intent.action.DIAL)
Describes where and how the Intent can be
Category used, such as from the main Android menu or
from the browser
Spec ifies an explicit package and class to use
for the Intent, instead of inferring from action,
Component
type, and categories

Data to work with, expressed as a URI (for


Data example, content://contacts/1)

Extra data to pass to the Intent in the form of a


Extras
Bundle
Specifies an explicit MIME type, such as
Type
text/plain or vnd.android.cursor.item/email_v2

4.12 COMMUNICATION VIA THE WEB.


Type Mobile Communication is the use of technology that allows us to
communicate with others in different locations without the use of any physical

117
connection (wires or cables). Mobile communication makes our life easier, and it
saves time and effort.

The internet provides many effective communication tools, including e-mail,


mailing lists, discussion groups, chat services, web conferencing, blogs, and RSS
feeds. In recent years, social networking sites such as Facebook and Twitter have
also joined the mix.
Email
Electronic mail or email is one of the key parts of e-revolution which is specially
designed for communication purpose. Once you have an email account, you can
start sending electronic messages to anyone if you have the recipient’s email
address. The format of an email address is "username, @ symbol, domain name
(yahoo.com, gmail.com, etc.)". For example: name@yahoo.com.

INTERNET RELAY CHAT (IRC)


IRC is a form of real-time internet chat or synchronous conferencing. It is
mainly used for group communication in discussion forums called channels, also
allows one-to-one communication via private message, and both chats and data
transfers via Direct Client-to-Client protocol.
IRC client software is available for every operating system.

Video Conference
118
A video conference is a telecommunication technology, which permits two or
more people in different locations to interact via mutual video or audio transmission
simultaneously. It is also called visual collaboration and is a type of groupware.
Video conferencing uses telecommunication technology to bring people at different
sites together for a meeting/conversation. This can be as simple as a conversation
between two people in private offices, or involves several sites with more than two
people. It can also be used to share documents, computer displayed information,
whiteboards, etc.

Voice Over Telephony (VOIP)


VOIP stands for voice over IP, where IP refers to the Internet Protocol which
is a base for all internet communications. This phenomenon began as an optional
mutual voice extension to some of the instant messaging systems that took off
around the year 2000. In recent years, VOIP systems are easy to use and as
convenient as a traditional telephone. Voice quality can still differ from call to call
but is often equal to and can even beat the traditional calls.

File Sharing
A file or document can be e-mailed to anyone as an attachment. It can be
uploaded to a website or FTP server, for users to download content easily.
It can be put into a shared location or onto a cloud for instant use by
colleagues.
File Transfer Protocol

119
File Transfer Protocol is a network protocol which is used to transfer data
from one computer to another over any TCP/IP based network. It helps to
manipulate files on another computer regardless of the operating system involved.
Telnet
TELNET means Telecommunication Networks. It is a network protocol used
on the internet or LAN connections. It helps to provide text oriented mutual
communication using virtual terminal connection.
Newsgroups
A forum on the Usenet service for the discussion of a particular topic.
Newsreader software is used to read newsgroups.

UNIT-V
5.1 SECURITY AND HACKING
An Attack Vector is a method or technique that a hacker uses to gain access to
another computing device or network in order to inject a “bad code” often called
payload. This vector helps hackers to exploit system vulnerabilities.
Many of these attack vectors take advantage of the human element as it is the
weakest point of this system. Following is the schematic representation of the attack
vectors process which can be many at the same time used by a hacker.

120
Some of the mobile attack vectors are

Malware
 Virus and Rootkit
 Application modification
 OS modification

Data Exfiltration
 Data leaves the organization
 Print screen
 Copy to USB and backup loss
Data Tampering
 Modification by another application
 Undetected tamper attempts
 Jail-broken devices

Data Loss
 Device loss
 Unauthorized device access
 Application vulnerabilities

121
Infecting the device
Infecting the device with mobile spyware is performed differently for
Android and iOS devices.
Android − Users are tricked to download an app from the market or from a
third-party application generally by using social engineering attack. Remote
infection can also be performed through a Man-in-the-Middle (MitM) attack, where
an active adversary intercepts the user’s mobile communications to inject the
malware.
iOS − iOS infection requires physical access to the mobile. Infecting the device
can also be through exploiting a zero-day such as the JailbreakME exploit.
Installing a backdoor
To install a backdoor requires administrator privileges by rooting Android
devices and jailbreaking Apple devices. Despite device manufacturers placing
rooting/jailbreaking detection mechanisms, mobile spyware easily bypasses them
Android − Rooting detection mechanisms do not apply to intentional rooting.
iOS − The jailbreaking “community” is vociferous and motivated.

122
A security hacker is someone who explores methods for breaching defenses
and exploiting weaknesses in a computer system or network. Hackers may be
motivated by a multitude of reasons, such as profit, protest, information gathering,
challenge, recreation, or evaluation of a system weaknesses to assist in formulating
defenses against potential hackers. The subculture that has evolved around hackers
is often referred to as the "computer underground".
A commonly used hacking definition is the act of compromising digital
devices and networks through unauthorized access to an account or computer
system. Hacking is not always a malicious act, but it is most commonly associated
with illegal activity and data theft by cyber criminals.
Hacking refers to the misuse of devices like computers, smartphones, tablets,
and networks to cause damage to or corrupt systems, gather information on users,
steal data and documents, or disrupt data-related activity.
A traditional view of hackers is a lone rogue programmer who is highly
skilled in coding and modifying computer software and hardware systems. But this
narrow view does not cover the true technical nature of hacking. Hackers are
increasingly growing in sophistication, using stealthy attack methods designed to go
completely unnoticed by cyber security software and IT teams. They are also highly
skilled in creating attack vectors that trick users into opening malicious attachments
or links and freely giving up their sensitive personal data.
Types of Hacking/Hackers
There are typically four key drivers that lead to bad actors hacking websites
or systems:
Financial gain through the theft of credit card details or by defrauding
financial services,
Corporate espionage,
To gain notoriety or respect for their hacking talents State-sponsored hacking
that aims to steal business information and national intelligence.
A few of the most common types of hackers that carry out these activities
involve:
Black Hat Hackers
123
Black hat hackers are the "bad guys" of the hacking scene. They go out of their
way to discover vulnerabilities in computer systems and software to exploit them for
financial gain or for more malicious purposes, such as to gain reputation, carry out
corporate espionage, or as part of a nation-state hacking campaign.
These individuals’ actions can inflict serious damage on both computer users
and the organizations they work for. They can steal sensitive personal information,
compromise computer and financial systems, and alter or take down the
functionality of websites and critical networks.
White Hat Hackers
White hat hackers can be seen as the “good guys” who attempt to prevent the
success of black hat hackers through proactive hacking. They use their technical
skills to break into systems to assess and test the level of network security, also
known as ethical hacking. This helps expose vulnerabilities in systems before black
hat hackers can detect and exploit them.
The techniques white hat hackers use are similar to or even identical to those
of black hat hackers, but these individuals are hired by organizations to test and
discover potential holes in their security defenses.
Grey Hat Hackers
Grey hat hackers sit somewhere between the good and the bad guys. Unlike
black hat hackers, they attempt to violate standards and principles but without
intending to do harm or gain financially. Their actions are typically carried out for
the common good.

5.2 PASSWORD SECURITY


Password security is the combination of policies, processes, and technologies
that make passwords and authentication methods more secure. It's all about
knowing how to protect passwords. A password itself is a type of memorized secret
authenticator.
Passwords provide the first line of defense against unauthorized access to
your computer and personal information. The stronger your password, the more

124
protected your computer will be from hackers and malicious software. You should
maintain strong passwords for all accounts on your computer.
PASSWORD - Personal Access Security Service Without Regular Decloser

PASSWORD PROTECT YOUR MOBILE DEVICES


Mobile devices should be encrypted with password protection and have auto-
lockout enabled to insure that data stored on the device is not available to others if
the device is lost or stolen. There are other options and they vary from device. Using
a numeric PIN or drawing a PATTERN.
Passcode Protect your Apple Device
Passcode protection enhances the hardware encryption built into your Apple
device by requiring you to type your passcode. A passcode provides another layer of
protection for your email messages and attachments on your mobile device.
Tap the Settings icon.
 Tap General from the list of settings on the left.
 Tap Passcode Lock
 On the right-hand side tap Turn Passcodes On.
 The next screen will ask you to reenter your passcode again.
 Tap Require Passcode. Choose a delay time before your passcode is required.
If you choose anything other than Immediately, someone else can use your
iPad for that delayed period of time, before being required to enter the
passcode.
With these settings, your Data Protection is enabled.
What if you forget your Passcode?
Your device would not be secure if there were a quick way to get around the
passcode. You must connect your mobile device to your Mac or PC and use iTunes
to restore it. Click here for instructions.
For additional security, automatically lock your Apple Device when the
device is not in use. Auto-Lock is located directly above passcode lock on General

125
Settings. Set your device to automatically lock at 2, 5, 10, or 15 minutes. You can also
manually lock your device by pressing the Wake/Sleep button on the top corner.

Find My Apple Device


If one of your Apple devices (iPhone, iPod, or iPad) is lost or stolen, it's not
necessarily gone for good, if you set up Find My iPad on your device. It not only
uses the GPS to locate it on a map, it also allows you the owner to remotely lock,
contact or delete all data from the device.
To start, you'll need an iCloud account. Most users will setup an iCloud
account using the same username and password as their iTunes account.
 Tap the Settings app.
 Tap Your Name
 Tap iCloud
 Tap Account and sign in. You may be prompted to merge your Safari settings
with iCloud, select merge or don’t merge, it all depends on how important are
your Safari settings.
 Open a browser and go to: https://www.icloud.com
 Log into your iCloud account.
 Click on the Find My iPhone icon.
 A map will appear. Click the Devices button in the upper left-hand corner,
select the missing device.

 The screen map will show the mobile device location.


 When you clicked on the device button (step 4) another box appeared with
three more options.
Play sound: does just that.
Lost Mode: allows you to enter a phone number and text message that will be
displayed on the device.
Erase data: After a few unsuccessful attempts to locate the device, allows you to
erase the data.

126
Screen Lock on your Android Device
A screen lock provides another layer of protection for your email messages
and attachments. These istructions will cover your Android Phone and tablet
devices.
Navigate to the Settings option on your device.
 Select Location and Security, Lock screen, Personal, or Screen Lock.
 Select Set Screen Lock.
 ITS recommends selecting Password for the best security. The Password
feature lets you create a strong password as it requires 4 or more letters and
numbers. But you can set a Patternn or PIN number as well.
 Follow the prompts to enter your desired password, pin or pattern.
 Lost or Stolen Android Device
 Portable devices can be lost, stolen or misplaced, so it's a good idea to plan
ahead. There are some free apps to help you track it down.
 Where's My Droid
 Contact Owner
 Lookout Security & Antivirus
 Android Lost

5.3 NETWORK SECURITY


Network security is a set of technologies that protects the usability and
integrity of a company's infrastructure by preventing the entry or proliferation
within a network of a wide variety of potential threats.
Mobile security is the protection of smartphones, tablets, laptops and other
portable computing devices, and the networks they connect to, from threats and
vulnerabilities associated with wireless computing.

127
Three types of network security components can be called upon hardware,
software, and cloud security components.
Hardware appliances are servers or devices that perform certain security
functions within the networking environment.
Network security is a combination of steps that prevent unauthorized. Once a
network is secured, the users and the devices connected can work without
experiencing data breaches. In a well secured network, however, some restrictions
may be implemented.

PRIVACY
Mobile and Wireless Network Security and Privacy analyzes important
security and privacy problems in the realms of wireless networks and mobile
computing.

MESSAGE INTEGRITY
Message integrity means that a message has not been tampered with or
altered. The most common approach is to use a hash function that combines all the
bytes in the message with a secret key and produces a message digest that is difficult
to reverse.

128
AUTHENTICATION
Mobile authentication is the verification of a user's identity through the use a
mobile device and one or more authentication methods for secure access.
Authentication is the process of determining whether someone or something
is, in fact, who or what it says it is. Authentication technology provides access
control for systems by checking to see if a user's credentials match the credentials in
a database of authorized users or in a data authentication server.
Authentication factors can be classified into three groups: something you
know: a password or personal identification number (PIN); something you have: a
token, such as bank card; something you are: biometrics, such as fingerprints and
voice recognition.

NON-REPUDIATION
Non-repudiation is the assurance that someone cannot deny the validity of
something. Non-repudiation is a legal concept that is widely used in information
security and refers to a service, which provides proof of the origin of data and the
integrity of the data.
Non-repudiation provides proof of the origin, authenticity and integrity of
data. It provides assurance to the sender that its message was delivered, as well as

129
proof of the sender's identity to the recipient. This way, neither party can deny that a
message was sent, received and processed.

5.4 WEB SECURITY


Web security refers to protecting networks and computer systems from
damage to or the theft of software, hardware, or data. It includes protecting
computer systems from misdirecting or disrupting the services they are designed to
provide.
Web security is synonymous with cyber security and also covers website
security, which involves protecting websites from attacks. It includes cloud security
and web application security, which defend cloud services and web-based
applications, respectively. Protection of a virtual private network (VPN) also falls
under the web security umbrella.
Web security is crucial to the smooth operation of any business that uses
computers. If a website is hacked or hackers are able to manipulate your systems or
software, your website and even your entire network can be brought down, halting
business operations
Mobile computing provides a variety of wireless devices that has the mobility
to allow people to connect to the internet. It provides wireless transmission to access
data and information from the locations they are stored.
There are mainly three aspects of Mobile computing
Mobile communication:
This aspect specifies the communication issues in ad-hoc, infrastructure
networks, communication properties, protocols, data formats and concrete
technologies.
Mobile hardware:
This aspect specifies the mobile devices or device components that are used
in mobile computing.
Mobile software:
This aspect specifies all the necessary files and software related to the
computer used in mobile computing.
130
The threats and security issues of mobile computing can be divided into two
categories:
 The security issues that are related to the transmission of information over
wireless networks.
 The security issues and threats that are related to information and data
residing on mobile devices.

Web security is a broad category of security solutions that protect your users,
devices, and wider network against internet-based cyber attacks-malware, phishing,
and more that can lead to breaches and data loss. Three goals of cyber security,
which are
 Confidentiality
 Integrity
 Availability of data and the network.
5.5 DATABASE SECURITY
Database security refers to the various measures organizations take to ensure
their databases are protected from internal and external threats. Database security
includes protecting the database itself, the data it contains, its database management
system, and the various applications that access it.
131
A mobile database is said to be a database that can be related to by a mobile
computing device over a mobile network .The client and server include wireless
connections. A cache is maintained to hold recurrent information and transactions so
that they are not lost due to connection failure.

A database is a structured manner to organize data. This can be a list of


contacts, price data or distance travelled. The application of laptops, mobiles and
PDAs is increasing and possible to augment in the future with successively more
applications locating in the mobile systems.
Some applications like databases would require the ability to download data
from an information storehouse and function on this information even when out of
range or removed.
With the appearance of mobile databases, users can load up their smart
phones or PDAs with mobile databases to substitute mission-critical information
distantly without distressing concerning time or distance. Mobile databases enable
employees to enter information on the fly. Information can be harmonized with a
server database.
Database security is also an ability within the wider discipline of computer
security. For some businesses applications are going mobile that imply using

132
enterprise data in mobile context, thus using a mobile DBMS. With these new
improvement the business data of an enterprise can be create obtainable to an even
higher number of users and a wider range of applications than before.
The confidentiality of mission-critical information should be assured,
although some mobile devices do not provide a secure surroundings for storage of
such data. Security needs that use to a central company database should use
identically and in a proper manner to the elements of the database replicated on
mobile devices in the field.
A mobile database security infrastructure is needed to fulfill this objective.
When producing such an infrastructure, it can advantage from the consequences of
traditional database security work. But it can also need to adapt the recent
techniques and approaches to the mobile context, and it is require to create new ones
that attack some issues specific to use of database systems in mobile environment.
The need of databases in new businesses and governmental institutions is
huge and mounting. Some mission-critical applications and business processes
based on databases. These databases insert data of multiple amount of significance
and discretion, and are used by a multiple users.
Integrity violations for a database can have a serious impact on the business
phase; the revelation of confidential information in some cases has the same effect.
Traditional database security provides techniques and approaches to handle such
problems concerning database servers in a non-mobile context.

5.6 WIRELESS SENSOR NETWORK


Wireless Sensor Network (WSN) is an infrastructure-less wireless network
that is deployed in a large number of wireless sensors in an ad-hoc manner that is
used to monitor the system, physical or environmental conditions.

Sensor nodes are used in WSN with the onboard processor that manages and
monitors the environment in a particular area. They are connected to the Base
Station which acts as a processing unit in the WSN System.
Base Station in a WSN System is connected through the Internet to share data.
133
WSN can be used for processing, analysis, storage, and mining of the data.

Applications of WSN:
 Internet of Things (IOT)
 Surveillance and Monitoring for security, threat detection
 Environmental temperature, humidity, and air pressure
 Noise Level of the surrounding
 Medical applications like patient monitoring
 Agriculture
 Landslide Detection
Challenges of WSN:
 Quality of Service
 Security Issue
 Energy Efficiency
 Network Throughput
 Performance
 Ability to cope with node failure
 Cross layer optimisation
 Scalability to large scale of deployment
Components of WSN:
134
Sensors:
Sensors in WSN are used to capture the environmental variables and which is
used for data acquisition. Sensor signals are converted into electrical signals.
Radio Nodes:
It is used to receive the data produced by the Sensors and sends it to the
WLAN access point. It consists of a microcontroller, transceiver, external memory,
and power source.
WLAN Access Point:
It receives the data which is sent by the Radio nodes wirelessly, generally
through the internet.
Evaluation Software:
The data received by the WLAN Access Point is processed by a software
called as Evaluation Software for presenting the report to the users for further
processing of the data which can be used for processing, analysis, storage, and
mining of the data.
5.7 ARCHITECTURE AND DESIGN
Mobile computing architecture refers to the definition of multiple layers
between user application interfaces, devices, and network hardware. A well-defined
architecture is necessary for systematic calculations and access to data and software
objects.
Mobile computing usually implies wireless transmission but, wireless
transmission does not imply mobile computing. Mobile computing follows some of
the attributes. List of attributes are mentioned in this earlier post. Attributes of
Mobile Computing.

3-Tier Architecture of Mobile computing


A 3-tier architecture is an application program that is organized into three major
parts, comprising of Layer-1 : Presentation Layer (UI)
Layer-2: Application Layer(AL)
Layer-3: Data Access Layer(DA)

135
Each tier is distributed to a different place or places in a network. These tiers
do not necessarily correspond to physical locations on various computers on a
network, but rather to logical layers of the application.

Presentation Layer (UI):


This layer presents data to the user and optionally permits data manipulation
and data entry, also this layer requests the data form Business layer.
This layer accomplished through use of Dynamic HTML and client-side data sources
and data cursors.
Application Layer (AL):
The business logic acts as the server for client requests from workstations. It
acts according Business rules fetch or insert data through the Data Layer.
In turn, it determines what data is needed (and where it is located) and acts as a
client in relation to a third tier of programming that might be located on a local or
mainframe computer.
Because these middle-tier components are not tied to a specific client, they can be
used by all applications and can be moved to different locations, as response time
and other rules require.
Data Access Layer (DA):

136
The third tier of the 3-tier system is made up of the DBMS that provides all
the data for the above two layers.
This is the actual DBMS access layer.
Avoiding dependencies on the storage mechanisms allows for updates or changes
without the application tier clients being affected by or even aware of the change.

5.8 MEDIUM ACCESS CONTROL


Medium Access Control (MAC) address is a hardware address use to
uniquely identify each node of a network. It provides addressing and channel access
control mechanisms to enable the several terminals or network nodes to
communicate in a specified network.

The Medium Access Control (MAC) protocol handles the channel


allocation and the multiplexing, that is, the use of physical layer functions. The RLC
and the MAC together form the OSI Layer 2 protocol for the Um interface. The
GPRS MAC function is responsible for:
Providing efficient multiplexing of data and control signalling on both
the uplink and downlink. This process is controlled by the network. On the
downlink, multiplexing is controlled by a scheduling mechanism. Onusers (for
example, in response to a service request).
 Mobile originated channel access, contention resolution between channel
access attempts, including collision detection and recovery.
 Mobile terminated channel access, scheduling of access attempts,
including queuing of packet accesses.
 Priority handling

137
The medium access control (MAC) is a sublayer of the data link layer of the
open system interconnections (OSI) reference model for data transmission. It is
responsible for flow control and multiplexing for transmission medium. It controls
the transmission of data packets via remotely shared channels.
5.9 ROUTING
Routing is the process of finding the best path for traffic in a network, or
across multiple networks. The role of routing is similar to the road map for a hotel.
In both cases, we need to deliver messages at proper location and in an appropriate
way.

Routing is the process of selecting a path for traffic in a network or between or


across multiple networks. Broadly, routing is performed in many types of networks,
including circuit-switched networks, such as the public switched telephone network
(PSTN), and computer networks, such as the Internet.
The data transmission can be Mobile oriented data transmission, Mobile
terminated data transmission, and Mobile originated and terminated data
transmission.
In the case of a mobile-originated transmission (cf. Figure), the SGSN
encapsulates the incoming packets from MS and routes them to the appropriate
GGSN, where they are forwarded to the correct PDN. Inside PDN, PDN-specific
routing procedures are applied to send the packets to the corresponding host.

138
Packets coming from a corresponding host are routed the GGSN through the
PDN based on the examination of the destination address. The GGSN checks the
routing context associated with this destination address and determines the serving
SSGN address and tunneling information.

Routing is the process of finding the best path between the source and the
destination for forwarding packets in any store-and-forward network. Routing is the
mechanism of forwarding packet towards its destination using most efficient
path. Efficiency of the path is measured in various metrics like, Number of
hops, traffic, security, etc. In Ad-hoc network each host node acts as specialized
router itself.

139
5.10 TRANSPORT LAYER
Transport Layer provides transparent transfer of data between end users,
providing reliable data transfer services to the upper layers. The transport layer
controls the reliability of a given link through flow control, segmentation and
desegmentation, and error control.
The transport layer controls the reliability of communications through flow
control, segmentation, and error control. Two great examples of transport protocols
are TCP (as in TCP/IP) and UDP.

The Transmission Control Protocol (TCP) is one of the core protocols of the
Internet protocol suite, often simply referred to as TCP/IP. TCP is reliable,
guarantees in-order delivery of data and incorporates congestion control and flow
control mechanisms TCP supports many of the Internet's most popular application
protocols and resulting applications, including the World Wide Web, e-mail, File
Transfer Protocol and Secure Shell. In the Internet protocol suite, TCP is the
intermediate layer between the Internet layer and application layer.
The major responsibilities of TCP in an active session are to:
 Provide reliable in-order transport of data: to not allow losses of data.
 Control congestions in the networks: to not allow degradation of the network
performance,
In mobile environment TCP applies several mechanisms to improve the efficiency.
The traditional TCP mechanisms are
 Congestion Control
 Slow Start
 Fast retransmit/ Fast recovery
140
 Implications of mobility
Congestion Control
A transport layer protocol such as TCP has been designed for fixed networks
with fixed end- systems. Congestion may appear from time to time even in carefully
designed networks. The packet buffers of a router are filled and the router cannot
forward the packets fast enough because the sum of the input rates of packets
destined for one output link is higher than the capacity of the output link.
Slow start
The sender always calculates a congestion window for a receiver. The start
size of the congestion window is one segment (TCP packet). The sender sends one
packet and waits for acknowledgement.
The exponential growth stops at the Congestion threshold. As soon as the
congestion window reaches the congestion threshold, further increase of the
transmission rate is only linear by adding 1 to the congestion window each time the
acknowledgements come back.

Fast retransmit/fast recovery


The sender performs a fast recovery from the packet loss. This mechanism can
improve the efficiency of TCP dramatically. The other reason for activating slow
start is a time-out due to a missing acknowledgement. TCP using fast
retransmit/fast recovery interprets this congestion in the network and activates the
slow start mechanism.

Implications of mobility
Slow Start mechanism in fixed networks decreases the efficiency of TCP if
used with mobile receivers or senders. Error rates on wireless links are orders of
magnitude higher compared to fixed fiber or copper links. This makes compensation
for packet loss by TCP quite difficult.
Mobility itself can cause packet loss. There are many situations where a soft
handover from one access point to another is not possible for a mobile end-system.

141
5.11 ENERGY MODEL
A simple energy model under the basic tasks or activities that nodes perform
in the network conceptually describes this scheme. This model considers all the
energy components that contribute to the overall energy consumption under active
mode.
First of all, a node remains at start time to turn on. Then, it takes a switching
time to change status before sending a packet to the medium. Here, the node first
runs the CSMA algorithm using a CSMA time. The node transmits an information
packet expending a transmission time.

Energy management in WSNs is defined as the set of rules to manage various


energy supply mechanisms and then efficient consumption of the provided energy
in a sensor node. The overall aim should be to manage energy in such a way that no
node becomes energy deficient and the network is operational perpetually.

142
The main purpose of WSNs is to disseminate the information from the source
to the sink in multi-hop scheme . In general, since energy sources are scarce and
constrained and batteries are low-powered, energy-efficient data forwarding is
supposed to be a critical challenge in WSN applications.

143
MODEL QUESTION PAPER
SALEM SOWDESWARI COLLEGE (SFCW), SALEM-10
MSC (CS)DEGREE EXAMINATION
MOBILE COMPUTING
Time: 3 Hours Max. Marks: 75
SECTION - A (15X1=15)
Answer ALL the Questions.
1. Which of the following uses wireless as the mode of communication for transferring or
exchanging data between various mobiles over a short-range?
A : Ad hoc computing B : Mobile computing
C : Bluetooth technology D : None of the above
2. In a distributed system, a client sends the request, and the server provides_____
A : Data B : Service C : Information D : All of the above
3. Mobile Computing allows transmission of data from one wireless-enabled device to
another _____
A : Any device B : Wired device
C : Wireless-enabled device D : All of the above
4. In general, a mobile computing environment can also be considered as the type of
__________ environment.

A : Grid computing B : Mobile computing


C : Distributed computing D : None of the above
5. Which of the following is a fundamental principle of wireless communication?
A : Electromagnetic waves B : Microwaves
C : Both A and B D : None of the above
6. Which of the following is supported data rates of 4G Networks?
A : 1024kbps B : 100mbs C : 200mbps D : None of the above
7. How many sub-systems are Global Systems for Mobiles?
A:4 B:3 C:2 D : None of the above
8. BSC comes under which of the following category?
A : Operation B : Radio C : Network D : Mobile

144
9. The term TDM stands for___
A : Time Division Multiplexing B : Transfer Multiplexing
C : Tedious Division Multiplexing D : None of the above
10. The frequency modulation for mobile communication systems was invented by_____
A : David Bohm B : Nikola Tesla
C : Albert Einstein D : Edwin Armstrong
11. Which of the following is also referred to as the functions of forward Voice Channel?
A : Initiating Mobile calls B : Broadcasting all traffic for mobiles
C : Voice transmission from the base station to mobiles D : All of the above
12. Which of the following is not an example of wireless communication?
A : Wi-Fi B : Mobiles C : Landline D : Wireless Computer Parts
13. GPRS is also known as_______________.
A : 4G B : 3G C : 2.5G D : None of the above
14. MMS Stands for __________________.
A : Multiple Message Service B : Multimedia Messaging Service
C : Magnetospheric Multi Scale D : Master of Messaging Service

15. ___________technique is used in digital mobile communication.

A : FDMA B : TDMA C : CDMA D : SDMA

SECTION - B (2X5=10)

Answer Any Two Questions.


16.Write Short notes on Basics of mobile devices.
17.Write Short note on mobile enabled applications.
18. Explain about Android.
19. Explain about Dynamic Linking.
20.Explain about database security.

145
SECTION -C(05X10=50 )
Answer ALL Questions.
16. a) Explain about Design considerations for mobile computing.
(or)
b) Explain about Wireless Internet.
17. a) Explain about Multi channel and Multi modal user interfaces
(or)
b). Explain about GPRS
18. a) Explain about J2ME.
(or)
b) Explain about event based programming.
19. a) Explain about Communication via the web.
b) Explain about ADHOC Wireless Network.
20. a) Explain about Wireless Sensor Network.
(or)
b) Explain about Architecture and Design wirth neat diagram.

MODEL QUESTION PAPER


SALEM SOWDESWARI COLLEGE (SFCW), SALEM-10

146
MSC (CS)DEGREE EXAMINATION
MOBILE COMPUTING
Time: 3 Hours Max. Marks: 75
SECTION - A (15X1=15)
Answer ALL the Questions.
1. Which of the following uses wireless as the mode of communication for transferring or
exchanging data between various mobiles over a short-range?
A : Ad hoc computing B : Mobile computing
C : Bluetooth technology D : None of the above
2. In a distributed system, a client sends the request, and the server provides_____
A : Data B : Service C : Information D : All of the above
3. Mobile Computing allows transmission of data from one wireless-enabled device to
another _____
A : Any device B : Wired device
C : Wireless-enabled device D : All of the above
4. In general, a mobile computing environment can also be considered as the type of
__________ environment.

A : Grid computing B : Mobile computing


C : Distributed computing D : None of the above
5. Which of the following is a fundamental principle of wireless communication?
A : Electromagnetic waves B : Microwaves
C : Both A and B D : None of the above
6. Which of the following is supported data rates of 4G Networks?
A : 1024kbps B : 100mbs C : 200mbps D : None of the above
7. How many sub-systems are Global Systems for Mobiles?
A:4 B:3 C:2 D : None of the above
8. BSC comes under which of the following category?
A : Operation B : Radio C : Network D : Mobile
9. The term TDM stands for___
A : Time Division Multiplexing B : Transfer Multiplexing
147
C : Tedious Division Multiplexing D : None of the above
10. The frequency modulation for mobile communication systems was invented by_____
A : David Bohm B : Nikola Tesla
C : Albert Einstein D : Edwin Armstrong
11. Which of the following is also referred to as the functions of forward Voice Channel?
A : Initiating Mobile calls B : Broadcasting all traffic for mobiles
C : Voice transmission from the base station to mobiles D : All of the above
12. Which of the following is not an example of wireless communication?
A : Wi-Fi B : Mobiles C : Landline D : Wireless Computer Parts
13. GPRS is also known as_______________.
A : 4G B : 3G C : 2.5G D : None of the above
14. MMS Stands for __________________.
A : Multiple Message Service B : Multimedia Messaging Service
C : Magnetospheric Multi Scale D : Master of Messaging Service

15. ___________technique is used in digital mobile communication.

A : FDMA B : TDMA C : CDMA D : SDMA

148

You might also like