OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsn message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [wsn] Use cases: Durable Subscription



Excellent points. Please find my two cents inline.

> -----Original Message-----
> From: David A. Chappell [mailto:chappell@sonicsoftware.com]
> Sent: Wednesday, January 12, 2005 3:04 PM
> To: Rick Cobb; wsn-oasis (E-mail)
> Subject: RE: [wsn] Use cases: Durable Subscription
> 
> 
> These are some good use cases.  I'm sure there are more we 
> could come up
> with, but this is enough to call out some fundamental issues. 
<lily>
Yes, these cover some typical durability cases and are enough to get us
started.
</lily>

>    This is
> where queuing/replay semantics come into play.  The reliable messaging
> protocol my work most of the time, but that's really a 
> session oriented
> thing.  Should the durability and replay of a message outlive 
> a point to
> point session between two endpoints?
<lily>
For prolonged outages, it is much easier to establish a new connection
session rather than trying to restore an existing one. It is extremely
important to keep messages beyond the current session.
</lily>

> 
> We need to identify the issues and describe some rules for behavior.
> - How does one specify durability? It sounds like something you do in
> the subscribe operation...are there other ways to do it?
<lily>
It seems more straightforward to make durability a property of a
subscription. Should we allow users to change it during the lifetime of the
subscription?
</lily>

<
> - What do we call this thing?  JMS calls it a durable subscription.
> Should we adopt that terminology or create something new?
<lily>
The JMS term is a good choice since it is widely accepted.
</lily>

> - What is the duration of the durability?  (How long do saved messages
> need to be saved?).  We could use the termination time of the message
> and do it on a per message basis.  
<lily>
It can make things easier if the durability of the subscription is the same
as the lifetime of the subscription. Message expiration is a separate
concept. Do we have a concept of message lifetime in WSN? Should we discuss
that too?
</lily>

> - Should we be prescriptive on when and how stored messages are
> discarded?  I think we should keep that open to interpretation.  For
> example, depending on the implementation the messages might be cleaned
> up periodically or they could even be discarded during the 
> replay itself
> which could lead to expired messages showing up occasionally in
> management tools that browse the stored messages.  As long as we state
> that expired messages should not be delivered I think we're OK.
<lily>
Agreed. I believe JMS says that too.
</lily>

> - JMS identifies the "reconnected" subscriber by using a 
> combination of
> a connection id and a subscription name.  What should we use? 
> An EPR + a
> topic expression?
<lily>
Does this topic expression contain enough information to identify the
subscription? If so, I think it will be fine.
</lily>

> - Do we need to flag a message when it has been stored and 
> replayed?  I
> think we should.  It can provide a hint to the receiver that there may
> be side affects such as out of order delivery.
<lily>
I agree. I think in-order delivery should be a QOS of the subscription
regardless whether it is durable or not.
</lily>


> - Come to think of it, are there out of order delivery issues that we
> need to deal with. As messages are being replayed, freshly published
> messages could also be arriving at the same time.  Is that something
> that can be addressed with the underlying RM processor?  It 
> is supposed
> to be able to handle that kind of thing, but we should think about
> whether we need to specify anything else over and above that.
<lily>
Yeah, RM is supposed to. On the other hand, whoever interacts with WSRM can
advertise an in-order delivery as a QOS of the subscription.
</lily>

Lily

> -----Original Message-----
> From: Rick Cobb [mailto:rcobb@KnowNow.com] 
> Sent: Wednesday, December 15, 2004 7:36 PM
> To: wsn-oasis (E-mail)
> Subject: [wsn] Use cases: Durable Subscription
> 
> Thought I'd get the ball rolling on this with some small, perhaps a
> little unusual, cases.
> 
> Consumers that can not tolerate missed notifications in the case of
> (sometimes prolonged) network or system failure need durable
> subscriptions.  
> 
> Consider a notification producer (say, an RFID reader) which provides
> inventory change events (item foo walked out the door, item 
> bar went on
> the shelf).  A consumer managing the state of inventory (there are 7
> items with bar's SKU# on that shelf) can not maintain an 
> accurate count
> unless it receives all notifications.  If the network fails, the
> producer (or an intermediate broker) must maintain enough state to
> replay any messages that happened while the consumer is unreachable.
> 
> This may be solvable with 'just' reliable messaging -- 
> however, the time
> and overhead horizon can be large, and the consumer's actual 
> addressing
> may change upon reconnection. For example:
> 
> Some applications which aggregate state (say a stock quote trend on a
> spreadsheet) are only occasionally connected.  Imagine the case where
> you regularly analyze stock trading trends on your laptop.  You want
> every bid and ask for a particular instrument to analyze the 
> volatility
> of that instrument.  Now you get on an airplane, and play with your
> analyzation formulae while you're in the air.  When you land, 
> you don't
> log in till the following morning, and you log in from your 
> hotel.  You
> still want to receive all of the individual updates at this time to
> build your new trend state.
> 
> Now take a nice long holiday.  When you return, the notification
> producer (or broker) is unlikely to have retained all 
> updates.  In this
> case, we have reached the point where the 'GetCurrentMessage and then
> updates' pattern would need to be applied (or, one would hope, someone
> might migrate to a better aggregator than Excel :-).
> 
> In the second case, the application can know when it is going to be
> off-line, and use pause/resume semantics.  In the first, 
> network outages
> or system outages cause the fundamental inability to deliver the
> notification, so no pause/resume can be generated or expected.
> 
> -- ReC
> 
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]