I think we can start. So welcome to our computer science colloquium. So I'm very
happy to welcome Professor Anna Furster from the University of Bremen. She is
there since 2015 where she leads the Sustainable Communication Networks Group.
Before in 2004 she obtained a master's degree in computer science and
aerospace engineering at the Free University of Berlin. After that she
moved to Switzerland to do her PhD at the University of Uganda where she
received a PhD degree in 2009 and from 2010 to 2014 she worked for the
University of Applied Sciences of Southland Switzerland as researcher and
lecturer and as mentioned since 2015 she's in our direct neighborhood in
Bremen. So yeah, I would say Anna, nice to have you here and I hand over to you.
The floor is yours. Thank you. Thank you very much. Well done. You remember it
really all my biography. I could not do it better. I could not do it better. Okay, so
thank you very much for the invitation here. I'm really happy to be here. It's
really close by but still you don't get that many opportunities actually to see
each other and to travel probably because it's so close maybe. You always
say it's so close I can do it anytime. So today I was asked more or less to talk
something about opportunistic networks and the first topic which I proposed was
a little bit more general research and challenges, opportunities and challenges.
Now I decided actually to go into a little bit more something concrete and
into our last research in this area just to give you a little bit more than an
overview maybe a little bit more details and something a little bit more
fresher maybe. So the first question is what are opportunistic networks? I heard
there were some crazy stories about what it could be. They have absolutely nothing
to do with neural networks. They're just normal communication networks. The special
thing about them is that they are intermittently connected which means that
we do not assume that the network is always connected and that I know my
nodes or the nodes are joining and leaving the network otherwise the network
remains as it is. But the idea is that there are many isolated nodes, there are
many isolated islands in this network and all of the nodes are using localized
communication technologies to talk to each other. With other words they do not
use infrastructure like 3G, 4G, Wi-Fi, whatever else. They do not use the
internet to communicate but they use a one-to-one communication and
communication technologies to talk to each other. That's why they're called
opportunistic because they use the opportunity to communicate to each other.
This is potentially a very long process and not really a guaranteed delivery
process because it could work, it could not work. Some nodes might stay isolated
for such a long time that they actually excluded from communication. That is all
assumed as a property of opportunistic networks. So the first question which we
need probably to clarify is why do we actually need opportunistic networks?
There are many different main scenarios. One is of course the typical case of
disaster. What happens if the infrastructure gets destroyed? Even in the
best organized countries in the world it takes a week to recover a base station
because that's not something that you have in your wardrobe. You have to get it,
you have to transport it, you have to install it. That takes a lot of time and
communication during that time is potentially completely non-existing.
Another very interesting application scenario is when you relieve actually the
infrastructure. This is a picture, I don't know whether you can recognize what it is,
the Germans especially. This is Tibet. It doesn't exist anymore but I have to update
the slides. That was Tibet. The problem was that it's a kind of a funny story
always that every year they managed to crash their communication
infrastructure in a couple of hours. Every year they were updating and
planning and designing and then in a couple of hours it was always gone. So
here it's also a very interesting application scenario for us because
interestingly most of the communication in such an exhibition goes on between
the participants because you split two different halls then you start sending
idiotic messages, hey where are you? And this is purely localized communication,
you do not actually need to get out of that area. And then probably my favorite
scenario, let me see where is my mouse, mouse, mouse, mouse, here we go, is the let's
say the vision of an autonomous crossing, you don't need the audio, I'll put it
like that, where you have probably seen some of such videos already on YouTube
somewhere. The idea is that in an autonomous crossing you need extremely
fast communication between the participants, not only in the crossing of
course but in a smart city scenario in general. And things like that could
become possible where you do not need to wait for traffic light, you do not need
to go for very large distances between vehicles, pedestrians and bikes and so
on, but you can optimally use the space and the time which is available. The
problem is that in such a scenario you actually do not have literally the time
to go to the infrastructure, make some processing and come back, you need to be
localized, you need to do that on the spot, some of those really look terrible,
you have to close your eyes sometimes, I know. But it's one of my absolute favorite
videos. Okay, so speaking a little bit more generalized, the types of
applications which we're serving is first of all two general families. They
could be destination oriented or destination less, what is the difference?
Destination oriented applications assume that A is talking to B. Who is A and B,
that's a part of the application scenario, but there is a dedicated pair or
multicast of course which is interested in communicating to each other. Okay, in
destination less it's pretty much everybody, broadcast, flooding, call it
whatever you want. Okay, everybody is interested in the information. For example,
if an accident happens in the city everybody is interested in that, from
traffic lights to pedestrians to potentially the police, fire brigade and
so on and so forth. If however you are sending a message to your friend to say
what about going for a beer this night? It is a one-to-one communication, this is the
general difference. And currently there is a lot of research going on in the area
of this nation oriented. However, I'm always asking that question and most
people also react like that. Why should they use an opportunistic network to call
somebody for a beer this night if it actually cannot guarantee me delivery in
some proper time? It's kind of weird to use an opportunistic network for that
unless of course you have a disaster scenario or the infrastructure is
overloaded and things like that. But in a typical case where you actually have
also normal communication it is not really interesting to look into
opportunistic networks. Then if you go into destination less there it starts
getting more interesting, exactly as in the autonomous crossing just in the last
slide. Here you have several application scenarios. One is for example this old
devices or people by role. For example you would like to warn all policemen in a
big city about something. You cannot really say where they are, you cannot
really say how many they are right now because some might be at home, others
might be right now on duty. So it is a delivery by role and not by destination.
And there you obviously need to do some sort of a flooding. Even if it's not a full
fledged flooding it is sort of flooding. Another possibility is of course to
target some devices and people by geographic area to say that part of the
city is interested in this or this small city is interested in that. And of course
as an extreme case simply to say everybody is interested in that.
Something really important happens, for example you have a tsunami warning, there
is no exclusion of who is getting that, everybody needs to be informed. If you
look into current data dissemination protocols which are around for
opportunistic networks, you first of all need to identify what are the
requirements because we are really in a special scenario which cannot really go
with the same properties or the same requirements as typical routing. So the
requirements are first of all we need low energy costs but low costs in
general not only energy but also installation and maintenance. It needs to
be very very scalable because if we are talking about implementing some sort of
a smart city scenario then of course it makes more and more sense to go to bigger
cities. There you potentially have many millions of devices not only if users
but also if you count all of the vehicles, all of the traffic lights and so on and so on.
And then the third is of course that you have to be fast but this fast you should not
you should not get it too exact. Of course we would like to be as fast as possible but given
that we have only an opportunistic networks it means that the delay has to be bounded, it has
to be faster than as fast as possible but you count on several hours of delay.
This is what you can expect actually from some of those applications scenarios.
Some typical options here is first of all which we started kind of the community with that is the
so-called direct transmission. Direct transmission is the simplest protocol you can imagine.
It's actually not a protocol by itself but we use it for comparison reasons. It means that if I
have a message to you I wait until I meet him and then I send him the message. It is not really
a useful protocol but as I said before it's kind of a worst case scenario for us to make a kind of
a ground level to see how bad we can be. Then you have something which is now a little bit smarter
which is called the so-called spray and wait. Typically all data dissemination protocols and
opportunistic networks implement one general concept the so-called store and forward. You
get the message you store it and whenever you meet another note to communicate you forward
that message further but you could also continue storing it for other communication. What is spray
and wait? Spray and wait is kind of a probabilistic thing. If I meet somebody I probabilistically
decide whether to give him part of my messages or not and then I continue moving. So it is not a
full-fledged flooding but I probabilistically disseminate my information. Depends on the
parameters which you put it can develop into a full-fledged flooding or it could be as simple
as just taking it just one hop further and you hope that it will travel somehow to the destination.
The problem with spray and wait is that it's actually very hard to fine tune
because you never know how to put the parameters to reach a particular destination
and it's absolutely not suited for broadcast applications because it's really really slow
actually for that. Then we have also kind of the other side of the complete spectrum which is
the so-called epidemic protocol. Epidemic is full-fledged flooding, very well organized flooding
which means that whenever we meet two notes meet they do not necessarily exchange all of the
messages but they exchange some meta information first to see who has what and then they exchange
the missing messages. So when they part they will have actually exactly the same caches on their
sites. The good thing is that it is pretty much if the best performing protocol you can find in terms
of delay and delivery rate but it needs a lot of overhead because it floods everything. Everybody
gets a packet of everything and it actually interestingly does not differentiate whether
we have one destination several destinations or all destinations together it doesn't care
because you have a full-fledged flooding so everybody gets it at the same time whether
your destination or not epidemic doesn't care. The problem again is that it's very hard to fine tune
it still has some parameters to keep the whole story manageable somehow for example a TTL or
re-synchronizing parameters and they're very very hard to hide the hard tune and it requires
relatively long contact times so whenever we meet we cannot just pass on the street and exchange
some information because of that metadata exchange so we need to meet stay there for some time
then we can exchange the metadata the messages and then we can part otherwise it becomes a little
bit messy and it also interrupts the communication. So if you look into all of these stories it became
becomes kind of clear that there are four driving forces which actually dictate the performance of
an opportunistic network. On one side it is the mobility and sometimes you can control it or you
can predict it because those are satellites or buses or a span or something like that
sometimes they're absolutely unpredictable because they're just people following their
normal schedules so you cannot really say where they will be in an hour maybe there is some
probability but you absolutely cannot predict it very well. Then the communication technology
itself which you're using also dictates a lot of the performance not only the achieved data rates
and the achieved the transmission radios but the way you communicate for example we would like very
much to use something like Bluetooth for our opportunistic networks but Bluetooth doesn't work
without security it doesn't allow me to make contact to some other node to exchange real data
without making this this pairing between the pairing between the two nodes and that is something
which hinders a realistic opportunistic network I cannot do that simply. So this is another point
which drives us of course how you design the data dissemination protocol is another force
and the third one the fourth one which has been kind of neglected in the research community until
now is the message of the content. Why is that interesting? Well imagine that you get a message
today over an opportunistic network which tells you about a great event in the city this evening.
There is no point of getting such a message if you don't react to that message. So with other
words the only plus the only advantage for you to get such a service is to use that data and that
data tells you to go this evening to the city center. So with some probability you will actually
go there many people will gather together and that changes the network completely. So from inside
you actually change the network by sending some information imagine for example one of us here
sends a warning that there is a fire in the building you will not continue hopefully sitting
comfortably here but you will run out in that way I actually dictate the performance of the network
and the the properties of this network. So it's a kind of an interesting loop between the data
which I exchange with that same network and how the network looks like. That's probably the only
such network which has this property. What are the problems of current data dissemination protocols?
First of all they do not fully leverage some of the properties. They do not leverage the
mobility of people in a sufficient way. They do not leverage at all the content of the messages
like what the heck I'm disseminating there and what it does with the people and they do not
really make use of controlling the mobility. There is for example this relatively new and
relatively popular concept of crowdsourcing you probably have heard about that where you are given
a task to do in a city for example go make a picture of this and that to load it on google maps.
They pay you something for that a tiny amount of money so that if you are around you will be
automatically triggered with some such tasks or jobs and you can do them or not. This is control
of mobility right because I'm sending you actually somewhere and I'm telling you if you go there
because for example I have a gap in the network there right now I'll give you something for that.
Maybe it's a voucher maybe it is something for good for later but I can actually control
the mobility also from inside of the network that has not been used before. What they also ignore
is what we already discussed is this interplay the loop between messages and mobility and the
problem is also that traditional metrics are actually not very well suited so we continue
talking about delivery delay we continue talking about data rates and things like that but this is
actually not what we want in opportunistic network this is not describing correctly what
the opportunistic network can do and what is the advantage of having it. So what we are trying to
target a little bit already we just started actually with our research is to target the
mobility context so to say how can I be different or how can I behave differently if I have
different types of mobility around me then we are introducing something which you call the message
popularity I will explain that in greater details and then we have also some sort of a quality of
service feedback so we are using some sort of a feedback from the end users to say are we
performing well or are not. What is the mobility context? Mobility context is actually very simple
if you're standing around it's really easy for an opportunistic network from any kind of network
you have all of the time to do stuff so you have enough time however the problems here
is that you might start rescinding messages after something if you're not aware that your neighbors
are exactly the same for example us sitting here around then you might get tempted to resent and
resent and resynchronize so you have to recognize this scenario and take care that you do not spend
energy on that. If you are mobile on the other side that has the very good advantage or it has
an advantage that you constantly get new contacts so every time you're around you will get new
contacts new data new opportunities to gather something new but the problem is that you don't
have enough time now depends on the speed of course depends on the communication technology
which you're using but you potentially do not have enough time. What is popularity of data?
Well it's actually very clear to be understood if I give you free jokes for example what did the
thermometer say to the other thermometer you make my temperature rise probably not very funny right
you know like a girl like then what type of lightning likes to play sports ball lightning
also not that great and this is my favorite one doctor help me I'm addicted to twitter sorry I
do not follow you. Everybody reacts differently to different types of jokes there are some which
people tend to like more than others some of those some will laugh others will say how
dumb was that and the other way around so popularity is something human we cannot
calculate it by number of letters we cannot calculate it by timestamp or who created it
it's impossible we need to wait for people to react to see whether they laugh or not
pretty much in the in this case so if you want if you can also plot actually the popularity of
some data over time and you see that there is maybe for example one joke about the golf
players dilemma I don't even remember that joke what it was about which the popularity is not
very high goes down but it stays something like well not really good joke but if you don't have
anything else to say you could use that one then there are some jokes which are for example great
but this is only in Hamburg for some reason people in Hamburg love that one
you don't really understand why but this is how it is okay and then the same that same joke in
Bremen kind of starts off a little bit then goes down for whatever reason then goes up again but
it stays always below that of Hamburg with other words popularity is not only human but it also
changes over time so we cannot really say okay once I calculate or once I have the popularity
of a joke I can stamp that joke with that popularity and can say forever this is a great joke
at some point it will become an old joke and nobody will be laughing about that anymore
so we define popularity we tried now to somehow derive something mathematical scientific out of
the whole story how can we count popularity one simple way is to say well I have some kind of
number of likes whatever a like is then I have the total number of people who I have asked until now
because I probably cannot ask everybody about every possible joke or whatever I have there
in hand and that will be my popularity of that message at time t so it depends on time it depends
on the people of course I asked about if I asked in Hamburg the result will be different than asking
in Bremen it does not only depend on the number but also where they are but that's how it is
popularity changes over time and the popularity is a kind of a global snapshot of the network
now I have however an opportunistic network which means that I never have a global view of the
network and its popularity of the messages what I can have is some sort of a localized
estimation of that value so if I ask you here about those jokes before I had the impression
my favorite joke was also yours not completely sure but I had that impression and the first one
was like okay where did that come from okay so it really depends what we are trying to do
is to use that popularity and to estimate these popularities not only of jokes we actually do it
with some other types of announcements not jokes only and we're calling it the organic data
dissemination we call it organic because it changes in an organic way you cannot really predict when
it will change exactly it is not exact because it's only estimating things and it's estimating
them in a very localized way so I will try to estimate this popularity in the network
for that I will be using the reactions of people I will using their likes deletes and so on
and I will apply machine learning to do that because that's a kind of a typical way already
to learn things which are changing over time also I will also leverage the mobility context
in order to be a little bit faster and more efficient in my communication strategies
and I will be giving also kind of a fuzzy preference to more popular messages what does
that mean I do not separate the messages in classes I do not say priority one two three
but I order them simply by popularity and they give a little bit more preference to the higher
popularities or the more popular items than to the lower popularity ones I'll explain that in a
second so example if I have in my cache exactly three jokes okay the goodness value is what I
actually keep as a nest as the current estimation of the popularity in my local network what I have
seen until now so in this case it's relatively simple I have some numbers here joke a joke b
and joke c and the goodness is 12 ain't and 80 if I interpret this goodness as the popularity 80
will be the highest so first of all I will sort that cache according to the popularity so it goes
to that not very interesting now if a new item comes in it also is added to the cache
and the note from which I'm getting that new item will not only give me the message but it will give
me also the goodness value which it had for that item so for example I forward to Mathias a joke
and I say by the way I love that one that's exactly here the idea I give him the message
I give him also the goodness value and because he does not have it before that in his cache
he'll just copy all that information and wait for more to come now if the user reacts to an
item for example because there is a difference between the device which actually does all of
these jobs and the user who is the human reading those messages at some point I will read that
message because that was the idea of this service to give me good jokes so I will read it at some
point and I'll say that was a good joke for him although that's really dumb okay what I will do
is that I will react to that message the application gives me for example some options I can say wow
great give it five stars I can rate it with some number of stars I can just ignore it all together
or I can get really angry about that and delete it okay that's kind of the worst which can happen
to a joke it gets deleted so if that happens now I need to update my cache there is however
really a difference between what I keep in the cache and what the user keeps so I as a user might
have deleted that joke I don't want ever to see it again but the cache might hold it there because
who knows maybe somebody else actually likes it more than I did because Mathias liked it a lot
I didn't like it but maybe some of you will so I cannot just delete it all together from my cache
so I will use also some sort of a Q learning it's the probably the simplest reinforcement learning
algorithm which we know to update that particular goodness value to combine what I had before
and what the reaction of my user was as a next I will again resort so that you see that now
here up there are the jokes which have been rated good and down there are the ones which
have been not rated very well if that same item comes again from somebody else somebody else has
exactly the same joke that's pretty probable actually I will simply again use my Q learning
mechanism to update the goodness value again that's different from delivering it again to
the user that will probably not happen again that changes now joke c changed from what was it before
80 it went down to 70 now okay it is changing simply over time and what I also additionally
do is the so-called aging with other words every now and then I put the goodness value of everything
which I have in my cache a little bit down to say that's an old joke okay I should give a little
bit more preference to newly arriving messages whether they're jokes or something important
doesn't really matter so they will go a little bit down at some periodic intervals
now we are now into sending now I meet somebody new and I need to take a decision what to give
to this new note I can broadcast data which is very important so I'm not selecting now a particular
one to communicate to I just look oh there are some people around me I could send something out
and I do that by broadcasting it how do I select that actually I randomly select one item here but
again I use the so-called double-sided heavy-tail tail tail oh tail is misspelled tail as a
tail distribution so that I decide actually to which items to give priority so this is my
double-sided heavy-tail distribution in this case it looks only one-sided because here the second
part is simply missing because the cache is over I center it in a way that it shows first to the
most popular items first and now I throw my dices and I select one of those in however what is
important is that those here are not excluded with other words this is not zero this is a little bit
more than zero so even in such a scenario I have the possibility or the probability also of sending
a very non-popular one but that will be what will be happening very very rarely
okay then the mobility context decides what I do now with this distribution we have seen probably
that it moves down okay the maximum now starts moving down if the mobility context doesn't change
what does it mean if we stay in this room my mobility context does not change at all right
we have exactly the same contacts I'm sending you now a couple of messages and I start pulling
this maximum of the distribution down so that I start giving you also less popular items
so that if we stay in the same room at some point I will actually have given you all of my items
and we stop communicating altogether okay so whenever this maximum hits the floor I actually
stop communicating altogether there is no guarantee hundred percent that I will have sent
you exactly once each of the messages but with a little bit of probability analysis this is the
probable way what will happen so okay that's already said told you um what happens if the
mobility context restarts again so for example I walk out of here and go to the bus station
there the mobility context is completely new again I calculate that by simply saying how many
of my contacts are new contacts and I decide on that's the rule so whenever I get so many new
contacts that I decide oh my mobility context changed I will jump up with the maximum distribution
again so that I restart again the popularity at the most popularity so that if I'm walking
actively for example for the city that maximum will stay up the whole time and only if I stop
somewhere and nothing happens it will start slowly going down okay what does it mean actually for the
scenarios which we have discussed before first of all we had that static scenario like we are
sitting here around what you can see we have always compared with this epidemic which I told
you before which is the pure flooding which is giving us a very good kind of a best case for
delivery rate and delivery ratio but it's very expensive in terms of overhead so here you say
over time the development of this network and kichi is our organic data dissemination protocol
this is the name kichi is tweeting in single ease some of my people are coming from Sri Lanka that's
why we have called it kichi from single ease and then epidemic is the blue line so what you can see
is that the produced traffic in this scenario we actually have a very very trivial scenario where
you assume that three people are coming into the room everybody has exactly hundred packets
different from each other and what will happen how it will happen that they disseminate that
they exchange those messages epidemic is really fast here as you can see to exchange all of them
but the traffic is very high and then it continues growing because epidemic resynchronizes
constantly it constantly resends the metadata to say do you have something new do you have something
new that is part simply of the protocol kichi whenever you probably remember whenever we hit
the floor we actually stop sending any messages and we wait for the mobility context to change
again before we restart again that's why we also induce a little bit less traffic it is approximately
the same time which we need it's just a little bit more you cannot really see it here and we
stay at that level and it's completely static because we do not move out of the room
if you have a mobile scenario it looks a little bit more complex i have to explain that okay so
this is the contact duration in seconds which is the opposite of the speed right if i have a very
long contact duration i'm very very slow because i have stayed in contact for a very long time
and here i'm very very fast what is very fast here is a driving speed of 50 kilometers per hour
all of these data has been um computed for wi-fi direct with perfect data of course
and here's the walking speed so you see that something happens even before we get into the
walking speed what happens the blue lines are again the epidemic what we're comparing against
and the red lines is our results so if you look we have two parties which are walking like that
then pass by each other and continue walking now the question is how long they have stayed in
contact and what did they manage to exchange in this time you see that the the this line the fat
one the blue one says how many whether we have managed to exchange all of the data in both
directions means 200 messages okay 200 means 100 and 100 in the other direction that works very
well until a time of approximately here 160 seconds of contact duration which is a lot it is
really long one then it starts dropping because you simply do not have any more the time to exchange
in both directions so it goes down and whenever we have here a walking speed or a driving speed
with walking speed you just exchange a little bit and with driving speed almost nothing but what is
interesting is actually uh here the difference between those two so i mistaken before that
that was the epidemic and that was key so this is the real difference it comes from the fact that
teach is broadcasting so they can actually um sent in both directions at the same time
and there is no metadata exchange the metadata exchange is the one which actually kicks epidemic
here so early out because until you exchange the metadata it's already too late to have enough
time for the messages themselves and this is also very nicely visible from the two different notes
because with epidemic one is given a preference one will get the messages from the second one
but not vice versa which is also different for kichi because it always goes in both directions
okay that was a graph which was not very easy to understand that's why it comes here a little bit
something nice here how does that behave in a global scenario if you look into the behavior
of epidemic and let's say a scenario where you have here a funny guy who sends a joke to everybody
okay in bremen he creates this joke or read it somewhere and decides to send it out all of those
people have not received the joke yet that's why they're very sad okay what does epidemic do with
that data it doesn't care at all whether this is a good joke or a bad joke it doesn't care it's a
message as any any other message it could be a news about something it could be a joke it could
be an announcement marketing announcement it doesn't care what happens is that after some time
epidemic has a parameter to say how far to go because otherwise it floods too much so you have
to configure that parameter let's say that he's being configured to bremen only in this case those
two people will get really happy this one will move further to berlin and he will continue being
happy of course because he knows the joke now but he will not be able to give it to this girl
because it's out of the area of epidemic so he's not allowed actually to process it further or to
forward it further and when he continues to australia he is also not able to disseminate it
and of course this poor guy in munich here is completely isolated he never gets the communication
that's always a risk if you look into the same scenario with kichi and the good joke what will
happen is that eventually everybody who is connected some way who was not isolated in this
network like this poor guy is still very sad but those will all get happy because they have
a chance to receive it and because it's a good joke it will be very high in popularity and it
will be disseminated further what will happen with kichi and the bad joke imagine this guy
was not that funny and he actually creates a bad joke what happens then is that he will start
disseminating it but people are still sad because they don't like to joke and what happens is that
they do not the dissemination is actually prohibited because the popularity goes down
pretty quickly and then you stop simply disseminating it i forgot also to mention that if the cash
is finite so that you had you don't have simply space for all of your messages the ones on the
bottom starts falling out you just let them drop so this is how it will behave and here it becomes
obvious what is the real difference kichi simply differentiates between popular stuff
and disseminates that with some kind of a preference and if it is a bad content which
was not popular in the network that starts going down in the caches and eventually falls out
some more let's say generalized simulation results because we have uh it's a it's a pure
linguistic nothing because we invested a lot of time actually in simulating all these notes it
took us almost a year to run the simulation so that's why i need to present them now
what do you see here is a game kitchen epidemic and the delivery rate is actually practically
the same which is very good for us because it means that we do not sacrifice anything from the
performance of that network it can never be really hundred percent because it's an opportunistic
networks you have some isolated notes so not everybody can be reached anyhow and this is the
so-called data for popular data okay so these are the results for popular data at the same time we
dramatically really decreased overhead in the network which is very important for us
because that renders us a little bit more scalable than existing protocols which is very very
important another way of looking into that story is to see also what happens if i reduce the cache
size as i said before it's a big problem because cache sizes are always limited epidemic does not
differentiate between popular and non-popular items it does not know what it has so if the
cache starts getting too small for all of the items all this will get disregarded or newest
will get deleted depends on the strategy but it falls out a lot of uh it deletes a lot of data
and it's really interesting to observe what actually happens here the delivery rate and
the delay actually improve with kichi with smaller cache sizes because we keep space only
for the popular items and we simply ignore the non-popular ones and of course we improve
also in the performance because we do not ignore that and just to remind you that we also have
non-popular data this is these are the results for non-popular ones you see of course that now
there is a huge difference between epidemic and kichi because we actually ignore them most of the
time however they're not completely at zero this is what i was trying to to show you here because
whenever there is time we actually deliver also the non-popular ones so they also get a chance
but just the lower one so the bad jokes still have their fair chance but it's a lower one
so just to summarize a little bit where we are in opportunistic networks right now
what we are trying to do the whole community is to serve millions of devices potentially at very
very high speeds something like highway this is of course not where we are we are currently there
so we have in the best case something like hundreds of nodes my simulations went until
1250 that was the biggest we could run and in terms of mobility of speed it's still
a big problem because the contacts are simply not long enough for us and if you go only into
that direction so you have still little few nodes but very mobile very fast then you get
a problem with communication the data dissemination protocol is okay but the communication is a
problem you just don't have time for doing that and if you get into millions of devices but
relatively slow then communication is fine but you get a problem with data dissemination because
it just cannot handle that amount of data and with kichi we're trying somehow to push in that
direction okay we're not there but we try to push that box up to our goal so thank you very much
that was a small glimpse into our latest research we also have some plans for future work
which are considering security and trust i'm looking at that direction
we would like to consider a little bit more the mobility and the information context right now
we have only this mobility context which is a rather simplistic thing i would like to consider
a little bit more there we would like to scale the simulation experiments this is a big travel
i told you we needed an year to run those simulations on a server farm it is a problem
and we would like also real world implementations the problem there are the communication
technologies who simply do not want to do whatever they're supposed to do
and a small list of our latest publications not really interesting so i will come back
actually to this one and thank you again very much for your attention