180 likes | 330 Views
Efficient Reliable Real-Time Group Communication for Wireless Local Area Networks. M. Mock and E. Nett and S. Schemmer European Dependable Computing Conference 1999. Introduction. Driving application: mobile autonomous robot systems that cooperate to achieve a common goal:
E N D
Efficient Reliable Real-Time Group Communication for Wireless Local Area Networks M. Mock and E. Nett and S. Schemmer European Dependable Computing Conference 1999
Introduction • Driving application: mobile autonomous robot systems that cooperate to achieve a common goal: • require wireless links to communicate, • strong real-time constraints for the execution of cooperative actions (e.g., cooperative object manipulation), • based on standard hardware: IEEE 802.11 wireless LAN (PCMCIA cards), • but so far, no protocol providing reliable real-time group communication for IEEE 802.11-based WLANs.
Approach • ‘Static redundancy’ (message diffusion approach): send message m n times. • ‘Time-bounded dynamic time redundancy’: retransmit messages only if necessary, requires ACKs. • Here: Use time-bounded dynamic time redundancy, however, no additional b/w for ACKs required. • ACK scheme to detect message omissions exploits protocol structure imposed by IEEE 802.11. • Bandwidth savings by ‘relaxing’ reliability of message transfer.
IEEE 802.11 • Supports 2 alternating phases of medium access control: contention-free and contention-based. • CP (contention period): distributed medium arbitration; uses CSMA/CA, ACKs and retransmissions (non RT messages). • CFP (contention free period): centralized medium arbitration; basis for time-bounded message delivery.
Assumptions • CFP • messages are either delivered (tm) or lost (omission fault), • asymmetric loss possible, • omission degree OD: upper bound on the number of omission faults for a single message, e.g., broadcast message: after OD+1 transmissions, every receiver has at least one of those; P2P: after OD+1 subsequent pairs of polling & reply messages, at least on of those pairs is transmitted successfully. • tradeoff performance & worst-case guarantees. ‘res(c)’ specifies reliability of message transfer independent of OD. • Messages have limited reach (“hidden station problem”). • Stations may suffer crash failures (crashes, access point range). • Access point is stable.
Properties and Terms • broadcast (sending of message) and delivery (forwarding to application at receiver). • validity: eventual delivery of broadcast message if less than specified number of losses occur. • agreement: message delivered is eventually delivered by every correct station. • integrity: every correct station delivers m at most once and only if m was broadcasted. • total order: if m1 and m2 are delivered by s1 and s2, then s1 delivers m1 before m2 iff s2 delivers m1 before m2. • timeliness: broadcast message m at real-time t either is delivered to all stations before t+Δt or not at all, for some known constant Δt.
Protocol Description • ‘Rounds’ of communication in a group of size n (nmax). • Access point AP polls station S, S sends broadcast request message to AP (bc_rqu(acks[], sl, m)). • AP assigns a global sequence number and broadcasts m. • Each station delivers broadcast message according to global sequence number (total order). • m can be empty, a new message, or the previous message m’, if S has not received a broadcast of message m’.
Protocol Description (cont.) • A broadcast request message acknowledges each of the n preceding broadcasts with a bit-field in the header. • After 1 round, AP can decide whether each group member received a message or not. • Message reception at AP: if a message from the same originator has not been acknowledged, the new message is stored, otherwise the message is broadcasted: bc(m, orig, sl, sg). • Timeout: poll next S. After OD timeouts of S, AP updates group membership (station has crashed/left the group). • S maintains local view of global sequence number sta.sg.
Protocol Description (cont.) • When bc(m, orig, sl, sg) is received, S checks total order (sg==sta.sg) and delivers m, otherwise puts it into a pending queue. • AP keeps bit field for pending messages: global_ack[sender.id, receiver.id]== true iff last broadcast of sender has been ack’ed by receiver. • AP: when bc_rqu(acks[], sl, m) received, AP uses acks[] to update global_ack[*, originator.id]. • If global_ack[sta1, sta2] == true for all sta2, then last bc message of sta1 has been received by all stations. • ‘Hidden station problem’: AP as sequencer.
Timing Analysis • Delay of single message bounded by tm. • No message loss: Δbcmin = 3*tm. • Message loss: upper bound for a round of communication: Δround = nmax*3*tm. Δt=Δbcmax=2*OD*Δround+3*tm.
Timing Analysis (cont.) Δt(k)=[(OD+1)*k+OD]*Δround.
Relaxing Reliability • Reduce scheduled number of message retransmissions to user-specified res(c) of messages for all messages of class c. • If res(c) < OD: m may not be received by all stations (asymmetric message loss). • Assumption is that if all stations agree on delivery of message, this situation is acceptable for many applications. • To prevent inconsistent states, stations are allowed to deliver a message only if the message is safe (received by all stations). • Decision is made by access point, i.e., if it has got a positive ACK for a message from all stations.
Relaxing Reliability (cont.) • AP: if after res(c) broadcasts the message is not ack’ed by all S, message is rejected. • AP’s decision has to be distributed in reliable and timely manner. • Information can be piggy-backed on messages: header has OD+1 bit tuples (“accept field”), AP can broadcast decision OD+1 times.
Relaxing Reliability (cont.) • (b1,b2): if b1 is true, tuple represents a decision of AP regarding a bc message and b2 determines if to deliver/reject message. • (b1,b2): if b1 is false, tuple indicates that message is retransmitted and decision is still to come (b2 false) or that S corresponding to the tuple is to be removed from group membership (b2 true).
Relaxing Reliability (cont.) • Each tuple included in OD+1 broadcasts. • Begin at pos. 0 of accept field, pushed back. • Properties: • each tuple rcvd by each S (transmitted OD+1), • each tuple rcvd at most tm+OD*3*tm time units after being broadcasted, • all S receive tuples in same sequence, • every S can calculate the sequence number of the broadcast to which a tuple corresponds.
Relaxing Reliability (cont.) • If tuple (b1,b2) is in pos. i in the accept field with sequence number sg, it represents the access points decision with regard to broadcast sg-n-i.
Timing Analysis • No message loss: m will be delivered Δbcmin=3*tm+Δround time units after transmission of the polling message. • Message loss: Δt=t4-t=(2*res(c)+1)*Δround+(OD+1)*3*tm.
Conclusions • 2 basic approaches when message loss must be dealt with: message diffusion (static redundancy), retransmission/ACK (dynamic redundancy). • Here: time-bounded ACK-scheme exploiting communication structure of IEEE 802.11. All ACKs are piggy-backed -> no extra messages. • AP ensures total order. • Option to trade reliability for bandwidth (‘relaxed’ reliability).