Mobile Computing Architecture
Mobile Computing Architecture
Being of the most prominent technologies, mobile computing has its fair share of issues and
concerns. These issues need to be resolved in order to improve upon Mobile Technology
and provide more capable and secure facilities to people. Some of the issues are listed
below:
Security Standards:
When working mobile, one is dependent on public networks, requiring careful use of
Virtual Private Network (VPN). Security is a major concern while concerning the
mobile computing standards on the fleet. Along with this improper and unethical
practices such as hacking, industrial espionage, pirating, online fraud and malicious
destruction are some but few of the problems experienced by mobile computing.
Another big problem is of identity theft. Various users sharing names and passwords
pose a major threat to security. Unauthorized access can leak sensitive information to
the outsiders.
Bandwidth:
Bandwidth utilization can be improved by logging (bulk operations against short
requests) and compression of data before transmission. Additionally, lazy write back
and file prefetching can help the network in times of peak demands. Lazy write back
is very helpful in the sense that the data to be written may undergo further
modifications. The technique of caching frequently accessed data items can play an
important role in reducing contention in narrow bandwidth wireless networks. The
cached data can help improve query response time. Since mobile clients often
disconnect to conserve battery power the cached data can support disconnected
operations
Location Intelligence:
As the mobile computers move they encounter networks with different features. A mobile
computer must be able to switch from infrared mode to radio mode as it moves from indoors
to outdoors. Additionally it should be capable of switching from cellular mode of operation
to satellite mode as the computer moves from urban and rural areas. In mobile computing as
computers are working in cells and are being serviced by different network providers, the
physical distance may not reflect the true network distance. A small movement may result in
a much longer path if cell or network boundaries are crossed. It will also lead to updating of
Power Consumption:
Mobile Computers will rely on their batteries as the primary power source. Batteries
should be ideally as light as possible but at the same time they should be capable of
longer operation times. Power consumption should be minimized to increase battery life.
Chips can be redesigned to operate at lower voltages. Power management can also help.
Individual Components, be powered down when they are idle.
Transmission Interferences:
Weather and terrain problems exist in mobile computing. Some connections in certain
technologies are limited by the distance. Along with that reception in poor at certain
places such as tunnels and basements.
The term context means all the information that helps to determine the state of the object.
In a mobile computing environment the context data is captured so that decisions can be made
about how to adapt content or behaviour to suit this context.
There are many ways in which contexts can be adapted:
Content with Context Awareness
Content switch on Context
Content Transcoding on Context
EXAMPLES OF CONTEXT INFROMATION
On mobile platform everything is limited to make balance between design principles and resources
at hand such changes shall mean that content and behavior of applications should be adapted to
suit the current situation.
Few of design consideration parameter for mobile computing:
Target device
Target device and platform (OS) play a key role throughout design decisions making process.
Design decisions are influenced by target device’s screen size, resolution, orientations, memory,
CPU performance characteristics, Operating systems capabilities, OEM (device vendor) specific
OS changes/limitations, device
User experience
User experience, for mobile applications, needs utmost importance (may be more than
desktop).
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.
Resource Constraint
In 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.
For example using notification or app directed SMS instead of polling to monitor a
value/flag on server.
Multiple Platform
An application will target not 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.
Design Architect should consider portability, technology agnostic with platform specific
implementation. To make design with reuse across the platforms.
Security
Devices are more vulnerable than desktop, primarily due to lack of awareness.
It may device can be lost easily. It needs to secured device – server communication 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 very significant parameter.
To reduce network traffic by combining several commands in one request.
For example, committing added, updated and deleted records in one request instead of
firing separate request on each add/update/delete.
Supported platforms:
Coda has been developed on Linux. Support for it appeared in the 2.1 Linux kernel series. It has
also been ported to FreeBSD. Efforts have been made to port Coda to Microsoft Windows, from
the Windows 95/Windows 98 era, Windows NT to Windows XP, by means of open source
projects like the DJGCC DOS C Compiler and Cygwin.
Features:
• extensions in functionality
The current activities with Coda are mostly aimed at making this very good file system widely
available, and a network file system of choice.
Architecture of Coda
Coda was designed to be a scalable, secure, and highly available distributed file system. An
important goal was to achieve a high degree of naming and location transparency so that the
system would appear to its users very similar to a pure local file system. By also taking high
availability into account, the designers of Coda have also tried to reach a high degree of failure
transparency. Coda is a descendant of version 2 of the Andrew File System (AFS), which was
also developed at CMU (Howard et al., 1988; Satyanarayanan, 1990), and inherits many of its
architectural features from AFS. AFS was designed to support the entire CMU community,
which implied that approximately 10,000 workstations would need to have access to the system.
To meet this requirement, AFS nodes are partitioned into two groups. One group consists of a
relatively small number of dedicated Vice file servers, which are centrally administered. The
other group consists of a very much larger collection of Virtue workstations that give users and
processes access to the file system, as shown in Figure. Coda follows the same organization as
AFS. Every Virtue workstation hosts a user-level process called Venus, whose role is similar to
that of an NFS client. A Venus process is responsible for providing access to the files that are
maintained by the Vice file servers. In Coda, Venus is also responsible for allowing the client to
continue operation even if access to the file servers is (temporarily) impossible. This additional
role is a major difference with the approach followed in NFS. The internal architecture of a
Virtue workstation is shown in Fig. 10-2. The important issue is that Venus runs as a user-level
process. Again, there is a separate Virtual File System (VFS) layer that intercepts all calls from
client applications, and forwards these calls either to the local file system or to Venus, as shown
in Fig. 10-2. This organization with VFS is the same as in NFS. Venus, in turn, communicates
with Vice file servers using a user-level RPC system. The RPC system is constructed on top of
UDP datagrams and provides at-most-once semantics. There are three different server-side
processes. The great majority of the SEC. 10.2 THE CODA FILE SYSTEM 605 Vice file server
Virtue client Transparent access to a Vice file server Figure 10-1. The overall organization of
WAP is an international standard establishing how mobile devices can access information on the
Internet. It is a widely used set of protocols used on wireless devices such as mobile phones and
PDAs. WAP is the set of rules governing the transmission and reception of data by computer
applications on or via wireless devices like mobile phones. WAP allows wireless devices to view
specifically designed pages from the Internet using only plain text and very simple black-and-
white pictures.
WAP is a standardized technology for cross-platform, distributed computing very similar to the
Internet's combination of Hypertext Markup Language (HTML) and Hypertext Transfer Protocol
(HTTP), except that it is optimized for:
low-display capability
low-memory
Low-bandwidth devices, such as personal digital assistants (PDAs), wireless phones, and
pagers.
WAP is designed to scale across a broad range of wireless networks like GSM, IS-95, IS-136,
and PDC.
The figure below shows the WAP programming model. Note, the similarities with the Internet
model. Without the WAP Gateway/Proxy, the two models would have been practically identical.
A markup language - the Wireless Markup Language (WML) has been adapted to develop
optimized WAP applications. In order to save valuable bandwidth in the wireless network, WML
can be encoded into a compact binary format. Encoding WML is one of the tasks performed by
the WAP Gateway/Proxy.
The user selects an option on their mobile device that has a URL with Wireless Markup
language (WML) content assigned to it.
The phone sends the URL request via the phone network to a WAP gateway using the
binary encoded WAP protocol.
WAP is designed in a layered fashion, so that it can be extensible, flexible, and scalable. As a
result, the WAP protocol stack is divided into five layers:
Application Layer
Session Layer
Wireless Session Protocol (WSP). Unlike HTTP, WSP has been designed by the WAP
Forum to provide fast connection suspension and reconnection.
Transaction Layer
Wireless Transaction Protocol (WTP). The WTP runs on top of a datagram service, such
as User Datagram Protocol (UDP) and is part of the standard suite of TCP/IP protocols
used to provide a simplified protocol suitable for low bandwidth wireless stations.
Security Layer
Transport Layer
Each of these layers provides a well-defined interface to the layer above it. This means that the
internal workings of any layer are transparent or invisible to the layers above it. The layered
architecture allows other applications and services to utilise the features provided by the WAP-
stack as well. This makes it possible to use the WAP-stack for services and applications that
currently are not specified by WAP.
The WAP protocol architecture is shown below alongside a typical Internet Protocol stack.
Note that the mobile network bearers in the lower part of the figure above are not part of the
WAP protocol stack.
A secure connection between a client and the server is required in the various Web
Applications. Wireless Transport Layer Security is the security protocol to ensure transactions
on Wireless Application Protocol terminal. WTLS is based on the Internet de facto standard
Transport Layer Security (TLS) v1.0 and TLS is derived from the widely used Secure Sockets
Layer (SSL) 3.0. WTLS is poised to do for the wireless internet what SSL did for the internet
and optimized for wireless communication environments.
WTLS has been optimized for use over narrow-band communication channels. It ensures
data integrity, privacy, authentication, and denial-of-service protection. For Web Applications,
that employ standard Internet security techniques with TLS, the WAP gateway automatically
and transparently manages wireless security with minimal overhead. It provides end-to-end
security and application-level security. This includes security facilities for encrypting or
decrypting, strong authentication, integrity and key management. WTLS complies with
regulations on the use of cryptographic algorithms and key lengths in different countries.
WTLS employs specially adapted mechanisms for the wireless environment. For
example, long existing secure sessions, optimized handshake procedure for the wireless
network, and simple data reliability for operation over datagram bearers.
WTLS provides functionality similar to SSL/TLS and incorporates new features such as
datagram support, optimized handshake and dynamic key refreshing. Applications are able to
selectively enable or disable WTLS features depending on their security requirements and the
characteristics of the underlying network like SSL.
Despite of their close resemblance, WTLS has been amended partially to meet the
requirements of wireless network. The common requirements set by wireless networks are
described below:
Both datagram and connection oriented transport layer protocols must be supported. It
The protocol must take into account that round-trip times with some bearers can be long.
The slowness of some bearers is a major constraint. Therefore, the amount of overhead
must be kept in the minimum.
The processing power of many mobile terminals is quite limited. This must be taken into
account when cryptographic algorithms are chosen.
The memory capacity of most mobile terminals is very modest. Therefore, the
number of cryptographic algorithms must be minimized and small-sized
algorithms must be chosen.
International restrictions and rules for using, exporting, and importing cryptography must
be taken into account. This means that it must be possible to achieve the best permitted
security level according to the legislation of each area.
The primary goal is to provide security between client and server in terms of:
Privacy: Data sent is not presented in clear text to make it difficult for another network
user to look at the data. This is done through encrypting the data stream.
Authentication: A network partner can be sure that he or she is connected with the true
desired partner and not with someone else who pretends to be it. This is done through
digital certificates.
Denial of Service: Rejection and detecting data that is not successfully verified. This
is done through a WTLS function.
Security parameters for the secure connection establishment process may include, for
example, cryptographic algorithm, key exchange procedures, and authentication.
Service primitives provide support to initiate this secure connection. The following
service primitives are available:
SEC-Create:Initiates a secure connection with the following optional parameters:
Protocol Overview
The internal architecture of WTLS is shown in Figure below. The WTLS Record
Protocol is layered protocol and divided into four protocol clients – the handshake protocol,
the change cipher spec protocol, the alert protocol and the application data protocol. The
application protocol is not described here, since it is the interface for the upper layers.
Record Protocol
The Record Protocol takes messages to be transmitted, optionally compresses the data, applies
a MAC, encrypts and transmits the result. Received data is decrypted, verified, decompressed
and then delivered to higher level clients. Moreover, the Record Protocol takes care of the data
integrity and authentication.
Handshake Protocol
The Handshake Protocol is composed of three sub-protocols, which are used to allow peers to
agree upon security parameters for the Record Layer, authenticate themselves, instantiate
negotiated security parameters, and report error conditions to each other. This layer is
responsible for negotiating a secure session and produces the cryptographic parameters
described below:
Cipher Spec:Specifies the bulk data encryption algorithm (such as null, RC5, DES,
etc.) and a MAC algorithm (such as SHA-1).
Key Refresh:Defines how often some connection state values (encryption key, MAC
secret, and IV) calculations are performed.
Is Resumable:A flag indication whether the secure session can be used to initiate new
secure connection.
The change cipher spec protocol exists to signal transitions in ciphering strategies. The
protocol consists of a single message, which is encrypted and compressed under the current
connection state. The message consists of a single byte of value 1.
Alert Protocol
Alert messages convey the severity of the message and a description of the alert. There are
three types of alert messages: warning, critical, and fatal. Alert messages, labeled as critical or
fatal, result in termination of the current secure connection. Other connections using the secure
The Session layer protocol family in the WAP architecture is called the Wireless Session
Protocol, WSP. WSP provides the upper-level application layer of WAP with a consistent
interface for two session services. The first is a connection-mode service that operates above a
transaction layer protocol WTP, and the second is a connectionless service that operates above
a secure or non-secure datagram transport service.
The Wireless Session Protocol offers the HTTP request-response paradigm, and in addition it
offers a new service named Wap Push, allowing applications in the network to push
(unsolicited) data to a push-enabled application on the mobile device.
The Wireless Session Protocol started with the knowledge that many header names and values
in the Hyper_Text_Transfer_Protocol are fixed strings. With efficient over-the-air usage of the
bandwidth in mind, WSP attempts at encoding these fixed strings in a compact binary manner.
This way, the header cache-control: no-cache can be encoded in 2 bytes: one for the header
name (cache-control) and one for its value (no-cache).
On a protocol level, CO-WSP relies upon WTP for the added functionality. With CL-WSP,
the WTP layer is reduced to a one-byte transaction identifier, which is part of WSP as the 1st
byte. This way it is still possible in WTP to match a response with a request (same WSP
transaction identifier).
The word "connection" in connection-oriented WSP has nothing to do with the actual bearer
connection. In fact CO-WSP might be seen as a more stateful and elaborate version of CL-
WSP, where the latter provides only basic functionality.
WSP is based on HTTP 1.1 with few enhancements. WSP provides the upper-level application
layer of WAP with a consistent interface for two session services. The first is a connection-
oriented service that operates above a transaction layer protocol WTP and the second is a
connection less service that operates above a secure or non-secure datagram transport service.
Therefore, WSP exists for two reasons. First, in the connection-mode it enhances the HTTP
1.1's performance over wireless environment. Second, it provides a session layer so the whole
WAP environment resembles ISO OSI Reference Model.
WAE is the uppermost layer in the WAP software stack. This layer provides basic
components on which developers can develop their mobile applications. It provides an
environment that enables a wide range of applications to be used on wireless devices.The WAE
defines user agents, services, and formats. The WAE provides a vendor-neutral application
architecture based on Internet standards. The WAE specifications outlines an application
programming model that supports browsing, scripting, and extensions that allow cellular
network operators to offer network services within WAP. Like the WAP protocol stack
specifications, the WAE standards are tailored to suit the requirements of mobile devices and
networks.
HTTP was developed prior and is successful so why not use HTTP as the WWW model does?
The need for different environment was because mobile phones are much slower and
less have less bandwidth so a different model was required hence we came up with WAE.
Because WAE is designed to handle slower processors and the specific constraints of the
wireless network, such as limited bandwidth and high error rates, the markup languages
available to wireless devices, such as WML and WMLscript, are scaled-down and conform to a
format that requires less memory and processing power than HTML.
Parts of WAE
1. Addressing mode
syntax suitable for naming resources stored on servers. WAP use the same addressing
model as the one used on the Internet that is Uniform Resource Locators (URL).
WMLScript
WTA is a framework and programming interface for telephony services. The Wireless
Telephony Application (WTA) environment provides a means to create telephony
services using WAP.
WAP Model
Model for WAP is similar to that of HTTP but because a Web server only speaks
HTTP, WAE uses a gateway to translate between WAP and HTTP. Each wireless device
communicates with a designated gateway that makes calls to any number of Web servers.
Mobile phones today are equipped with WAP enabled browsers and colour screens.
This allows easily access to the Web and download online content or access online
services. People can use their phones to search on Google, send emails, or access a
website through WAP servers.
Mobile instant messaging (MIM) services are the same as online instant messaging
such as ICQ, Skype, and Windows Live Messenger except that it used on a cellphone.
It allows users to communicate with one or more selected friends or contacts using text
messages.
FTP servers can be deployed for accessing small file online .this allow easy remote
access for off site files on mobile. Big sized files are generally restricted on this server
as data rate is slow
● Banking
Buying everyday commodities and booking or buying tickets can be supported with
WAP servers which are accessed via mobiles to use these services
[1] https://en.wikipedia.org/wiki/Wireless_Application_Protocol
[2]https://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s1602wirelessappli
cationenvi ronment01.html
[3] http://www.informit.com/articles/article.aspx?p=19578&seqNum=10
[4] http://textofvideo.nptel.iitm.ac.in/106105081/lec22.pdf
[5]http://www.dauniv.ac.in/downloads/Mobilecomputing/MobileCompChap121L04WAPProtocolLayer
s.pdf
[6] https://www.slideshare.net/snehcp/coda-file-system