Hi, Since there were a lot of updates in this version, I read it again from the beginning. Here are my comments.
In general I think this is useful work that the WG should consider adopting. There is definitely a requirement for something in the space between peer-to-peer synchronization and flooding to all autonomic nodes. The fixed size of GRASP messages also limits information distribution at present. > 3.2 One-to-Many Communications > > Some information exchange involve an information source and multiple > receivers. This scenario can be divided into two situations: > > 1) When some information are relevant to all or most of the nodes > in the domain, the node that firstly handle the information should > use a mechanism to propagate it to all the other nodes. ... > 2) A more general case is that some information is only relevant > to a specific group of nodes belonging to the same sub-domain or > sharing the same interests. It's probably worth mentioning that there is a tradeoff here. If some information is relevant to 50% of nodes, it is probably cheapest to simply flood it to all nodes. If it is relevant to only 5% of nodes, it is probably cheapest to use a pub/sub model. > 3.3 Requirements ... > 3) Distributed Coordination.... ... > Obviously, purely relying > on instant communication model is inefficient, while a scalable, > common, yet distributed data layer, on which AFs can store and > share information in an asynchronous way, should be a better > choice. This is the most interesting case (I think of it as a whiteboard, where any ASA can read, write or erase). Doesn't it also relate to distributed consensus mechanisms? Can we consider the previous case (pub/sub) to be a subset of this case, with only one node having write/erase capability? > 5.1 GRASP for instant communications ... > o Matching condition: "Device role=IPRAN_RSG" > > o Matching objective: "Neighbors" > > o Action: "Forward" > > This example means: only distributing the information to the > neighbors who are IPRAN_RSG. How does the node performing the distribution know which of its neighbours have the role IPRAN_RSG? Is there a registration process? Is it really any different than the subscribe process in pub/sub? ("I subscribe to IPRAN_RSG information".) > 5.2 GRASP for asynchronous communications Once we have the previous point solved, we can model the asynch distribution as a selective flood to the "whiteboard" in each node. Having said that, I want to look back in the draft at the Event Queue described in section 4.2.1. I'm not sure that we need it as a separate engine from the queues implied by GRASP's existing asynchronous operations. If you model a producer or consumer as a process using GRASP, it will naturally need to support simultaneous asynch operations and an event queue. I am wondering to what extent I can model this directly over GRASP as it exists today. My main question is mentioned above: how does a node know which of its neighbours have a given role? (One possible answer is that *every* node sends out a local GRASP flood at very low frequency, stating which roles it supports. Then every node builds a cache of its neighbours' roles. I can make that work with GRASP today.) Regards Brian _______________________________________________ Anima mailing list Anima@ietf.org https://www.ietf.org/mailman/listinfo/anima