[SensorNetArch] FPS and the SP interface

Cheng Tien Ee ct-ee at eecs.berkeley.edu
Mon Feb 21 09:48:49 PST 2005


Here's what I think FPS needs from the SP interface, let me know if I 
missed out something.

------------------------------------------------------------------------


Flexible Power Scheduling (FPS) is developed with the assumption that a 
CSMA MAC runs underneath. FPS does not provide any sort of latency 
guarantees to the application, it does its best to reserve a slot in its 
immediate parent before transmitting the packet itself in the next 
available reserved slot.

A major point is that a slot in FPS should be able to handle the 
transmission of at least two packets, for instance the request and 
confirmation of slot packets occur within 1 time slot. Thus the length 
of a slot should at least be as long as the effective time to send two 
packets at the MAC layer. For a TDMA scheme, the maximum time for a 
request and confirmation is the duration of an entire TDMA cycle, during 
which each mote in the one-hop neighborhood can transmit once. Thus, a 
reasonable common denominator would be the effective rate at which the 
MAC can send packets. The acquiring of this rate can also be obtained by 
the network component as well: it can time how long it takes to transmit 
and receive acknowledgement for a packet. It is probably the case that a 
good estimate of this rate is possible only after the network has warmed 
up, so the network protocol may want to take this into account.

The second major point is that FPS shuts down the radio during idle 
periods, which is not an issue in the case of a CSMA MAC, but is one 
with TDMA due to its periodic synchronization requirements. A solution 
would be to propagate beforehand the intention and when the shutdown 
will occur, as well as its duration. A CSMA MAC can ignore this, whilst 
a TDMA MAC may need to send the information to the neighborhood, so that 
neighbors do not assume that the mote has died when it has not been 
heard from for a while (or the MAC may think this is no big deal if it 
can handle churn well). This flow of information might also originate 
from above, when the application decides that the entire stack can be 
shut down for some time. Prolonged periods of shutdown may also affect 
the neighbor tables, which probably will be updated from time to time. 
It may be a good idea to have a central component interacting with the 
various levels communicate with the corresponding component in the 
neighboring motes, rather than having a separate logical communication + 
control channel for each different layer's power management component.

So, in summary:
1. SP -> network protocol: effective transmission rate, in packets per 
second
2. network protocol -> SP: when, and duration, of shutdown, if any



More information about the SensorNetArch mailing list