That's an interesting question. The idea is this: In one "logical step" of the system nodes can only interact with their neighbors. If node A wants data to reach node B, which is in another clique, then A interacts with one of its neighbors A' that is closer
to B. In the next step, A' can interact with one of its neighbors B', which is also a neighbor of B. In the third step, B' interacts directly with B. The only trick is to add the operations enabling these steps. A realistic system will almost certainly have
these multi-step operations. However, in our approach we want to avoid operations that identify specific nodes (e.g. A and B) since we don't know how reliable they are or how they will be connected. Instead, we partition that data across different
types of nodes (e.g. Type A nodes and Type B nodes) in the hope that we can always find a node of the proper type in the cloud. Please let me know if that answers your question?

## Comments

## Ethan Jackson - Specifying Cloud Applications

That's an interesting question. The idea is this: In one "logical step" of the system nodes can only interact with their neighbors. If node A wants data to reach node B, which is in another clique, then A interacts with one of its neighbors A' that is closer to B. In the next step, A' can interact with one of its neighbors B', which is also a neighbor of B. In the third step, B' interacts directly with B. The only trick is to add the operations enabling these steps. A realistic system will almost certainly have these multi-step operations. However, in our approach we want to avoid operations that identify specific nodes (e.g. A and B) since we don't know how reliable they are or how they will be connected. Instead, we partition that data across different

typesof nodes (e.g. Type A nodes and Type B nodes) in the hope that we can always find a node of the proper type in the cloud. Please let me know if that answers your question?Thanks