wsrf message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Fw: [wsn] Subscription leasing, garbage collection and scalability
- From: Steve Graham <sggraham@us.ibm.com>
- To: wsrf@lists.oasis-open.org
- Date: Mon, 24 May 2004 09:50:01 -0400
cross-post
++++++++
Steve Graham
(919)254-0615 (T/L 444)
STSM, On Demand Architecture
Member, IBM Academy of Technology
<Soli Deo Gloria/>
++++++++
----- Forwarded by Steve
Graham/Raleigh/IBM on 05/24/2004 09:49 AM -----
| David Hull <dmh@tibco.com>
05/24/2004 09:26 AM
|
To:
Steve Graham/Raleigh/IBM@IBMUS
cc:
wsn@lists.oasis-open.org, wsrf@lists.oasis-open.org
Subject:
Re: [wsn] Subscription leasing, garbage
collection and scalability |
Steve Graham wrote:
David:
ok, make a proposal. Perhaps we should consider incorporating any
proposal here back into WSRL. Potentially, the solution you suggest
may be more broadly applicable than just subscriptions?
My thinking was that WS-RL would be the place to talk
more specifically about other solutions. Sessions imply some means
of tracking object dependencies, so that when the managed object (session)
goes away, the dependent objects (subscriptions) go away too. Definitely
bigger than a breadbox.
Similarly, WS-RF may want to deal with the concept of a parent object carrying
default values for properties of dependent objects. Being able to
deal with this generically might be a good argument for the proprieties-based
approach.
For WS-BN, the more important consideration is to stay out of the way so
that whatever emerges from WS-RL can be leveraged, and that existing systems
that already provide GC functionality will play seamlessly.
For the latter, all we need is to make sure leasing is optional. As
we discussed in Chicago, it is effectively optional now, but in an indirect
way. Perhaps a better approach is
- Make the initialTerminationTime element optional. If
it is absent, GC is to be handled by some other (unspecified) means.
- If the producer requires leasing, it should fault if the
initialTerminationTime is missing
- Similarly, if the producer does not support leasing, it
should fault if the initialTerminationTime is present.
- Otherwise, follow the existing semantics.
sgg
++++++++
Steve Graham
(919)254-0615 (T/L 444)
STSM, On Demand Architecture
Member, IBM Academy of Technology
<Soli Deo Gloria/>
++++++++
I believe the upshot of the previous exchange is, if you expect a
subscriber to make a lot of subscriptions, the lease time had better be
long or indefinite. In fact, from the producer's point of view, if
you
expect there to be a lot of subscriptions, period, the lease time had
better be long or indefinite.
In other words, the only method that WS-BN provides for garbage
collection of subscriptions should be effectively disabled precisely
when it is most likely to matter.
I think the problem here is that WS-BN addresses subscription leasing
and not garbage collection per se. This doesn't mean that it should
try
to provide all possible means of garbage collection, only that it should
specifically point out a need, allow for as wide a range of solutions as
is feasible, and point to subscription leasing (a la WS-RL) as one
solution. This is essentially the same road we went down with topics.
The more I consider leasing of individual subscriptions, the more
potential technical issues I see. Obviously, none of them is
insurmountable -- they have all been addressed and solved in other
contexts. But each carries weight for the potential implementor.
I'm
willing to drill down on these a bit if needed, but I'm hoping we can
avoid this and take a higher-level decision that leasing of individual
subscriptions, while useful in some contexts, should not be required or
be the only possible GC mechanism.
With that provisional assumption, the immediate question becomes how can
we allow for session-based garbage collection without adding undue
weight to the WS-BN framework. Sessions have their own technical
issues
and implementation weight.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]