The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: Topic 4: Point to point acknowledgement in xAP messages


  • Subject: Re: Topic 4: Point to point acknowledgement in xAP messages
  • From: Patrick Lidstone
  • Date: Tue, 17 Jun 2003 09:43:00 +0000

Here's a repost of my earlier thoughts on acks from a few weeks back.
Not sure if they have been discounted as a poor solution, or if they
just got lost in the noise.

- 3 scenarios, all ack and sequence related.

Negative Ack:
Receiver benefits from detecting the loss of a message, and can re-
request or take action as appropriate, but doesn't generate any
network traffic in the default case where everything works ok.

Positive Ack:
Receiver acknowledges receipt of every message explicitly. Can be
useful for flow control (next message isn't sent until timeout/ack is
received). Guarantees that the sender knows an action was performed.

Sequencing:
Receiver is able to concatenate sequenced messages to form a message
that is bigger than the underlying transport can handle. Might be
useful one day.


Possible mechanism:

xap-header
{
...
tm=+ -OR- tm=- -OR- tm is omitted
seq=nnn
...
}

where tm is transport mode, and + is positive ack and - is negative
ack and seq is sequence.

Sender increments sequence according to these rules:
- If the message is a targeted message, sequence increments for that
specific target
- If message is source addressed, sequence increments for that source

The receiver can track sequence numbers for a source that they are
interested in by storing UID and sequence number. (UID is proving
invaluable...) They would only need to do that in the negative ack or
concatenation scenario.

A receiver indicates supported transport modes by including:

xap-hbeat
{
...
tm=+-
...
}

in their heartbeat.

Fully backwards compatible - any of the tm / seq fields may be
omitted, and interoperability should be seamless. Adds a lot of
flexibility (too much?) for very little overhead.

Note that recovery action on loss of sequence / retransmission
requests are left at the discretion of the application layer. This
makes the whole scheme very small-device friendly.

Patrick







xAP_Development Main Index | xAP_Development Thread Index | xAP_Development Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.