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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrm message

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


Subject: Re: [wsrm] Rel 56: another cut


Mechanisms for conveying and negotiating configure parameters are NOT being neglected by OASIS.  They are being addressed by OASIS as follows: While these specifications are for ebXML, most of what is in them is equally applicable to Web services. Some thought on how to do this is in progress in the CPPA team.  In any case, it is up to the member companies, not the OASIS administration to initiate new work.  The CPPA team will be happy to discuss this topic with the WSRM team.

Regards,
Marty Sachs
chair, automated-negotiation SC


At 05:20 AM 9/2/2003 -0700, Alan Weissberger wrote:

Jacques

Thanks for refining my proposal for config management parameters

While definition of same belongs in the WS-RM spec, I am still concerned that mechanisms and procedures for converying and negotiation of such parameters is being neglected by OASIS.

I believe that is the major objective of the WS-Policy related specs that a consortium is working on outside of OASIS TCs.

See you all at the f2f.  I leave my house tomorrow at 5:45AM for a 6:50AM flight from SJC

alan

 ----- Original Message -----
From: Jacques Durand
Date: Fri, 29 Aug 2003 19:38:51 -0700
To: "''wsrm@lists.oasis-open.org''"
Subject: [wsrm] Rel 56: another cut

A shot at Rel 56, attached.

I started from the material from Alan W., have only added two to those well defined
 (so 6 parameters total are described), and left many TBD as is.

But  I felt that each parameter needed a careful investigation, and its semantics refined (and sometimes modified).
So don't be afraid of the size of the doc attached...

I must add, its not yet clear that we can easily separate implementation configuration
from RM policy or agreement between two RMPs:
The parameters below make as much "application-level sense" as high-level
RM policies such as guaranteed delivery, or duplicate elimination.
Some parameters are obvious attributes of RM policies (e.g. retry interval, maximum retries)
some others focus on an optimal management of the persistence function.
In all cases, message management rules (and their parameters) have some meaning
for applications and need to be set based on application requirements.

Regards,

Jacques Durand

<>

>
>
> Rel 56:
> ----------------------------------------------
> 1. Maximum message lifetime/duration (determines upper bound on message expiration time)
> (frm date it is sent?)
>
> SUMMARY: Set an expiration time for any message, when no TimeToLive was set.
> (PREVENT INDEFINITE/ NEVER ENDING MESSAGE EXPIRATION)
> REQUIREMENT:
> There are two issues with messages for which TimeToLive has not been set,
> in terms of persistence handling:
> (1) on receiver side, messages may persist a long time in the receiver store if
> "unclaimed" by the application, or application unavailable (e.g shutdown).
> (2) on the sender side, message removal is normally controlled by the Ack and resend mechanism.
> However, e.g. in some cases of long shutdown, messages do be [re]sent should be considered as
> too old and not be processed anymore, to free resources for new messages.
> In both cases, an RMP needs input to decide when it is time to discard an "old" message
> from the store, and to notify the loss.
>
> PARAMETER: MessageMaxPersist
>
> MODE: mandatory
>
> SENDER HANDLING: remove from store all messages as specified in spec 2.2.3,
> or else if no TimeToLive specified, with (sending date + MessageMaxPersist) > currdate.
>
> RECEIVER HANDLING: remove from store all messages with either: TimeToLive > currdate,
> or if no TimeToLive specified, with (sending date + MessageMaxPersist) > currdate.
> SCOPE: apply to all received and sent messages.
>
> COMMENT:
> - this parameter is mostly meaningful for message store management, and is common
> to messages for all connections Sender-Receiver.
> Is equivalent to a "default" TimeToLive, except that it does not rely on setting a default
> TimeToLive in messages (which requires all Senders to do so and cannot be controlled by a Receiver).
> - as only applies when TimeToLive is not set, will be override by TimeToLive.
>
> RELATED POLICY ISSUES:
> Need to decide (need a config param for this?):
> - in case of persistence failure (no more room in store), either new messages should
> be bounced, or older messages be flushed.
>
>
> ----------------------------------------------
>
> 2. Maximum message group (or message sequence) lifetime
>
> SUMMARY: Provides criterion for removing group data from RMP store
> (PREVENT INDEFINITE/ NEVER ENDING MESSAGE SEQUENCE EXPIRATION)
> REQUIREMENT:
> Sequence of messages (identified by GroupId) may be started, yet not ended.
> In case no message is sent with @status="end" or if @removeAfter is never set, many
> sequences may remain indefinitely open, tying up system resources.
> In such case, we can either (a) set an overall max duration for all sequences,
> or (b) set the max elapsed time between two messages of a sequence, so that
> when a sequence is "inactive" beyond this time, it will be assumed it has ended.
> Because it is sometimes hard to estimate the max length of some sequences
> (some may be very long, or even never ending by nature, e.g. a monitoring flow),
> we'll use a parameter for (b) which seems also more intuitive.
>
> PARAMETER: GroupMaxIdle
>
> MODE: mandatory
>
> SENDER HANDLING: tracks for each group the elapsed time since last sending for the group.
> Remove the group data if elapsed time > GroupMaxIdle.
>
> RECEIVER HANDLING: tracks for each group the elapsed time since sending date of
> last message received for this group. Remove the group data if elapsed time > GroupMaxIdle.
> If some unordered messages of this group were still awaiting to be passed to the receiver app,
> then pass them, and send error notice for the missing ones.
> SCOPE: apply to all groups of all connections (sender/receiver)
>
> COMMENT:
> - If one wants this to apply only when "removeAfter" has not been specified,
> then Spec 3.3.1 should not consider "removeAfter" default = forever.
> If we consider the default is "forever", then this idle time limit policy should
> apply also to any group, which may be brutal, as cannot be override.
>
>
> ----------------------------------------------
>
>
> 3. Resend interval (SEE REL 47)
>
> SUMMARY: defines the elapsed time before resending a non-acknowledged message.
>
> REQUIREMENT:
> When guaranteed delivery is required, need to set the time to wait for an Ack
> before resending the message.
> Assume this is specific to each Sender/Receiver connection.
>
> PARAMETER: RetryInterval
>
> MODE: mandatory when guaranteed delivery is requested.
>
> SENDER HANDLING: used to schedule the resending: minimum elapsed time before resend.
>
> RECEIVER HANDLING: none.
>
> SCOPE: apply to all messages of a connection (sender/receiver)
>
> COMMENT:
> - could be used as a base-interval if a more complex interval algorithm is used later.
> - it is important to define the scope: if specific to a connection Sender/Receiver,
> an RMP will have to manage a parameter for each connection, vs. just one for all connections.
>
> ----------------------------------------------
>
>
> 4. Retransmission count (SEE REL 47)
>
> SUMMARY: define the max numer of resent non-acknowledged messages, before
> generating a delivery failure.
>
> REQUIREMENT:
> When guaranteed delivery is required, need to set the max number of times a message
> will be resent if not acknowledged (from 0 to N), so that a repeated failure to send
> will not tie up processing and storage resources in the Sender, and will be notified
> to sender application in a timely manner.
> Assume this is specific to each Sender/Receiver connection.
>
> PARAMETER: RetryMaxNumber
>
> MODE: mandatory when guaranteed delivery is requested.
>
> SENDER HANDLING: Used to limit the total number of message resend.
>
> RECEIVER HANDLING: none.
>
> SCOPE: apply to all messages of a connection (sender/receiver)
>
> COMMENT:
> - it is important to define the scope: if specific to a connection Sender/Receiver,
> an RMP will have to manage a parameter for each connection, vs. just one for all connections.
>
>
>
> ----------------------------------------------
>
>
> 5. Duplicate search scope (minimum number of past messages to look-up)
>
> SUMMARY: Defines minimum size of set of past messages to be considered for a duplicate search.
>
> REQUIREMENT:
> Duplicate search cannot be guaranteed over all previously received messages.
> It is necessary to clarify the limits of the duplicate search, either in number
> of past message IDs to look-up, or in terms of past date.
> The trade-off scope of search / preformance can also be adjusted and prevent doing
> exhaustive expensive duplicate search over large logs of non-relevant message IDs.
>
> PARAMETER: DuplicateSearchSetLimit, DuplicateSearchTimeLimit
>
> MODE: Mandatory if duplicate elimination required.
>
> SENDER HANDLING: none.
>
> RECEIVER HANDLING: will limit (but guarantee) the search of duplicate over a number of past
> message IDs equal to DuplicateSearchSetLimit, or over the past messages until the date
> defined by (current date - DuplicateSearchTimeLimit).
>
> SCOPE: apply to all messages of a connection (sender/receiver) for which a duplicate
> elimination is required.
>
> COMMENT:
> - in case both parameters are also specified, the search is limited by whichever
> defines the larger set.
> - it is important to define the scope: if specific to a connection Sender/Receiver,
> an RMP will have to manage a parameter for each connection, vs. just one for all connections.
>
>
> ----------------------------------------------
>
>
> 6. Unordered messages window size (max number of messages to hold)
>
> SUMMARY: Defines max size of set of unordered received messages, before
> taking action (notify, pass messages to application)
>
> REQUIREMENT:
> If a message is missing in a received sequence, the Receiver may have to store
> a very large number of messages, and delay their passing to the application in a
> damaging way (a messages may loose value way before reaching its TimeToLive).
> Relying on the store capacity to decide of the size of this window is crude:
> space resource may not be well allocated between several broken sequences.
>
> PARAMETER: UnorderedWindowSize
>
> MODE: mandatory if Ordering required.
>
> SENDER HANDLING: none.
>
> RECEIVER HANDLING: When the unordered section of a particular sequence exceeds UnorderedWindowSize,
> Receiver will notify of the unreceived messages, and pass all pending messages to the application.
>
> SCOPE: apply to all messages of a sequence / GroupId.
>
> COMMENT:
> - should the "reduction" of an unordered sequence be alterantively controlled by a time-based
> limit?
>
> RELATED POLICY ISSUES:
> - Behavior of Receiver after a broken sequence has been reduced by reaching window size,
> is TBD: keep ordering the rest? give up?
>
>
>
> ----------------------------------------------
> RMP-specific resource capabilities: (TBD)
> ----------------------------------------------
>
> These parameters are not reflecting an RM agreement, like the previous ones.
> Rather, they define the "profile" of an RMP, in terms of:
> - persistence capability (may include also some tuning info such as MessageMaxSize, MessageAvgSize)
> - types of MEPs supported
> - WS-RM spec options supported (e.g. sync/async)
> - alternative transport bindings supported (besides HTTP),
>
> ----------------------------------------------
> RMP-specific behaviors: (TBD)
> ----------------------------------------------
>
> - recovery actions to be taken on failure and/or failure recovery
> (power outage, no-ack count expired, crash tolerance, etc).
> - level of failure notification.
>
> ----------------------------------------------
> General RM agreement parameters: (?)
> ----------------------------------------------
>
> These parameters would represent the RM agreement, and would be interpreted
> by both Sender and Receiver RMPs. Could be override by header data:
>
> - Duplicate elimination
> - Guaranteed delivery
> - Message Ordering
>
>
>

>
To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsrm/members/leave_workgroup.php.
Alan Weissberger
2013 Acacia Ct
Santa Clara, CA 95050-3482
1 408 863 6042 voice
1 408 863 6099 fax
To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsrm/members/leave_workgroup.php.

*************************************
Martin Sachs
standards architect
Cyclone Commerce
msachs@cyclonecommerce.com



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