The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: Re: Proposal / RFC: Change xAP wire format


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

RE: Message Queuing



I am aware that the xAPLogger exists... I actually tried that first, and
then posted this message on 6/10 to the xap_automation list:

<------------snip message------------->
I am trying to get this working with MSDE, and can't quite get it.

I created a database called xAPLogger

I modified the table setup script as shown at the bottom of this message

I create an ODBC Connection to the database called xAPLogger.

Now, when I fire up the logger app, I can see the raw messages, and
there are no errors, but there is no data inserted.

Any suggestions?
<------------snip message------------->

I didn't re-attach my DB Create script...

Since I am so new to who y'all are, I still don't quite remember who's
site is who's, so I didn't know how to contact you directly.

That, coupled with the fact that I am server guy, so Windows Services
are by far my preferred program type for stuff like this that doesn't
require any user interaction, let me to write my own...

And, while I do agree with your suggestion to throttle the sending app,
since it is not in the spec, it is currently fair game for someone to
write an app that floods the wire with loads of messages (Isn't there
even a xAP Flood app?(Stuart...)).  Also, as more and more devices
become xAP enabled, the chance of a xAP flood of DIFFERENT types of
messages becomes entirely possible...

I was leading to the suggestion that maybe there should be a throttle
portion of the spec, but as I was typing this, the other case (multiple
apps generating a "Distributed Flood") just occurred to me, which
I
don't think a throttle clause would help totally...

But I am going to develop throttles into all of my xAPplications that
send multiple messages, to mitigate the possibility of this problem.  I
can imagine xAP on a Rabbit or PIC trying to cope with a 152 message
flood from my poorly configured,
show-me-everything-even-if-its-home-shopping xAPTV update of 76
channels...

(James... Don't take it personally... It's ME that has it poorly
configured, not you...)

Glenn Sullivan, MCSE+I  MCDBA
David Clark Company Inc.
-----Original Message-----
From: xAP_developer@xxxxxxx
[mailto:xAP_developer@xxxxxxx]
On Behalf Of Mary
Sent: Monday, June 27, 2005 12:09 PM
To: xAP_developer@xxxxxxx
Subject: Re: [xAP_developer] Message Queuing

Glenn,

Firstly, you _are_ aware of the existing xAP message logger, aren't you?
www.ascentium.co.uk/xap

Secondly, in xAPHomeVision, we ran across this problem because of the
way that
we map X10 devices onto xAP devices within BSC. (The X10 schema is
rather more
lightweight - the BSC encoding of X10 has to cope with some odd things
introduced by the way that HomeSeer represents virtual X10 devices.)

There, we introduced a message queue, with a "throttle" setting,
on the
send
side to prevent xAP storms. It seemed more sensible to throttle xAP
_senders_
than to assume that any receiver could handle big runs.

Regards,

Mark and Mary

----- Original Message -----
From: "Sullivan, Glenn" <gsullivan@xxxxxxx>
To: <xAP_developer@xxxxxxx>
Sent: Monday, June 27, 2005 12:55 PM
Subject: [xAP_developer] Message Queuing


> In preparation for my next xAPplication, a one-wire connector service,
I
> needed a way to capture the data for use later on (i.e., producing a
> graph of temperature over time).  I didn't see the point in create a
> different database for each new application, and being a Microsoft
DBA,
> so I decided that a xAP MSDE Logger service was the next step.
>
> My first pass seemed to work OK, but when a "xAP Storm"
situation came
> up, where there was a steady stream of messages (xAP TV startup, with
> all 76 channels selected for reporting), it started dropping them.
>
> I think I figured out that, since it was taking a few milliseconds to
> log the last message into the database, my listener object stopped
> seeing messages for that amount of time.
>
> Since this was supposed to be a reliable database application, that
> wasn't going to fly...
>
> So, I wrapped the xAP Framework.Net listener object into a component
> that just listens and queues message, it it's own, non-blocking
thread.
> Then the main service app can read the queue at it's leisure.
>
> I'm just wondering how other people handle situations like this?  I
> figure it would affect any listening application that takes any time
at
> all to process the messages it is listening for.  Is there a feature
of
> xAPFramework.net that I'm not seeing that handles this?
>
> Glenn Sullivan, MCSE+I  MCDBA
> David Clark Company Inc.
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>





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.