Tuesday, November 23, 2010

Puzzler (event notification timestamps)

Speaking of things going worng, I was handed a puzzler during the plugfest last week and don't know the answer. I'd asked for it to be e-mailed to my Gmail account because I don't have access to work e-mail right now, and it was duly sent. I plan to forward it to the BACNET-L e-mail list, but my Gmail account is not subscribed and I have to wait for the list admin to add it -- I hope he is not on vacation! So I'll initially just post it here for the BACneteers checking in and follow up on the list when I have access.

There exists a device that, due to hardware limitations, does not have a hardware clock. However, the device is able to initiate Un/ConfirmedEventNotifications. The question is: what should the device do for the timestamp parameter of event notifications issued after the device starts up but before it receives a UTC/TimeSync to set its software clock? The options seem to be:
1. Suppress event notifications until the clock is set?
2. Use sequence number until the clock (date and time) is set then switch?
3. Use sequence number only?
4. Start the clock at January 1, 1900 until it is set?
5. Hold the clock at January 1, 1900 until it is set?

I don't like #1 and 5. #2 would be okay except it makes assumptions about the client device that might be invalid. #3 is safest but loses the time information. #4 again makes assumptions about the client device.

Dear readers, what do you think is the best answer?

1 comment:

  1. Hmmm... no sooner posted than the BACNET-L admin approves my account. Well, this post will remain anyway.