Subject: Re: QoS Policy Information Model draft

From: Marcus Brunner <[email-masked]>
Date: Thu, 30 Nov 2000 15:42:43 +0100

Yoram,

I have some questions and comments (see inline)

Yoram Snir wrote:
[...]

> 1. Some of the classes defined in QPIM are intended for usage outside the
> scope of QoS domain. The concept of conditions as building blocks of
> filters, the basic condition structure of <variable operator value>, the
> concept of variable binding and the concept of variable to
> value relationship are valuable to domains out side QoS policy. In order to
> allow more natural usage of these concept in other domains, the relevant
> classes prefix was changed from qosPolicyXXX to gpsPolicyXXX and properties
> prefix was changed from qpPolicyXXX to
> gpPolicy ,i.e., general policy XXX.
>

This is a grewat idea. We have to talk about what to do with this
calsses in SD.
 
> 2. The notion of a class representing a filter or a Boolean expression made
> of policy conditions, that could also serve as a reusable filter was added.
> The class gpsPolicyCompoundCondition allows the definition of a flexible
> reusable filter, leveraging the mechanism defined in CPIM for associating
> policy conditions to a policy rule .
>

I do not understand, why you added this condition. I see no additional
value. Do you want to group conditions, representing a packet filter,
together for reuse and easier handling?

> 3. This draft was updated to be compatible with the latest PCIM draft.
> 
> 4. PHB Actions added to allow full coverage of the QoS policy model required
> for definition of policies for a differential service domain. References to
> external PHB definitions removed.
> 
> 5. Alignment between policy definition of QPIM and low level PIB / MIB Was
> illustrated.
> 
> 6. Reuse of Policy groups and their QPIM extensions, gpsPolicyGroups and
> Policy rules were explained and examples were added.
>
 
Rule nesting
What is the semantic of the PolicyRuleinPolicyRule aggregation?
Basically, I do not see the execution semantic. I have the feeling this
concept will run us in problems implementing it properly (defined
semantic)
Why is ordered grouping of rules not sufficient?

Rule Decsision Strategy
Why do we need another method additional to conditions and roles to
decide, whether a rule is applied/executed?

Is the semantic of the priority value of the policy rule really defined
within a container in PCIM? I have not found this in the lasted PCIM
draft.

> 7. Role usage in the context of QoS policy was explained. No new concepts
> were introduced. Role were also defined per gpsPolicyGroups.

What do we gain having roles in the policy group, and each group and
rule will inherite the role from its container? Form the execution point
of view, this should be the other way around. A policy groups role
property should contain all roles and role combinations from the rules
and groups contained in the specific group.

> 
> 8. Change gpsPolicyMeter to include a traffic profile and scope. The
> previous way of binding the meter the traffic profile and a scope using a
> provisioning action could lead to inconsistencies if not used properly.
> 
> 9. Clarification of the use of gpValueTypes property of values and the
> meaning of table 3.
> 
> 10. Rewriting the draft in a storage independent way. The previous draft was
> not general enough. Added appropriate association and aggregations and
> removed references from objects. Changed text
> appropriately.
> 
> 11. qpsNamedPolicyContainer class name was changes to gpsPolicyGroup to
> allow for usage outside the scope of QoS domain.
> 
> The draft is available in via ftp (util the ietf repository updates):
> ftp ftpeng.cisco.com.
> user: anonymous
> cd ietf-policy-wg (under login dir)
> get draft-ietf-policy-qos-info-model-02.txt
> 
> Enjoy
> 
> Yoram Snir

-- 

Dr. Marcus Brunner
C&C Research Laboratories
NEC Europe Ltd.

E-Mail: [email-masked]
WWW:    http://www.ccrle.nec.de/
personal home page: http://www.tik.ee.ethz.ch/~brunner

Adenauerplatz 6
D-69115 Heidelberg
Germany

Phone: +49 (0)6221/ 9051129
Fax:   +49 (0)6221/ 9051155

---

From: "Yoram Snir" <[email-masked]>
Date: Fri, 1 Dec 2000 17:25:43 +0200

Marcus please see in line.

Yoram Snir

> -----Original Message-----
> From: Marcus Brunner [mailto:[email-masked]]
> Sent: Thursday, November 30, 2000 4:43 PM
> To: Yoram Snir
> Cc: 'Policy Mailing List' (E-mail)
> Subject: Re: QoS Policy Information Model draft
>
>
> Yoram,
>
OK

> together for reuse and easier handling?

Exactly, the only way you could reuse a group of condition with specific
semantics is by adding this class. For example condition A and not
ConditionB. It doesn't have to be a packet filter, how about:
(URL = *.jpg or URL = *.gif) to represent HTML GETS  of pictures?

> Why is ordered grouping of rules not sufficient?

Please see explanation and example in the draft, it illustrates the order of
grouping and rules, and how the combination works.
> decide, whether a rule is applied/executed?

It has to do with the usage of orders in groups and rules and explained in
the same section. In general you might want to have a "first match" on the
groups of rules, an a "match all in the group itself". Remember that sub
rules are allowed.

> within a container in PCIM? I have not found this in the lasted PCIM

It should be, will check.

> and groups contained in the specific group.

I disagree, roles are used by policy engines to pick which rules are
applicable to them and should be acted on. So if a rule is defined for
special case and has a special role, the group or sub rule containing it and
other rules should not be effected.
We should talk more in SD.

---

From: Marcus Brunner <[email-masked]>
Date: Fri, 1 Dec 2000 18:59:19 +0100 (CET)

Yoram,

Quoting Yoram Snir <[email-masked]>:

[...]

> (URL = *.jpg or URL = *.gif) to represent HTML GETS  of pictures?

So basically it is a condition group, like a group of rules (gpsPolicyGroup), 
should there be the same for action groups?

> grouping and rules, and how the combination works.

So lets try, if I understand it correct.

We have three rules R1,R2, and R3, with conditions C1,C2, C3, and actions A1, 
A2, A3. R2 and R3 are associated to R1.

So if C1 is true perform A1 and evalute rules R2 and R3
                if C2 is true then perform A2
                if C2 is false then (stop of evalute R3 ??? -> define 
sequential or paralell evaluation of the rules)
if C1 is false do nothing

What is the difference to the three rules?
IF C1 THEN A1
IF C1 AND C2 THEN A2
IF C1 AND C3 THEN A3

What is the context of the evaluation of R2, R3? Same as R1? Global?
Is the semantic the same as if one would model it with a EvaluationAction?

> We should talk more in SD.

As you said, basically a role helps to implement a policy engine more efficent, 
because only rules which a written for a particular role are evaluated. But if 
the engine has to check for all roles of all rules in a group you have nothing 
gained. So what is the role property in the policyGroup for?

Marcus

Dr. Marcus Brunner

Adenauerplatz 6
D-69115 Heidelberg
Germany

---

From: Yoram Ramberg <[email-masked]>
Date: Sun, 03 Dec 2000 13:38:00 -0600

I took the liberty to snip the stuff I didn';t address...
*Yoram

At 06:59 PM 12/1/00 +0100, Marcus Brunner wrote:
[...snip...]
>Is the semantic the same as if one would model it with a EvaluationAction?

This is my understanding of the evaluation and execution order:
Assuming the 1, 2 and 3 designate rule priority,

If the decision strategy is MATCH ALL (expected to be rare for constructs 
like this),
If (C1) {
   If (C2)  {A1; A2;};
   if (C3)  {A1; A3;};
   A1;
}

If the decision strategy is MATCH FIRST (which us the usual case),
if (C1) {
    if (C2) {A1; A2;}
    else if (C3) {A1; A3}
    else A1;
}

Am I right?
*Yoram

---

From: Marcus Brunner <[email-masked]>
Date: Mon, 4 Dec 2000 22:12:32 +0100 (CET)

Quoting Yoram Ramberg <[email-masked]>:

> > > Please see explanation and example in the draft, it illustrates the
> order
> > > of

The question is here, what is the action order? Why not like the following?
If (C1) {
    A1;
    If (C2)  {A1;A2;};
    if (C3)  {A1;A3;};
 }

Seceond question, why do you perform A1 potentially many times?

> If the decision strategy is MATCH FIRST (which us the usual case),

Yes.

Marcus

Dr. Marcus Brunner

Adenauerplatz 6
D-69115 Heidelberg
Germany