MC7503/ Mobile Computing Department of MCA
MC7503/ Mobile Computing Department of MCA
QUESTION BANK
                                          UNIT – I
PART – A
6.   What limits the number of user in TDM & FDM compared to CDM?
         The code space is huge compared to the frequency space and time space. Because of
      the limited time space and frequency space, the number of users in TDM & FDM are
      limited.
9. What is FHSS?
    Frequency Hopping Spread spectrum.
    FHSS is a narrow band signal
    It uses frequency hopping system
    It uses 78 frequency in the 2.4 GHz
                                                 1
MC7503/ Mobile Computing                                                       Department of MCA
15. What are the Sequence of operations from speech to radio waves in call routing of GSM ?
       Digitizer and source coding , Channel coding , Interleaving, Ciphering Burst formatting
    Modulation Multipath and equalization , Synchronization
                                                  2
MC7503/ Mobile Computing                                                       Department of MCA
                                                  3
MC7503/ Mobile Computing                                                        Department of MCA
      • MMS: MMS is Multimedia Messaging Service. This is the next generation messaging
             service.
                                                   4
MC7503/ Mobile Computing                                                           Department of MCA
                                               UNIT – II
1. List out IEEE 802.11 WLAN standards
    WLANs are flexible data communications systems implemented as an extension or as an
   alternative for wired LANs. WLANs transmit and receive data over the air using radio frequency
   (RF) technology. WLANs combine data connectivity with user mobility.
           8 0 2 . 1 1 a OFDM                         High-speed physical layer in 5GHz band
Advantages Advantages
   a short-range technology (30–50 ft)            RF site license required for protected bands
   Signals cannot penetrate solid objects         No multivendor interoperability
   Signal affected by light, snow, ice, fog       Low throughput and interference potential
    Used in : IrDA Devices                          Used in : WLAN , Bluetooth Devices
                                                    5
MC7503/ Mobile Computing                                                         Department of MCA
Exposed terminals
  B sends to A, C wants to send to another terminal (not A or B)
  C has to wait, CS signals a medium in use
  but A is outside the radio range of C, therefore waiting is not necessary
  C is ―exposed‖ to B
                                                   6
MC7503/ Mobile Computing                                                      Department of MCA
13. List High Performance Radio Local Area Networks Family of Standards.
                                                  7
MC7503/ Mobile Computing                                                          Department of MCA
  Employs optimized protocols for relatively             WAP2 assumes relatively high performance mobile
  inexpensive terminals and low bandwidth wireless       terminals and employs a lot of Internet standards.
  networks while sharing the tasks with WAP
  gateway
  Enables mobile terminals to be simple, but secure      This enables WAP2 mobile terminals to interact
  connections must be severed by the WAP                 with servers in the Internet directly and then to
  gateways to exchange WAP1 protocols with the           establish secure channels with them end‐to‐end.
  Internet.
  WML is really simple and difficult to do any           XHTML Mobile Profile (XHTML MP)is the markup
  kind of text formatting or graphics with it. It uses   language. Using XHTML MP and WAP CSS, it also
  tags, cards, decks                                     possible to separate content and presentation.
                                                   8
MC7503/ Mobile Computing                                                     Department of MCA
                                                     9
MC7503/ Mobile Computing                                                         Department of MCA
                     Bluetooth                                             IrDA
 Bluetooth is for wireless short range exchanges IrDA is for exchanges within a range of one meter in
 in mobile environment within 10 m network       the vicinity of line-of-sight. With respect to Bluetooth,
                                                 it has small form factor in radiation pattern and has 30°
 Network connection Latency-3 s for Bluetooth (±15°)
                                                 Network window
                                                           connection Latency- few ms for IrDA
 Bit rate-1 Mbps for Bluetooth 2.0                 Bit rate- 1.152 Mbps to 4 Mbps for IrDA
 Used for low power short range transmission        Used for low power short range transmission
Freq. band      Two 2.4 GHz physical layers     One 2.4 GHz physical layers       2.4 GHz for high data
                                                                                  transfer
Data          6 MHz to 54 MHz [OFDM ]           1 MHz (v1.2) and 24 Mbps in       250 kbps at 2.4 GHz, &40
transfer rate                                   higher versions.                  kbps at other bands.
Application     Network at high data transfer   Networking using 2.4 GHz for      Mesh networking for big
area            rates between computers         a set of systems mobile           scale automation and
                ,devices                        phones, Printers, laptops, and    remote controls at short
                                                smart sensors at short ranges     ranges at small data rates.
                                                of nearly 10m
                                                 10
MC7503/ Mobile Computing                                                       Department of MCA
                                              UNIT – III
1. Name the consequences & problems of using IP with the standard routing protocols & Name
   the requirements of mobile IP.
     The standard routing protocols does not allow the mobility of a node. In standard routing
        protocols for mobile nodes, in the routing table corresponding entry to this node has to be
        updated. The routers are built for extremely fast forwarding and not for extremely fast updates of
        tables. Requirements Compatibility, Transparency, Scalability, efficiency, Security
2. Compare the different types of transmission errors that can occur in wireless and wired
   networks.
     Single error: Error in a single bit; Burst Error: Error in a group of bits.
3. Define COA.
     Care-of-address: The COA defines the current location of the MN from an IP point of view. All
        IP packets sent to the MN are first delivered to the COA, not directly to the IP address of the MN.
6. Define Encapsulation.
     Encapsulation is an mechanism of taking a packet consisting of packet header and data and
       putting it into the data part of a new packet. Taking packet out of a data part of another packet is
       called encapsulation.
8. Define tunneling.
     A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint.
        Packets entering a tunnel are forwarded inside the tunnel and leave the tunnel unchanged.
        Tunneling: sending a packet through a tunnel, is achieved by using encapsulation.
                                                  11
MC7503/ Mobile Computing                                                            Department of MCA
         This means that although the computers might be only meters away, the pockets have to travel
          around the world! This inefficient behavior of a non-optimized mobile IP routing is called
          triangular routing. The triangle is made of the three segments, CN to HA, HA to COA/MN, and
          MN back to CN.
11. What is the basic purpose of DHCP in mobility? Name the entities of DHCP
     The Dynamic Host Configuration Protocol is mainly used for the simplification of installation
      computers in a network. If a new computer is connected to a network, DHCP can provide it with
      all necessary information for full integration to the network. DHCP is a major source of care-of-
      addresses needed for mobile IP. Entities of DHCP : DHCP server & DHCP client
Connectionless Connection-oriented
                                                    12
MC7503/ Mobile Computing                                                       Department of MCA
                                                 13
MC7503/ Mobile Computing                                                       Department of MCA
       Using negative acknowledgement between the foreign agent and the mobile host assumes the
        additional mechanisms on the mobile host. Thus, this approach is no longer transparent for
        arbitrary mobile hosts.
       All efforts for snooping and buffering data may be useless, if certain encryptions are applied end-
        to-end between the correspondent host and mobile host.
24. What is persistent mode in M-TCP? What is advantages and disadvantages of persistent TCP?
     The SH monitors all packets send to the MH and ACKs returned from the MH. If the SH does not
      receive an ACK for some time, it assumes that the MH is disconnected. It then chokes the sender
      by setting the sender‘s window size to zero. Setting the window size to zero forces the sender to
      go into persistent mode, i.e. the state of a sender will not change no matter how long the receiver
      is disconnected. This means that the sender will not try to retransmit data. As soon as the SH
      detects the connectivity again, it reopens the window of the sender to the old value. Thus the
      sender can continue sending at full speed.
25. What are the advantages of selective retransmission, disadvantages of selective retransmission?
Advantages
      a sender retransmits only the lost packets.
      This lowers bandwidth requirements and is extremely helpful in slow wireless links.
      Beneficial to wired, wireless networks.
Disadvantage
     more complex software on the receiver side to buffer necessary to re-sequence data Increase in
       memory sizes and CPU performance
                                                 14
MC7503/ Mobile Computing                                                                Department of MCA
                                                   UNIT –IV
1.       What is a MANET?
               MANET is a self-configuration wireless ad-hoc network of mobile nodes.
              A peer-to-peer wireless network which transmits data packets from one computer to another
               without the use of a central base station (access-point).
              Each node has a router or a switch connected by the wireless connection.
2.       What is the difference between fixed infrastructure network and an Ad-hoc network ?
                  Fixed Infra structure Network                   Ad-hoc network
4.       What is the difference between multicast tree network and a mesh network?
           In multicast tree network provides only a single path between a sender and a receiver.
           A mesh provides multiple paths between the sender and receiver nodes.
                                                        15
MC7503/ Mobile Computing                                                          Department of MCA
      A reactive protocol is one in which a routing node needs to maintain the routing addresses about
     the active paths only. They obtain the necessary path when it is required, by using a connection
     establishment process. Hence these protocols do not exchange routing information periodically.
     Ex: AODV , TORA
8.    Mention the security problems in ad-hoc mobile and wireless computing systems.
        SECURITY PROBLEMS                                        DESCRIPTION
       Increased threat of               The probability that a MANET or sensor node transmits
       eavesdropping                     unsolicited messages while moving in the wireless region of two
                                         nodes is increased in ad-hoc networks. Each node attempts to
                                         identify itself with a new node moving in its vicinity and during
                                         that process eavesdropping occurs.
       Unknown node caching the          An unknown node can move into the network and thus rigorous
       information                       authentication is required before the node is accepted as a part of
                                         MANET.
       Denial of service attacks         A number of transmission requests can be flooded into the system
                                         by the attacking nodes. Since for each request, an authentication
                                         process is initiated, which require exchange of message, the
                                         flooding of the message-exchanges chokes the MANET and
                                         denies the required services to genuine nodes.
       Authenticated node becoming       A previously authenticated device can be used for security attacks.
       hostile
        Sensor
            An RF transceiver for communication
            A microcontroller [CPU, memory, and ADC (analog-to-digital converter)]
            An energy source or a power supply. A charge pump in the sensor can trap the charge from
             the radiations and supply power for computations and communication
            Alternatively, an energy-harvesting module can be used to trap solar radiation and store the
             energy
                                                   16
MC7503/ Mobile Computing                                                             Department of MCA
12. Mention few physical, chemical and biological entities that can be sensed and measured.
    Few examples of physical, chemical, and biological entities that can be sensed and measured
    by a sensor are
  Physical — Current, voltage, magnetic, light, sound, frequency, temperature, pressure,
           acceleration, proximity to some object, rainfall, location shift, time stamps of GPS
           satellites, vibration, weather data, noise levels, traffic density of nearby passing vehicles
           and seismic activity
  Chemical — Chemical gas or liquid or material
  Biological — Protein or bacteria or virus
17. What is the main difference between WSN and Mesh network ? / What are the characteristic
    features of WSN ?
  In a sensor network, there is usually a single, global objective to be achieved. For example, in a
    surveillance application, a sensor network may be deployed to detect intruders. The global
    objective here is intrusion detection.
                                                     17
MC7503/ Mobile Computing                                                          Department of MCA
  Another characteristic feature of sensor networks appears in the packet scheduling algorithms
   used. Sensor nodes are battery-powered and the batteries cannot be replaced. Hence, energy-aware
   packet scheduling is of crucial importance.
  In multi hop wireless mesh networks , where we have a collection of source – destination pairs,
   and each pair is interested in optimizing its individual performance metric.
UNIT –V
                                                   18
MC7503/ Mobile Computing                                                      Department of MCA
5. What is android?
    Android is a stack of software for mobile devices which has Operating System, middleware and
      some key applications.
    The application executes within its own process and its own instance of Dalvik Virtual
      Machine. Many Virtual Machines run efficiently by a DVM device. DVM executes Java
      language byte code which later transforms into .dex format files.
                                                 19
MC7503/ Mobile Computing                                                           Department of MCA
        Android gives you a world-class platform for creating apps and games for Android users
         everywhere, as well as an open marketplace for distributing to them instantly.
                                                    20
MC7503/ Mobile Computing                                                             Department of MCA
       Intermittent Activity Expects some interactivity but does most of its work in the background.
        Often these applications will be set up and then run silently, notifying users when appropriate. A
        common example would be a media player.
13. Mention the different lifetimes associated with an activity in an android application.
    The full lifetime of Activity occurs between the first call to onCreate and the final call to
    onDestroy.
    An Activity‘s visible lifetimes are bound between calls to onStart and onStop. Between these
    calls, your Activity will be visible to the user, although it may not have focus and might be
    partially obscured.
    The active lifetime starts with a call to onResume and ends with a corresponding call to
    onPause.
                                                     21
MC7503/ Mobile Computing                                                          Department of MCA
       ProgressDialog: This dialog box displays a progress wheel or a progress bar. It is an extension
        of AlertDialog and supports adding buttons.
       DatePickerDialog: This dialog box is used for selecting a date by the user.
       TimePickerDialog: This dialog box is used for selecting time by the user.
    
18. What is the APK format? What is .apk extension?
     The APK file is compressed the AndroidManifest.xml file, application code (.dex files),
      resource files, and other files. A project is compiled into a single .apk file.
     The extension for an Android package file, which typically contains all of the files related to a
      single Android application. The file itself is a compressed collection of an AndroidManifest.xml
      file, application code (.dex files), resource files, and other files. A project is compiled into a
      single .apk file.
                                                    22
MC7503/ Mobile Computing                                                           Department of MCA
27. What is an adaptor in an android ? Mention the two most useful adapters.
     Adapters are bridging classes that bind data to user-interface Views. The adapter is
      responsible for creating the child views used to represent each item and providing access to
      the underlying data.
     ArrayAdapter The ArrayAdapter is a generic class that binds Adapter Views to an array of
     objects. By default, the ArrayAdapter binds the toString value of each object to a TextView
     control defined within a layout.
     SimpleCursorAdapter The SimpleCursorAdapter binds Views to cursors returned from
      Content Provider queries. We can specify an XML layout definition and then bind the value
      within each column in the result set, to a View in that layout.
28. What’s the difference between file, class and activity in android?
File – It is a block of arbitrary information, or resource for storing information. It can be of any type.
     Class – Its a compiled form of .Java file . Android finally used this .class files to produce an
     executable apk
     Activity – An activity is the equivalent of a Frame/Window in GUI toolkits. It is not a file or a file
     type it is just a class that can be extended in Android for loading UI elements on view.
                                                    23
MC7503/ Mobile Computing                                                          Department of MCA
                                                   24
MC7503/ Mobile Computing                                                          Department of MCA
                                                   25
MC7503/ Mobile Computing                                                        Department of MCA
PART B
                                                UNIT- I
1. Explain in detail about the different types of multiplexing.
     Multiplexing technologies may be divided into several types, space-division multiplexing
       (SDM), frequency-division multiplexing (FDM), time-division multiplexing (TDM), and code
       division multiplexing (CDM).
     Variable bit rate digital bit streams may be transferred efficiently over a fixed bandwidth
       channel by means of statistical multiplexing, for example packet mode communication.
       Packet mode communication is an asynchronous mode time-domain multiplexing which
       resembles time-division multiplexing.
     Digital bit streams can be transferred over an analog channel by means of code-division
       multiplexing (CDM) techniques such as frequency-hopping spread spectrum (FHSS) and
       direct-sequence spread spectrum (DSSS).
     In wireless communications, multiplexing can also be accomplished through alternating
       polarization (horizontal/vertical or clockwise/counterclockwise) on each adjacent channel and
       satellite, or through phased multi-antenna array combined with a Multiple-input multiple-
       output communications (MIMO) scheme.
    Space-division multiplexing
     In wired communication, space-division multiplexing simply implies different point-to-point
       wires for different channels. Examples include an analogue stereo audio cable, with one pair
       of wires for the left channel and another for the right channel, and a multipair telephone cable.
       Another example is a switched star network such as the analog telephone access network
       (although inside the telephone exchange or between the exchanges, other multiplexing
       techniques are typically employed) or a switched Ethernet network. A third example is a mesh
       network. Wired space-division multiplexing is typically not considered as multiplexing.
     In wireless communication, space-division multiplexing is achieved by multiple antenna
       elements forming a phased array antenna. Examples are multiple-input and multiple-output
       (MIMO), single-input and multiple-output (SIMO) and multiple-input and single-output
       (MISO) multiplexing. For example, a IEEE 802.11n wireless router with N antennas makes it
       possible to communicate with N multiplexed channels, each with a peak bit rate of 54 Mbit/s,
       thus increasing the total peak bit rate with a factor N. Different antennas would give different
       multi-path propagation (echo) signatures, making it possible for digital signal processing
       techniques to separate different signals from each other. These techniques may also be
       utilized for space diversity (improved robustness to fading) or beamforming (improved
       selectivity) rather than multiplexing.
Frequency-division multiplexing
     Frequency-division multiplexing (FDM): The spectrums of each input signal are swifted in
       several distinct frequency ranges.
     Frequency-division multiplexing (FDM) is inherently an analog technology. FDM achieves
       the combining of several digital signals into one medium by sending signals in several distinct
       frequency ranges over that medium.
     One of FDM's most common applications is cable television. Only one cable reaches a
       customer's home but the service provider can send multiple television channels or signals
       simultaneously over that cable to all subscribers. Receivers must tune to the appropriate
       frequency (channel) to access the desired signal.[1]
     A variant technology, called wavelength-division multiplexing (WDM) is used in optical
       communications.
                                                  26
MC7503/ Mobile Computing                                                         Department of MCA
Time-division multiplexing
    Time-division multiplexing (TDM) is a digital (or in rare cases, analog) technology. TDM
       involves sequencing groups of a few bits or bytes from each individual input stream, one after
       the other, and in such a way that they can be associated with the appropriate receiver.
    If done sufficiently and quickly, the receiving devices will not detect that some of the circuit
       time was used to serve another logical communication path.
    Consider an application requiring four terminals at an airport to reach a central computer.
       Each terminal communicated at 2400 bit/s, so rather than acquire four individual circuits to
       carry such a low-speed transmission; the airline has installed a pair of multiplexers.
    A pair of 9600 bit/s modems and one dedicated analog communications circuit from the
       airport ticket desk back to the airline data center are also installed.
Code-division multiplexing
    Code division multiplexing (CDM) or spread spectrum is a class of techniques where several
       channels simultaneously share the same frequency spectrum, and this spectral bandwidth is
       much higher than the bit rate or symbol rate. One form is frequency hopping, another is direct
       sequence spread spectrum.
    In the latter case, each channel transmits its bits as a coded channel-specific sequence of
       pulses called chips. Number of chips per bit, or chips per symbol, is the spreading factor. This
       coded transmission typically is accomplished by transmitting a unique time-dependent series
       of short pulses, which are placed within chip times within the larger bit time.
    All channels, each with a different code, can be transmitted on the same fiber or radio channel
       or other medium, and asynchronously demultiplexed. Advantages over conventional
       techniques are that variable bandwidth is possible (just as in statistical multiplexing), that the
       wide bandwidth allows poor signal-to-noise ratio according to Shannon-Hartley theorem, and
       that multi-path propagation in wireless communication can be combated by rake receivers.
    Code Division Multiplex techniques are used as an channel access scheme, namely Code
       Division Multiple Access (CDMA), e.g. for mobile phone service and in wireless networks,
       with the advantage of spreading intercell interference among many users. Confusingly, the
       generic term Code Division Multiple access sometimes refers to a specific CDMA based
       cellular system defined by Qualcomm.
                                                   27
MC7503/ Mobile Computing                                                       Department of MCA
      Spread spectrum enables a signal to be transmitted across a frequency band that is much
       wider than the minimum bandwidth required by the information signal. The transmitter
       "spreads" the energy, originally concentrated in narrowband, across a number of frequency
       band channels on a wider electromagnetic spectrum. Benefits include improved privacy,
       decreased narrowband interference, and increased signal capacity.
      Process 2 - Message modulation The message modulates the (hopping) carrier (FSK), thus
       generating a narrow band signal for the duration of each dwell, but generating a wide band
       signal, if the process is regarded over periods of time in the range of seconds. - Redundancy is
       achieved through the possibility to execute re-transmissions on different carrier frequencies
       (hops). There are two kinds of frequency hopping Slow Frequency Hopping (SFH)
      In this case one or more data bits are transmitted within one hop. An advantage is that
       coherent data detection is possible. Often, systems using slow hopping also employ (burst)
       error control coding to restore loss of (multiple) bits in one hop.
Fast Frequency Hopping (FFH)
    One data bit is divided over multiple hops. In fast hopping, coherent signal detection is
       difficult, and seldom used. Mostly, FSK or MFSK modulation is used. Slow frequency
       hopping is a popular technique for wireless LANs. In GSM telephony, slow frequency
       hopping can be used, at the discretion of the network control software.
3. i)Distinguish between GSM and CDMA. ii) Distinguish between 2G and 3G.
                                                 28
MC7503/ Mobile Computing                                                      Department of MCA
      Function: The main function of 2G technology is the transmission of information via voice
       signals while that of 3G technologies is data transfer via video conferencing, MMS etc.
      Features: The features like mobile TV, video transfers and GPS systems are the additional
       features of 3G technology that are not available with 2G technologies.
      Frequencies: 2G technology uses a broad range of frequencies in both upper and lower
       bands, under which the transmission depends on conditions such as weather. A drawback of
       3G is that it is simply not available in certain regions.
      Implication: 3G technology offers a high level of security as compared to 2G technology
       because 3G networks permit validation measures when communicating with other devices.
      Making Calls: Calls can be made easily on both 2G and 3G networks with no real noticeable
       differences except that in 3G network video calls can also be made. The transmission of text
       messages and photos is available in both the networks but 2G networks have data limit and
       the speed of the data transmission is also very slow as compared to 3G.
      Speed: The downloading and uploading speeds available in 2G technologies are up to 236
       Kbps. While in 3G technology the downloading and uploading speeds are up to 21 Mbps and
       5.7 Mbps respectively.
                                                 29
MC7503/ Mobile Computing                                                         Department of MCA
       The current release is WAP 2.0. WAP is intended to be the World Wide Web for cell phones.
        It is independent of the underlying cellular networks in use. To a cell phone or PDA user,
        WAP is perceived as a small browser application that can be used to browse some specific
        websites, quite similar to the web browsing experience on a desktop computer but with
        significant constraints due to the form factor of the mobile terminal.
    A WAP system employs a proxy-based architecture to overcome the inherent limitations of
        mobile devices with respect to low link bandwidth and high latency. Below is a list of features
        that separate WAP from other application protocols:
                     Wireless markup language (WML), WML script, and supporting WAP
                      application environment: Together, they are referred to as WAE. WML is an
                      HTML-like markup language specifically devised for mobile terminals that have
                      limited bandwidth, fairly small screen size, limited battery time, and constrained
                      input methods.
                     WSL is a scaled-down scripting language supported by the WAP application
                      environment. In addition, WAP 2.0 supports XHTML language, which allows
                      developers to write applications for both desktop computers and mobile
                      terminals.
                     WAP protocol stack: WAP Version 1.0 includes wireless session protocol
                      (WSP), wireless transaction protocol (WTP), wireless transport layer security
                      (WTLS), and wireless datagram protocol (WDP). Version 2.0 incorporates
                      standard Internet protocols into its protocol stack, such as TCP, transport layer
                      security (TLS), and Hyper Text Transport Protocol (HTTP). Both TCP and
                      HTTP are optimized for wireless environments.
                     WAP services, such as push and traditional request/response, user agent profile,
                      wireless telephony application, external functionality interface, persistent storage
                      interface, data synchronization, and multimedia messaging service.
                     WAP 1.0 has proved to be a technological hype; it has been intensively promoted
                      by wireless operators and content providers but has received little, if any,
                      positive feedback from users.
                     Because of that, WAP has sometimes been referred to as ― wait and pay. ‖
                      Interestingly, it is not only the protocol but also the applications utilizing WAP
                      that, as a whole, push users away because of application performance, input
                      methods, and the GUI interface, among other reasons.
    Moving toward standard IP protocols rather than specialized wireless protocols, WAP 2.0
        addresses most of the problems of the protocol stack and the application environment, thereby
        giving the technology a brighter future.
    iMode is a successful wireless application service provided by NTT DoCoMo. It is very
        similar to WAP in that it defines an architecture of web access on mobile terminals, primarily
        cell phones. Like WAP 2.0, iMode adopts standard Internet protocols as transport for
        applications, but iMode does not use any gateways. Instead, it utilizes overlay packet network
        on top of a cellular network for direct communication.
    The fundamental difference between WAP and iMode is that iMode requires mobile terminals
        to be designed to adapt to the services and applications of iMode, while WAP focuses on
        adapting itself to fi t into general mobile terminals. Furthermore, NTT DoCoMo‘s effective
        WAP initiative has managed to attract many satisfied providers who can offer a wide array of
        services and applications to users .
  ii) Short Message Service
        SMS allows two-way transmission of 160-character alphanumeric messages between
            mobile subscribers and external computing systems such as e-mail systems and paging
            systems. Because of its increasing popularity, SMS has been extensively combined with
            many new types of information services in addition to traditional usage.
        For example, both Google and Yahoo offer Internet searching via SMS. SMS was initially
            designed to replace alphanumeric paging service with two-way guaranteed messaging and
            notification services.
                                                  30
MC7503/ Mobile Computing                                                       Department of MCA
          Two new types of SMS components have been added to the cellular network: short
           message service center (SMSC) and signal transfer point (STP).
          An SMSC is a central controller of SMS services for the entire network. It interfaces with
           external message sources, such as voice-mail systems, e-mail systems, and the web.
           Messages sent from a mobile subscriber will also be stored and forwarded by the SMSC.
          An STP is a general network element connecting two separate portions of the network via
           SS7 signaling protocol. In the case of SMS, numerous STPs interface with the SMSC,
           each handling SMS transmission and delivery to and from a large number of mobile
           stations. No matter where the messages come from, the SMSC will guarantee delivery and
           inform the transmitter. For the SMSC to locate a mobile station for message delivery, it
           must utilize the cellular network, especially the HLR, VLR, and MSC of the mobile
           station.
         SMS has been enhanced with new capabilities to support enhanced message service
          (EMS) and multimedia message service (MMS). If you consider SMS to represent very
          early plaintext e-mails, you might think of EMS as the fancier HTML e-mails containing
          pictures, animations, embedded objects such as sound clips, and formatted text. MMS is
          the next generation messaging service that supports rich media such as video and audio
          clips.
       The wide use of picture messages sent from a camera cell phone is merely one example of
          MMS in action. MMS consumes more bandwidth so it requires a high data rate for the
          underlying network and considerable computing capability of the mobile handset. The
          multimedia service center (MMSC) performs similar tasks as the SMSC for SMS. The
          following list outlines the necessary steps of an MMS procedure:
               The transmitter sends a message to the MMSC from a cell phone, PDA, or
                   networked computer.
               The MMSC replies to the transmitter with a confirmation of ― message sent. ‖ In
                   fact, it is not sent to the receiver yet, as the message is stored at the MMSC.
               The MMSC locates the receiver with the help of a number of cellular network
                   elements, such as MSCs, HLRs, and VLRs. If the mobile station of the receiver is
                   ON, the MMSC sends a notification of a new message to it, along with a URL to
                   the new message. Otherwise, it waits and tries again later.
               The receiver can choose to download the message right away or save the URL to
                   download it later.
               The MMSC will be notified by the receiver that the message has been
                   downloaded and presumably read. Then the MMSC notifies the transmitter that the
                   message has been delivered. MMS is the natural evolution of SMS, with EMS as
                   an optional intermediate messaging service, but it is very unlikely that MMS will
                   replace SMS completely as plain text messages are preferable in many cases.
               Additionally, MMS does not require 3G; it can be done in 2.5G systems such as
                   GPRS and EDGE. Problems that may hinder the widespread use of MMS include
                   digital rights management of content being exchanged among many mobile
                   subscribers, development of a user-friendly interface design, and sufficiently large
                   bandwidth for message delivery.
5. Give the detail explanation of GSM ARCHITECTURE with neat diagram.
    It consists of minimum one administrative region assigned to one MSC (Mobile
       Switching Centre) known as PLMN (Public Land Mobile Network). Each administrative
       region is subdivided into one or many Location Area (LA).
    One LA consists of many cell groups. For each LA there will be at least one BSC. Cells
       are formed by the radio areas covered by a BTS (Base Transceiver Station). Several BTSs
       are controlled by one BSC.
    Traffic from the MS (Mobile Station) is routed through MSC. Calls originating /
       terminating in a fixed network or other mobile networks is handled by the GMSC
       (Gateway MSC).
                                                  31
MC7503/ Mobile Computing                                                      Department of MCA
      A GSM system consist of three subsystems, the radio sub system (RSS), the network and
       switching subsystem (NSS), and the operation subsystem (OSS). (GSM customer only
       notices MS ,BTS).
1. Radio subsystem
    As the name implies, the radio subsystem (RSS) comprises all radio specific entities, i.e.,
       the mobile stations (MS) and the base station subsystem (BSS). The A interface is based
       on circuit-switched PCM whereas the O interface uses the signaling system no.7 (SS7)
       based on X.25 carrying management data to/from the RSS.
          Base transceiver station (BTS): A BTS comprises all radio equipment, i.e.,
              antennas, signal processing, amplifiers necessary for radio transmission. A BTS is
              usually placed in the center of a cell. Its transmitting power defines the size of a
              cell.
          Base station controller (BSC): The BSC basically manages the BTSs. The BSC
              also multiplexes the radio channels onto the fixed network connections at the A
              interface.
          Mobile station (MS): The MS comprises all user equipment and software needed
              for communication with a GSM network. It consists of user independent hard- and
              software and of the subscriber identity module (SIM).
          SIM card contains many identifiers and tables such as card-type, serial number, a
              list of subscribed services, a personal identity number (PIN), a PIN unblocking key
              (PUK), an authentication key and the international mobile subscriber identity
              (IMSI).
          The MS stores dynamic information while logged onto the GSM system, such as,
              eg., the cipher key and the location information consisting of a temporary mobile
              subscribers identity (TMSI) and the location area identification (LAI).
          Base station subsystem (BSS): A GSM network comprises many BSSs, each
              controlled by a base station controller (BSC).
2. Network and switching subsystem
 The main of the GSM system is formed by the Network and Switching Subsystem (NSS). The
 NSS consist of the following switches and database
          Mobile services switches center (MSC): MSCs are high-performance digital ISDN
              switches. Typically, an MSC manages several BSCs in a geographical region. MSC
              can also connect to public data network (PDN) such as X.25.
          Gateway MSC (GMSC) that is associated with the MSC. The GMSC is the interface
              between the mobile cellular network and the PSTN. It is in charge of routing calls from
              the fixed network towards a GSM user and vice versa. The GMSC is often
              implemented in the same node as the MSC.
          Home location register (HLR): The HLR is the most important Database in a GSM
              system as its stores all user-relevant information. This comprises static information,
              such as the mobile subscriber ISDN number (MSISDN). It contains Dynamic
              information like the current location area (LA) of the MS, the mobile subscriber
              roaming number (MSRN), the current VLR and MSC.
                                                 32
MC7503/ Mobile Computing                                                   Department of MCA
         Visitor location register (VLR): VLR is similar to a cache, whereas HLR is the
            persistent storage. The VLR contains selected administrative information borrowed
            from the HLR, necessary for call control and provisioning. When a MS enters the
            covering area of a new MSC, the VLR associated with this MSC will request
            information from its corresponding HLR in the home network. The VLR will then
            have enough information in order to assure the subscribed services without needing
            to refer to the HLR each time a communication is established
3. Operation subsystem
         The third part the operation subsystem (OSS), contains the necessary functions for
            network operation and maintenance. The OSS is connected to the different
            components of the NSS and to the BSC. It is also in charge of controlling the traffic
            load of the BSS.
         Operation and maintenance center (OMC) : The OMC monitors and controls all
            other network entities via the O interface (SS7 with X.25). OMCs use the concept
            of telecommunication management network (TMN) as standardized by the ITU-T.
         Authentication centre (AuC) : is responsible for the authentication of a subscriber.
            This is a protected database and stores a copy of the secret key stored in each sub-
            scriber's SIM card. These data help to verify the user's identity.
         Equipment identity register (EIR): The EIR is a database for all IMEIs, i.e., it
            stores all device identification registered for this network. The EIR has a blacklist
            of stolen (or locked) devices. The EIR also contains a list of malfunctioning devices
6. Draw the Protocol stack of GSM and specify its functions?(Network aspects of GSM)
    Protocol Architecture of GSM consist of FIVE Layers. MS and MSC have five Protocol
      Layers whereas the BTS and BSC have only first three Layers
                                               33
MC7503/ Mobile Computing                                                     Department of MCA
         Channel Coding make use of different Forward Error Correction Schemes(FEC) to add
           redundancy to the user data and to correct selected data.
         Voice Activity Detection transmits voice data only when there is a voice signal. During
           Periods of silence, the physical layer generates the Comfort Noise to fake a connection,
           but no actual transmission takes place.
   LAYER 2: LAPDM( Link Access procedure for D-channel) protocol has been defined at the
    Um interface for layer 2. It is the version of HDLC and it is a light weight LAPD as it does not
    need synchronization flags or checksum for error deduction. LAPDm has to obey the frame
    structure, recurrence pattern defined for Um interface. It provides Reliable data transfer over
    connection, Re-sequencing of data frames ,Flow control ‗Segmentation and reassembly of data
    ‗Acknowledged / Unacknowledged data transfer.
   LAYER 3: NETWORK LAYER : It Comprises many sub layers, lowest sub layer is Radio
    Resource Management(Rr). The main task of RR include
           Setup, Maintenance and Release of Radio channels
           RR directly access the physical layer for Radio information
           Offers a reliable connection to the next higher layer
    RR’ : RR‘ is a part of this layer that is implemented in the BTS, and the rest is in the BSC.
            The function of RR‘ are supported by the BSC via the BTS management (BTSM) .
                                                34
MC7503/ Mobile Computing                                                                                    Department of MCA
       Access Control and Authentication: It does Authentication of valid user for the SIM.
          The user need a secrete PIN to access the SIM. Subscriber authentication isbased on
          challenge response scheme
       Confidentiality: User related data is encrypted. BTS and MS apply encryption to voice,
          data, and signaling. This confidentiality exists only between MS and BTS and not end-to-
          end
       Anonymity: To provide user anonymity, all data is encrypted before transmission, and
          user identifiers which would reveal an identity are not used over the air. GSM transmits a
          temporary identifier (TMSI),which is newly assigned by the VLR after each location
          update.
     ALGORITHMS USED
        A3 : For Authentication
        A5 : For Encryption
        A8 : For Generation of a Cipher key
     AUTHENTICATION: Any subscriber must be authenticated before using service from
      GSM network. It is done at AUC
     Authentication is based on
          SIM-which stores the individual authentication key Ki ,User identification IMSI and
             A3 – an algorithm used for authentication
     Authentication uses a CHALLENGE – RESPONSE METHOD
          The access control AC generates a random number RAND as challenge
          SIM with MS answer with SRES (signature response)as response
          The AUC performs the basic generation of random values RAND, signed responses
             SRES, and cipher keys Kc for each IMSI, and then forwards this information to the
             HLR,
          The current VLR requests the appropriate values for RAND, SRES, and Kc, from the
             HLR
            AUTHENTICATION
              GSM - authentication
                                                                 RAND
                                      Ki    RAND                                   RAND        Ki
                                           A3                                            A3
                                                                                                          SIM
                                  SRES* 32 bit                                    SRES     32 bit
                                                                 SRES
                  MSC            SRES* =? SRES                                           SRES
                                                                 32 bit
 For Authentication the VLR sends the random values RAND to SIM
      Both sides, network and subscriber module ,perform the same operation with RAND and the
        key Ki called A3
      The MS sends back the SRES generated by the SIM, the VLR can now compare both values.
        If they are the same, the VLR accept the subscriber, otherwise the subscriber is rejected.
 DATA ENCRYPTION
      Encryption is done to ensure privacy and is done by applying the cipher key Kc.Kc is
        generated using the individual key Ki and a random value by applying the algorithm A8.
      The SIM in the MS and the network both calculate the same Kc, based on the random value
        RAND. The key Kc itself is not transmitted over the air interface.MS and BTS can now
        encrypt and decrypt data using the algorithm A5 and the cipher key Kc.
                                                                   35
MC7503/ Mobile Computing                                                                      Department of MCA
     Kc should be a 64 bits key which is not very strong but atleast a                      good protection against
      simple eavesdropping.
                                                   RAND
                             Ki    RAND                         RAND         Ki
                 AC     128 bit        128 bit               128 bit         128 bit   SIM
A8 A8
               cipher   Kc
               key      64 bit                               Kc
                                                             64 bit
                                   data          encrypted             SRES
                                                                         data
                BSS
                                                 data                                   MS
                                  A5                                    A5
                                                       36
MC7503/ Mobile Computing                                                    Department of MCA
                                               37
MC7503/ Mobile Computing                                                     Department of MCA
                                                38
MC7503/ Mobile Computing                                                    Department of MCA
ROAMING:
 Handover relates to moving from one point of attachment to another point of attachment
   within the same network operator; when this movement happens between two different
   networks it is called roaming.
 When a subscriber moves to a different operator‘s PLMN (Public Land Mobile Network), the
   subscriber must register with the new network to indicate its current location. The first
   location update procedure is called attach procedure. A location update message is sent to the
   new MSC / VLR, which records the location area information, and then sends the location
   information to the subscriber‘s HLR.
 If the mobile station is authenticated and authorized in the new MSC / VLR, the subscriber‘s
   HLR cancels the registration of the mobile station with the old MSC/VLR. A location update
   is also performed periodically.
 Roaming allows GSM users to seamlessly move around nationally and internationally and
   remain connected. A powered on mobile is informed of an incoming call by a paging message
   sent over the paging channel of the cells within the current location area. The location update
   procedures, and subsequent call routing, use the MSC and both HLR and the VLR. The
   information sent to the HLR is normally the SS7 address of the new VLR.
 An incoming mobile terminating call is directly to the Gateway MSC (GMSC) function. The
   GMSC is basically a switch, which is able to interrogate the subscriber‘s HLR to obtain
   routing information and thus contains a table linking MSISDNs to their corresponding HLR.
 MSRN is a temporary location-dependent MSISDN number. It is assigned by the serving
   VLR for each MS in its area. MSRNs are numbers reserved by a PLMN only for roaming use.
Roaming is of two types
    Horizontal Roaming: Horizontal Roaming is between two networks from same family.
       For example, GSM to GSM roaming or GSM to UMTS roaming.
    Vertical Roaming: Vertical Roaming is between two networks from different families.
       For example, GSM to CDMA roaming or GPRS to WiFi roaming. Seamless roaming is
       Vertical Roaming without disruption of session.
10. Explain SHORT MESSAGE SERVICES (SMS) architecture and features in detail.
                                               39
MC7503/ Mobile Computing                                                     Department of MCA
      SMS is the most popular data bearer/service within GSM with an average of one billion SMS
       messages transacted every day around the world
      SMS uses the free capacity of the SS#7 signaling channel.
                                                40
MC7503/ Mobile Computing                                                    Department of MCA
                                               41
MC7503/ Mobile Computing                                                  Department of MCA
GPRS Backbone
   GTP protocol is used in between SGSN and GGSN within one PLMN & SGSN and
     GGSN of different PLMNs. GTP protocol tunnels the user data packets through the
     GPRS backbone with specific routing information. GTP packets carry the user's data
     packets from both IP and X.25 data networks.
   Below GTP, the standard protocols TCP or UM' are used. TCP is used for tunneling
     X.25 data. UDP is used for IP.
   Ethernet, ISDN, or ATM-based protocols may be used in the physical layer in the IP
     backbone. IP/X.25-over-GTP-over-UDP/TCP-over-IP transport architecture.
BSS-SGSN Interface
 The BSS and SGSN interface is divided into the following layers:
    Sub-Network Dependent Convergence Protocol (SNDCP): It is used to transfer data
    packets between SGSN and MS. Its functionality includes:
    Multiplexing of several connections of the network layer onto one virtual connection of
    LLC
    Segmentation, compression, and decompression of user data.
    Logical Link Control (LLC): a data link layer protocol for GPRS which functions
    similar to Link Access Procedure—D (LAPD).
    Base Station System GPRS Protocol (BSSGP): The BSSGP delivers routing and
    QoS-related information between BSS and SGSN.
    Network Service: This layer manages the convergence sublayer that operates between
    BSSGP and the Frame Relay Q922 Core by mapping.
    Data Link Layer:The data link layer between the MS and the BSS is divided into three
    sublayers:
     Logical Link Control (LLC): It provides a reliable logical link between an MS and its
        assigned SGSN. Its functionality is based on HDLC protocol and includes sequence
        control, in-order delivery, flow control, detection of transmission errors, and
        retransmission ARQ. Encryption is used in this interface to ensure data confidentiality.
        Variable frame lengths are possible. Both acknowledged and unacknowledged data
        transmission modes are supported. This protocol is an improved version of the LAPDm
        protocol used in GSM.
     Radio Link Control (RLC): The main purpose is to establish a reliable link between
        the MS and the BSS. This includes the segmentation and reassembly of LLC frames
        into RLC data blocks and ARQ of uncorrectable data.
     Medium Access Control (MAC): It controls the access attempts of an MS on the radio
        channel shared by several VISs. It employs algorithms for contention resolution,
        multiuser multiplexing on a packet data traffic channel (PDTCH), and scheduling and
        prioritizing based on the negotiated QoS.
Physical Layer :The physical layer between MS and BSS is divided into two sublayers: the
physical link layer (PLL) and the physical RF Layer (RFL).
                                              42
MC7503/ Mobile Computing                                                       Department of MCA
     Physical Link Layer (PLL): This layer provides services for information transfer over
       a physical channel between the MS and the network. These functions include data unit
       framing, data coding, and the detection and correction of physical medium
       transmission errors
     Physical RF Layer (RFL): This layer performs the modulation of the physical wave-
       forms based on the sequence of bits received from the Physical Link layer above. The
       Physical RF layer also demodulates.
     Some existing GSM network elements which are to be enhanced to support packet data:
     Base Station System (BSS): BSS system needs enhancement to recognize and send
       packet data. This includes BTS upgrade to allow transportation of us er data to the
       SGSN. Also, the BTS needs to be upgraded to support packet data transportation
       between the BTS and the MS (Mobile Station) over the radio.
     HomeLocation Register (HLR): It needs enhancement to register GPRS user profiles
       and respond to queries from GSNs regarding profiles.
     Mobile Station (MS): It is different from that of GSM.
     SMS nodes: SMS-GMSCs and SMS-IWMSCs are upgraded 1.o support SMS trans-
       mission via the SGSN. Optionally, the MSC/VLR can be enhanced for more efficient
       co-ordination of GPRS and non-GPRS services and functionality.
                                                 43
MC7503/ Mobile Computing                                                  Department of MCA
         'activate PDP context request,' -MS informs the SGSN about the requested PDP
          context
         'create PDP context request' – from SGSN to the GGSN if authentication is
          successful.
         The GGSN creates a new entry in its PDP context table to route data packets
          between the SGSN and the external PDN.
         'create PDP context response' - GGSN returns confirmation to the SGSN with the
          PDP address
         ‗activate PDP context accept' - SGSN updates its PDP table and confirms the
          activation to MS.
          The disconnection from the GPRS network is called GPRS detach. All the resources
           are released following a GPRS detach. Detach process can be initiated by the mobile
           station or by the network.
Mobility Management
    As a mobile station moves from one area to another, mobility management functions are
        used to track its location within each PLMN. SGSNs communicate with each other to
        update the MS's location in the relevant registers. The mobile station's profiles are
        preserved in the VLRs that are accessible to SGSNs via the local MSC. A logical link
        is established and maintained between the mobile station and the SGSN at each PLMN.
                                              44
MC7503/ Mobile Computing                                                   Department of MCA
        At the end of transmission the logical link is released and the resources associated with
        it can be reallocated.
Routing
     Consider two intra-PLMN backbone networks of different PLMNs. Intra-PLMN
        backbone networks connect GSNs of the same PLMN or the same network operator.
        These are private packet-based networks of the GPRS network provider; for example,
        Airtel GSNs in Bangalore connecting to Airtel GSNs in Delhi through a priva te data
        network.
14. Write short notes on (i)DATA SERVICES IN GPRS (ii) GPRS Applications.
     i) DATA SERVICES IN GPRS
         Two mode of services are Application mode or Tunneling mode.
         Application mode: Users use GPRS mobile phone to access the applications running on the
         phone itself. The phone is the end user device. WAP browser allows browsing of WAP
         sites. This mode supports mobile execution environment. These devices support
         development of client application that can run on the device --- Symbian and J2ME.
                                               45
MC7503/ Mobile Computing                                                          Department of MCA
         Tunneling mode: This mode is for mobile computing where the user will use the GPRS
         interface as an access to the network. The end user device will be a large footprint device
         like laptop computer or small footprint device like PDAs. For these devices, access can be
         gained via a PC Card (PCMCI) or via a serial cable to a GPRS-capable phone. These 'black-
         box' devices do not have display, keypad and voice accessories of a standard phone.
ii )APPLICATIONS of GPRS
      Generic Applications :Information services, Internet access, email, Web Browsing, mass
        market applications offering contents like sports scores, weather, flight information, news
        headlines, prayer reminders, lottery results, jokes, horoscopes, traffic information ,Access to
        corporate net, Intranet Mobile commerce Banking over wireless
GPRS-Specific Applications
      Chat GPRS will offer ubiquitous chat by integrating Internet chat and wireless chat
        using SMS and WAP.
      Multimedia Service: Multimedia objects like photographs, pictures, postcards, greeting
        cards and presentations, static web pages can be sent and received over the mobile
        network.
      Virtual Private Network: GPRS network can be used to offer VPN services. Many
        banks are migrating from VSAT to GPRS-based networks. This is expected to reduce
        the transaction time by about 25%.
      Personal Information Management: Personal diary, address book, appointments,
        engagements are kept in the phone some in the organizer and some in the Intranet. Using
        GPRS, J2ME and WTAI the address book, the diary of the phone can be integrated with the
        diary at the home office.
      Job Sheet Dispatch: GPRS can be used to assign and communicate job sheets from office-
        based staff to mobile field staff. It can be combined with vehicle positioning applications so
        that the nearest available suitable personnel can be deployed to serve a customer.
      Unified Messaging: Unified messaging uses a single mailbox for all messages, including
        voice mail, fax, e-mail, SMS, MMS, and pager messages.
                                                   46
MC7503/ Mobile Computing                                                             Department of MCA
       Vehicle Positioning: This application integrates GPS that tell people where they are. Vehicle-
        positioning applications can be used to deliver several services including remote vehicle diagnostics,
        ad hoc stolen vehicle tracking and new rental car fleet tariffs and services in logistics industry.
       Location-based Services and Telematics: Location-based services provide the ability to link
        push or pull information services with a user's location. Examples include hotel and restaurant
        finders, roadside assistance, and city-specific news and information.
                                             UNIT – II
                                               Part -B
1. Explain about WLAN architecture and entities in detail
     IEEE 802.11 WLAN
     In 1997 the IEEE developed an international standard for WLANs: It focuses on the bottom two
     layers of the OSI model: the physical layer (PHY) and data link layer (DLL). The objective of
     the IEEE 802.11 standard was to define a medium access control (MAC) sublayer, MAC
     management protocols and services, and three PHYs for wireless connectivity of fixed, portable,
     and moving devices within a local area.
     Architecture
     The architecture of the IEEE 802.11 WLAN is designed to support a network where most decision-
     making is distributed to mobile stations. Two network architectures are defined in the IEEE
     802.11 standard:
     Infrastructure network: It provides communication between wireless clients and wired
        network resources. The transition of data from the wireless to wired medium occurs via an
        AP. Together all the devices form a basic service set.
     Point-to-point (ad hoc) network: Typically, an ad hoc network is created spontaneously
        between wireless devices and does not support access to wired networks. An ad hoc network
        does not require an AP.
   Three basic topologies for WLANs:
     The BSS is an ad hoc network/ a peer-to-peer network in which communicate directly with
      one another on an ad hoc\peer-to-peer basis. An IBSS is typically a short-lived network, with a
      small number of stations that is created for a particular purpose.
   The BSS configuration relies on an AP that acts as the logical server for a single WLAN cell
      or channel. All communications are through AP An AP performs a bridging function,
      connects multiple WLAN cells, and connects WLAN cells to a wired LAN.
   The ESS configuration consists of multiple BSS cells that can be linked by either wired or
      wireless backbones called a distributed system. To network the equipment outside of the ESS,
      the ESS and all of its mobile stations appear to be a single MAC-layer network where all
      stations are physically stationary. Thus, the ESS hides the mobility of the mobile stations
      from everything outside the ESS.
WLAN Equipment
   LAN adapter : They provide the interface between the network operating system and an antenna
    to create a transparent connection to the network.
   AP : The AP is the wireless equivalent of a LAN hub. It receives, buffers, and transmits data
      between the WLAN and the wired network
   Outdoor LAN bridges : Outdoor LAN bridges are used to connect LANs in different buildings.
                                                     47
MC7503/ Mobile Computing                                                       Department of MCA
802.11 MAC uses a positive ACK, inter-frame space (IFS) & exponential back off algorithm.
     A station with a frame to transmit senses the medium. If the medium remains idle for a time
       equal to IFS (inter frame space- delay), then the station can transmit. If a medium is busy, the
       station defers transmission and continues to monitor the medium until transmission is over.
       Once the transmission is over, station delays another IFS. If the medium remains idle, then
       station senses the medium using exponential back off scheme.
     Exponential Back off Algorithm
         It is used to resolve contention problems among different stations wishing to transmit
            data at the same time. When a station goes into the back off state, it waits an additional,
            randomly selected number of time slots
         During the wait, the station continues sensing the medium. At the end of its contention
            window, if the medium is still free the station can send its frame. If another station
            begins transmitting data, the back off counter is frozen and counting down starts again
            when the channel returns to the idle state.
     Inter frame space IFS: It uses a delay is known as an inter frame space IFS.
       There are 3 different type of IFS.
       SIFS (Short IFS) : It is used for all immediate response action. (ACK, CTS)
       PIFS (Point Coordination IFS) : A middle length IFS, used by centralized controller in PCF
       scheme when issuing polls.
       DIFS (Distributed Coordination IFS) : A longest IFS used as a minimum delay for
       asynchronous frames .
                                                  48
MC7503/ Mobile Computing                                                      Department of MCA
  Exposed terminals
    B sends to A, C wants to send to another terminal (not A or B)
    C has to wait, CS signals a medium in use
    but A is outside the radio range of C, therefore waiting is not necessary
    C is ―exposed‖ to B
  MACA (Multiple Access with Collision Avoidance) / CSMA with CA uses short signaling
  (control) packets for collision avoidance:
   RTS (request to send): a sender request the right to send from a receiver with a short RTS
     packet before it sends a data packet
   CTS (clear to send): the receiver grants the right as soon as it is ready
    Signaling packets contain:
    o sender address ,receiver address
    o packet size (from which the transmission time
        can be derived)
    MACA avoids the problem of hidden stations
     A and later C want to send to B
     A sends RTS first
     B sends CTS to A and B
     C waits after receiving CTS from B
                                                49
MC7503/ Mobile Computing                                                      Department of MCA
                                                 50
MC7503/ Mobile Computing                                                       Department of MCA
                             2          More Data. 1
                                        WEP. 1 = data processed with WEP algorithm.
                             1
                                        0 = no WEP.
                             0          Order. 1 = frames must be strictly ordered.
        Duration ID          15 - 0     For data frames = duration of frame.
        Address 1            47 - 0     Source address (6 bytes).
        Address 2            47 - 0     Destination address (6 bytes).
                                        Receiving station address (destination wireless
        Address 3            47 - 0
                                        station)
        Sequence
                             15 - 0
        Control
        Address 4            47 - 0     Transmitting wireless station.
        Frame Body                      0 - 2312 octets (bytes).
                                        Frame Check Sequence (32 bit CRC). defined
        FCS                  31 - 0
                                        in P802.11.
     Destination Address (DA). DA indicates the MAC address of the final destination to receive
      the frame.
     Source Address (SA). SA indicates the MAC address of the original source that initially
      created and transmitted the frame
     Receiver Address (RA). RA indicates the MAC address of the next immediate STA on the
      wireless medium to receive the frame.
     Transmitter Address (TA). TA indicates the MAC address of the STA that transmitted the
      frame onto the wireless medium
                                                 51
MC7503/ Mobile Computing                                                         Department of MCA
        BRAN project (Broadband Radio Access Networks). The HiperLAN standard family has four
        different versions. It uses 5.15–5.25 GHz band.
       HIPERLAN /1 is aligned with the IEEE 802 family of standards and is very much like a
        modern wireless Ethernet. DLL is further divided into two parts, the channel access control
        (CAC) sublayer and MAC sublayer.
       The CAC sublayer defines how a given channel access attempt will be made depending on
        whether the channel is busy or idle and at what priority level an attempt will be made.
       MAC layer defines the various protocols which provide the HIPERLAN/1 features of power
        conservation, security, and multihop routing as well as service to the upper layers of protocols.
       HIPERLAN/1 uses the same modulation technology that is used in GSM, GMSK. It has an
        over air data rate of 23.5 Mbps The range in a indoor environment is 35 to50 m.
       Elimination-yield non-preemptive priority multiple access (EY-NPMA) divides the medium
        access of different competing nodes into three phases:
        Prioritization: Determine the highest priority of a data packet ready to be sent by
         competing nodes.
        Contention: Eliminate all but one of the contenders, if more than one sender has the
         highest current priority.
        Transmission: Finally, transmit the packet of the remaining node.
       HIPPERLAN 2:
       Protocol stack of HIPERLAN/2.
    HIPERLAN/2 has three basic layers: PHY, data link control layer (DLC), and convergence
    layer (CL)
  The protocol stack is divided into a control plane and a user plane.
    The user plane includes functions for transmission of traffic over established connections
                                                  52
MC7503/ Mobile Computing                                                         Department of MCA
       The control plane performs functions of connection establishment, release, and supervision.
       A burst consists of a preamble part and a data part. The data part originates from each of the
        transport layers within DLC.
       A key feature of the PHY is to provide several modulation and coding schemes to meet the
        requirements for different PHY modes
       The DLC layer constitutes the logical link between an AP and mobile terminals (MTs). The
        DLC includes functions for medium access and transmission as well as terminal/user
        connection handling. The DLC layer consists of MAC, error control (EC), radio link control
        (RLC), DLC connection control (DCC), radio resource control (RRC), and association control
        function (ACF)
       HIPERLAN/2 is based on the time-division duplex/time-division multiple access
        (TDD/TDMA) and uses a MAC frame of 2 ms duration. HIPERLAN/2 operates as a
        connection-oriented wireless link.
        The CL between the DLL and network layer provides QoS. CL is two-fold
           — it maps the service requirements of the higher layer to the service offered by DLC
             - converts packets received from the core n/w to the format expected by lower layers.
       There are two types of CL. One is cell-based and the other is packet-based.
       packet-based CLwhich can be further divided into a common part and a service-specific part
       (SSCS). SSCS is for switched Ethernet and IEEE 1394 Firewire. SSCS is dedicated to provide
       support to mobile IP.
       HIPERLAN /2 QoS schemes: the best-effort scheme and priority scheme.
       By using IP QoS parameters, the CL establishes DLC connections in which IP QoS
        parameters are mapped into DLC connections for priority, radio bandwidth reservation,
        appropriate ARQ scheme, and handover strategy.
       The CL associates a specific link scheduling priority, discarding time and/or bandwidth
        reservation to each DLC queue. The CL segments IP traffic to fixed length packets. The
        segmentation and reassembly causes extra complexity in the CL but enables a better
        bandwidth reservation policy.
6. Draw WAP 1.1 Architecture (in comparison with HTTP) and explain about its components.
       WDP is used for transmitting and receiving the datagram over the network like UDP.
       WTLS, an optional layer, provides a public-key -based security mechanism similar to TLS.
       WTP provides transaction support adapted to the wireless world. WTP pulls the data from
        computing provisions for both push and pull
       Wireless Session Protocol (WSP) enables compressed binary encoding and does a number of
        tasks required for wireless environment sessions.
       Application layer includes Wireless Application Environment (WAE) which provides web
        services.
   WAP 1.1 gateway
        Gateway does protocol conversions between two ends—mobile client device and HTTP
         server. (i.e) The gateway converts WAE 1.1data packets into the HTTP data packets and
         vice versa.
        It has caches which is required due to frequent disconnections in the wireless environment.
        The gateway ensures security in wireless and wired networks.
        the gateway performs is iWML Script compilation.
        WAP gateway does pull and push but HTTP can do only pull
                                                   53
MC7503/ Mobile Computing                                                    Department of MCA
                                               54
MC7503/ Mobile Computing                                                      Department of MCA
  Fig : WDP protocol header over the upper layer data and return of error code as per the
        error
 Wireless Transport Layer Security (WTLS)
     TLS is an optional layer over wired Internet. TLS layer maps to SSL (secure socket layer) in
      HTTPS. It enables secured networking of data from the transport layer.
                                                 55
MC7503/ Mobile Computing                                                      Department of MCA
    WSP supports stateless data transfers. SyncML codes bind with WSP for connectivity to the
    Internet. WSP can be thought as a compressed binary encoded version - extended version of
    HTTP.
    WSP also supports asynchronous exchanges, multiple requests push and pull mechanisms of data
    dissemination, capability negotiation, content encoding, content type definitions, and WBXML
    (WAP binary XML).
     Class 0—for a source sending the unconfirmed push. It supports session suspension,
    resumption, and management. No response from the other end.
     Class 1—for a source sending the confirmed push.
     Class 2—for a source supporting session invocation, suspension, and resumption
                                                 56
MC7503/ Mobile Computing                                                      Department of MCA
    All information in WML is a collection of decks and cards. Each deck can have number of
    cards. There is a navigational link from one card to another. WML provides for management
    of the navigation between cards and decks. Tags are used for markups before and after a text. A
    tag defines the specific function or action of the text. The information is taken from the text
    within a pair of start and end tags.
       WML card is used to create cards for mobile application(program, command, data, image)
       A card represents an interaction with the user (mobile) and the deck
       A set of procedural elements are used to control navigation between the cards.
       A WML parser parses the tags, the attributes, and the underlying text within the tags present
         within the deck or card.
                                                57
MC7503/ Mobile Computing                                                        Department of MCA
     A WML deck is saved in a file with extension WML. A WML card containing a client-
      request is transmitted and is decoded at the gateway to HTML and generates an HTML
      response is encoded in WML form at the gateway. The gateway transmits the WML response to
      mobile-device client which runs an application after parsing the WML.
WMLScript
  WMLScript is a WAP 1.1 scripting language in WML and is used in wireless environment.
  WMLScript is analogous to CGI script in HTML. It is used for retrieving the application data
  after running the script codes at the server, (Script means the codes in text format that are
  interpreted when required- each code is converted to executable code-run when required )
                                                  58
MC7503/ Mobile Computing                                                     Department of MCA
       size). It executes the WMLScript at the client and displays the results. User agent displays
       the WML decks received as response from the server. User Agent Profile provides small
       screen device characteristics, font, and display capabilities.
Data formats
    The data displayed on a mobile device is in special data formats. vCard 2.1 is the format for
       visiting card. vCalendar 1.0 is the format for calendar. Also a mobile device provides
       pictogram which is a small picture of very Iow resolution that cannot be split and can be
       placed along with the text. A pictogram is used for displaying logo.
                                                59
MC7503/ Mobile Computing                                                           Department of MCA
          WAP 2.0 is wireless protocol for synchronization of WAP client computers and WAP /HTTP
         server. A WAP gateway connects WAP client to HTTP servers. HTTP server serves the
         websites on the Internet.
          WAP 2.0 has three important features over WAP 1.1—(a) SyncML synchronization, (b)
         WAP push service, and (c) MMS service.
          WAP 2.0 has backward compatibility and supports WAP 1.1 devices as well.
        XHTML 2.0 has a number of modules. Examples are edit, presentation, meta information of a
         document, text, list, table, forms, structures, targets, bidirectional text, style-sheets, server-
         side image map, client-side image map, scripting, and link
Property Description
       Bluetooth protocol(a) Radio Layer: specifies details of the air interface: Uses unlicensed ISM
       layers                band, around 2.45GHz SS with frequency hopping- medium access is
                             TDMA
                         (b) Baseband (Link Controller): connection establishment within a piconet,
                             addressing, packet format, timing and power control.
                         (c) Link Manager Protocol (LMP): responsible for link setup and link
                             management. Includes security aspects (encryption & authentication).
                         (d) Logical Link Control and Adaptation Protocol (L2CAP) : adapts upper
                             layer protocols to the
                             Baseband layer. Provides both connectionless and connection oriented
                             services.
                         (e) SDP (Service discovery protocol): queries a device for device information,
                             services and service characteristics.
                         (f) HCI (Host control interface): allows the implementation of lower
                             Bluetooth functions on the Bluetooth device and higher protocol functions
                             on a host machine.
                             RFCOMM: a reliable transport protocol, which provides emulation of
                             RS232 serial ports over the L2CAP protocol.
                                                    60
MC7503/ Mobile Computing                                                       Department of MCA
10. i) Write short notes on IrDA PROTOCOLS ii)What are the features of ZIGBEE IEEE
       802.15.4?
      Infrared (IR) rays are invisible radiations of wavelength higher than that of red. An LED or a
          solid-state laser emits IR rays when it is supplied with a 10-20 mA current from a low power
          battery or power source. Direct line-of-sight IR from an LED is detected at the receiver
          (photodetector) to get the data. The detector has 30° (± 15°) window to detect the incoming
          radiation.
      IR rays are used for remote control of TV or IrDA (infrared data association) which is a
          protocol for personal communication area network deploying infrared rays.
      OBEX supports security by encryption and decryption at transmitter and receiver,
          respectively. It communicates and, exchanges binary data by establishing a client—server
          network between two IR devices.
           Property                                           Description
 Wavelength                         900 nm
 IrDA device levels                Five levels of communication—minimum, access, index, sync,
 of communication                  and SyncML (Levels 1-5). Levels specify a method
                                   of communication, from simple to SyncML-based.
 IrDA data transfer rates          IrDA 1.0 protocol for data rates up to 115 kbps. IrDA 1.1
                                    supports data rates of 1.152 Mbps to 4 Mbps (16 Mbps
                                   draft recommended).
 Sessions,object             (a)   IrLAN (for Infrared LAN access)
 exchange, and               (b)   IrBus (for access to serial bus by joysticks, keyboard, mice, and
 other IrDA protocols              game
                             (c)    ports)
                             (d)   IrMC (IrDA mobile communication and telephony protocol)
                             (e)   IrTran (IrDA transport protocol for image or file transfers)
                             (f)   IrComm [IrDA communication protocol by emulating serial or
                                   parallel port]
                             (g)   IrOBEX (for object exchange)
                                                  61
MC7503/ Mobile Computing                                                      Department of MCA
A set of electric bulbs associates with the ZigBee routers ZB, ZC, and ZD forms a peer-to-peer
connection network (ZE-ZD-ZC-ZB-ZA) with last one being ZigBee end-device (ZA).
                                                 62
MC7503/ Mobile Computing                                                               Department of MCA
A ZigBee coordinator (ZG) will connect this network with other ZigBee networks (e.g., of mobile
hand-held devices ZE and ZF). The coordinator ZG also connects the access-point for WLAN and
provides Internet connectivity to router ZJ for security system, to cellular phone network and set-up box
device ZH,
        Features                                        Description
 Radio frequency          ISM bands-2.4 GHz orthogonal QPSK , 915 MHz (USA)
                           and 868 MHz (USA)
ZigBee device channels 16 ZigBee channels 2.4 GHz,
 ZigBee data transfer rates   250 kbps per channel, when using 915 MHz bands; thereafter n
                              at 40 kbps per channel
  Radio interface             DSSS
                              Physical and a DLL (data link layer) part, called MAC (media
ZigBee protocol layers
                              access control)
  Device types                Coordinator, router, and end-device types
  Routing protocol            AODV
  Protocol layers                    Physical layer as provided in IEEE 802.15
                                     MAC layer as provided in IEEE 802.15
                                     Security and application software layers as specified by the
                                       ZigBee Alliance
Network characteristics           Self-organization, peer-to-peer, and mesh networks
Application examples           A ZigBee-enabled electric meter communicates electricity
                                  consumption data to the mobile meter reader
                               A ZigBee-enabled home security system alerts the mobile
                                 user of any security breach at home
                                                       63
MC7503/ Mobile Computing                                                       Department of MCA
                                            UNIT – III
                                             Part - B
1. Explain the various entities and terms needed to understand mobile IP & With neat diagram
explain the packet delivery mechanism to and from MN
 Various entities in Mobile IP
     Mobile node (MN): A mobile node is an end-system or router that can change its point of
       attachment to the internet using mobile IP. The MN keeps its IP address and can continuously
       communicate with any other system in the internet
     Correspondent node (CN): At least one partner is needed for communication. CN represents
       this partner for the MN. The CN can be a fixed or mobile node.
     Home network: HN is the subnet the MN belongs to with respect to its IP address. No mobile IP
       support is needed within the home network.
     Foreign network: FN is not the home network but the current subnet that the MN visits
     Foreign agent (FA): FA provides several services to the MN during its visit to the foreign
       network. Using CoA(care of Address) it works as conductor of channeling packet delivery to MN.
       It is default router for MN and provides security services
     Care-of-address: The COA defines the current location of the MN from an IP point of view. All
       IP packets sent to the MN are first delivered to the COA, not directly to the IP address of the MN.
     Co-located COA: The COA is called co-located if the MN temporarily acquired an additional IP
       address which acts as COA. This address is now topologically correct, and the tunnel endpoint is
       at the MN. Co-located addresses can be acquired services such as DHCP
     Foreign agent COA – The COA could be located at the FA, i.e., the COA is an IP address of the
       FA. Thus the FA is the tunnel end-point and forwards packets to the MN. Many MN using the FA
       can share this COA as common COA.
     Home agent (HA): HA provides several services for the MN and is located in the home network.
       The tunnel for packets toward the MN starts at the HA. The HA maintains a location registry( it is
       informed of the MN‘s location by the current COA). The HA can be a router at HN / on an
       arbitrary node in the subnet./ not necessary at all.
      Packet delivery mechanism to and from MN.
   A CN wants to send packet to the MN. CN does not need to know anything about the MN‘s location.
   Step 1 : CN sends the packet as usual to the IP address of MN . CN sends an IP packet with MN as a
   destination address and CN as a source address. The internet routes the packet to the router responsible
   for the home network of MN using the standard routing mechanisms.
   Step 2: The HA now intercepts the packet knowing that MN is currently not in its home network. The
   packet is now encapsulated and tunneled to the COA. A new header is put in front of the old IP header
   showing the COA as new destination and HA as source of the encapsulated packet
   Step 3: The FA now decapsulates the packet, i.e., removes the additional header and forwards the
   original packet with CN as source and MN as destination. MN receives the packet with the same
   sender and receiver address as it would have done in the home network.
                                                 64
MC7503/ Mobile Computing                                                       Department of MCA
   Step 4: The MN sends the packet as usual with its own fixed IP address as source and CN‘s address as
   destination. The router with the FA acts as default router and forwards the packet in the same way as it
   would do for any other node in the foreign network. If CN is a fixed node the remainder is as usual. If
   CN is also a mobile node in a foreign network, the same mechanisms as described in steps 1 through 3
   would apply now in the other direction.
2. How does the mobile-network discover the foreign agent when it has moved?
    MN after moving has to find a foreign agent. Methods to discover FA are
            i) Agent advertisement                      ii) Agent Solicitation.
   After the process of either advertisement or agent solicitation, MN can receive a CoA. MN also knows
   its own location and the capabilities of the agent to which it needs to be connected
   Agent advertisement and discovery:
         FA and HA advertise their presence periodically using special agent advertisement messages.
          These advertisement messages are broadcasted as beacon into the subnet. ICMP messages (RFC
          1256) are used with some mobility extensions for these advertisements. Routers in the fixed
          network implementing this standard also advertise their routing service periodically to the
          attached links.
 The TTL field of the IP packet is set to 1 for all advertisements to avoid forwarding them.
     Advertisement Message :         upper part - ICMP packet          lower part - extension needed for
      mobility.
     type is set to 9
     code can be 0, if the agent also routes traffic from non-mobile nodes,
                       16, if it does not route anything other than mobile traffic.
     Checksum is for validity of data
     #addresses: The number of addresses advertised with this packet
     Lifetime denotes the length of time this advertisement is valid.
     addresses: Addresses of router
     Preference levels help a node to choose the router that is the most eager to get a new node.
    The extension for mobility has the following fields defined:
     Type: 16,
     Length depends on the number of COAs provided with the message.
                                                 65
MC7503/ Mobile Computing                                                         Department of MCA
ii) Agent Solicitation: If the MN has not received any advertisement or a CoA by some means, then MN
must solicit by agent solicitations. Care must be taken to avoid flooding of router solicitations. Typically,
a mobile node can send out three solicitations, one per second, as soon as it enters a new network.
In highly dynamic wireless networks with moving MNs and continuous packet streams even one second
intervals between solicitation messages might be too long. Before an MN even gets a new address many
packets will be lost.
If a node does not receive an answer to its solicitations it must decrease the rate of solicitations
exponentially to avoid flooding the network until it reaches a maximum interval between solicitations
(typically one minute). Solicitation is executed when the MN is disconnected. Even when it is connected it
can solicit agents for better connection.
3. (i)Write down the requirements/Goal of mobile IP.
   (ii) How does MN register with the HA, after received a COA?
   (iii) Discuss the reverse Tunneling method in mobile IP.
                                                   66
MC7503/ Mobile Computing                                                       Department of MCA
        packet to a mobile host that this host receives the packet. There are no ways of preventing fake IP
        addresses or other attacks.
(ii) How does MN register with the HA, after received a COA?
     Having received a COA, the MN has to register with the HA. The main purpose of the registration
        is to inform the HA of the current location for correct forwarding of packets.
         TYPE I Registration: If the COA is at the FA, the MN sends its registration request
             containing the COA to the FA which is forwarding the request to the HA. The HA now sets
             up a mobility binding containing the mobile node‘s home IP address and the current COA.
         It also contains the lifetime of the registration which is negotiated during the registration
             process. After the lifetime the registration is deleted; so, an MN should reregister before
             expiration. After setting up the mobility binding, the HA sends a reply message back to the
             FA which forwards it to the MN.
      TYPE II Registration :If the COA is co-located, registration can be simpler. The MN may send
        the request directly to the HA and vice versa. This, by the way, is also the registration procedure
        for MNs returning to their home network
      UDP packets are used for registration requests because of low overheads and better
        performance. The UDP destination port is set to 434. The fields are:
                                                  67
MC7503/ Mobile Computing                                                        Department of MCA
   However, MN still sends packets with its fixed IP address as source which is not topologically correct
   in a foreign network.
   But, Firewalls filter packets coming from outside containing a source address from computers of the
   internal network. However, this also implies that an MN cannot send a packet to a computer residing in
   its home network. Use only some globally available addresses, to solve the problems arising when
   using NAT together with mobile IP.
   ● Multi-cast: Reverse tunnels are needed for the MN to participate in a multicast group. While the
   nodes in the home network might participate in a multi-cast group, an MN in a foreign network cannot
   transmit multi-cast packets in a way that they emanate from its home network without a reverse tunnel.
   ● TTL: Consider an MN sending packets with a certain TTL while still in its home network. The TTL
   might be low enough so that no packet is transmitted outside a certain region. If the MN now moves to
   a foreign network, this TTL might be too low for the packets to reach the same nodes as before.
   Mobile IP is no longer transparent if a user has to adjust the TTL while moving. A reverse tunnel is
   needed that represents only one hop, no matter how many hops are really needed from the foreign to
   the home network.
   Reverse tunneling now creates a triangular routing problem in the reverse direction. All packets from
   an MN to a CN go through the HA. RFCs not offer a solution for this reverse triangular routing,
   because
       There are different ways of performing the encapsulation needed for the tunnel between HA and
        COA
         IP-in-IP ENCAPSULATION: For mobile IP, IP-in-IP encapsulation is mandatory. The new
          header is called the outer header and inner header is identical to the original header for IP-in-
          IP encapsulation.
                                                  68
MC7503/ Mobile Computing                                                       Department of MCA
 Minimal encapsulation:
As seen with IP-in-IP encapsulation, several fields are redundant. Minimal encapsulation is an optional
encapsulation method for mobile IP. The tunnel entry point and endpoint are specified. The type of the
following protocol contains the value 55 for the minimal encapsulation protocol.
  The inner header is different for minimal encapsulation. The address of the MN is needed. If the S bit is
  set, the original sender address of the CN is included. There is no fragmentation offset in the inner
  header because minimal encapsulation does not work with already fragmented packets.
                                                  69
MC7503/ Mobile Computing                                                        Department of MCA
   The outer header is the standard IP header with HA as source address and COA as destination address.
   The protocol type used in this outer IP header is 47 for GRE. The other fields of the outer packet, such
   as TTL and TOS, may be copied from the original IP header. However, the TTL must be decremented
   by 1 when the packet is decapsulated to prevent indefinite forwarding.
   The GRE header starts with several flags indicating if certain fields are present or not. A minimal GRE
   header uses only 4 bytes; nevertheless, GRE is flexible enough to include several mechanisms in its
   header.
     If C is set, the checksum field contains a valid IP checksum of the GRE header and the payload.
     R bit indicates if the offset and routing fields are present and contain valid information.
     K bit is set- key field which may be used for authentication.
     S Bit indicates whether the sequence number field is present, used by a decapsulator to restore
       order.
     recursion control field (rec.) represents a counter that shows the number of allowed recursive
       encapsulations.
          If the field is not zero, additional encapsulation is allowed – the packet is encapsulated and the
          field decremented by one. Otherwise the packet will most likely be discarded.
         This mechanism prevents indefinite recursive encapsulation which might happen with the other
         schemes if tunnels are set up improperly (e.g., several tunnels forming a loop). The default value
         of this field should be 0, thus allowing only one level of encapsulation.
       reserved fields must be zero and are ignored on reception.
       version field contains 0 for the GRE version.
       protocol (2 byte ) field represents the protocol of the packet following the GRE header.
                 e.g., 0 × 6558 for transparent Ethernet bridging using a GRE tunnel.
                      0 × 800 for mobile IP tunnel
5. How does Dynamic Host Configuration Protocol maintain a n/w?
     The dynamic host configuration protocol is mainly used to simplify the installation and
       maintenance of computers connected to a n/w.
     If a new computer is connected to a network, DHCP can provide it with all the Necessary
       following information for full system integration into the network, addresses of the default router
       & DNS servers the subnet mask the domain name                 IP address.
     Providing an IP address makes DHCP very attractive for mobile IP as a source of care-of-
       addresses.
                                                  70
MC7503/ Mobile Computing                                                     Department of MCA
        The client broadcasts a DHCPDISCOVER into the subnet. There might be a relay to forward
         this broadcast. Two servers receive this broadcast and determine the configuration they can
         offer to the client.
        This could be the checking of available IP addresses and choosing one for the client. Servers
         reply to the client request with DHCPOFFER - a list of configuration parameters offered.
         The client can now choose one of the configurations offered.
        The client in turn replies to the servers, accepting one of the configurations and rejecting the
         others using DHCPREQUEST. If a server receives a DHCPREQUEST with a rejection, it
         can free the reserved configuration for other possible clients. The server with the
         configuration accepted by the client now confirms the configuration with DHCPACK. This
         completes the initialization phase.
        If a client leaves a subnet, it should release the configuration received by the server using
         DHCPRELEASE. Now the server can free the context stored for the client and offer the
         configuration again.
        The configuration a client gets from a server is only leased for a certain amount of time. It
         has to be reconfirmed from time to time. Otherwise the server will free the configuration.
         This timeout of configuration helps in the case of crashed nodes or nodes moved away
         without releasing the context.
    A DHCP server should be located in the subnet of the access point of the mobile node, or at least
     a DHCP relay should provide forwarding of the messages. RFC 3118 specifies authentication for
     DHCP messages
                                                71
MC7503/ Mobile Computing                                                        Department of MCA
                                                  72
MC7503/ Mobile Computing                                                       Department of MCA
Advantages of I-TCP
     I-TCP does not require any changes in the TCP protocol. All current optimizations for TCP still
       work between the foreign agent and the correspondent host
     Due to strict partitioning into two connections, transmission errors on the wireless link, i.e, lost
       packets, cannot propagate into the fixed network.
     Different solutions can be tested or used at the same time without jeopardizing the stability of the
       internet. Furthermore, optimizing of these new mechanisms is quite simple because they only
       cover one single hop
     The short delay between the mobile host and foreign agent can be determined and was
       independent of other traffic streams.. An optimized TCP can use precise time-outs to guarantee
       retransmission as fast as possible. Even standard TCP benefits from the short RTT, thus
       recovering faster from packet loss.
     Partitioning into two connections also allows the use different transport layer protocol between
       the foreign agent and the mobile host are the use of compressed header etc.
Disadvantages of I-TCP
     The loss of end-to-end semantics of TCP might cause problems if the foreign agent partitioning
       the TCP connection crashes. If a sender receives an acknowledgement, it assumes that the
       receiver got the packet. Receiving an acknowledgement only means (for the mobile host and a
       correspondent host) that the foreign agent received the packet. The correspondent node does not
       know anything about the partitioning.
     Increased hand-over latency may be much more problematic.
     A foreign agent must be a trusted entity.
     Data transfer from the correspondent host to mobile host: The foreign agent buffers every
      packet until it receives an acknowledgement from the mobile host. If it does not receive an
      acknowledgement from the mobile host, now the foreign agent retransmits the packet directly
      from the buffer, performing a much faster retransmission compared to the correspondent host.
    The foreign agent must not acknowledge data to the correspondent host to remain transparent,
      However, the foreign agent can filter the duplicate acknowledgements to avoid unnecessary
      retransmissions.
    So even if the foreign agent now crashes, the time-out of the correspondent host still works and
      triggers a retransmission. The foreign agent may discard duplicates of packets and avoids
      unnecessary traffic on the wireless link.
    Data transfer from the mobile host to correspondent host : The foreign agent snoops into the
      packet stream to detect gaps in the sequence numbers of TCP. As soon as the foreign agent
      detects a missing packet, it returns a negative acknowledgement (NACK) to the mobile host. The
      mobile host can now retransmit the missing packet immediately.
Advantages:
    The end-to-end TCP semantic is preserved and No matter at what time the foreign agent crashes
                                                 73
MC7503/ Mobile Computing                                                       Department of MCA
      most of the enhancements are in the foreign agent. Does not even require changes in the mobile
       host.
     As the mobile host moves to another foreign agent during, though data in the buffer is not
       transferred to the next foreign agent, it leads to a time-out at the correspondent host and CA does
       retransmission.
     if the next foreign agent is not using the enhancement the approach automatically falls back to
       the standard solution.
Disadvantages:
     Snooping TCP does not isolate the behaviour of the wireless link as good as I-TCP. The problems
       on the wireless link are now also visible for the correspondent host and not fully isolated.
     Using negative acknowledgement between the foreign agent and the mobile host assumes the
       additional mechanisms on the mobile host. Thus, this approach is no longer transparent for
       arbitrary mobile hosts.
     All efforts for snooping and buffering data may be useless, if certain encryptions are applied end-
       to-end between the correspondent host and mobile host. Snooping on the sequence numbers will
       no longer work after encrypting TCP header.
                                                 74
MC7503/ Mobile Computing                                                      Department of MCA
                                                 75
MC7503/ Mobile Computing                                                      Department of MCA
       Web services are mostly based on HTTP. HTTP request can be transmitted the TCP connection
        has to be established. If GPRS is used as wide area transport system, one-way delays of 500 ms
        and more are quite common. The setup of a TCP connection already takes far more than a second.
     T/TCP can combine packets for connection establishment and connection release with user data
        packets. This can reduce the number of packets down to two instead of seven.
    Advantage
              reduction in the overhead which standard TCP has for connection setup and connection
                 release.
    Disadvantages:
              it requires changes in the mobile host and all correspondent hosts.
              no longer hides mobility.
              Furthermore, T/TCP exhibits several security problems.
10. i)Explain in detail about Traditional TCP. ii) Compare all TCP enhancements for mobility.
    i) Traditional TCP
     Congestion control: Congestion may appear from time to time. If the buffers of the router are
        filled and if the router cannot forward packets to output link, congestion occurs. As result of
        congestion, it drop packets.
     Exponential growth of congestion window Suppose congestion window size = n, if a sender
        receives acknowledgement from this window, then it doubles the congestion window size as to n,
        if the congestion window size < congestion threshold, this is called exponential growth.
     Slow start: The sender always calculates a congestion window for a receiver. Initially, the
        congestion window is one. The sender sends one packet and waits for acknowledgement. If this
        acknowledgement arrives, the sender increases the congestion window by one, congestion
        window = 2. After arrival of the two corresponding acks, it increases the congestion window
        equal to 4. This exponential growth is used up to threshold (half of the current congestion
        window). As soon as the congestion window reaches the threshold, increase is only linear by
        adding 1 to the congestion window. When ACK is lost due to congestion, sender stats from
        sending one segment.
     Fast retransmit A sender receives continuous acknowledgement for the same packet. It informs
        that the gap in packet stream is not due to severe congestion but a simple packet lost due to
        transmission error. The sender can now re-transmit the missing packet before the timer expires.
        This behavior is called fast retransmit.
     Fast recovery A sender receives continuous acknowledgement for the same packet. It informs
        that the gap in the packet stream is not due to severe congestion but a simple packet lost due to
        transmission error. The sender can continue with same window. The sender can now re-transmit
        the missing packet and now recover fastly from the packet loss. This behavior is called fast
        recovery.
    ii) Comparison of TCP enhancements :
                                                 76
MC7503/ Mobile Computing                                                   Department of MCA
                                           UNIT- IV
                                            Part - B
1. Briefly explain about the characteristics and applications of MANETs.
     MANET Characteristics :
PROPERTY DESCRIPTION
                                             77
MC7503/ Mobile Computing                                                      Department of MCA
                                                 78
MC7503/ Mobile Computing                                                     Department of MCA
  DSR Nodes
   Each node caches the specified route to destination during source routing of a packet through
     that node.
   This enables a node to provide route specification when a packet source routes from that
     node.
   Each node deletes the specified route to destination during routing of error packet in reverse
     path to the source in case of observing a disconnection during forward path to destination.
   The deletion of link shown in a table or cache is called link reversal.
                                                79
MC7503/ Mobile Computing                                                       Department of MCA
Phase 2 in DSR
    When any source node desires to send a message, it first looks at its route cache.
    If the required route is available in cache, the source node puts all the addresses of the nodes
       for the path to destination in the header.
          D             A          D-C-A
          D             B          D-C-A-B
          D             F          D-E-F
          D             G          D-E-F-G
                                                  80
MC7503/ Mobile Computing                                                        Department of MCA
                                                  81
MC7503/ Mobile Computing                                                   Department of MCA
3. Describe TORA. Compare the features of TORA with the DSR and AODV protocols.
     Temporally ordered routing Algorithm (TORA )
       Temporally ordered routing algorithm (TORA) is a source-initiated on demand routing
          protocol (reactive ) which uses a link reversal algorithm and provides loop-free
          multipath routes to a destination node.
       In TORA, each node maintains its one-hop local topology information and also has the
          capability to detect partitions.
       TORA has the unique property of limiting the control packets to a small region during the
          reconfiguration process initiated by a path break.
       Employed for highly dynamic MANETs and provides an improved partial link reversal
          process. Discovers the network portions showing the link reversal(s).
       Assumes addresses of the routers in the path and of source and destination for one
          set of input route. Each node provides only one set of subsequent route addresses.
       It Possesses network capacity such that many nodes can send packets to a given
          destination.
       Links between routers conceptually viewed as a ―height‖.
       Link is directed from the higher router to the lower router. Height adjustments occur
          when topology changes.
Phase I:
      The route establishment function is performed only when a node requires a path to a
       destination but does not have any directed link.
      This process establishes a destination-oriented directed acyclic graph (DAG) using a
       Query/Update mechanism. Consider the network topology shown in the following Figure.
      In this example source node is 1 and the destination node is 7. Source node sends a Query
       packet with the destination address included in it.
      This Query packet is forwarded by intermediate nodes 2, 3, 4, 5, and 6, and reaches the
       destination node 7, or any other node which has a route to the destination.
      In this example, the destination node 7 originates an Update packet containing its distance
       from the destination which is zero.
                                                82
MC7503/ Mobile Computing                                                         Department of MCA
      Each node that receives the Update packet sets its distance to a value higher than the distance
       of the sender of the Update packet.
      By doing this, a set of directed links from the node which originated the Query to the
       destination node 7 is created.
       Thus H( 7 ) = 0 : H(3)= H(5) =H(6) = 1 : H(2) = H(4) = 2 :           H(1) = 3
      Once a path to the destination is obtained, it is considered to exist as long as the path is
       available, irrespective of the path length changes due to the reconfigurations that may take
       place during the course of the data transfer session.
Phase II:
      When an intermediate node (say, node 5) discovers that the route to the destination node is
       invalid, as illustrated in the following Figure ,it changes its distance value to a higher value
       than its neighbors and originates an Update packet.
      The neighboring node 4 that receives the Update packet reverses the link between 1 and 4
       and forwards the Update packet. This is done to update the DAG corresponding to
       destination node 7. This results in a change in the DAG.
      If the source node has no other neighbor that has a path to the destination, it initiates a fresh
       Query/Update procedure. Assume that the link between nodes 1 and 4 breaks. Node 4
       reverses the path between itself and node 5, and sends an update message to node 5.
      Since this conflicts with the earlier reversal, a partition in the network can be inferred. If the
       node detects a partition, it originates a Clear message, which erases the existing path
       information in that partition related to the destination.
                                                  83
MC7503/ Mobile Computing                                                        Department of MCA
       By limiting the control packets for route reconfigurations to a small region, TORA incurs
        less control overhead.
       Concurrent detection of partitions and subsequent deletion of routes could result in
        temporary oscillations and transient loops.
       The local reconfiguration of paths results in non-optimal routes.
  Flooding is used for route     Flooding is used for route        Flooding is used for route
  discovery.                     discovery.                        discovery.
  DSR exploits source            Stores the next hop routing       It is a source-initiated on
  routing and routing            information in the routing        demand       routing       protocol
  information caching.           tables at nodes along active      (reactive ) which uses a link
                                 routes.                           reversal algorithm and provides
                                                                   loop-free multipath routes to a
                                                                   destination node.
  Supports unidirectional        Doesn‘t Support                   Supports unidirectional link as
  link as well as provide        unidirectional link.              well as provide multiple paths.
  multiple paths.
  It does not exchange hello     It exchanges hello messages       It does not exchange hello
  messages.                      periodically to listen to         messages periodically to listen to
                                 disconnected links.               disconnected links.
  In DSR, a node notifies        In AODV, a node notifies the      In TORA, a node re-constructs
  the source to re-initiate a    source to re-initiate a new       DAG when it lost all downstream
  new       route   discovery    route discovery operation         links.
  operation when a routing       when     a     routing     path
  path     disconnection    is   disconnection is detected.
  detected.
  Uses flooding to inform        Uses flooding to inform           TORA localizes the effect in a set
  nodes that are affected by a   nodes that are affected by a      of node near the occurrence of the
  link failure.                  link failure                      link failure.
  Loop can be avoided by         AODV uses sequence                In TORA, each node in an active
  checking addresses in route    numbers to avoid formation        route has a unique height and
  record field of data           of route loops.                   packets are forwarded from a node
  packets.                                                         with higher height to a lower.
4. Describe an application of defining the cluster of nodes and features of CGSR protocol.
   / Explain in detail about any two proactive routing protocols.
   i)Cluster-head Gateway Switch Routing (CGSR) :
      A hierarchical routing protocol. proactive protocol
      When a source routes the packets to destination, the routing tables are already available at the
          nodes
      A cluster higher in hierarchy sends the packets to the cluster lower in hierarchy. Each cluster
          can have several daughters and forms a tree-like structure in CGSR.
      The nodes aggregate into clusters using an appropriate algorithm. The different clusters can
          be assigned to different band of frequencies in FDMA or different spreading CDMA codes.
   CGSR Algorithm :
      Defines a cluster-head, the node used for connection to other clusters. Also defines a
          gateway node which provides switching (communication) between two or more cluster-
          heads.
       Three types of nodes in CGSR
      i ) Internal nodes in a cluster which transmit and receive the messages and packets
          through a cluster-head.
     ii) Cluster-head in each cluster such that there is a cluster-head which dynamically schedules the
                                                  84
MC7503/ Mobile Computing                                                            Department of MCA
            route paths. It controls a group of ad-hoc hosts, monitors broadcasting within the cluster, and
            forwards the messages to another cluster-head.
        iii) Gateway node to carry out transmission and reception of messages and packets between
              cluster- heads of two clusters
     Cluster structure
             A higher performance of the routing protocol as compared to other protocols because it
                provides gateway switch-type traffic redirections and clusters provide an effective
                membership of nodes for connectivity.
     Phases 1, 2, and 3 of CGSR
             Routing path discovery and caching, maintaining update, and distribution, respectively
             The basic processes of CGSR are cluster definitions and selection of clusters for routing
             Algorithms are used for both the processes.
     P hase 1: Routing path discovery and caching :
           Each node maintains a routing table that determines the next hop to reach other clusters.
               An algorithm that can be used in this phase is the destination-sequenced distance vector
               (DSDV) algorithm.
           It means that it finds the next hop to the distant destinations. With the help of the
               algorithm, cluster member table is created using the sequence numbers in RREQ packets
               which are broadcast periodically.
     Phase 2: Maintaining routing information :
           A clustering algorithm used for maintenance of routing information is least cluster change
               (LCC). A cluster-head changes only when one of the nodes moves out of the range of all
               the cluster-heads in the cluster or two cluster-heads come within one cluster.
           A token-based algorithm can be used to control the transmission within a cluster. A
               cluster-head should get more chance to transmit as it is in charge of broadcasting within
               the cluster and of forwarding packets between nodes.
           The cluster-heads are given priority such that route path utilization is maximized and
               packets are transmitted with minimum delay. Another algorithm is the priority token
               scheduling (PTS). It gives higher priority to the neighbouring nodes from which a packet
               was received recently.
             Each node dynamically maintains a cluster member table. An algorithm is such that a
                node will periodically change the entries in its cluster member table when a new
                sequence number entry is received from the neighbour after successful RREP.
             The table rows map each node to its own cluster-head. A node transmits its cluster
                member table periodically. After receiving broadcasts from other nodes, a node uses the
                DSDV algorithm to update its own cluster member table. Following example explains
                the meaning of hierarchical clustering.
ii)Flat Routing Table Driven Protocol
             Routing cache table used earlier was a routing table which builds by caching the RERP
               and RERR packets
             Flat routing table driven protocol is a proactive protocol. • This means that routing table
               will be available in advance at a node
             In the proactive protocol, the routing table is available at each node shows available
               routes from itself to target destination node, is dynamically modified to show available
               routes, and has rows for all destined targets irrespective of whether they will eventually be
               needed or not.
             The packet does not specify route in the header and the routes need not be discovered
               after the demand is raised
iii) Optimized Link State Routing Protocol (OLSR)
       The optimized link state routing (OLSR) protocol is a proactive routing protocol that
        employs an efficient link state packet forwarding mechanism called multipoint relaying.
        This protocol optimizes the pure link state routing protocol.
       Optimizations are done in two ways: by reducing the size of the control packets and by
        reducing the number of links that are used for forwarding the link state packets.
                                                     85
MC7503/ Mobile Computing                                                       Department of MCA
     The reduction in the size of link state packets is made by declaring only a subset of the
      links in the link state updates.
     This subset of links or neighbors that are designated for link state updates and are
      assigned the responsibility of packet forwarding are called multipoint relays.
    The set consisting of nodes that are multipoint relays is referred to as MPRset. Each node
     (say, P) in the network selects an MPRset that processes and forwards every link state
     packet that node P originates.
    The neighbor nodes that do not belong to the MPRset process the link state packets
     originated by node P but do not forward them.
    Similarly, each node maintains a subset of neighbors called MPR selectors, which is
     nothing but the set of neighbors that have selected the node as a multipoint relay.
    A node forwards packets that are received from nodes belonging to its MPRSelector set.
     The members of both MPRset and MPRSelectors keep changing over time. The members
     of the MPRset of a node are selected in such a manner that every node in the node's two-
     hop neighborhood has a bidirectional link with the node.
   MPR Selector
    Every node periodically broadcasts its MPRSelector set to nodes in its immediate
     neighborhood.
    In order to decide on the membership of the nodes in the MPRset, a node periodically
     sends Hello messages that contain the list of neighbors with which the node has
     bidirectional links and the list of neighbors whose transmissions were received in the
     recent past but with whom bidirectional links have not yet been confirmed.
    The nodes that receive this Hello packet update their own two-hop topology tables. The
     selection of multipoint relays is also indicated in the Hello packet.
   Neighbor table :
     A data structure called neighbor table is used to store the list of neighbors, the two-hop
        neighbors, and the status of neighbor nodes.
     The neighbor nodes can be in one of the three possible link status states, that is,
        unidirectional, bidirectional, and multipoint relay.
     In order to remove the stale entries from the neighbor table, every entry has an associated
        timeout value, which, when expired, removes the table entry. Similarly a sequence number is
        attached with the MPRset which gets incremented with every new MPRset.
     Every node periodically originates topology control (TC) packets that contain topology
        information with which the routing table is updated.
     These TC packets contain the MPRSelector set of every node and are flooded throughout the
        network using the multipoint relaying mechanism.
     Every node in the network receives several such TC packets from different nodes, and by
        using the information contained in the TC packets, the topology table is built.
     A TC message may be originated by a node earlier than its regular period if there is a change
        in the MPRSelector set after the previous transmission and a minimal time has elapsed after
        that.
     An entry in the topology table contains a destination node which is the MPRSelector and a
        last-hop node to that destination, which is the node that originates the TC packet. Hence, the
        routing table maintains routes for all other nodes in the network.
Selection of Multipoint Relay Nodes
     The following figure shows the forwarding of TC packets using the MPRset of node 4. In this
        example, node 4 selects the nodes 2, 3, 10, and 12 as members of its MPRset. Forwarding by
        these nodes makes the TCpackets reach all nodes within the transmitting node's two-hop local
        topology.
MPR set construction :
                                                 86
MC7503/ Mobile Computing                                                      Department of MCA
       The MPRset need not be optimal, and during initialization of the network it may be same as
        the neighbor set. The smaller the number of nodes in the MPRset, the higher the efficiency of
        protocol compared to link state routing.
    
Increased     threat        of
                         The probability that a MANET or sensor node transmits
eavesdropping            unsolicited messages while moving in the wireless region of two
                         nodes is increased in ad-hoc networks. Each node attempts to
                         identify itself with a new node moving in its vicinity and during
                         that process eavesdropping occurs.
Unknown node caching the An unknown node can move into the network and thus rigorous
information              authentication is required before the node is accepted as a part of
                         MANET.
Denial of service attacks        A number of transmission requests can be flooded into the system
                                 by the attacking nodes. Since for each request, an authentication
                                 process is initiated, which require exchange of message, the
                                 flooding of the message-exchanges chokes the MANET and denies
                                 the required services to genuine nodes.
Authenticated node becoming A previously authenticated device can be used for security attacks.
hostile
                                                 87
MC7503/ Mobile Computing                                                         Department of MCA
6. Describe wireless sensor networks and its applications. Explain the similarities in MANET
   and wireless sensor networks.
Some applications of wireless sensor networks and MANETs are described below.
         Street lighting with local as well as remote central control of a cluster of lights.
         Industrial plant wireless sensor networks Industrial plants use a large- number of sensors
           in instruments and controllers. Wireless sensor network proves to be powerful for an
           industrial plant.
         Pervasive computing networks Mobile pervasive computing means a set of computing
           devices, sensors, or systems or a network having the characteristics of transparency,
           application-aware adaptation, and environment sensing. Wireless sensor networks and
           MANETs are therefore an important element of pervasive computing.
         Traffic monitoring using traffic density wireless sensor networks Traffic can be monitored
           at different points in a city and traffic density information can be aggregated at a central
           server. The server relays this information to motorists on wireless Internet.
         A traffic control server sends the traffic reports on Internet. The automobile owner can
          subscribe to a traffic control service provider which provides SMS messages about traffic
          slowdowns and blockades at various city points.
         It enables a driver to select the roads with the least hurdles. TTS (text to speech)
                                                   88
MC7503/ Mobile Computing                                                        Department of MCA
      All sensor nodes in a set can route the sensed data through the cluster coordinator or cluster
       head. A wireless sensor node (WSN) has low power transceivers.
      Each WSN has a limited range of communication. Therefore a set of WSNs can be clustered.
       Each WSN communicates with the wireless cluster coordinator (WCC), also called the
       cluster head.
      WCC is a multifunctional unit.
          (i) Each WCC collects the sensed data from the WSNs.
          (ii) A WCC detects the faulty node and the events.
          (iii) WCC also performs the aggregation, compaction, and fusion of data.
          (iv) WCC has limited control and maintenance processing.
                                                 89
MC7503/ Mobile Computing                                                            Department of MCA
             A WCC can also provide gateway to the Internet. WCC has greater data computing
             capability than the WSN. A hierarchy of WCC can also be arranged with the root server.
 Coordination of Nodes
   Coordinating node is centralized computing system and provides communication between
     the clusters of the wireless sensor nodes (WSNs). A coordination node is a part of a
     piconet (short range network). A coordination algorithm for the WSNs can be designed
     for effective coordination.
   There may be a network of WCCs connected to a wireless cluster coordinator gateway (WCCG).
     Similarly we may have a network of WCCGs connected to a central server (CS).
  Wireless Sensor Network - Example
   Networks can have hierarchical tree-like structures, for example, CS at level 1, WCCG
     at level 2, WCC at level 3, and WSN at level 4.
   The next example shows the clustering of wireless sensor networks of WSNs, WCCs,
     WCCGs, and CS for street-lighting control and maintenance, both locally and remotely.
        A WSN node has a sensor for sensing environmental light conditions. Each
         WSN in a set of nodes transmits the data to the WCCG. Each WSN has three
         paths to a WCCG. Each WSN has a multipoint relay. A central server connects
         through internet to the WCCG to control and program the firmware of WCCG.
      In the figure, two WSNs for street-lighting and WCCG. The gateway connects to
         the CS. The WCCG is a multifunctional unit which does the following:
           i) Collects the sensed light from the WSNs
           ii) Senses the ambient conditions which are present near the WCCG.
           iii) Detects the faulty node.
           iv) Performs the aggregation, compaction and fusion of data.
           v) Has firmware for the control and maintenance locally and
           vi) Provides Gateway to the internet.
      Distributed Networks – Example :
                 The figure shows a WSN for distributed network of traffic signaling and
                  control system using wireless sensor node with multipoint relays (WSNMPRs).
                  A WSNMPR is a multifunctional distributed computing unit.
                                                      90
MC7503/ Mobile Computing                                                         Department of MCA
           ii)    It computes the traffic density. The interval for which traffic lights should
                  be green along one of the multiple paths at a road-crossing is function of
                  traffic density.
           iii)   Each WSNMPR computes the sensed traffic density data along a particular
                  vehicular path.
           iv)    Each WSNMPR senses the event in real time.
           v)     It senses ambient conditions which are present near the WSNMPR.
           vi)    Each WSNMPR performs data aggregation , compaction and fusion.
           vii)   WCCG provides Gateway to the internet.
         A central server controls the functions remotely. The server programs the firmware in
          WSNMPRs.
     The central server collects data from distributed nodes and monitors the synchronization
          between different traffic lights at different road junctions. Monitoring is central with traffic
          density is computed locally.
The application layer consists of:
  1. sensor management protocol
  2. sensor query and data dissemination protocol
  3. task assignment and data advertisement
  4. application specific protocols.
               Data link layer provides MAC (medium access control) protocol. It also
                   deploys protocols for power saving and error control.
 Standard protocols for wireless sensor networks are as follows:
       1. IEEE 802.15.4-2003 ZigBee (a set of communication protocols used by small-sized low
          power digital radio embedded in the sensors and home devices)
   • A Standard protocol for wireless sensor networks
   • ZigBee ─ a set of communication protocols used by small-sized low power digital radio
   embedded in the sensors and home devices
   6lowpan Protocol
   • 6lowpan (IPv6 over low power wireless personal area network which permits communication of
      IPv6 packets in sensor network)
   Software
   • Software once embedded into the sensor node is for lifetime
   • Should be robust, fault tolerant, and should provide maximum features and middleware
   • Software should have features of security, self-healing, and self configuration
   Few specific operating systems
   • tinyOS and CORMOS (communication oriented runtime system for sensor networks)
Router
Sensor networks deploy special routing protocols such as CGSR, DSR, or AODV.
TinyOS
                                                   91
MC7503/ Mobile Computing                                                         Department of MCA
       TinyOS is an OS with components. It is installed at the sensor node. The components enable the
        application to run on the sensor hardware as well as facilitate packet communication and routing.
        That enables networking of the nodes and the nodes function in distributed environment. Only the
        required components are embedded and installed in the firmware of a wireless sensor node.
       The components for the packet communication, routing, sensing, actuation, and storage can be
        embedded. TinyOS provides interfaces. It considers multiple tasks (threads), which are run in
        first-in first-out (FIFO) order. Each task is assutned to be of identical priority.
       A language for sensor networks is nesC and it uses C programming language for memory
        optimization and cooperating tasks and processes. Supplementary tools can be in Java and Shell
        Script.
       State machine programming is a concept in which a program is said to change the states from one
        state to another. TinyOS enables state machine programming.
8. Brief about communication coverage and sensing coverage in wireless sensor networks.
Communication Coverage :
   If two motes can hear each other in the absence of interference from other nodes , then there
     will be an edge between the corresponding vertices. Essentially, this corresponds to the
     receiver being within the decode region of the transmitter.
   In this graph model, which is obtained when only the decode regions are considered, it is
     desirable that each vertex have a path to the vertex corresponding to the sink. This assures us
     that there is a way for a sensor node i to communicate its measurements to the sink. This is
     because one can think of a strategy in which i is the only node that transmits in a time slot,
     thereby passing its information to a neighbor within its decode region.
   Similarly, in the next slot, the neighbor is the only node that transmits. This naive strategy,
     albeit inefficient, will succeed in transferring information from i to the sink, over several time
     slots, if there is a path in the graph model from i to the sink. Let us enlarge the requirement
     slightly and ask that there be a path between any pair of nodes.
  What is the minimum power at which the nodes should transmit so that the graph obtained is
  connected ?
   In passing, we recall that not all the edges in a path from a vertex to the sink can be active
     simultaneously . In this section, we will consider only the question of connectivity of the
     graph obtained by considering just the decode regions.
   Now for a random placement of nodes, the right question to ask is: What is the minimum
     power at which the nodes should transmit so that the graph is connected with a given high
     probability ? For a given number of motes N , this question is hard to answer. Rather, answers
     have been found in the asymptotic regime where N tends to ∞.
   Suppose that N sensors are deployed in a square region of unit area. Each sensor is located
     independently of any other, and the location is chosen by sampling the uniform distribution.
   Further, let rc ( N ) be the range of each of the nodes, i.e., if nodes i and j are separated by a
     distance less than or equal to rc ( N ), then they can decode each other‘s transmission. We note
     that r c ( N ) is being regarded as a function of the total number of nodes N ; this suggests that
     the range changes as N varies. In fact, we would be interested in understanding how to set
     r c ( N ) for a given N , so that the sensor network remains connected.
   As N increases, it is expected that the range required to maintain connectivity decreases;
     rc ( N ) is a decreasing function of N . Suppose we consider a range such that
       where c ( N ) is some function of N that we will discuss later. Note that this range assignment
        essentially means that a disk of area ln N + c(N)/N is within reach of a node.
       Let Pd (N , rc ( N )) be the probability that, with this rc ( N ), the graph G ( N , rc ( N )) is
        disconnected.
    
                                                  92
MC7503/ Mobile Computing                                                               Department of MCA
Sensing Coverage :
 Given an area to be monitored and given a sensing disk around each sensor, how many sensors are
required? Now as the node deployment process is random, as a first step, we assume that the nodes
are deployed as a two-dimensional spatial Poisson process of intensity λ points per unit area.
 The significance of the Poisson assumption is that in two non-overlapping areas, the numbers of
sensors are independent random variables. Further, in an area A , the number of sensors is Poisson-
distributed with parameter λ A , where A is the area of A .
 This question must be refined as follows: What is the minimum intensity λ such that the probability
that every point in the monitoring region is covered by at least k nodes is close to 1?
 Let rs denote the sensing radius of each disk. Let us choose the unit of area such that each sensor
   covers unit area: πrs 2 = 1.
 Let us define V k to be the total area that is not k -covered. This means that each point in the area V
   k is at most ( k -1)-covered. Vk is referred to as the k-vacancy value .
 Clearly, Vk is a nonnegative random variable that depends on the articular instance of the Poisson
   deployment process.
 First , it can be shown that no finite λ , no matter how large, can ensure that each point in the
   monitoring area is covered by at least k nodes. To see this, let I k ( x ) denote the indicator function
   corresponding to k -vacancy at location x . That is,
       If the point x is covered by at most ( k - 1) sensors, then it is within the sensing distance rs from at
        most that many sensors. Equivalently, if we draw a circle of radius rs centered at x , then there are
        at most ( k -1) sensors within it. Recalling that the deployment process is Poisson with intensity λ
        and that rs has been chosen such that the area of a circle with radius rs is unity, we have
        where we have assumed that A is a square region with each side of length a . In arriving at the
         second line, we have used the fact that Pr( I k ( x ) =1) does not depend on x .
         We note that E( V k ) > 0 for any finite λ , no matter how large it is. But E( V k ) > 0 implies that
         Pr( V k = 0) cannot be 1.
        Thus, for any finite λ no matter how large, we see that Pr( V k >0) > 0; we cannot ensure that
         each point in the area is covered by at least k nodes.
                                                        93
MC7503/ Mobile Computing                                                             Department of MCA
which, of course, is unknown in j . The estimate of this distance that is available to j is dˆj,i := hir = c
. Then, a natural criterion that can be used to determine the unknown ( x j , y j ) is the total localization
error E j , defined as
                                                     94
MC7503/ Mobile Computing                                                            Department of MCA
 (2) the source knows the position of the destination; (3) there are no routing tables stored in the
 nodes; (4) the additional information stored in a packet is bounded above by a constant times the
 number of nodes in the graph; the additional information is o(|V |) , where V is the vertex set of the
 graph G(V,E) representing the sensor network.
 The simplest approach is for a source node s to forward data to a neighbor who is closer to t
.Basically, this is a greedy approach — a packet is passed to a neighbor who is closest to the
destination.
 For simplicity, we will assume that all nodes transmit at the same power, so that the communication
radius rc is the same for all nodes. This means that any two nodes at a distance less than or equal to r c
can communicate directly with each other. If rc is defined as the unit of distance, then we have what is
called a Unit Disk Graph ( UDG ).
 In a dense network, it is clear that a UDG will give rise to numerous edges. Typically, in a graph
with a large number of edges, significant computational effort is required to find routes between pairs
of nodes.
 This suggests that removing some edges from the UDG, while retaining graph connectivity, is an
  option worth exploring.
                                                    95
MC7503/ Mobile Computing                                                           Department of MCA
         Obtaining the Relative Neighborhood Graph (RNG) and the Gabriel Graph (GG)
     from the node positions. To get the RNG, we introduce edge i → j if the lune ixjy is free of
        other nodes. To get the GG, we introduce edge i → j if the circle of diameter d ( i , j )
                                    within the lune is free of other nodes.
 On the other hand, suppose we introduce the edge i → j if the circle of diameter d ( i , j ) within the
lune is free of other nodes. Doing this for every pair of nodes gives us the Gabriel Graph (GG). For
the RNG, the witness region is the lune; for the GG, the witness region is the circle within the lune.
 It is known that both the RNG and the GG are planar graphs. Further, it is also evident that the RNG
is a subgraph of the GG. It turns out that both of these planar graphs can be computed using local
algorithms, involving exchange of information among a node and its neighbors only.
 To get around the problem encountered with greedy routing, consider a strategy that routes along the
boundaries of the faces that are crossed by the straight line between the source and the destination.
The following Figure shows an example.
       we see four faces, F 1, F 2, F 3, and F 4, in the planar graph. The source s and the destination
        t are also marked. F 1 is the face that contains s and the line s , t intersects F 1. To begin with,
        say the boundary of F 1 is explored, in the clockwise direction.
       This is indicated by the thin solid arrows in Figure 8.8 . As the boundary is traversed, the
        algorithm notes all points where the line s , t intersects the boundary, and the point closest to t
        is stored for future use.
       In Figure , there is only one such point, viz., p1. After traversing the whole boundary and
        reaching s again, a second traversal (along the dashed line) is started. This time, when p 1 is
        reached, the face F 2 is explored in a similar manner. We may refer to the point p 1 as a
        switch point.
       Essentially, the idea is to show that in the course of the execution of the face routing
        algorithm, each edge is traversed at most a constant number of times. Then, a theorem about
        planar graphs is applied; this theorem says that the number of edges |ᵋ| in a connected plane
       graph with at least three vertices satisfies |ᵋ| ≤ 3|V| − 6
    This relation is significant, because it indicates that planar graphs are basically sparse graphs.
2)Routing strategy based on attributes : - Directed Diffusion (DD)
    Here we consider a routing strategy that doesn‘t need nodes ’ positions and even
       addresses. In fact, the routing scheme to be discussed here does not even attempt to reach a
       specific node from another; it uses a completely different philosophy.
                                                    96
MC7503/ Mobile Computing                                                         Department of MCA
      In a deployed sensor network, a specific type of event may be of interest. For example, in a
       sensor network used for environment monitoring, observations of a particular type of animal
       may be of interest.
   Strategy :
    The strategy in attribute-based routing schemes is to launch a query that describes the data of
       interest .
    As this query propagates through the network, it encounters nodes that have observed the
       event of interest. Such nodes now provide replies that move back toward the original node
       issuing the query. Thus, attribute-based routing provides a way for information seekers and
       information gatherers to ― meet, ‖ without knowing one another beforehand.
    Data are described by attribute-value pairs that characterize the information that is of interest.
       For example, a query can be expressed as a record consisting of multiple attribute-value pairs:
           type = animal
           instance = leopard
           rectangle = [0, 400, 0, 400]
    In the first line, ― type ‖ is the attribute and ― animal ‖ is the value; similarly, ― instance ‖ is
       the attribute and ― leopard ‖ is the value. The third line specifies an area (in some coordinate
       system) within which the observation is sought; a rectangle of size 400 _ 400 is shown here,
       with the ranges along the x and y axes specified.
   Directed Diffusion (DD)
    A prominent example of attribute-based routing is provided by a scheme known as Directed
       Diffusion (DD). In DD terminology, the node issuing the query is called a sink , while the
       nodes providing the observation are called sources .
    The query itself is referred to as the interest . To begin with, the sink broadcasts the interest.
       As shown in the previous example, the interest is a collection of several attribute-value
       pairs, among which are the attributes duration , interval , and update .
    The duration attribute specifies the period of time for which the interest is valid. The interval
       attribute specifies the intervals at which the observation is to be reported.
    Implicit in this attribute is the characteristic of DD that repeated observations of the event of
       interest are important.
    Further, the duration attribute indicates that the interest persists for some time. Both attributes
       suggest that the sink is not satisfied with just one observation of the event; rather observations
       extended over time are important. This allows DD to amortize the cost of finding paths
       between sources and sinks over the duration of the communication.
   Interest generation & interest cache
    The interest generated originally by the sink passes through nodes in the network.
    A node that receives the interest checks if it has any event record that matches the interest.
             If it does, then it becomes a source and proceeds to relay the information back to the
                 sink;
             If it does not, then it forwards the received interest to its neighbors.
    Each node maintains an interest cache , where valid interests are stored. Along with each
       interest, the node notes down the neighbor from which the interest was received. It is
       noteworthy that this is strictly local information ; the sink that generated the interest in the
       first place is not tracked.
    A particular interest may be received at a node from a number of neighbors because, initially,
       the interest is flooded through the network and may arrive at the node via multiple paths. All
       such neighbors are stored in the interest cache.
    The repetition of sending the report is determined by the update attribute of the interest
       received from that neighbor.
    The smaller the value of update, the more frequently the neighbor receives a report. In fact,
       the update attribute determines what is called a gradient toward a neighbor, where gradient is
       defined as the reciprocal of the update value.
                                                  97
MC7503/ Mobile Computing                                                       Department of MCA
          In this way, utilizing neighbors and the gradient toward each neighbor, an observed event
           record makes its way back toward the sink.
          As in the forward pass when the interest was making its way into the network, the
           requested information may arrive back at the sink over multiple paths. In the DD scheme,
           the update attribute is now used in a clever way to reinforce good quality paths.
          To do this, the sink observes the returned reports received from various neighbors. The
           neighbor from which the first report was received is likely to lie on the least-delay path
           from the source to the sink.
          The sink now resends the interest to this particular neighbor, with a smaller update
           attribute. This leads to higher gradients being set up all along the backward path from the
           source to the sink.
          In this way, DD provides a way of adaptively selecting preferred paths. Similarly, the
           update interval toward a nonpreferred neighbor can be increased, so that ultimately, that
           particular path from source to sink is suppressed.
          It is worth noting that DD is inherently robust to node failures, because if the currently
           preferred path becomes unavailable (due to node failure, say), then an alternate path
           (which was currently not preferred) may be picked up and reinforced by update attribute
           manipulation.
                                                 98
MC7503/ Mobile Computing                                                   Department of MCA
          Overhearing – by switching the radio off when the transmission is not meant for that
           node
          Control overhead – by message passing
          Idle listening – by periodic listen and sleep
   Idle listening - If no sensing event happens, nodes are idle for a long time.
   Periodic    Listen So it is not necessary to keep the nodes listening all the time.
   and Sleep          Each node go into periodic sleep mode during which it switches the radio off and
                       sets a timer to awake later.
                      When the timer expires it wakes up and listens to see if any other node wants to
                       talk to it.
   Overhearing           Duration field in each transmitted packet indicates how long the remaining
   Avoidance              transmission will be.
                         So if a node receives a packet destined to another node, it knows how long it
                          has to keep silent.
                         The node records this value in network allocation vector (NAV) and set a
                          timer.
                         When a node has data to send, it first looks at NAV.
                         If NAV is not zero, then medium is busy (virtual carrier sense).
                          All immediate neighbors of both the sender and receiver should sleep after they
                           hear RTS or CTS packet until the current transmission is over.
                                             99
MC7503/ Mobile Computing                                                     Department of MCA
      S -MAC forms a flat, peer-to-peer topology. Thus, unlike clustering protocols, there is no
       cluster-head to coordinate channel access.
      The other sensor MAC protocol that has received wide attention is the IEEE 802.15.4 MAC.
       The protocol was introduced first in the context of Low-Rate Wireless Personal Area
       Networks (LR-WPANs).
      The physical (PHY) and MAC layers in LR-WPANs are defined by the IEEE 802.15.4 group,
       whereas the higher layers are defined by the Zigbee alliance.
      IEEE 802.15.4 defines two types of devices: a Full Function Device (FFD) and a Reduced
       Function Device (RFD).
      The FFDs are capable of playing the role of a network coordinator , but RFDs are not. FFDs
       can talk to any other device, while RFDs can only talk to an FFD.
       Thus, one mode of operation of the IEEE 802.15.4 MAC is based on a hierarchy of nodes,
       with one FFD and several RFDs connected in a star topology as shown in following figure .
                                               100
MC7503/ Mobile Computing                                                       Department of MCA
       The FFD at the hub, which is a network coordinator, plays the role of a cluster-head, and all
        communication is controlled by it. In the peer-to-peer topology, however, all nodes are
        equally capable; all are FFDs.
          The Zigbee MAC superframe structure. CAP and CFP stand for Contention Access
          Period and Contention Free Period, respectively. GTS means Guaranteed Time Slot.
       The above Figure shows the super frame structure defined for IEEE 802.15.4. The super
        frame begins with a beacon.
       Nodes hearing the beacon can set their local clocks appropriately, so that they go to sleep and
        wake up at the same time. This means synchronized operation .
       The superframe is divided into an active and an inactive period. During the inactive period,
        nodes sleep.
       The active period consists of at most three parts — beacon transmission interval, the
        Contention Access Period (CAP) and an optional Contention Free Period (CFP).
       During the CAP, nodes contend using slotted CSMA/CA, as in IEEE 802.11. In the CFP, a
        node can be allotted Guaranteed Time Slots (GTSs) by the network coordinator.
       Nodes request for GTS allocation by sending explicit GTS allocation requests . Transmitted
        frames are always followed by Inter-Frame Spacings .
       The sensors make periodic measurements. There is a single sink in the network where some
        function of the sensors‘ measurements is to be computed. The function, in general, would
        depend on the inference problem that the sensor network has been designed to solve. For
        example, in an event-detection application, the function could be the conditional probability
        of the sensor output being in a certain range, given that there has been no event (the null
        hypothesis). In statistics, such a function is referred to as a likelihood function, and it is
        extensively used in event detection.
       One naive way to compute the function is to forward all the measured data to the sink, which
        then computes the function. This is a centralized model of computation. However, this fails to
                                                 101
MC7503/ Mobile Computing                                                           Department of MCA
      Suppose that the N sensors make periodic measurements. Let each sensor reading belong to a
       discrete set χ . Let time be slotted. X ( t ) denotes the vector of N sensor readings at discrete
       time slot t . Let us also assume that readings over a period t _ 1, 2, … , T are available with
       each sensor; here T is the block length over which measurements have been collected. The N
       _ T matrix X represents the complete data set, across sensors as well as across the block
       length, that is available. X i , the i -th row of the matrix, represents the readings of the i -th
       sensor over the block. Correspondingly, the t -th column X ( t ) represents the readings across
       the sensors at time t . The objective is to compute the function f ( X ( t ) ), for every t _ { 1, 2,
       …,T}.
      Generally , if C is a subset of sensors, then f (X(t ) ) C is the function computed by taking the
       readings of sensors in the set C at time t .
      We have tacitly assumed that the function to be computed admits distributed computation in
       a divide-and-conquer fashion, in which the result of a partial computation by some sensors
       is forwarded to others, which then repeat the process. To formally state the property that we
       assumed, we introduce the notion of divisible functions .
      This says that if we know the values of the function f ( · ) evaluated over the sets in any
       partition π of C , then we can combine these values, using the function g ( π ) ( · ), to obtain
       f ( · ) evaluated over C . Thus, it is possible to compute f (X(t )) C in a divide-and-conquer
       fashion.
                                                  102
MC7503/ Mobile Computing                                                         Department of MCA
                                              UNIT – V
                                               Part - B
    Linux Kernel Core services (including hardware drivers, process and memory management,
    security, network, and power management) are handled by a Linux 2.6 kernel. The kernel also
    provides an abstraction layer between the hardware and the remainder of the stack.
    Libraries Running on top of the kernel, Android includes various C/C++ core libraries such
    as libc and SSL, as well as:
             A media library for playback of audio and video media
             A Surface manager to provide display management
             Graphics libraries that include SGL and OpenGL for 2D and 3D graphics
             SQLite for native database support
             SSL and WebKit for integrated web browser and Internet security
    Android Run Time What makes an Android phone an Android phone rather than a mobile
        Linux implementation is the Android run time. Including the core libraries and the Dalvik
        virtual machine, the Android run time is the engine that powers your applications and, along
        with the libraries, forms the basis for the application framework.
                  Core Libraries While Android development is done in Java, Dalvik is not a Java
                      VM. The core Android libraries provide most of the functionality available in the
                      core Java libraries as well as the Android-specific libraries.
                  Dalvik Virtual Machine Dalvik is a register-based virtual machine that‘s been
                      optimized to ensure that a device can run multiple instances efficiently. It relies
                      on the Linux kernel for threading and low-level memory management.
   Application Framework The application framework provides the classes used to create Android
      applications. It also provides a generic abstraction for hardware access and manages the user
      interface and application resources.
   Application Layer All applications, both native and third party, are built on the application
    layer using the same API libraries. The application layer runs within the Android run time
    using the classes and services made available from the application framework.
  The Dalvik Virtual Machine
                                                  103
MC7503/ Mobile Computing                                                           Department of MCA
      One of the key elements of Android is the Dalvik virtual machine. Rather than use a
       traditional Java virtual machine (VM) such as Java ME (Java Mobile Edition), Android uses
       its own custom VM designed to ensure that multiple instances run efficiently on a single
       device.
      The Dalvik VM uses the device‘s underlying Linux kernel to handle low-level functionality
       including security, threading, and process and memory management. It‘s also possible to
       write C/C++ applications that run directly on the underlying Linux OS.
      All Android hardware and system service access is managed using Dalvik as a middle tier. By
       using a VM to host application execution, developers have an abstraction layer that ensures
       they never have to worry about a particular hardware implementation.
      The Dalvik VM executes Dalvik executable files, a format optimized to ensure minimal
       memory footprint. The .dex executables are created by transforming Java language compiled
       classes using the tools supplied within the SDK.
        The following application services are the architectural cornerstones of all Android applications,
         providing the framework.
           Activity Manager Controls the life cycle of our activities, including management of the
              activity stack.
              Functions of Activity Manager :
                  
                  Interact with the overall activities running in the system.
                  
                  The state of each Activity is determined by its position on the Activity stack, a
                  last-in–first-out collection of all the currently running Activities.
               Android applications do not control their own process lifetimes; the Android
                  run time manages the process of each application, and by extension that of each
                  Activity within it. While the run time handles the termination and management
                  of an Activity‘s process, the Activity‘s state helps determine the priority of its
                  parent application.
               The application priority, in turn, influences the likelihood that the run time will
                  terminate it and the Activities running within it.
          Views are used to construct the user interfaces for our activities.
                This class represents the basic building block for user interface components. A
                   View occupies a rectangular area on the screen and is responsible for drawing
                   and event handling.
                View is the base class for widgets, which are used to create interactive UI
                   components (buttons, text fields, etc.).
                The ViewGroup subclass is the base class for layouts, which are invisible
                   containers that hold other Views (or other ViewGroups) and define their layout
                   properties.
                All of the views in a window are arranged in a single tree.
                                                   104
MC7503/ Mobile Computing                                                    Department of MCA
                                              105
MC7503/ Mobile Computing                                                        Department of MCA
                  There are seven primary resource types that have different folders: simple values,
                   drawables, layouts, animations, XML, styles, and raw resources.
                 When our application is built, these resources will be compiled as efficiently as
                   possible and included in our application package.
                 This process also creates an R class file that contains references to each of the
                   resources we include in our project.
            Location-based services (LBS) is an umbrella term used to describe the different
             technologies used to find the device‘s current location. The two main LBS elements
             are:
                 LocationManager Provides hooks to the location-based services.
                 LocationProviders Each of which represents a different location-finding
                   technology used to determine the device‘s current location.
                                                  106
MC7503/ Mobile Computing                                                        Department of MCA
       Within an Activity‘s full lifetime, between creation and destruction, it will go through one or
        more iterations of the active and visible lifetimes. Each transition will trigger the method
        handlers.
       onCreate(Bundle) – called when the Activity is created; using the method argument you can
        restore the Activity state that has been saved from a previous session; once the Activity has
        been created is going to be started (onStart());
       onStart() – called when the Activity is going to be displayed; from this point the Activity can
        come to the foreground (onResume()) or stay hidden (onStop());
       onRestoreInstanceState(Bundle) – called when the Activity is initialized with data from a
        previous saved state; by default, the system restores the state of the user interface;
       onResume() – called when the Activity is visible and the user can interact with it; from this
        state, the Activity can go in the background becoming paused (onPause());
                                                 107
MC7503/ Mobile Computing                                                           Department of MCA
       onRestart() – called when the Activity is going back to the foreground from a stopped state;
        after that, the Activity is started (onStart()) once again;
     onPause() – called when the system is bringing into the foreground another Activity; the
        current Activity is set into the background and later it may be stopped (onStop()) or resumed
        and displayed (onResume()); this is a good moment to save application data to a persistent
        storage (files, database)
     onSaveInstanceState(Bundle) – called to save the Activity state; by default, the system
        saves the state of the user interface;
     onStop() – called when the Activity is not longer used and not visible as another Activity is
        interacting with the user; from this point, the Activity can be restarted (onRestart()) or
        destroyed (onDestroy());
     onDestroy() – called when the Activity is deleted and its memory released; this can happen if
        the system requires more memory or if the programmer terminates it by calling the Activity
        finish() method;
Activity Lifetimes
    The full lifetime of our Activity occurs between the first call to onCreate and the final call to
        onDestroy. It‘s possible, in some cases, for an Activity‘s process to be terminated without the
        onDestroy method being called.
     An Activity’s visible lifetimes are bound between calls to onStart and onStop. Between these
        calls, our Activity will be visible to the user, although it may not have focus and might be
        partially obscured. Activities are likely to go through several visible lifetimes during their full
        lifetime, as they move between the foreground and background.
     The active lifetime starts with a call to onResume and ends with a corresponding call to
        onPause. An active Activity is in the foreground and is receiving user input events. our Activity
        is likely to go through several active lifetimes before it‘s destroyed
4. Explain in detail about Android application life cycle.
     Android applications have no control over their own life cycles. Instead, application
        components must listen for changes in the application state and react accordingly, taking
        particular care to be prepared for untimely termination.
     By default, each Android application is run in its own process that‘s running a separate instance
        of Dalvik. Memory and process management of each application is handled exclusively by the
        run time.
Application Priority and Process States
     The order in which processes are killed to reclaim resources is determined by the priority of the
        hosted applications. An application‘s priority is equal to its highest-priority component.
     Where two applications have the same priority, the process that has been at a lower priority
        longest will be killed first. Process priority is also affected by inter process dependencies; if an
        application has a dependency on a Service or Content Provider supplied by a second
        application, the secondary application will have at least as high a priority as the application it
        supports.
     All Android applications will remain running and in memory until the system needs its
        resources for other applications.
                                                   108
MC7503/ Mobile Computing                                                         Department of MCA
        Active Processes :Active (foreground) processes are those hosting applications with
         components currently interacting with the user. These are the processes Android is trying to
         keep responsive by reclaiming resources. There are generally very few of these processes, and
         they will be killed only as a last resort.
             Active processes include:
             Activities in an ―active‖ state; that is, they are in the foreground and responding to user
             events.
             Activities, Services, or Broadcast Receivers that are currently executing an onReceive
                event handler.
             Services that are executing an onStart, onCreate, or onDestroy event handler.
       Visible Processes Visible, but inactive processes are those hosting ―visible‖ Activities. As the
         name suggests, visible Activities are visible, but they aren‘t in the foreground or responding
         to user events. This happens when an Activity is only partially obscured (by a non-full-screen
         or transparent Activity). There are generally very few visible processes, and they‘ll only be
         killed in extreme circumstances to allow active processes to continue.
       Started Service Processes : Processes hosting Services that have been started. Services
         support ongoing processing that should continue without a visible interface. Because Services
         don‘t interact directly with the user, they receive a slightly lower priority than visible
         Activities. They are still considered to be foreground processes and won‘t be killed unless
         resources are needed for active or visible processes.
       Background Processes : Processes hosting Activities that aren‘t visible and that don‘t have
         any Services that have been started are considered background processes. There will generally
         be a large number of background processes that Android will kill using a last-seen-first-killed
         pattern to obtain resources for foreground processes.
       Empty Processes To improve overall system performance, Android often retains applications
         in memory after they have reached the end of their lifetimes. Android maintains this cache to
         improve the start-up time of applications when they‘re re-launched. These processes are
         routinely killed as required.
5.     Develop a mobile application for a small game.
6.     Develop a mobile application for a clock.
7.     Develop a mobile application for a calendar.
8.     Develop a mobile application for a convertor.
9.     Develop a mobile application for a phone book.
10.    Develop a mobile application for a Text Editor.
109