View page as slide show

Wireless service engineering

Resources

  • Books
    • GPRS and 3G Wireless Applications - Christoffer Andersson
    • The Essential Guide to Wireless Communications Applications - Andy Dornan

Wireless communication medium - common properties.

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

Disconnected communication

  • The connection between devices is lost.
  • Caused by:
    • Blocking elements for radio signals (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 successful
      • 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
    • Seamless connectivity
    • vertical handoff: Seamless connectivity with different technologies.
  • How does client/server application react?
    • Can we affect on the behaviour 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
  • What affects on latency
    • Distance
    • Amount of hops
  • What affects 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
    • e.g. HTTP 1.0 vs WTP
  • Avoid unnecessary waits of acknowledgements and other responses
  • The remedies used for packet loss and interruptions help on latency issues too

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
    • Cost may vary depending on the location
  • Different models on charging on communication by 3rd parties
    • Time based
    • Data transmission based
    • Flat fee per connection
    • Flat free per message (SMS)
  • Remember: 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.
  • Efficient 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, transmission 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
      • on-line / off-line
      • 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 handover are problems for IP
      • Mobile IP → mobility management course
  • TCP
    • High latency is a problem
    • Wireless RTT can be seconds
    • Initial retransmission time-out (IRTO)
      • many internet servers dene this to be hundreds of milliseconds (IETF recommends three seconds)
  • Provides reliable transmission between two applications
    • Lost packets are detected by time-outs and acknowledgements
    • Causes end-to-end retransmissions instead of just retransmission over one link.
      • lower layers can help on this.
    • High latency requires higher time-outs
  • Flow and congestion control
    • Lost packet is sign of congestion
      • In wireless lost packets are more common and are not necessarily 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 transmission speed → smaller packets → more overhead
Last modified: 2013/07/01 14:41