Problem
Right now message routing is pretty random, or better said non-existant at all. We need a method which allows users to more effectively route messages within the networks themselves.
Possible solution
After reading the scribe paper (notes), I believe I have found a possible solution.
Ideally we can build a pubsub network over our transports using multicast trees similarly to how scribe does.
This means that a peer knows what topic they want to subscribe to, they find their surrounding peer with the closest address using some distance metric. Let's say for example:
distance(topic, node) = topic XOR node
Now what we do is on the closest node we register that we want to subscribe to a given topic. If that node is also subscribe it adds us to its list, if not, it recursively registers on the next node. Until a root is hit.
To make the trees fault tolerant, if a disconnect is detected, the node registers at the next closest.
Problem
Right now message routing is pretty random, or better said non-existant at all. We need a method which allows users to more effectively route messages within the networks themselves.
Possible solution
After reading the scribe paper (notes), I believe I have found a possible solution.
Ideally we can build a pubsub network over our transports using multicast trees similarly to how scribe does.
This means that a peer knows what topic they want to subscribe to, they find their surrounding peer with the closest address using some distance metric. Let's say for example:
Now what we do is on the closest node we register that we want to subscribe to a given topic. If that node is also subscribe it adds us to its list, if not, it recursively registers on the next node. Until a root is hit.
To make the trees fault tolerant, if a disconnect is detected, the node registers at the next closest.