View page as slide show

Wireless communications for applications

Wireless communication

  • Communication without a cable
    • Usually done with radiowaves
  • Communication can go through and past obstacles
    • Diffraction
    • Reflection
    • Scattering

Why wireless

  • Easy and cheap to deploy
    • No need to drill holes in walls or dig the ground.
  • Simplicity
    • Standards important
  • Mobility
    • Devices can be moved easily from one place to another
    • Opens up new possibilities for new types of services
      • Ubiquitous computing

Different ways to use wireless communication

  • Fixed
    • communication entities are at fixed locations
    • e.g. desktop computer with wireless connection
  • Nomadic
    • Terminal stays at one location during the communication, but can move between the communication sessions
    • e.g. businessman with laptop computer
  • Mobile
    • One or both communicating entities can move during communication
    • Mobile phone user.

Wireless communication categories

  • Usage area
    • BAN, PAN, LAN, MAN, WAN
  • Application area
    • Paging, Trunking, Wireless Telephony, Cellular telephony, Satellite Communication systems, Wireless Access Networks
  • Networking type
    • P2P, ad hoc, Infrastructure, cellular…

RF based - Communication technologies

  • PAN technologies (IEEE 802.15 series)
    • Bluetooth
    • Zigbee
    • CHIRP technology (chirp spread spectrum (CSS) modulation) base for 802.15.4a
    • UWB
      • Wireless USB
      • Bluetooth (?)
  • LAN
    • Wi-Fi (IEEE 802.11 series)
    • Hiperlan
  • Cellular technologies
    • GSM,GPRS, EDGE, UMTS
  • Others
    • ZenSys
    • WiMAX
    • Many other small ones
  • Induction based system
    • RFID
      • NFC

Other than RF based communication technologies

  • Acoustic technologies
    • Ultra sonic transmitters and receivers.
  • Optical technologies
    • IrDA
    • Remote controllers
    • Laser communications
    • LED based communications

Wireless communication medium - common properties.

  • Unreliable communication medium
    • Disconnected communication
    • Packet loss
    • Latency
    • Low data transfer rate
  • Price of communication
  • Extend of the problem depends on the used technology

Disconnected communication

  • The connection between devices is lost.
  • Caused by:
    • Blocking elements for radio signlas (tunnels, buildings, magnetic elds…
    • Gap in coverage area
    • Customer moves out of the communication area totally.
  • Problems
    • Did the action got through.
      • Was the whole transaction succesful
      • Does the customer know about it?
    • What messages were lost?
    • Two hill army problem
  • What happens when the connection is formed again?
    • State of interruption was stored?
  • Mobility management
    • Seemless connectivity
    • Seemless connectivity with different technologies.
  • How does client/server application react?
  • Can we affect on the behavior of both applications?
  • How long to wait?

Packet loss

  • Some packets are missing
    • Really short term disconnection
  • Caused by:
    • Interferences
    • Congested communication medium, i.e. too many users of same frequency in small area.
  • Problems
    • Similar to disconnected communications in smaller degree
    • Streaming video and audio are badly hurt
  • Use of buffers can reduce or even eliminate the problem

Handling packet loss and disconnected communications

  • Remedies:
    • Non blocking communications
      • Use of threads
      • Loss of network should not cause problem on writing email.
    • Use protocols that take care of the problem for you.
  • Let the user know what is going on.
    • Allows user to react
      • Can move to the area with better coverage
    • Not knowing why the application has delays causes frustration
  • Frustration causes extreme measures
    • Repeated pushes of send button
    • Restarting application
    • Rebooting the device
  • The environment (e.g. device capabilities) may reduce the options
  • Expect that connection may be lost at any time already at the design phase!

Latency

  • Delay between sending and receiving.
    • Round trip time (RTT) time between sending and getting response
  • Effects on latency
    • Distance
    • Amount of hops
  • Effects on RTT
    • Amount of users on same base station
    • Processing of messages
    • Application latency
  • Problems:
    • Delays on communication
    • Slow start on applications

Remedies on latency

  • Avoid “chatty” protocols
    • HTTP vs WTP
  • Avoid unnecessary waits of acknowledgements and other responses
  • The remedies used for packet loss and interruptions

Small data transfer rate and bandwidth

  • Transmission rates vary a lot from one technology to another.
  • Causes delays in communication
  • Remedies:
    • Minimize headers
    • Avoid unnecessary metadata
      • predetermined fields vs. XML based notation
    • Use compression

Price of use

  • 3rd party networks
    • Charge service provider
    • Charge network user
  • Different models on charging on communication by 3rd parties
    • Time based
    • Data transmission based
    • Flat fee per connection
    • Flat free per message (SMS)
  • Creating your own infrastructure for a service is not free either

Good wireless application design

  • Optimizing
    • To minimize battery use
    • To minimize communication
    • To minimize amount of transmitted packets
    • To maximize speed of application
    • Minimize external cost
  • Best solution depends on platform and medium used
    • Which platforms and mediums should be taken into account.
    • Robust design
      • Can cope the problems of different possible communication mediums
    • Should data be compressed at mobile device before sending
      • How long it will take to compress?
      • How long it takes to transmit non compressed data?
  • Reducing overhead
    • One connection vs. multiple connections
    • Send only required data
      • e.g. For synchronisation only data that has changed.
      • Use of cache
    • Smaller packets have higher overhead
      • Each packet has some headers.
      • Bigger packets means bigger retransmission on error condition.
  • Effcient use of buffers
    • Place to store information while waiting that the application has time for handling it.
      • small device CPU need more time to process information than desktop computer
    • The packets should be received even if the application is not ready to use them right away.
  • Decide who handles retransmissions?
    • air link, transmisison protocol, our application…
    • is retransmission required?
  • How the user perceives the application?
    • For small devices reducing the quality of picture is not perceivable
      • Faster transmission time is appreciated
    • Allow user to have control
      • onlline / oine
      • When to stop trying retransmissions.
    • Provide the information about the current state
  • Use the existing protocol layers that suit best for you and work the rest yourself
    • Use of standard protocols provides interoperability
    • Use of existing protocols reduce the amount of coding
    • Existing protocols may cause unnecessary overhead
      • e.g. web services
    • Existing protocol may not be optimized for your service
      • Find the best compromise for your needs between work and effciency

Case: TCP/IP on wireless

  • IP
    • Connectionless protocol
    • Transports packets through several nodes to the destination
      • Is it needed when we have direct point-to-point connection between two devices?
    • IPv4 has not enough addresses to include whole mobile world
      • IPv6 is there waiting to be adopted
    • Mobility and handovers are problem for IP
      • Mobile IP → mobility management course
  • TCP
    • High latency is a problem
    • Wireless RTT can be seconds
    • Initial retransmisison timeout (IRTO)
      • many internet servers dene this to be hundereds of milliseconds (IETF recommends three seconds)
  • Provides reliable transmission between two applications
    • Lost packets are detected by timeouts and acks
    • Causes end-to-end retransmission insteada of just one lin.
      • lower layers can help on this.
    • High latency requires higher timeouts
  • Flow and congestion control
    • Lost packet is sign of congestion
    • Retransmission and congestion control activated.
    • “slow start”
      • sending window is extended slowly when packets get through.
  • Opening a session requires 3 messages
    • Size of transmission window reduced
      • “slow start” started again
    • TCP reduces the transmissn speed → smaller packets → more overhead
Last modified: 2013/07/01 14:42