I'm having trouble finding information on the topic I'm interested in, and maybe my problem is just how I'm wording things.

So, let's say I have a repeater-based communication system, where one node in the system receives a message, and then passes it along to the next node.

For this example, let's say we have nodes 1, 2, 3, 4, 5, and 6. Also let's assume nodes can always receive the message from their neighbors, but may or may not receive it from further nodes. (ex. 3 will always receive from 2 and 4, and it might receive it from 6)

I'm wanting to find some information on different wants to determine the path.

For instance, i can always assume the path is fixed, where the message goes from Node 1 to 2, 2 to 3, etc. so the path would be 1-2-3-4-5-6. By doing this, the message only needs to contain the node number of the node sending the message

But what if I want to send the path that I want the message to go through, with the smallest amount of data possible? For instance I might want one message to go through the path 1-2-5-6, and another message to go through the path 1-5-2-3-6.

My thoughts to do this is to use a lookup table that is saved on all nodes, but the problem arises when I have a lot of nodes. If I have 100+ nodes, my table is huge and therefore the data I send to associate the path to the table gets large.

Could anyone point me to the right direction to even look at this subject matter?

  • $\begingroup$ That's a classical routing problem. It's hard to solve. Look for flow through graphs. I think the topic is larger than you realize -- first of all, there's the big problem of making the nodes aware of where to send data; as you noticed, with growing networks, this kind of data gets big, so there's research and proofs on when not sharing full network info is better, because the resulting suboptimal routing might still impact available bandwidth less than the need to also exchange network topology information over that same link. $\endgroup$ – Marcus Müller Feb 6 '16 at 9:11
  • $\begingroup$ then there's the whole network coding area; basically, if you want to send data from 1 to 3, and 1-2 is a good, 2-3 is a good, but 1-3 is a relatively bad (but not completely unusable) connection, the 1-2-3 link doesn't need to carry all the information, as 1-3 can also contribute to the cross-information rate. Things then get complicated when every node on the way from 1 to let's say 200 has to make a decision on how much data to send each way, and how to do that. $\endgroup$ – Marcus Müller Feb 6 '16 at 9:12
  • $\begingroup$ Then, there's the problem of acknowledgements that typically are necessary in these kinds of networks, which kind of flood it with high-priority packets, but these packets are typically short. Which brings one to the topic of priotization in networks... Oh, and then there's implementation aspects like if your nodes are diversity receivers. Oh and the question how the link qualities and possibilities are distributed among the nodes is a whole world of complicated stochastic geometry... $\endgroup$ – Marcus Müller Feb 6 '16 at 9:15
  • $\begingroup$ @MarcusMüller Thanks for all of this info. I believe this is the thing i needed to point me in the correct direction. I've got a method currently for handling the trafic, but i'm trying to improve this. Thanks a bunch for your input! $\endgroup$ – gerrgheiser Feb 10 '16 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.