On Mon, 2007-11-12 at 13:14 +0200, Kalle Valo wrote: > Exactly, it is important for small mobile devices that beacons are > sent at the correct time. For example, I have seen broken APs which > Target Beacon Transmission Time fluctuates and Nokia N800 has high > power consumption because of that. The N800 and similar devices only wake up at DTIM beacons, right? So another idea would be to burst beacons but make sure the DTIM beacon time doesn't fluctuate away from the DTIM TBTT. This would be possible by changing the order of the beacons and adjusting the DTIM count so that the beacon with DTIM count zero is always the first. Noting beacon(BSS,DTIM count) you'd send: - at TBTT 123: beacon(A,1), beacon(B,2), beacon(C,3) - at TBTT 124: beacon(A,0), beacon(B,1), beacon(C,2) - at TBTT 125: beacon(B,0), beacon(C,1), beacon(A,3) - at TBTT 126: beacon(C,0), beacon(A,2), beacon(B,3) etc. The actual restrictions this imposes are very complicated to describe, easier to describe and implement are the restrictions (a) identical beacon periods (b) identical DTIM periods (c) DTIM period > number of BSSes that result in a subset of the possible values being allowed. Slight relaxations could be allowed, identical DTIM periods are not really required when it is possible to schedule them in a non-conflicting way, i.e. (I think) when the sum over all 1/(DTIM period) is less or equal to one (all fit) and the gcd of all is not one (possible to schedule in a non-conflicting way). [An example: You could have four BSSes A-D, with DTIM periods 2, 4, 8 and 16 respectively. The DTIM beacon scheduling would be A, B, A, C, A, B, A, D, A, B, A, C, A, B, A, - (repeat) with all the other beacons at each period sent after the DTIM beacon. In the empty slot ("-") you could insert another BSS with DTIM period 16 or a multiple of 16.] [The actual restrictions don't even require using identical beacon periods as long as there's a not too small value that divides all beacon periods. This is very hard to describe formally.] johannes
Attachment:
signature.asc
Description: This is a digitally signed message part