MODULE 1-1
MODULE 1-1
Module 1
Introduction to mobile computing, Middleware and Gateways, Application and services, Internet-
Ubiquitous networks, Architecture and three-tier architecture for Mobile Computing, Design
consideration for Mobile Computing.
Introduction to mobile computing
1.1Mobile Computing
The rapidly expanding technology of cellular communication, wireless LANs, and satellite
services will make information accessible anywhere and at any time. Regardless of size, most mobile
computers will be equipped with a wireless connection to the fixed part of the network, and, perhaps, to
other mobile computers. The resulting computing environment, which is often referred to as mobile or
nomadic computing, no longer requires users to maintain a fixed and universally known position in the
network and enables almost unrestricted mobility. Mobility and portability will create an entire new class
of applications and, possibly, new massive markets combining personal computing and consumer
electronics.
A technology that allows transmission of data, via a computer, without having to be connected to
a fixed physical link.
• Mobile voice communication is widely established throughout the world and has had a very
rapid increase in the number of subscribers to the various cellular networks over the last few years. An
extension of this technology is the ability to send and receive data across these cellular networks. This is
the principle of mobile computing.
• Mobile data communication has become a very important and rapidly evolving technology as it
allows users to transmit data from remote locations to other remote or fixed locations.
Mobile Computing is an umbrella term used to describe technologies that enable people to access
network services anyplace, anytime, and anywhere. There are 2 aspects of mobile computing
• – User mobility: users communicate “anytime, anywhere, with anyone” (example: read/write
email on web browser). User mobility refers to a user who has access to the same or similar
telecommunication services at different places, i.e.,the user can be mobile, and the services will follow
him or her.
• – Device portability: devices can be connected anytime, anywhere to the network. With device
portability, the communication device moves .Many mechanisms in the network and inside the device
have to make sure that communication is still possible while the device is moving.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 2
Pervasive computing-It is pervasive in nature and can be made available in any environment.
Ubiquitous computing- Ubiquitous computing is a concept in software engineering and computer science
where computing is made to appear anytime and everywhere. In contrast to desktop computing, ubiquitous
computing can occur using any device, in any location, and in any format.
Global service portability-Making a service portable and available in every environment.
Wearable computers -Wearable computers, also known as wearables or body-borne computers, are
small computing devices (nowadays usually electronic) that are worn under, with, or on top of clothing.
The definition of 'wearable computer' may be narrow or broad, extending to smartphones or even ordinary
wristwatches.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 3
I. User with device: This means that this could be a fixed device like a desktop computer in an
office or a portable device like mobile phone. Example: laptop computers, desktop computers,
fixed telephone, mobile phones, digital TV with set-top box, palmtop computers, pocket PCs, two-
way pagers, handheld terminals, etc.
2. Network: Whenever a user is mobile, he will use different networks at different locations at
different times. Example: GSM, CDMA, iMode, Ethernet, Wireless LAN, Bluetooth, etc.
3. Gateway: This acts as an interface between different transport bearers. These gateways
convert one specific transport bearer to another. Example: From a fixed phone [with voice interface)
we access a service by pressing different keys on the telephone. These keys generate DTMF (Dual Tone
Multi Frequency) signals. These analog signals are converted into digital data by the IVR (Interactive
Voice Response) gateway to interface with a computer application. Other examples will be WAP
gateway, SMS gateway, etc.
4. Middleware: This is more of a function rather than a separate visible node. ln the present
context, middleware handles the presentation and rendering of the content on a particular device. It
may optionally also handle the security and personalization for different users.
5. Content: This is the domain where the origin server and content. is. This could be an application,
system, or even an aggregation of systems. The content can be mass market, personal or corporate
content. The origin server will have some means of accessing the database and storage devices.
1.4 Mobile Computing Devices
The device for mobile computing can be either a computing or a communication device. In the
computing device category it can be a desktop, laptop, or a palmtop computer. On the
communication device side it can be a fixed Line telephone, a mobile telephone or a digital TV. Usage
of these devices are becoming more and more integrated into a task flow where fixed and mobile,
computing and communication functions are used together.
The device is a combination of hardware and software; the hardware is technically called the User
Equipment (UE) with software inside, which functions as an agent to connect to the remote service-
this software is called a User Agent (UA). One of the most common UA today is a Web browser.
When computing technology is embedded into equipment, Human-Computer Interaction (HCI)
plays a critical role in effectiveness, efficiency, and user experience. This is particularly true as mobile
information and communication devices are becoming smaller and more restricted with respect to
Department of CSE
Vidya Academy of Science and Technology Technical Campus 4
information presentation, data entry and dialogue control. The human computer interface challenges
are:
I. Interaction must be consistent from one device to another.
2. Interaction must be appropriate for the particular device and environment in which the system is
being used.
Any software layered between a user application and operating system is a middleware. Middleware
examples are communication middleware, object-oriented middleware, message-oriented middleware,
transaction processing middleware, database middleware, behavior management middleware, Remote
Procedure Call (RPC) middleware, etc. There are some middleware components like behavior
management middleware, which can be a layer between the client device and the application. In a
mobile computing context we need different types of middleware components and gateways at different
layers of the architecture (Fig. 1.2). These are:
1. Communication middleware.
2. Transaction processing middleware,
3. Behavior management middleware,
4. Communication gateways.
Communication Middleware
The application will communicate with different nodes and services through different communication
middleware. Different connectors for different services will fall in this category. Examples could be
TN3270 for IBM mainframe services, or Javamail connector for IMAP or POP3 services.
Communications Middleware is used in a variety of software systems, from mobile devices (PDAs,
Android phones, iPads, etc.) to enterprise and database systems. The equipment in these systems varies
in screen and visual display capabilities, bandwidth capacities, and processing power. Communications
Middleware can be cross-platform, that is, it facilitates communications between these differing
devices. Communications Middleware can be cross-language, that is, it can understand and
process multiple different operating languages (C, C++, Java, PHP, Ruby on Rails, etc.). We can use
a cell phone and a PC here as an example. They both function in vastly different capacities, but with
Communications Middleware, are able to “talk” to and “work with” each other. This holds true for
devices of similar capacities with different operating systems as well .
Transaction Processing Middleware
In many cases a service will offer session-oriented dialogue (SoD). For a session we need to maintain
a state over the stateless Internet. This is done through an application server. The user may be using
a device, which demands a session less dialogue (SlD) made of short session less transactions whereas
the service at the backend offers a SoD. ln such cases a separate middleware component will be required
to convert a SoD to a SlD. Management of the Web components will be handled by this middleware as
well.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 5
Department of CSE
Vidya Academy of Science and Technology Technical Campus 6
necessary outside office hours. For example, we may need to do a bank transaction from home at night
or respond to an urgent mail while at home.
There can be many applications and services for the mobile computing space. These applications or
services run on the origin server. These are also known as content servers. Content will primarily be
lifestyle-specific. An individual has different lifestyles in different social environments. Also, lifestyles
change during the day. One individual can be an executive needing the corporate MIS (Management
Information System) application during the day while at home the same individual can use applications
related to lifestyle or entertainment. The list of possible mobile applications can never be complete. On
the basis of life styles, they can be grouped into different categories, such as:
Perishable: Time-sensitive and of relevance and passes quickly (general news, breaking news,
weather, sports, business news, stock quotes).
Transaction-oriented: Transactions need to be closed (bank transactions, utility bill payment, mobile
shopping).
Corporate: Corporate business information {mail, Enterprise Requirements Planning (ERP), inventory,
directory, business alerts, reminders}.
Entertainment: Applications for fun, entertainment. Social networking sites like Facebook can be part of
this category.
News: This is a very big basket of applications having different types of news. News could be political,
current affairs, breaking news,. business news, sports news, community news, etc. While people -.are on
the move, they can always be connected to their culture and community through news, using mobile
computing.
Youth: This is a very high growth market with different applications to suit the lifestyles of the youth.
These are. primarily message-based applications like person-to-person messaging, chat, forums,
dating, etc. ·
Weather: There are different types of applications and services where mobile computing can make a
difference. Notification services on weather is a very sought after application. If we have access to
information related to the weather while on vacation or while driving from one location to another then
the global positioning system (GPS) can help locate a person or sometimes save lives in case of a natural
calamity.
Corporate application: Standard corporate information is an important piece of information for · mobile
workers and includes corporate mail, address book, appointments, MIS applications, corporate
Intranet, corporate ERP, etc.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 7
Sales force automation: This group will offer many applications. It will cater to the large population 'of
sales personnel. Applications will include sales order bookings, inventory enquiry, shipment tracking,
logistics related applications, etc. These applications will be very effective over wireless devices.
m-broker: Getting correct and timely information related to different stocks are very important. Also,
online trading of stocks while on the move is quite critical for certain lifestyles. Stock tickers, stock alerts,
stock quotes, and stock trading can be made ubiquitous so that users can check their portfolio and play
an active role in the market.
Telebanking: we need to access our bank information for different transactions. Earlier, people used
to go to the bank, but things are changing. Banks are coming to customers through telebanking. If
telebanking can be made ubiquitous it helps the customer as well as the bank. Many banks in India are
today offering banking over Internet (web), voice and mobile phones through SlY1S.
m-shopping: This mobile application is used to shop with the help of mobile devices like Palm top, Pocket
PC, mobile phones, etc. You can use this application to pay for a soft drink or soda ' from a
vending machine in an airport or a movie theatre using a mobile phone, especially when you do not have
sufficient cash.
Interactive games: Many mobile network operators have started offering different types of contests and
interactive games that can be played through mobile phones. The applications could be similar to any
quiz, housie, etc.
Interactive TV shows: Many TV companies around the world use email, SMS and Voice as a bearer for
interactive TV or reality TV shows. In these shows viewers are encouraged to participate by asking
questions, sharing opinions or even answering different quizzes. Nowadays viewers vote for their favorite
TV stars using SMS.
Digital/Interactive TV: These are interactive TV programs through digital TV using set-top boxes and
Internet. Video-on-demand, community programs, healthcare, and shopping applications are quite
popular under this media category.
Experts on call: This is an application system for experts. Experts use these services to schedule their
time and business with clients; clients use this to schedule business with the expert. A typical example
could be to fix up an appointment with the tax consultant.
GPS-based systems: Applications related to location tracking come under this category. This could be
a simple service like tracking a vehicle. Another example could be tracking an individual who got stuck
due to bad weather while on a trekking trip. Fleet management companies and locations-aware
software systems need GPS-based applications.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 8
Remote monitoring: This is important for children at home where parents monitor where their
children are or what are they doing. Also, monitoring and controlling of home appliances will be part
of this application.
Entertainment: This contains a very large basket of applications starting from horoscope to jokes. Many
people in some part of Asia decide their day based on the planetary positions and horoscope information.
Directory services: This includes information related to movies, theatre, public telephones, restaurant
guide, public information systems and Yellow pages.
Sports: This service offers online sports updates. In India live cricket score is the most popular mobile
computing application. Getting scores of a live cricket match is the most popular mobile computer
application. This service is available in India through Web, Voice, SMS, and WAP.
Maps/navigation guide: This is an application which has a lot of demand for traveling individuals. These
services need to be location-aware to guide the user to use the most optimum path to reach a destination.
The directions given by these applications also take traffic congestion, one way, etc., into consideration.
GPS-based driving is becoming very popular in the US and advanced countries, where a user enters the
postal address of the destination. The GPS-based system calculates the route, loads the right map and
helps the driver navigate in real-time.
Virtual office: There are many people who are self-employed and do not have a physical office. Thus
mobile and virtual office where they can check their mails, schedules, appointments, etc., while they
are on the move are a must for them. Insurance agents and many other professions need these types
of services.
m-exchange for industries: Manufacturing industry exchange from a mobile device can be a very
cost effective solution for small/cottage industries. It may not be possible for a cottage industry to invest
in a computer. However, accessing an exchange for a manufacturing company through a SMS may be
affordable.
m-exchange for agricultural produce: Exchange for farmers on different type of agricultural products
can be very useful for countries like India. If farmers can get information about where to get a good
price for their product, it helps both farmers and consumers. There is a system unmo.edioupal.com
to do exactly this. Think of this available over mobile phones.
Agricultural information: Think about a case where a farmer receives an alert in his local. language
through his mobile phone and immediately knows that the moisture content in air is 740/o. He can then
decide how much to water his harvest. This can save his money, the harvest (excess water is sometimes
harmful), and the scarce water resource. Portable devices with voice interface can change the economics
of rural India with this kind of application.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 9
Corporate knowledge-based applications: Many corporates today have a knowledge base. Making
this ubiquitous can reduce cost and increase productivity.
Distance learning: Applications related to distance learning are a must for countries with limited or no
access to digital and information technology. For virtual schools in Asia or Africa, it is possible to have
access to good faculty through the distance learning mode.
Digital library: These are libraries which can be accessed from anywhere anytime because of tile
Internet. Digital libraries can go a long ,vay in shortening the digital divide as they also have support
of local language and are easy and cheaper to commission.
'Telemedicine and healthcare: Making telemedicine and healthcare easily available can save many
lives. For example, a person complains of chest pain while traveling and requires immediate medical
attention. He has to be taken to a doctor in a remote town. In this case, access to the patient's record
can help expedite diagnosis. Reminder services for medicines or checkups can be very useful. In rural
India, virtual clinics can help those who otherwise do not have access to medical care.
Micro-credit schemes: Micro-credit has a distinct role to play for a country's micro economy. Grameen
Bank with all its applications in Bangladesh is the best example of micro-credit.
Community forums: There are different social and community meetings. In the case of India, panchayats
can be made electronic. These may help increase the involvement of more people in community
development work.
. Law enforcements: Most of the time law enforcement staff are on the streets and need access to
different types of services through wireless methods, These may be access to criminal records,
information related to vehicles, or even a picture of the accident site taken through a MMS phone. This
information can help insurance companies to resolve the claim faster.
Job facilitator: These could be either proactive alerts or information related to jobs and employment
opportunities.
Telemetric applications: Almost every industry and sphere of life has the need for telemetry
applications. Examples could be monitoring and control in manufacturing industry; vehicle tracking;
Department of CSE
Vidya Academy of Science and Technology Technical Campus 10
meter reading; health care and emergency services; vending machine monitoring; research [telemetric
orthodontic); control and service request for different emergency services for utilities like power plants,
etc.
. .
Downloads: Different types of downloads starting from ringtones to pictures are part of this category.
In many countries this type of application is very popular. It is estimated that the market for ringtone
downloads is more than l billion dollars.
Alerts and notifications: This can be either business or personal alerts. Simple examples could be
breaking news alerts from a newspaper, Complex examples of alert could be for a doctor when the
patient is in critical condition. In India many mobile operators are offering cricket alerts. In this service,
subscribers receive score information every 15 minutes, about every wicket fall!
Core: As the name signifies, core is the backbone of the network, This is the innermost part of the
network. The primary function of the core network is to deliver traffic efficiently at the least cost. Core
looks at the traffic more from the bit stream point of view. Long-distance operators and backbone
operators own core networks. This part of the network deals with transmission media and transfer
points.
Edge/Distribution layer: As the name suggests, this is at the edge of the network. These are generally
managed and owned by ISPs (Internet Service Providers) or local switches and exchanges. Edge
looks at the traffic more from the service point of view. It is also responsible for the distribution of
traffic.
Access: This part of the network services the end point or the device by which the service will be
accessed. This deals with the last mile of transmission. This part is either through a wireline or the
wireless. From the mobile computing point of view, this will be mostly through the wireless.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 11
Core network and backbone network typically refer to the high capacity communication facilities that
connect primary nodes. Core/backbone network provides path for the exchange of information between
different sub-networks. Edge network provides information exchange between the access network and
the core network. The devices and facilities in the edge networks are switches, routers, routing switches,
IADs and a variety of MAN/WAN devices, which are often called edge devices. Edge network provide
entry points into carrier/service provider core/backbone networks. The Access layer is responsible for
connecting devices to the network.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 12
THREE-TIER ARCHITECTURE
To design a system for mobile computing, we need to keep in mind that the system will be used through
any network, bearer, agent and device. To have universal access, it is desirable that the server is
connected to a ubiquitous network like the Internet. To have access from any device, a web browser is
desirable. The reason is simple; web browsers are ubiquitous, they are present in any computer. The
browser agent can be Internet Explorer or Netscape Navigator or Mozilla or any other standard agent.
Also, the system should preferably be context aware.
Figure 1.4 depicts a three-tier architecture for a mobile computing environment, These tiers are
presentation tier, application tier and data tier. Depending upon the situation, these layers can be further
sub layered.
Presentation(Tier-1)
This is the user facing system in the first tier. This is the layer of agent applications and systems. These
applications run on the client device and offer all the user interfaces. This tier is responsible for
presenting the information to the end user. Humans generally use visual and audio means to receive
information from machines (with some exceptions like vibrator in mobile phones). Humans also use
keyboard {laptop computers, cell phones), pen (tablet PC, palmtops), touch screen (kiosks), or Voice
Department of CSE
Vidya Academy of Science and Technology Technical Campus 13
{telephone) to feed the data to the system. In the case of the visual, the presentation of information
will be through a screen. Therefore, the visual presentation will relate to rendering on a screen.
'Presentation Tier' includes web browsers (like Mozilla, Lynx, Internet Explorer and Netscape
Navigator), WAP browsers and customized client programs. A mobile computing agent needs to be
context-aware and device independent.
In some cases, the agent software is an applet running on a browser or a virtual machine (Java
Virtual Machine, for example], The functions performed by these agent systems can range from
relatively simple tasks like accessing some other application through HTTP API, to sophisticated
applications like real time sales and inventory management across multiple vendors.
Some of these agents work as web scrapers. In a web scraper, the agent embeds functionality of
the HTTP browser and functions like an automated web browser. The scraper picks up part of the data
from the web page and filters off the remaining data according to some predefined template.
Application (Tier-2)
The application tier or middle tier is the "engine" of a ubiquitous application. It performs the business
logic of processing user input, obtaining data, and making decisions. In certain cases, this layer will do
the transcoding of data for appropriate rendering in the Presentation Tier. The Application Tier may
include technology like CGls, Java, JSP, .NET services, PHP or ColdFusion, deployed in products
like Apache, WebSphere, WebLogic, iPlanet, Pramati, JBOSS or ZENO. The application tier is
presentation and database-independent,
In a mobile computing environment, in addition to the business logic there are quite a few additional
management functions that need to be performed. These functions relate to decisions on rendering,
network management, security, data store access, etc. Most of these functions are implemented using
different middleware software. A middleware framework is defined as a layer of software, which
sits in the middle between the operating system and the user facing software.
We can group middleware into the following major categories:
1. Message-oriented Middleware,
2. Transaction Processing Middleware.
3. Database Middleware,
4. Communication Middleware.
5. Distributed Object and Components.
6. Transcoding Middleware
MOM is generally asynchronous, peer-to-peer, and works in publish/ subscribe fashion. In the
publish/subscribe mode one or many objects subscribe to an event. As the event occurs, it will be
published by the loosely coupled asynchronous object. The MOM will notify the subscribers about
this event. However, most implementations of MOM support synchronous (request/response) message
passing as well. MOM is most appropriate for event driven applications. When an event occurs, the
publisher application hands on to the messaging middleware application the responsibility of notifying
subscribers that the event has happened. In a net-centric environment, it can work as the integration
Department of CSE
Vidya Academy of Science and Technology Technical Campus 14
platform for different applications. An example of MOM is Message Queue from IBM known as
MQSeries. The equivalent from Java is JMS (Java Message Service).
Department of CSE
Vidya Academy of Science and Technology Technical Campus 15
Transcoding Middleware
Transcoding Middleware is used to transcode one format of data to another to suit the need of the client.
For example, if we want to access a web site through a mobile phone supporting WAP, we need to
transcode the HTML page to WM L page so that the mobile phone can access it. Another example could
be accessing a map from a PDA. The same map, which can be shown in a computer, needs to be reduced
in size to fit the PDA screen. Technically transcoding is used for content adaptation to fit the need
of the device. Content adaptation is also required to meet the network bandwidth needs. For
example, some frames in a video clip need to be dropped for a low bandwidth network. Content
adaptation used to be done through proprietary protocols. To allow interoperability, IETF has
accepted the Internet Content Adaptation Protocol (ICAP). ICAP is now standardized and described
in RFC3507.
Internet Content Adaptation Protocol (ICAP)
ICAP, the Internet Content Adaptation Protocol, is a protocol aimed at providing simple object-based
content vectoring for HTTP services. ICAP is a lightweight protocol to do transcoding on HTTP
messages. This is similar to executing a "remote procedure call" on a HTTP request. The protocol allows
ICAP clients to pass HTTP messages to ICAP servers for some sort of transformation, The server
executes its transformation service on messages and sends back responses to the client, usually with
modified messages. The adapted messages may be either HTTP requests or HTTP responses. ICAP
works at the edge part of the network as depicted in figure 1.6.
Typical data flow in an ICAP environment is depicted in Figure 1.6 and described here.
1. A user agent makes a request to an ICAP-capable surrogate {ICAP client) for an object on
an origin server.
2. The surrogate sends the request to the ICAP server.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 16
3. The ICAP server executes the ICAP resource's service on the request and sends the possibly
modified request, or a response to the request back to the ICAP client.
4. The surrogate sends the request, possibly different from the original client's request, to the origin
server.
5. The origin server responds to the request.
6. The surrogate sends the reply (from either the ICAP or the origin server) to the client.
It is envisioned that in future, ICAP servers may be available to provide some of the following
services:
• Suit content delivery based on network bandwidth.
• Suit content delivery based on device characteristics.
• Language translation based on the user's preference.
• Virus checking for the requested content.
• Content filtering based on sensor rating like PG (parental guidance), R (restricted).
• Local real-time advertisement insertion like television.
• Local real-time advertisement elimination for premium subscribers.
• Image magnification for the elderly.
• Image size reduction based on device display characteristics.
Web Services
Web services provide a standard means of communication and information exchange among
different software applications, running on a variety of platforms or frameworks. Web service is
a software system identified by a URI, whose public interfaces and bindings are defined using XML
(eXtensible Markup Language). Its definition can be discovered by other software systems
connected to the network, Using XML-based messages these systems may then interact with the
Web service in a manner prescribed by its definition.
The basic architecture includes Web service technologies capable of:
• Exchanging messages.
• Describing Web services.
• Publishing and discovering Web service descriptions.
The Web services architecture defines the standards for exchange of messages between the
service requester and service provider. Service providers are responsible for publishing a
description of the services they provide. Requesters must be able to find and discover
descriptions of the services.
Software agents in the basic architecture can take on one or all of the following roles:
•Service requester-requests the execution of a Web service.
•Service provider-processes a Web service request.
• Discovery agency(Broker)-agency through which a Web service description is published and
made discoverable.
Data (Tier-3)
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.
These can range from sophisticated relational database, legacy hierarchical database, to even simple
text files.
Database Middleware
Department of CSE
Vidya Academy of Science and Technology Technical Campus 17
Database middleware allows the business logic to be independent and transparent of the database
technology and the database vendor. Database middleware runs between the application program
and the database. These are sometimes called database connectors as well. Examples of such
middleware will be ODBC,JDBC, etc. Using these middleware, the application will be able to
access data. from any data source. Data sources can be text files, flat files, spreadsheets, or a
network, relational, indexed, hierarchical, XML database, object database, etc., from vendors like
Oracle, SQL, Sybase, etc.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 18
A mobile computing application needs to operate in dynamic conditions. This is due to various device
characteristics and network conditions. This demands a reactive platform that can make decisions about
how to respond to changes to device capability, user preferences, enterprise policy, network policy and
many other environmental factors. Context can be used as the basis by which an adaptation manager
or algorithm decides to modify content or application behavior. We therefore need a Client Context
Manager to gather and maintain information pertaining to the client device, user, network and the
environment surrounding each mobile device.
All these information will be provided by a set of Awareness Modules. Awareness modules are sensors of
various kinds. These sensors can be hardware sensors or software sensors or a combination of these. A
hardware sensor can be used to identify the precise location of a user; whereas, a software sensor can be
used to determine the type of the user agent. These awareness modules can be in the device, network, or
even in the middleware. For example, an awareness module in the device will provide information about
its capabilities. Another example could be a location manager that tracks the location and orientation of
the mobile device.
Almost any information available at the time of an interaction can be seen as context information. Some
examples are:
1. Identity: The device will be in a position to communicate its identity without any ambiguity.
2. Spatial information: Information related to the surrounding space. This relates to location, orientation,
speed, elevation and acceleration.
3. Temporal information: Information related to time. This will be time of the day, date, time zone and
season of the year.
4.Activity: This relates to the activity state of the user. This includes information like talking, reading,
walking and running.
5.Availability of resources: 'This will relate to information about the device in use. This will include battery
power, processing power etc.
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.
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.
Department of CSE
Vidya Academy of Science and Technology Technical Campus 19
Department of CSE
Vidya Academy of Science and Technology Technical Campus 20
o 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.
6. Security:
o 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).
o If you are storing any confidential application or configuration data locally. ensure that
the data is encrypted.
7. Network Communication:
o 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.
o Compress large text / XML data to lesser network traffic. Design for asynchronous
communication.
Mobile elements are also resource poor relative to static hosts. For these reasons, there are
approaches that treat the mobile unit as a dumb terminal running just a user-interface.
Besides the partition of data and computation of mobile applications between mobile and static
elements, two important considerations in designing software system for mobile computing are:
what is on appropriate model for mobile computing systems, and whether mobility should be mode
transparent to applications.
Department of CSE