[Tinyos-devel] Re: [Tinyos Core WG] time sync interfaces

Philip Levis pal at cs.stanford.edu
Wed Dec 19 09:35:51 PST 2007


On Dec 18, 2007, at 11:14 PM, Janos Sallai wrote:

>>>
> Not necessarily. The precision of the timestamp in the footer can be
> arbitrary (i.e. platform specific or radio stack specific), as long as
> there is a way for the recipients of the packet (which are potentially
> different devices) to figure that out. This would encourage  
> implementers
> of radio stacks not to omit timestamping support just because  
> complying
> with a "network time precision" is too cumbersome.

This requires additional bits in the packet, describing the  
precision, or the protocol specification (e.g., of a particular AM  
type) defining the precision.

>
> The precision (and width) provided by the HIL is completely  
> independent
> from settling on an over-the-air timestamp precision. Well, completely
> independent might be an overstatement, but for sure, they don't  
> have to be
> identical. Of course, the over-the-air precision is equal or higher  
> than
> the HIL precision required by the standard. We can well say that  
> the radio
> stacks MUST provide PacketTimeStamp and PacketTimeSync with a  
> prescribed
> "standard precision", without specifying a standard over-the-air  
> network
> time precision.

The concern is on both fronts: code and packets. We want code to be  
portable, and we want different network implementations to be  
interoperable.
>

> It's trivial to implement a component that converts the timestamps  
> from
> radio stack specific over-the-air precision to "standard  
> precision". If
> the network is homogeneous, you don't even have to ask the sender  
> what the
> timestamp precision of the received packet is. (This is what I had  
> been
> referring to when I was writing that 90% of the deployments are
> homogeneous.)

The implicit assumption here is that you don't evolve your code.  
E.g., you build your app on 2.0.2, deploy it, and then when you want  
to add new nodes, you compile against 2.0.2. Any deployment therefore  
suffers the bit rot of historical code. Because, who knows, it might  
be that 2.1.3 stack changes the timestamp precision in the packet but  
keeps the same programming interface.

Phil


More information about the Tinyos-devel mailing list