Re: [Anima] Some comments for draft-carpenter-anima-gdn-protocol

John Strassner <strazpdj@gmail.com> Thu, 12 March 2015 00:34 UTC

Return-Path: <strazpdj@gmail.com>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C41411A88B0 for <anima@ietfa.amsl.com>; Wed, 11 Mar 2015 17:34:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
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 BZJk_sYzww1f for <anima@ietfa.amsl.com>; Wed, 11 Mar 2015 17:34:23 -0700 (PDT)
Received: from mail-wi0-x22b.google.com (mail-wi0-x22b.google.com [IPv6:2a00:1450:400c:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 69D311A884F for <anima@ietf.org>; Wed, 11 Mar 2015 17:34:23 -0700 (PDT)
Received: by wiwl15 with SMTP id l15so43476712wiw.4 for <anima@ietf.org>; Wed, 11 Mar 2015 17:34:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=JwKDbVO93x8xGaVuRwC30sZxgub9u2vnwuVm8dZBMLc=; b=GUDKwlOwO0tHNEAQuoEiSa+zZ9SX6pcJq0zD7LRlAfgb6+256WhpFLh/SI6fsP9I1x EdhwJ7PbToIwhFz/wOrl35dndD2Yh56UP4tvqMbxdeGK+0o56CTE1+sCw5v4wXNmg+/e hNnDnt6PvvomUgCuVqEkNYCWQjRWifSf00532R4En58nFRoZawkfb0g5AZGe54/3VbSa JJ/5Mlzq1NPANkkW2jgdTLFvuTdKG7vgY59k0+/ts2sbvdyl3I7D7JzM666VNC623b3c QYxQ4fxYw6DDZggLgVldr+kbCb5PNXEy8BJn2v22vvcE2xYgSN2fT+qNhoG5T6HrxJVC 8lsw==
MIME-Version: 1.0
X-Received: by 10.194.87.100 with SMTP id w4mr79892077wjz.65.1426120462056; Wed, 11 Mar 2015 17:34:22 -0700 (PDT)
Received: by 10.27.85.139 with HTTP; Wed, 11 Mar 2015 17:34:21 -0700 (PDT)
In-Reply-To: <54FE67C3.9010804@gmail.com>
References: <5D36713D8A4E7348A7E10DF7437A4B923B059AD6@nkgeml512-mbx.china.huawei.com> <54FE67C3.9010804@gmail.com>
Date: Wed, 11 Mar 2015 17:34:21 -0700
Message-ID: <CAJwYUrEgDc9Yz3F2bMNRwkE0byR9KPOkQJfWVP7qAtCFWwPzng@mail.gmail.com>
From: John Strassner <strazpdj@gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>, John Strassner <strazpdj@gmail.com>
Content-Type: multipart/alternative; boundary="047d7bf10a168c452d05110c8ba0"
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima/82ySY2Vc0-1nY8fRGpocS2NkqMs>
Cc: John Strassner <John.sc.Strassner@huawei.com>, "Liubing (Leo)" <leo.liubing@huawei.com>, Anima WG <anima@ietf.org>
Subject: Re: [Anima] Some comments for draft-carpenter-anima-gdn-protocol
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Mar 2015 00:34:28 -0000

Hi Brian,

thanks for your quick reply. I'm out of the country, so sorry for the
delay. Please see inline, look for <jcs>..</jcs>.

...elided...

>>>> autonomics require the ability to share and
>>>> exchange knowledge in an interoperable fashion. I fail to see how this
is
>>>> even discussed in ANIMA.

<jcs>
This is probably my error, sorry.
I've done a lot of research in autonomics, and even built a couple of
things. :-)
What I meant in the snipped above is the ability to pass enough information
to other participating nodes so that the nodes can understand the current
context, make context-relevant decisions, and then take appropriate actions.
For example, if I was using ontologies to specify semantics, I would likely
use something like CL (Common Logic).
As another example, autonomic systems **learn** from the environment.
Hence, their repositories grow, information is validated and invalidated,
etc.
Hopefully that makes more sense...
</jcs>

>>> BTW, the ability to share and exchange knowledge in an interoperable
fashion
>>> looks like GNDP (Generic Discovery and Negotiation Protocol) in ANIMA.
This
>>> protocol is designed to support information discovery and bi-direction
>>> negotiation.
>>
>> It appears that GDNP covers some, but not all, of what I am talking
about.

Indeed, it isn't claiming to cover everything. The idea is that
draft-behringer-anima-reference-model will evolve to show how things
fit together, which will help us to identify holes.

<jcs>
I promise to read this next. :-)
My quick comment is that in systems I have built, it is important to pass
parts of the model among cooperating autonomic nodes. I don't detect this
ability in GDNP.

Another important requirement was for "more powerful" processing nodes to
help "less powerful" processing nodes. This was typically implemented by
advertising capabilities as well as requests for help. I think that GDNP
could evolve to serve these and similar needs.
</jcs>

>> However, the following statement from the GDNP draft is misleading, if
not
>> just plain wrong:
>>
>> "In order to fulfil autonomy, devices that embody autonomic service
>> agents need to be able to discover each other, to synchronize state
>> with each other, and to negotiate parameters and resources directly
>> with each other."
>>
>> First, autonomic networks are not necessarily autonomous. Autonomy, in
its
>> most generic form, is the ability to have the power for an entity to
govern
>> itself. If every network element governs itself without regard to other,
higher
>> level principles, you don't even have a network. :-)

Sure. That is the role for what we call "intent" which is defined
in draft-irtf-nmrg-autonomic-network-definitions but is not yet
in Anima scope.

<jcs>
Another item for my reading list.
Looking at page 4, it **seems** that you are defining an autonomic system
as a system driven by policy. I like that :-)
However, this is a difficult goal. I think that it is unlikely that a
**single** level of intent can ever be built. Rather, much like the policy
continuum that I defined, I think that there is a continuum of intents,
where each intent is expressed using a policy that may use different
concepts and terminology. We do that today, when a business person decrees
that this Customer gets Gold Service, and a network admin translates that
to CLI.
Thoughts?
</jcs>

>> Second, the three concepts mentioned in the above excerpt
(discoverability,
>> synchronization of state, and parameter negotiation) are necessary but
>> clearly not sufficient to have autonomic operation. I was talking about
the
>> ability to exchange knowledge (e.g., all or part of an information model)
>> between entities. It doesn't appear that this is covered in ANIMA yet,
though I
>> haven't read all of the materials.

My personal view is that this is going to be resolved topic by topic.
In GDNP-speak that means that it will be resolved by individual Objective
definitions, and GDNP will just act as a neutral carrier. (You can quite
fairly argue that this means we are ducking the problem for now.)
Another way to say this is that each type of autonomous service agent will
solve this problem for its own target parameters.

<jcs>
Actually, this isn't a bad approach. My main issue is that knowledge
exchange is far broader than discovery and parameter-specific data.
</jcs>

 Now, again IMHO, this is why we state in GDNP that the format of the
value of an objective "...might be inherited from an
existing management or configuration protocol, the objective option
acting as a carrier for that format.  The data structure might be
defined in a formal language, but that is a matter for the
specifications of individual objectives.  There are many candidates,
according to the context, such as ABNF, RBNF, XML Schema, possibly
YANG, etc.  The GDNP protocol itself is agnostic on these questions."

My expectation is that some objectives will need a formal information
model and that others won't, and that there's no reason we couldn't
inherit existing IMs when they are relevant. But that whole question
is also out of charter scope for now. As you know better than most
people, John, defining an IM can become a very laborious business and
for now we want to get started on simple cases that don't need it.

<jcs>
Yes, I seem to have continually skewered myself on information models. :-)
While I very much agree with your approach, I would note that you should
either say IM **fragments** or limit this to one IM.
</jcs>

>> If you cannot exchange knowledge, you will
>> never be autonomic in the computer science sense.

You will find very similar words in draft-irtf-nmrg-an-gap-analysis.
<jcs>
Yikers, another draft. Is there a list of all drafts that may be eventually
considered?
</jcs>

< snip>

Regards
    Brian

On Mon, Mar 9, 2015 at 8:40 PM, Brian E Carpenter <
brian.e.carpenter@gmail.com> wrote:

> Hi John and everybody,
>
> Replying to some comments received privately, on the list with permission:
> On 09/03/2015 22:55, Sheng Jiang wrote:
> > Hi, authors of draft-carpenter-anima-gdn-protocol
> >
> > The below are some comments from my colleague, Dr. John Strassner.
> Although I personally think your protocol designs have the ability to meet
> his requirements for knowledge exchanging among autonomic nodes, it is
> better you could discuss directly and maybe include some
> modification/clarification in the future version. I also encourage you to
> discuss this in ANIMA mail list openly.
> >
> > Best regards,
> >
> > Sheng
> >
> >> -----Original Message-----
> >> From: John Strassner
> >> Sent: Friday, March 06, 2015 6:43 AM
> >> To: Sheng Jiang; John Strassner
> >>
> >> Dear Sheng,
> >>
> >> I read the charter and am starting on the drafts.
> >>
> >>>> autonomics require the ability to share and
> >>>> exchange knowledge in an interoperable fashion. I fail to see how
> this is
> >>>> even discussed in ANIMA.
> >>>
> >>> BTW, the ability to share and exchange knowledge in an interoperable
> fashion
> >>> looks like GNDP (Generic Discovery and Negotiation Protocol) in ANIMA.
> This
> >>> protocol is designed to support information discovery and bi-direction
> >>> negotiation.
> >>
> >> It appears that GDNP covers some, but not all, of what I am talking
> about.
>
> Indeed, it isn't claiming to cover everything. The idea is that
> draft-behringer-anima-reference-model will evolve to show how things
> fit together, which will help us to identify holes.
>
> >> However, the following statement from the GDNP draft is misleading, if
> not
> >> just plain wrong:
> >>
> >> "In order to fulfil autonomy, devices that embody autonomic service
> >> agents need to be able to discover each other, to synchronize state
> >> with each other, and to negotiate parameters and resources directly
> >> with each other."
> >>
> >> First, autonomic networks are not necessarily autonomous. Autonomy, in
> its
> >> most generic form, is the ability to have the power for an entity to
> govern
> >> itself. If every network element governs itself without regard to
> other, higher
> >> level principles, you don't even have a network. :-)
>
> Sure. That is the role for what we call "intent" which is defined
> in draft-irtf-nmrg-autonomic-network-definitions but is not yet
> in Anima scope.
>
> >> Second, the three concepts mentioned in the above excerpt
> (discoverability,
> >> synchronization of state, and parameter negotiation) are necessary but
> >> clearly not sufficient to have autonomic operation. I was talking about
> the
> >> ability to exchange knowledge (e.g., all or part of an information
> model)
> >> between entities. It doesn't appear that this is covered in ANIMA yet,
> though I
> >> haven't read all of the materials.
>
> My personal view is that this is going to be resolved topic by topic.
> In GDNP-speak that means that it will be resolved by individual Objective
> definitions, and GDNP will just act as a neutral carrier. (You can quite
> fairly argue that this means we are ducking the problem for now.)
> Another way to say this is that each type of autonomous service agent will
> solve this problem for its own target parameters.
>
> Now, again IMHO, this is why we state in GDNP that the format of the
> value of an objective "...might be inherited from an
> existing management or configuration protocol, the objective option
> acting as a carrier for that format.  The data structure might be
> defined in a formal language, but that is a matter for the
> specifications of individual objectives.  There are many candidates,
> according to the context, such as ABNF, RBNF, XML Schema, possibly
> YANG, etc.  The GDNP protocol itself is agnostic on these questions."
>
> My expectation is that some objectives will need a formal information
> model and that others won't, and that there's no reason we couldn't
> inherit existing IMs when they are relevant. But that whole question
> is also out of charter scope for now. As you know better than most
> people, John, defining an IM can become a very laborious business and
> for now we want to get started on simple cases that don't need it.
>
> >> If you cannot exchange knowledge, you will
> >> never be autonomic in the computer science sense.
>
> You will find very similar words in draft-irtf-nmrg-an-gap-analysis.
>
> <snip>
>
> Regards
>     Brian
>
> >> regards,
> >> John
> >>
> >> Dr. John Strassner, Ph.D.
> >> CTO, Software Laboratory, CRD
> >>
> >>
> >> Futurewei Technologies
> >> US R&D Center
> >> 2330 Central Expressway
> >> Building A, office A2-2143
> >> Santa Clara, California   95050
> >>  Office:  +1.408.330.4923
> >>  Email:   john.sc.strassner@huawei.com
> >>
> >>
> >> Best regards,
> >>
> >> Sheng
>



-- 
regards,
John