Wireless communication medium
Medium properties
Disconnected communication
Problems
Did the action get through
What messages were lost?
What happens when the connection is re-established?
Negotiated connection closing
Disconnected communication ...
Mobility management
How does client/server application react?
Packet loss
Missing packets
Causes:
Problems
Buffers could reduce/eliminate the problem
Handling packet loss & disconnected communications
Handling packet loss & disconnected communications ...
Let the user know is going on - Enlighten
Allow user to react
Not knowing why application has delays → users frustrations
Frustration causes extreme measure
The environment (e.g. device capabilities) may reduce the options
Anticipate connection loss at any time in your design phase!
Latency
Latency example
Slow satellite link
msg size = 1000 bits (frame), transmission speed 64kbit/s
signal speed == speed of light, distance 72 000 km (Geostationary satellites are at height of = 35,786 km),
sending one message thus takes 1 000 b / 64 000 b/s = 15.6 ms thus transmitting the signal takes 72000km/300000 km/s = 240 ms
getting ACK for data will thus take 240*2+15.6 ms +time for sending ack+time for handling the incoming data before sending ACK. ~ 0.5s
Even if we forget the message handling overhead the sender will idle 480/480+15.6 ~ 97% of the time. only 3% of channel is in use.
Latency remedies
Say No! to chatty protocols
Avoid unnecesary waits for ACKs and other responses
Piggybacking
Sending and handling ACK PDU's causes overhead.
When data is sent both ways, the ACK message can be sent along the data (e.g. piggyback the data PDU)
Sending ACK can wait until there is actual data to be sent
Sent ACK can contain the serial number of last arrived packet and thus Acknowledges all packets to that point as arrived.
Postponing ACK sending too long will cause unnecessary retransmissions
Good to have timeouts for ACK sending to avoid lock situations.
Remedies used for packet loss & intertuptions also help on latency issues
Small data transfer rate & bandwidth
Price of use
Good wireless application design
Optimising
Minimise
Maximise
Speed of application
User experience
Good wireless application design ...
Good wireless application design ...
Good wireless application design ...
Efficient use of buffers
Place to store data while waiting for application to handled it
Packets ought be received even if application is not ready to use them
Decide who handles retransmissions
Custom make protocols E.g. Air link, transmission protocol, our application,..
Are retransmissions required?
Good wireless application design ...
Good wireless application design ...
Case: TCP/IP on wireless
IP
Connectionless protocol
Transports packets through several nodes to the destination
IP v4 → insufficient address for entire mobile world (32bits → 4.3×10^9 = 4.3 Billion )
Mobility & handover are problems for IP
Case: TCP/IP on wireless ...
TCP
High latency is a problem
Wireless RTT can be seconds
Initial re-transmission time-out (IRTO)
Provides reliable transmission between two applications
High latency requires higher time-outs
Case: TCP/IP on wireless ...