Re: [Dime] group signaling - limited success on group operations

Marco Liebsch <Marco.Liebsch@neclab.eu> Mon, 27 February 2017 16:52 UTC

Return-Path: <Marco.Liebsch@neclab.eu>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53C88129977 for <dime@ietfa.amsl.com>; Mon, 27 Feb 2017 08:52:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Li48xl7svHtS for <dime@ietfa.amsl.com>; Mon, 27 Feb 2017 08:51:58 -0800 (PST)
Received: from mailer2.neclab.eu (mailer2.neclab.eu [195.37.70.41]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4A195129976 for <dime@ietf.org>; Mon, 27 Feb 2017 08:51:58 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mailer2.neclab.eu (Postfix) with ESMTP id 67FC6F200A; Mon, 27 Feb 2017 17:51:56 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1]) by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OKnyeYaKciMf; Mon, 27 Feb 2017 17:51:56 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (enceladus.office.hd [192.168.24.52]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailer2.neclab.eu (Postfix) with ESMTPS id 38505F2001; Mon, 27 Feb 2017 17:51:52 +0100 (CET)
Received: from PALLENE.office.hd ([169.254.1.182]) by ENCELADUS.office.hd ([192.168.24.52]) with mapi id 14.03.0319.002; Mon, 27 Feb 2017 17:51:51 +0100
From: Marco Liebsch <Marco.Liebsch@neclab.eu>
To: "Bales, Mark [CTO]" <Mark.Bales@sprint.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: group signaling - limited success on group operations
Thread-Index: AdKN76ywggLsEW1wQ+CmgSsTcKZVHQAI1c1wAMGtSDA=
Date: Mon, 27 Feb 2017 16:51:51 +0000
Message-ID: <69756203DDDDE64E987BC4F70B71A26DAF09EBC2@PALLENE.office.hd>
References: <69756203DDDDE64E987BC4F70B71A26DAF09CCB5@PALLENE.office.hd> <62261aadb6ab4ba18afed1a4b939a740@PREWE13M17.ad.sprint.com>
In-Reply-To: <62261aadb6ab4ba18afed1a4b939a740@PREWE13M17.ad.sprint.com>
Accept-Language: de-DE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.1.6.170]
Content-Type: multipart/alternative; boundary="_000_69756203DDDDE64E987BC4F70B71A26DAF09EBC2PALLENEofficehd_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/qK0dsRitrn6y8NCFWT0ERQSw4WY>
Subject: Re: [Dime] group signaling - limited success on group operations
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Feb 2017 16:52:01 -0000

Hi Mark,

I agree with your view.

For the removal of failed sessions there are again different options:


Per specification, removal is controlled by Diameter peers utilizing (service-specific) re-authorization request
and having the SESSION_GROUP_ALLOCATION_ACTION flag of the included
Session-Group-Control-Vector cleared (Section 4.2.2).



During group operation, we have the result of a group operation that identifies failed sessions. Hence,
server and client should actually aware of failed sessions. I see the following options:



a.)     Since Diameter peers are aware of failed sessions, they MUST remove these session from
the group(s) to which the group command applied. This should keep the session groups
on both Diameter nodes synchronized.



b.)    To remove failed session from session groups, the Diameter client MUST initiate session removal procedure
per section 4.2.2 for each of the failed sessions. In addition, the Diameter client enters the procedure for
single-session fallback.



c.)     To remove failed sessions from session groups, the Diameter client includes the Session-Group-Control-Vector
with the SESSION_GROUP_ALLOCATION_ACTION flag cleared into the command used during the operation
of a single-session fallback.





Issue with a.) may be that the server has removed the failed session from the session groups when
sending the response of the group operation with limited success to the client. In case the response
does not arrive at the client for some reason, the client may re-send the group operation and  assumes
that the actually failed sessions are still assigned to the session groups.



b.) seems to be the safest approach but results in more signaling. Assuming N failed sessions, this will end up
in 1 x group operation response + N x re-authorization request for session removal, N x single-session operation.



c.) violates the specification per section 4.2.2 where a (service-specific) re-authorization request is to be
used to remove a session from a session group.

If we want to be as clean as possible in this base specification, I'd go for option b)
What do you think?

marco


From: Bales, Mark [CTO] [mailto:Mark.Bales@sprint.com]
Sent: Freitag, 24. Februar 2017 20:03
To: Marco Liebsch; dime@ietf.org
Subject: RE: group signaling - limited success on group operations

Marco

IMO

Diameter peers need to fall back to single-session operation for failed session(s).  ---- keep as much efficiency as possible.
Remove sessions that failed from the session Group. --- we need to keep the session groups as accurate as possible.

Determining of re-addition of a Session to a Session Group would need to happen at some point but I see the as a recovery operations but an administrative function.



From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Marco Liebsch
Sent: Thursday, February 23, 2017 10:37 AM
To: dime@ietf.org<mailto:dime@ietf.org>
Subject: [Dime] group signaling - limited success on group operations

There is an open item in the draft about how Diameter peers treat sessions, which belong to one or
multiple session groups, and a group command failed for some sessions associated with the session
groups to which the command applies. This is the current text in the draft:


When a Diameter node receives a request to process a command for one
or more session groups and the result of processing the command
succeeds for some sessions identified in one or multiple session
groups, but fails for one or more sessions, the Result-Code AVP in
the response message SHOULD indicate DIAMETER_LIMITED_SUCCESS as per
Section 7.1.2 of [RFC6733].  In case of limited success, the
sessions, for which the processing of the group command failed, MUST
be identified using a Failed-AVP AVP as per Session 7.5 of [RFC6733].




Some more description is needed how these sessions, for which the group operation
failed, should be treated. Here is a proposal:

- Diameter peers need to fall back to single-session operation for these sessions
- Diameter node SHOULD re-try the command on a single-session basis
- If the single-session command succeeds, the Diameter peers MAY continue keeping the
session(s) in the session group(s)
- if the single-session command fails, the session MUST be removed from all session groups
to which the previous group command applied

This is kind of optimistic procedure.

Alternative: We may also mandate to fall back to single session operation and remove failed
sessions from all session groups to which the group command applied.

Please let me know your position w.r.t. the above operation, text and options.

marco








________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.