Re: [Anima] Object store and PubSub model

Toerless Eckert <tte@cs.fau.de> Wed, 05 July 2017 23:47 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3EF81274D2 for <anima@ietfa.amsl.com>; Wed, 5 Jul 2017 16:47:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-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 9f-40t7lVT0K for <anima@ietfa.amsl.com>; Wed, 5 Jul 2017 16:47:56 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BAB90127286 for <anima@ietf.org>; Wed, 5 Jul 2017 16:47:56 -0700 (PDT)
Received: from faui40p.informatik.uni-erlangen.de (faui40p.informatik.uni-erlangen.de [131.188.34.77]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id 5AC5958C4C5; Thu, 6 Jul 2017 01:47:52 +0200 (CEST)
Received: by faui40p.informatik.uni-erlangen.de (Postfix, from userid 10463) id 42234B0C4CD; Thu, 6 Jul 2017 01:47:52 +0200 (CEST)
Date: Thu, 06 Jul 2017 01:47:52 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Artur Hecker <Artur.Hecker@huawei.com>
Cc: "anima@ietf.org" <anima@ietf.org>
Message-ID: <20170705234750.GD14122@faui40p.informatik.uni-erlangen.de>
References: <8DA547FB1280754AAC43A3E56DCB7AD20AE9BF3C@lhreml501-mbx> <5b4d5e34-e904-e2e6-18b1-06978b62bf95@gmail.com> <8DA547FB1280754AAC43A3E56DCB7AD20AE9D029@lhreml501-mbx>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8DA547FB1280754AAC43A3E56DCB7AD20AE9D029@lhreml501-mbx>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/qEY7MTLd-JSVwNBLNvsS3k1H6No>
Subject: Re: [Anima] Object store and PubSub model
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 05 Jul 2017 23:47:59 -0000

Artur: pubsub and object store seem to be (to me) two hot buzzwords, but i am not
aware (ENOCYCLES) what the IETF is currently doing about those. It would certainly
be interesting for the ANIMA-WG to see proposals of work in the area with good
motivation why this work would be particularily be suited to ANIMA. [this does not
mean that we'd have time in the WG slot in Prague though, Sheng is managing the time
there ;-)]

I think its overall a very wide field, and i'd primarily look for precise use case
examples and specific justifications why something is best done in ANIMA. 

Example:

a) Justification: existing requirement in ANIMA, pubsub/object-store to the rescue:

   We need in ANIMA intent distribution, that would be a use-case. If there is anything
   existing from IETF or other bodies that would allow to do this, (whether or not
   that is some pubsub bus or object store), then that would be highly worth to bring up
   in ANIMA. Main issue is that we have no clear agreement on what intent is. IMHO it
   could be along what the current (not WG item) intent draft says, but maybe we need to
   even call it differently (not intent). See of course also grasp-information-distribution
   (which is more a cateogrization of requirements than a solution).

b) Justification: build it autonomously:

   There are a lot of pubsub buses today, but i am not aware of any bus where the distribution
   infra of those buses is autonomously set up. Except when they simple flooding buseses.
   All the other buses i know seem to have some manually provisioned infra like brokers or
   the like. So IMHO any proposal to autonmously create a bus that is better than
   flooding would IMHO a great idea for ANIMA.
   
   But i am also not sure if there is a realistic option to autonomously create a good
   distributed bus infra. In between "everything is centralized" and "flooding&storage
   everywhere" there are so many aspects of optimiation that its IMHO almost impossible
   to figure out a generic solution that almost automatically adopts itself to the best
   shape pending on a particular use-case. And i am saying this with just boring
   information distribution background called multicast. Not to mention CCN/ICN.

Cheers
    Toerless

On Thu, Jun 29, 2017 at 03:28:08PM +0000, Artur Hecker wrote:
> Dear Brian, all
> 
> 
> Thanks a lot for the explanations. Please find my answers below:
> 
> -----Original Message-----
> From: Brian E Carpenter [mailto:brian.e.carpenter@gmail.com] 
> Sent: 28 June 2017 22:35
> To: Artur Hecker; anima@ietf.org
> Subject: Re: [Anima] Object store and PubSub model
> 
> > So far, I don't believe we've discussed distributed storage as such. It would be a natural part of the discussion of 
> > intent. We have tended to assume that intent originates centrally, so it needs a replication model rather than 
> > distributed storage in the general sense. The simplest replication model is of course flooding, which we 
> > already have for relatively small data objects. For example, GRASP as it exists today could flood an objective whose
> > value is the URL of the latest intent for the whole network.
> 
> [[AH] ] Ok, very clear, thanks. Would you welcome such a discussion e.g. for the re-chartering of ANIMA?
> 
> We believe that network-wide storage could be of high value for autonomous networking, just as routing is. The reasons for this are, among others:
> 
> c) given the existing ANIMA descriptions, I believe that limited storage is presumed available on all nodes (i.e. at least to store that URL in your example);
> b) the APIs for data object storage are well-established and compact (put(), get());
> a) the information a node might need to store is not necessarily limited to the scope of that single node. Therefore, an efficient capability to access network-wide information (e.g. configuration data, network-wide intents, network-wide averages or aggregates of data) would really be of a value. If every application has to redo it, we run the risk of repetitive wheel reinventions - or flooding. Essentially, as you just hinted, if we do not provide these means (either by a mandatory ASA or over the ANIMA API), then every developer will have to revert to flooding at least for the first message. While this might be assumed rare for intents, I am not sure we can claim this for every individual application scenario.
> 
> 
> > I would not advocate developing a distributed storage model specific to Anima. Rather, if we decided it was
>  > necessary, IMHO we should adopt an existing solution, since this is not a trivial problem.
> 
> [[AH] ] Agreed, and it was not intended. If there is a perceived consensus of the value of this, we would rather see how to integrate/adopt a suitable solution.
> 
>  
> >> 2. In a similar vein, does a publish/subscribe information distribution model, built upon an underlying storage, 
> >> look promising and relevant to the group? Can GRASP support that or will it require extensions? The pub/sub is, 
> >> in our opinion, a more general information distribution model than what we saw in the current work stream. Yet,
> >> before submitting a draft that details such a model, we wanted to kindly ask for your opinion on that.
> 
> > Have you studied draft-liu-anima-grasp-distribution?
> [[AH] ] Yes, that was where our motivation came from. It seems to be based on the flooding/replication model. Which is fine for some scenarios, but which also has known limitations. The idea was to allow for a more general model, considered to be better for scalability, etc.
> 
> > But first, what sort of autonomic use cases would require distributed storage or a pub/sub solution?
> 
> [[AH] ] Any example under a) above or our original example of ECA type of intent, which would require to "ripen" before being executed. The exact condition could be something that an individual node might not know, e.g. "close the blinds when the temperature in the building exceeds 25 C (=77F)".
> 
> 
> 
> Regards
> artur
> 
> _______________________________________________
> Anima mailing list
> Anima@ietf.org
> https://www.ietf.org/mailman/listinfo/anima

-- 
---
tte@cs.fau.de