 So I'm going to talk about a paper that I think Found out about a month ago a little bit less. I mean I knew about it From conversations about the research that was done behind this but I first sort of looked at the paper about a month ago and It's in the world of communications So I'll give a bit of background as we go along to explain where it comes from and why what it's doing and what it's talking about because the setup is actually quite critical in ascending the The cool things that they actually figure out in this paper. So General scheme of what how I'll go go around the things so the background a little bit of introduction Injuitive understanding of what the paper is trying to talk about a little bit of formalizations A little bit of generalization to figure out sort of how if we can do this in small cases How can we generalize to large cases looking at different geometries and then a conclusion? No, a lot of this stuff doesn't make sense now, but we'll come to that as we go along a little bit background This is a research lab at NUS. It's called acoustic research lab It's up in the hills of NUS if you've ever gotten lost in NUS You probably came across something like this these guys do work with underwater acoustics and underwater communication So this paper is about underwater acoustics. So using acoustics to communicate underwater Um So ignore the use of word subnarrow here I've reused this picture from somewhere else but the basic idea of underwater communication is you can have ships submarines diverse and little Notes that have sensors on them that are sensing whatever you want and communicate with each other wirelessly Kind of like what we have with our cell networks but underwater so Cell networks or any kind of RF based Networks do not work well underwater mainly because RF signal gets Decimated or the the it reduces power very very quickly as it propagates to water Compared to that acoustic signals can go for miles or kilometers underwater without much Propagation losses or they do have propagation losses, but they're not as significant as for RF signal so that is one of the main ways of Communicating or or sending any kind of information underwater The other thing that this paper talks a lot about is TDMA Which is time division multiple axis And I'll try to explain to you quickly here what TDMA does and as we go along with the paper We'll sort of come back to what TDMA is and maybe we'll get a better understanding then But I'll try it now. So the basic idea is you have two people one, you know User one and user two who want to communicate over the same channel over the same frequency range So this is the frequency that you're talking over and you have to share the channel you have to share that frequency that you're communicating communicating over and There are multiple ways of sort of dicing this this space up into ways you can communicate and time time division multiple axis is The simplest and the most intuitive it basically says the first, you know This is the time axis of the first Whatever and 10 milliseconds you get to talk the second minute 10 milliseconds I get to talk and the next 10 milliseconds you get to talk next in the seconds I get to talk so this this is a very simple scheme. So this is called a frame, which is When everybody gets to do it once and then you sort of keep repeating that So that's so this is a very very simple and Extremely basic scheme can get much more complex schemes where people can Say that hey, I want to talk and then people, you know, you get Request to send clear to send you get much more complex schemes But the basic idea is you're dividing in time instead of dividing in frequency, which is the other type FDMA frequency division Where you say that I speak at, you know, 10 kilohertz you speak at, you know, 50 kilohertz So we definitely have different channels that way. So there are multiple ways of doing this and but TDMA is something that we'll Look at a lot in this paper So one of the interesting So this whole paper talks a lot about something called propagation delay, which I think needs to be defined So propagation delay is the amount of time it takes For a communication signal to travel from the source to the destination over a given transmission medium So the interesting thing here is the fact that it's heavily dependent on transmission medium And that's because we always assume for communication because that's what we do all the time that the signals are either Electrical, you know voltages in a wire or electromagnetic, you know signals over air and both of these In both of these mediums signals travel pretty fast You're talking close to light speeds but in other mediums where You know for for the kind of distances we're looking at The speed is much much lower propagation delay becomes something that's super important and super interesting to have to work with So give you some numbers speed of radio waves in air is Whatever that number is basically very very close to light speed Speed of sound in air is three hundred forty three meters per second Which is fast but not pretty fast speed of sound in way speed of some ways in water is five times that about 1,500 meters per second depends on salinity of water and a bunch of other things but still Much much much much lower than this so that means that if you have two things in water and they are Communicating with each other with an acoustic signal which travels at this if they're two kilometers apart It's going to take 1.3 seconds for something that you emit from here to reach there and 1.3 seconds for something that you you emit from there to reach back So imagine if you have something like a TCP where you're sending something and you're waiting for an act That act is going to take 2.6 seconds So you're going to have a lot of weird problems because of this at different layers of your network stack So you're talking about TCP protocols. You're going to have to deal with much longer delays much longer time out We're talking about medium access control. Everybody needs to take ownership of the medium for a much longer time So all the stuff that we have developed in your in your normal sort of TCP IP stacks At either in sort of wired or wireless networks needs to change because all the schemes that we came up were Assuming you are almost Zero signal transmission time or propagation delay, but that's not the case anymore So here's a interesting issue what happened. So a sender is trying to send a packet Which is taking some time goes over and then wait for the the receiver to send an act back and Go on and you see like all this time is completely wasted You're just waiting for for things to happen and nothing's actually going on and this is very very inefficient, so the paper comes up with a very interesting observation that Using very you very specially crafted ways and Mechanisms on schedules of sending packets you can actually get better throughput In In a lower acoustic scenario that they they came up with here In a network that has long propagation delays and in comparison to a network that has negligible propagation Now it seems very Preposterous that you can get better throughput And I think that's mainly because of the definition of throughput because the definition of throughput here is normalized to link rate So you cannot go around the fact that The physical number, you know, like the the speed of sound in water is always going to be whatever a hundred times A thousand times lower than the speed of you know RF in air, but if you normalize on that You can actually get more data through By using this interesting schemes of sending data Which is what they call super TDMA Then if you can get by sending stuff to it, so I think as we go through it, we will see a lot more of the Explanation of how they calculate throughput Sure, yeah, I think all of that stuff is being looked at at a higher level, but what they figure out here is you can use Some of the characteristics of the medium itself to be able to push more packets into the water, so to say Before At a much lower level So all your curing and the way you deal with that at a higher level in your high level networks Definitely you can use some of those things as well, but this is more at a physical layer kind of Implementation so the first part of the paper looks at an intuitive understanding of Try to get intuitive understanding of what this hack is to allow you to do more So there's a couple of assumptions that we need to Agree with one is that all the all the transducers are half duplex and that's just the physics of how the the kind of Electronics and the transducers or the antennas basically they're called hydrophones in water the kind of hydrophones That that out there Allow you can either transmit or receive at a given point of time. They can't do both That's just how it is right now Hopefully in some time in the future We might be able to go around that with some new materials and so on and so forth But currently most of the ones you get can either transmit or receive so that kind of Medium It's because of the physics is just the physics of the vibrations and the way they make the it's mostly pizza electric based elements that when you Put some current across them they emit sound and it's just the way they work You if you if you basically there's way too much noise when you're trying to receive While you're sending it's all mostly self-knowledge. So there's Oh, yeah, they will affect each other like nobody's business. So you can't sort of have your style You basically hear yourself so much that you can't hear anything about What else it's what somebody else is speaking especially also because the difference in the signal of what you hear and what you sent out Is massive so you just overwhelm By what you're sending and also you're we want to try to achieve fair schedule. So you want you don't want to have a scheme where In your TDMA just this guy one gets to send all the time and then two doesn't get to send ever So that's not that's not fair and and you want to try to come up with fair schedules as much as possible, but Sometimes we might not be able to do it So the sort of the the typical way of looking at throughput or how you calculate scheduling for for, you know, a simple two-note network is You know at some time t1 node 1 sends a packet to node 2 and It takes some time delta t to arrive and at some time t2 note 2 sends a packet to node 1 and that takes You know delta t time to arrive and delta t is Depending on the distance is distance divided by Whatever the velocity of the of the medium is so that's In air it's going to be some really curious useful number and in water. It's going to be, you know two-thirds of a second So that's one packet per delta t seconds That's the approximate throughput if you can think about it of the of the of the media Because you're just sending one packet it takes every packet takes one delta t seconds to to research So the scheme they come up with is what if both of them can transmit at the same time And if you think about it this guy transmit it takes delta t seconds to reach here And this guy has been sent takes delta t seconds to reach here Because the time taken to actually transmit Is actually if rather if you can make it such that the time taken to transmit is equal to the time taken to Reach the other side then you can basically transmit two packets within the same delta t seconds So in one time slot you basically have the the the two notes transmitting packets in the other way And by the time they're done transmitting they're ready to receive the one that other guys send because The time it took for the packet to go through the water was exactly the time it took for this guy to emit the packet So you know in a very very simplistic Intuitive mechanism you can basically double the throughput. So in this using this schedule if you can continuously keep sending and receiving packets and and you basically have double the throughput Okay, so I can see how this would work if really you just want to ping-pong but if you mostly want to send something That's why the assumption of fair schedule is important. So it does it does make better sense for In an assumption that we want to have as much fair like everybody wants to communicate everybody else but if you have links that are That one would need to communicate more than other links or in more one direction than the other Then some of the stuff or are some of the optimizations that end up at the end of this paper might not hold up I think that's even point Yeah, so again Sort of another way to put out put it put this out as a paper says is the notes to transmit similar notes transmit Simultaneously and letting their packets cross in flight Which is something that's kind of hard to bend your mind around that you have these signals that are overlapping in the water And and it's fine And if they end up on there the respective ends without having any kind of interference or any problems And the other thing is that the packet duration has to equal the propagation delay To to ensure that you have a fair and optimal schedule So if you if your packet duration as in like the actual packet length is much is different than the delay between two notes then you will have Different you you might not get the optimal schedule But then they actually go on to say if that's the case how can you rework the math to? Redefine the packet length so you basically get a LCM of all the delays there are in the node And then that's your packet. So you just make bigger and bigger packets and that's and that ensures that You basically can can still get a fair schedule and optimal schedule for any kind of a given network But we'll we'll get it a generalization in a second. So, yeah, that's the that's the question They sort of after the first Intuitive understanding of what could be done the paper goes on to ask can we generalize this right? We see this working with two nodes. We see that we can get double the input doubled output For two notes. Can we generalize this to end nodes? Can we what kind of geometries and schedules can we come up with or rather given a geometry? Can you come up with a schedule given a schedule? Can you come up with the geometry? and Are these optimal can they be near optimal? What are the some of the physical issues that we have to deal with at that quarter so to define that? Define a system to be able to solve for the generalization questions They define a bunch of assumptions and a bunch of terms and definitions So as we talked about before all the nodes are half duplex The network only carry unique cost messages. There's no concept of broadcast So every node is talking to another node and not one node talking to 25 at one time The message is transmitted by a node reaches every other node So that's an assumption that as long as you are in a single network and that's how they define the network Everybody can hear you So that that just makes it simpler As well as she's in certain cases slightly harder But some of the math gets simple because of this because in some previous research what they what they figured out that? If you're far enough away that by the time the signal from this node reaches that that node It's way too soft, then you can ignore that node You can you can you can just say that that node didn't get anything And that way you can sort of hack around some schedules But they didn't want to use that so that that was something that they sort of said, okay No, we don't have to you don't want to think about that Yeah, but but it might not be meant for you So for example if I if I want to talk to him if I if I admit you will hear it too But it's not meant for you But the point is if if you might not hear it because you're too far I might be able to do more optimizations Because then I can transmit something to you while you are receiving something from him But you won't hear from me, but you might hear from him because it's near So but that then what they define is that's a tune to sort of different networks that are connected to each other So it's a different problem to solve so they don't want to solve that problem here and The last one is very important if if both of us talk to you at the same time You won't hear either So that's a very that's actually where a lot of the challenges for the optimization problem That they set up come from is how do you ensure that this is what they call interference doesn't happen at a receiving So the receiving note should not or should have as little interference as possible And and and that will ensure that you have the most optimum chair So they have a bunch of terms that are defined so there's a Collision is exactly what I'm talking about if two signals come at the receiver and at the same time then it's a collision Interference is if I'm talking to him For everybody else that message is interference because you don't want to be receiving that if possible But they come up with schemes to ensure that even if I'm talking to him if you receive it How can you optimize yourself so that you do something while you're receiving to be able to? to Fit as much data into the schedule as you can And throughput again, which is the interesting term is the natural number of bits successfully transmitted by all nodes per unit time normal as well every link rate While you're talking to him. Yeah, I Am I free to talk? Yes, you know, yes, isn't that Yes, it's for Modern yeah Yeah, but unless we know beforehand when who gets to talk Yes, yes, yes So if that schedule of saying that the first time thought I get a talk to you at a second time thought you get no at the first time thought Oh, I'm talking to you It takes one time stuff for me to reach both of you and when you're when he's receiving you can then transmit at the same time We'll we'll get to that. There's a nice diagram that can do much better job than me at that But yes, that's the thing. It's it's half duplex means I can talk But at one time, but I can't receive at the same time Or rather if I receive something when I talk I won't be able to Decode that so that will just be ignored Some mathematical stuff because it goes into pretty heavy math. So Dij is the propagation delay between every pair of nodes We're looking at a generic and no network But I is the number of bits per second, which is the constant link rate. So that's assumed to be water depending on whatever scheme you're using for your King it's the constant link rate of a network So the information carried by the link by a link in in new seconds is is better you so that's just some math that starts getting into a Little bit more interesting as we go along. So Yeah, we're getting there that's why it's IJ we're getting into a delay matrix You're talking about like matrices, right? Okay, do you use the fact that if it's really in the ocean, right? It's a metric space. It's a normal space Right, it's not just any matrix Yes, yes, yes, yes, yes, yes, so that's used but I don't give the triangle inequality Yeah, yeah, yeah, they do talk about that although I didn't take most of them as lights because the paper is quite big It's about 14 pages. So if you want to look at that there They do treat that and use some of that stuff But I didn't pick it up for the slides because I didn't want it was I was trying to figure out what I can talk about Within this time and some of the stuff that I can ignore and or leave it to homework So the next part is trying to go from a two-note network to a three and see what we can do with the three-note network So simple again, just a collateral triangle again For making it easy for intuitive understanding you are just ensuring it's equilateral So the time delay for each of the three between each of the three networks is exactly the same And of course because of the thing we were using We also assume that a is the time taken for the packet. So the length of the packet is It is not completely stable, but it is pseudo stable so you can you can run some adaptive control algorithms to Guess it and track it over time. So it's stable enough to be able to To be able to assume form, you know mathematical purposes that it's stable Also, the other treatment that they do talk about in the paper Which I kind of ignored because it was just getting too long again was By having some extra guard periods at the end To just in case that it's more of like what if the modem physically moves because of the current in water You know, you have deployed it at some point and you know, like unlike our Wi-Fi hotspots That that thing's probably not going to move more than a few millimeters But you know in the ocean stuff can move all the time. So to deal with that they use This extra small duration at the end of each Each period just so that stuff if it's varying a bit It's it still can hit within the time period The math of that gets a bit more hairy Because you have to keep to care for this this guard period every time but the general theorem still fall down and the and the the the upper bound theorem still ends up being Very very close to the upper bound that they talk about. So it's not that far off for the sort of physical manifestations of some of these theories So they they they come up with a schedule That explains how we can do something similar in in a three-note network. So Not one, but let's ignore this. Let's start from here. Not one at time zero transmits to not to so not one While at the same time not two is trying to receive from not three and No, three is receiving from not to but this is from the previous one will get so you can ignore these for now Right, so the first the first time slot node one transmits it on to The next time slot of course No, two has to receive from node one right because you just transmitted takes one time slot to to actually propagate over So the next time slot No, two has to receive from not one. So remember the main thing is that transmission and reception take time And like you need to wait for an entire time slot to actually receive the the packet because the packet is long and it takes time to Propagate through And then in the second time slot node one tries to transmit transmits to three No, three transmits to one and of course this means that this receives that in the next time slot This is the next time slot and so on and so forth and if you realize that after this the schedule can repeat So you can keep doing this forever and you basically get to transmit one two three four five six Packets every frame so So the interesting thing is so when this guy is transmitting This guy is receiving this guy gets interference, but it doesn't care because it transmits at the same time It's it's at this point No, three does receive from node one, but instead of bothering to just receive it just says screw this shit I'm just gonna transmit Yeah, so so when when not when node one transmits here two and three receive the same at the same time So both of them get the signal this guy actually receives this guy ignores and transmits Between two three and three So this is transmitting so this receives And then this is transmitting so this receives Yeah, so that's You won't you won't hear yourself you won't hear yourself because it's already gone out right it's projecting outwards So the basic if you think about it the basic idea is when you are hitting interference just transmit That's the very very simple thing the second you think that you know that according to schedule You're gonna get interference just transmit and that's a very interesting Heuristic that we will see come back later again when you try to solve the optimization problem And they realize that it's too too complex So let's try to reduce the optimization problem And this is one of the interesting they use to reduce the complexity of the problem So that's the very simple thing if you have to if you have interference just transmit Ignore and just transmit you can also see here that is two times So analysis The schedule ensures that interference from other nodes only arrives when the node is transmitting, right? So this is the this is the the main magical secret in this entire paper Of course, you ensure that the the transmit message duration is the same as them at the packet length and the nodes can successfully transmit six messages with Better you bits every T seconds. So the way they calculate the throughput, which is the number of bits Normalize to the link rate is 1.5. So that's their definition of throughput And it's 50% higher than the maximum throughput of a three node network without propagation delay So if you if you calculate again throughput normalized to link rate in a normal network, we're just transmitting On the three node network the maximum theoretical throughput you would ever get is is one That's basically everybody transmitting at the same time, but because of this Ability to Transmit while still something else is in water you can get a little bit more Basically That's that's that's what the paper talks about. You're using the water as a buffer to sort of hold stuff for you While you are still doing something else So the question is how much can you how much how much crazier can you go, right? so initially like if you if you look at TDMA like Wi-Fi TDMA papers Reaching one throughput of normalized throughput of one is like the holy grail Yes, like if you can reach anywhere close to one you are like, it's awesome So so so when they first figured out that they could go over one Okay, wait a second. How how much more can you go, right? Exactly that's that's the final theory theory But so then the rest of the paper basically goes into the mathematical analysis of firstly, what is the theoretical? Max on you can go and is there a relationship with the number of nodes like you said and then the more interesting question which is given a Geometry, can you come up with a schedule which is optimal which hits this thing? I mean This is just one schedule you can come up with all sorts of schedules which will go everywhere from no packets being ever transmitted because everything is interfered all the time to You know 1.5 throughput of 1.5 So figuring out a schedule on a given geometry is something that that's interesting and the mathematical proof for that is what the paper talks about So it's all about schedules. It's all about how do you schedule how different and then when who talks to who when? so this is a very simple way for a for node network to come up with a schedule, so let's say this node is trying to talk to this node and Because of the way the delays work, there is interference here and here So so basically these two are equally distance away from this. This is about half the distance away So no two is half the distance away. This is this distance is two. This is since is sorry one and two So this guy transmits this guy receives what is these two get interference? So the way that So this is the kind of geometry So this is not this is not a triangle geometry, but this is this could be More complex geometry where one is nearer and two are a little bit further away So sorry this I couldn't find a better Explanation of how to fill up the schedule and the only one I found was a much more complex geometry So I forgot to put the the definition of the delay matrix for this Because we have one transmit one receive the rest of the the rest of the other those are all Yeah, yeah, but I just said it's just that This bit the the distance between this node and this node is two and this node and this one is one And this node and this node is two as well Right so the distance is not the same The distance is not a parameter in this diagram It kind of is because this guy transmits here this guy gets interference immediately, but this guy only receives the next slot Right, so this is t t zero t l t a sorry This is t zero t one t one this is t two right so it's like You have the number line then you if if the one that transmits is on one then both zero and two So the near the nearer you are the less complication Yes, correct. So this is nearer. This is definitely nearer and these two are equal distance away Yeah, super it's correct two slots. Yeah, in fact, if you want I can try to pull up the you think it will help if I pull up the New bus the delay matrix for this. Okay. Yeah, the more interesting thing here is The the intuitive way you can fill up a schedule or make a schedule based on this scheme is every time it's trying to it's gonna Have an interference just transmit So because of this transmission now I can fill up the rest of the stuff, right? So you know that this guy is going to be received here. I'm sorry It's going to be received here and this guy is going to be received here. I guess Yeah, and then they're gonna have interference everywhere else So if you keep doing this and in this scenario, they were lucky. I guess is a very Specific example they showed to to figure out how the schedule can be filled up You can get a nicely full schedule where again, same thing wherever there were Interference boxes. They just Overwrote them with TX and then the whole things out of nicely adds up I don't think this was a this was a lucky thing. This was from my understanding. No, my understanding this was a solution that they searched using the The the the technique that they described the rest of the paper, but it just made this diagram to Explain the fact that how you can fill up a schedule and how why it's all about schedule Did they get lucky in the sense that if they have a different Different Yes and mostly no it's just it's it's it's it's solvable for all geometries. That's the interesting solution there So generalization, let's get to that So you can come up with a delay matrix for every geometry. So the idea is of course self delay is zero and you ignore that so This is the delay from node one to node one node one to know to go to the node one and one not to the node two So self delay is zero all other delays are whatever the delay is in this case. It's normalized. So it's just one So of course in a in a in a triangle same thing. Oh, I think this is the one or no, this is not the one Sorry, so so they define a schedule matrix, which is basically defining how you can You can describe a schedule in a matrix. So that is if node one is supposed to Transmit to know to it's written as two if node two is supposed to receive from node three And in this time as well, then it's minus three And if it's not not three supposed to receive from no two, it's minus two So it's just a nomenclature. It's just a pattern they define used to describe so they can use this for the math So if it's greater than zero J transmits to I if it's less than zero J trans it receives from I and if it's zero that's nothing So the basic idea is try not have any zeros in your schedule matrix. So that's that's when you get optimum schedule, right? So simple So the schedule repeats with the period so Of some value T. So basically every every time you add T to the peer to the to any value We should go back and loop around and get the same value That also means there's also another interesting property that you can use which is if J is supposed to receive from I at T then Then T supposed to trans sorry then I supposed to transmit the J at the previous that many previous Slots right so If you look at it here if this guy is supposed to transmit to this guy here Then this guy is supposed to receive to this guy from here So these two are sort of related to each other and if I tell you one you should be able to guess the other So that's that's something that's sort of binding the matrix and and it's Some stuff that they can use for some of the math for later And the fact that the schedule has equal number of transmits and receive if you don't have that then that's kind of a crappy schedule So if you want a good schedule, it basically has or any any schedule where stuff is not lost You can transmit and you're just ignoring it and then it should have equal number of transmits and receipts Then they find this weird function called one one I which is Zero if it's false and one if it's true. So if the math gets confusing just This is what most of the time confused me So the throughput of a schedule is the sum of How many non-zero Sorry half of the total number of non-zero. So or the total number of positive or the total number of negative Terms in a schedule. So if you have, you know, six positive terms, then that's six transmits That means it's the the throughput is six That's right. Six divided by the time period number of slots So The mess math and I'm not going to cover the math because it's a bunch of math So if you're interested in it go into the math and look into it The first theorem is kind of what you're looking at was there's an upper bound for the schedule for the schedule throughput Which is Half of the total number of nodes, which is what you're talking about So the more number of nodes you have the more throughput you get and it's always going to be bounded by Half of the total number of nodes So if you have a three-minute network the maximum you can ever get in the perfect geometry in a perfect schedule If you find optimistic schedule is 1.5, which is what we saw for Basically and then depending on the schedule if you don't have an optimal schedule, it will be less than half So So what they do is they They do they basically figure out how you can have You can yeah, basically you can do a LCM of all the periods and then get a packet language much bigger so that everything is integer multiple of each other So they basically make a make a massive packet so that it's always an integer multiple of each other Massive frame sir So we talked earlier perfect schedules are when there's nosy rentries And a perfect schedule will achieve the n by 2 upper bound. So this is just simple math So they also talk about in some cases there are the Perfect schedules cannot exist and that's mainly if you have odd number of nodes with odd number of with an odd period So if you have odd number of nodes your period needs to be of even number of packets Yeah, so otherwise they don't exist again bunch of math But you can you can look into it and then you kind of came to that which was that n times e minus 1 divided by 2t which is the No, that's the next here. We'll come to the one that you came up with earlier Which is the the frame length And the corollary to 2 is that for a network with odd number of nodes a periodic schedule An odd number of period t the upper bound is nt minus 1 divided by 2t so you can look into the math, but It gets a bit heavy And yeah, the fair schedules if you for n a node network a periodic per link fair schedule can only exist for a period t equals 2k n minus 1 Always going to be Is a So basically, but the main main thing you think about this is the defined as a per link fair schedule So it's not a per node fair schedule. So per link fair is Between two links where as per note share is for per note, everybody should be able to Send and receive equally to everybody else. So a per note share fair schedule will be able to Talk to every every other person fairly, but as a per link fair schedule means every link Is is has equal amount of traffic money. So slightly different. This is the one thing that I had to reread the paper a couple of times to So figure out What they were trying to do because I misinterpreted these two terms if you're reading it Just keep an eye on the per link fairness and per note fairness Yeah, I can imagine it's a very common problem for noobs in in this comms field and perfect heroes do not exist for linear geometries so linear geometries have a lot of weird issues because of the way the Distances add up basically you you the first person get something and the next person get something so some of the hacks that you know They did earlier with the scheduling won't work for a linear schedule and there's a mathematical proof to why that one But having given these sort of issues where it won't work in certain geometries and certain Sort of networks it's trying to go try to figure out how You can work with other interesting geometry. So This is again back to our the first one that you work with which was simple to load network This is the the delay matrix. This is the schedule Three node one. So this is a shadow. We looked at earlier as well So this is I didn't find a diagram for this it's an isocidious triangle. So the first node is is to one Distance away and the second node is to say it's an isocidious triangle. So It's a much bigger frame We should talk earlier. So you have to get a bigger frame, but it again, it's a it's a shadow that works out and once again, you get Three over two. So one point five. So it's an optimum Equal as well as the first one. This is what we need the common one. So I see this is this They go on to a couple more. I did we go into a tetrahedron as one one as well by So which means that this never applies to this place Yeah, yeah, because I was thinking yes in the sea you can actually play around. Yes, I have a tetrahedron. Yeah, there you go Yes Yes, yes, yes that way yes, yes, and yes, you're actually interesting enough get a This is a weird one. So you actually get a throughput of two, but if you notice Two talks to one and one talks to two And that's it and then three talks to four and four talks to three So one and two don't talk to three and four and and three and four don't talk to one and two So it's almost like you're having two separate networks, but at any given point you can swap any two And then you can keep going right because it's it's it's only it's sort of you know But that means your your actual frame Yeah, you can you can go double the size if you want and then get that so so you there's a trade-off, but but that's Tetrahedron and again, this was the one that you that I said was because this isn't seem to be fair Per node, but they define this as per link fair. This is still purling fair, but it's not per note fair Yeah, that's a typo that's me This is this is wrong Yeah, there should be yeah, they should be crossed I agree my fault didn't we didn't copy properly so Moving on to more so again This was a more intuitive understanding of of how much further you can go. Let's try to go even further So basically they define it as an optimization problem And they call it a sequential decision problem I'm not an expert in or I have no idea about dynamic programming or optimization in general, but I tried to guess and Understand how much as I could in this paper The research the resulting solution is optimal, but the it's computationally invisible They also propose a some of some sort of heuristic improvements to the optimization problem to reduce the complex complexional computational complexity So I will go through some of the formulation of the sequential decision problem and some of the interesting parts But I won't go through some of the more hardcore math But basically they model the whole thing as a transition So every every step, you know when we saw the speed diagram to the three Schedules like unfilled schedule, then you start filling up the schedule and you go along So each step is a is a is a decision that you take and that's the sequential decision So you decide which part of the schedule to fill up some sometimes your hands are forced because if you put a transmission Transmission here, you know, it's going to be interference here And you know, it's going to be a reception here But other parts you are open to figuring out whether you want to add a Transmission here or not and that's the basically that's the thing that you actually optimize against That's the thing you optimize and you optimize it against a reward function, which I think they My define it here now. Oh, yeah, they define it against a reward function, which is this which is a total number of Transmissions basically, right? So you want to optimize to have as many transmissions as possible and The throughput is always going to be the as t tends to infinity the 1 over t the reward for that the summation of all the reward functions Did I miss something here? Yeah, so Qt is the partial schedule at any given time t. So that's the sort of state snapshot of As you're transitioning between through the decision problem Yeah, so to actually solve it by dynamic programming, you need to define something called a value function I did not understand a bunch of this because this this led me into Wikipedia and then I was lost On dynamic programming. So if anybody understands dynamic programming and doesn't understand this It's a bit of evolution evolutionary programming. So so so you define functions that you give it to a Framework to solve it. The interesting thing though there. Yeah, so so I've tried to Summarize what it does. It basically use something called relative value iteration to iteratively estimate the value of the function V Which is the value function that's defined here And then the resulting algorithm works in practice. It yields optimal schedules for many small networks Unfortunately, the cardinality grows rapidly with N and G and is the number of nodes and G's is Is the maximum distance between two nodes in that entire network? So how widely stretched your network is? so let's say a Equilateral triangle network is just the maximum is still a whereas if it's the same network with three nodes, but in You know in a linear it's to a and that that's what they what they define this maximum distance is G So with cardinality, so with as energy increase You basically end up growing much much rapidly because it's a O n by end to end problem And there's just super impossible to solve for large networks with any Realistic thing so they come up with some interesting ways to go around it So if you know the value function the problem simplifies to enumerating the decision space and finding the optimal decision So rather than estimating the value function iteratively it is possible to develop an approximate value function based on the structure of the problem So this is where where they actually use what we were talking about earlier with these heuristics that hey instead of just guessing the value function from Nowhere, why don't we seed it with data with intuition like oh when when there is a when there's a Interference occurring transmit so these kind of heuristics help to reduce some of the complexity But it's still really complex and then they talk about a couple more sort of improvements they use to reduce the complexity I Kind of didn't understand those Yes Yeah So No, I think this is so the assumption is that this is done completely up priory to setting up the network So you you you create a schedule beforehand then you give it to all nodes and everybody knows their schedules What if you what? If you if your drift they can deal with it But if your boy decides to take up a cruise ship to the other end of the world, okay That that can't be dealt with The cruise ship part I Don't know the first slide showing like use cases of under application and you have some Objects there which move around not by accident, but because that's the whole point So if you know your mobility a priory you might be able to do some Complete some optimizations, but even then that's going to be really hard So there is there is so this isn't really taken to account mobile nodes yet I think under what an approach we are still not at that point Yeah, that could be one way to do it right you just say that that you know the high layers to deal with that this is Yeah, you're trying to you know Or you could do it in such a way that you have No, or you could do it in such a way that you have You know, you know if you know your position you can say that if I move from this locality to this locality then I know I'm I'm inside another zone. So now I follow that zones schedule instead of this one schedule So you could do that kind of thing as well. So that means the boy needs to be GPS Yes, yes way is easy think of submarine Oh Even more complicated because so they do say that if you have if you the amount of the drift is Sort of not that high compared to distances because you say they're talking about kilometers two kilometers four kilometers If they did drift is a few meters or no few tens of meters they can deal with it in the in the algorithm They are thinking calm water. I'm thinking in a storm I agree, of course Yeah, I'm pretty sure you're probably a joke to be made here Possibly That was probably definitely So so what they were doing is more things and First we have our Yes, the second be Possibly kind of pre-evaluated The third thing is that hopefully doesn't change too often So you can approximate it and then use this approximation I think they are playing with it and and and that's exactly the kind of research that this lab does so looking at Interesting. Oh, so I mean physical experiments. Oh, yeah, they definitely do that once a year at least They go into the sea launch all these buoys Way more fun is when they when they put down there as the submarines in the water the robotic submarines And then you move around and see we're receiving Especially in the air An error network, then I assume that moving object to be a very different thing. Yes, just because of that. Yes. Yes Yes, yes, so This is at a at a Mac level a TDMA media access control medium access control protocol sort of level But at a at a lower level you need to deal with Doppler in much more interesting ways here because if you're doing Let's say, you know some kind of frequency shifting with Doppler. Yes, she frequency is gonna shift So that's the kind of stuff you need to do with a lot Because it's so it's so close to your your speed of sounding water So I realize something sexy Yes, so like two whales didn't tell a knock knock to each other using this product. All right. Yes That's like a pretty big Well You you what do you mean in the sense that if everybody has a schedule it just depends on when you start right so You can start any any given point of time In the in the frame, right? Okay You can't arbitrary decide when you want to start to say no, no, what I mean is like if I said knock knock You know, you have to ask with it. Yeah, you don't know that you want to ask with it until you've heard that I said knock knock so you can't Tell me Who is it while I'm saying knock knock because you haven't received right? Yes But that's that's an issue with propagation itself, right? I can't I can't He's thinking of a note fairness, okay So you can knock knock Until you until you reply you just keep not knocking until the other person say knock knock. Oh, yeah Okay, then then You don't know yeah, I wish I tell you to start counting Yeah, knock knock knock knock knock who's there? That's why you have to start counting If you say knock knock now, he only can reply who's there when it's his turn to transmit to you again Yeah, exactly. He doesn't say why you be replied to something else or he might just not yeah So I have to wait for I'll have to wait for my next slot with you to be able to to reply Yes, you might still have something else to tell me Yes He might have something the idea is it's a fully saturated on the other now in the sense everybody always has something to say Yes That's horrible Very miserable wheels So back to the the improvements to computational efficiency So basically they're trying to use different kinds of heuristics to reduce the complex computational complexity of the decision Darn a programming problem I Don't really understand a bunch of things here, but basically they're trying to to make Basically trying to add heuristics like transmissions that has minimum impact on the potential future transmission is chosen Right, so you try to ensure that the way you are doing something doesn't Put you in a step where you are now restricted in a you know much narrower thing I didn't really get in more detail with this But I don't know if there's some relationship with this and the AI stuff that people do for decision trees Because it's it seems similar in the some some sense But it's I do not have the fundamental understanding of dynamic programming enough to be able to see if that is some relation with that They do look they do they do talk about how great how greedy algorithms or How greedy can it be but but then the problem is there's some parts where you you're kind of locked in and you can't really Fill every slot because of the way it works out. So I have to go back and then try something else instead But but yeah, that helps them to reduce it by when cube which gives you them some kind of a local maxima But it's not guaranteed to be a global maximum. So you will have a near optimal Sherio, but not a perfection Some gonna move on to conclusion So the main conclusion is large propagation delays for our lower networks rather than being harmful leads to Interestingly leads to significant performance gains compared to wireless networks with negligible propagation delays Making interfering packets overlap in time at that internet nodes and leaving desired packets to interfere Interference free at internet nodes is what you're trying to basically do Using the interference time laden slots for transmission And you basically get n by 2 as the upper bound to what you can really do if you have a perfect network perfect schedule Everything is perfect. The seas aren't choppy. The whales are happy. Then you get n by 2 but From my understanding personally with the people who do this research they have managed to use it with like a 6 8 10 node network they have busy like the physical network. They haven't It kind of works to a certain extent. So you do get sort of much closer to one than normal But they haven't actually been able to get serious real-life throughput more than one Because they always have this like you're talking about like choppy sees and stuff moving about and randomly things go missing and Don't need more than one if in choppy see condition. They still can get one they have Do you remember how much they got I think So just the context after this is this thing another paper Yeah, paper where he was talking about if you're really far away, then you won't hear things So you can also emulate that by changing your source level So you can talk software then you in the main other nodes So you can have some transmissions that are softer allowing someone else So they did more more interesting things with power more complex geometry with power or modulation Yeah, so there's another people that I think that was just published this This year or a last year in the last year I remember so they were testing that out at sea. I think we got I Think just one or maybe just slightly shy of one let's say less than one I know that it was not one because one would have been like You know a movement like the people have been super happy, but slightly less than one, but close to Yes No, it's not so that is it's same concept, but to ensure that you don't we say I'm talking to him That this is easier. I'm talking to him. I don't want you to listen so I talk softly so you can sit up to him So so it's adding I can link you to paper I think the paper it will extend that away better than I So absolute modulation would be if you're motivating within the packet to transfer information here It's more of just I am whispering to him really quietly So you don't even realize I'm here so you can just so you can happily talk to him without having an interview So that means you are actually you've been two different networks But when you want to talk to me you can yell you can still yell out enough so you can And it this is another paper so easier easier to let it to that paper to explain that Yes, that is exactly where a lot of the Yeah, they told on networks as they're called there's a bunch of research going to that so the people in this lab sort of do Follow what's what's happening there, but that so it's interesting, right? We talked about propagation delay It's about time taken for in the medium So that that I should also distances right we assume distances in all networks all terrestrial networks are You know of human scale, but when you talk about interplanetary networks, then the distances that the although the speed is still fast You know the distances are different so then it becomes interesting as well So stuff like this could be very useful because you could do exactly this between planets Ignore my blue background assume its space Change the speed of sound and the n1 and n2 can be planet Actually problem But there's some interesting things that might might for example the whole Full duplex issue half duplex issue might not might not apply to the pancreas you can do more interesting things Because self-noise might not be so high so you might be able to have more directional Can only do that actually because yeah, like sure sure yeah, I mean Yeah So so so so the whole half duplex thing is thrown out the water right so you can you can do full duplex Multiple duplex whatever you can do Anything else I think the lab has done that but I don't have any understanding. I don't have any specific knowledge So so I'll just give you a quick understanding of my relationship. I don't work for the lab I do work with some of the research that comes out of the lab So I have understanding of some of the stuff they do but I don't have understanding with everything else so I can only talk about I can only I can Talk very comfortable with what's in the paper, but anything outside I think you might want to ask them directly because they probably know more than Sure I Recently met a bunch of researchers who are looking exactly into that that they can do because They can then augment stuff and figure out what's better You can do stuff like the damn you link as they call it So if you have a one link, which is much faster, which is through the air then you can you can sort of Summary can go yeah, I can somewhere you can go there I think I did I bring it here go through the thing and then go out Thank you very much, and I will finally give the time to Melvin