我认真研读了Bubble Rap那篇文章,从数据集本身分析,到centrality、community计算,再到The ONE实现,遇到很多问题。本文分享我已做的工作,并列出自已遇到的困惑。
1. Bubble Rap实现
首先,先贴个仿真结果,结果不是很好,后面变了centrality计算方法,效果跟Bubble Rap很接近。
图1:Bubble Rap的仿真结果
我实现思路很简单:用Python处理数据集(如infocom06),建立静态图,求得每个节点对应的centrality和所属的社区。有了这些数据后,在The ONE实现Bubble Rap就简单了。但这有个问题,社区检测community detection不是动态的,很有局限性。
后来,无意中发现GitHub有一份源码(在这里),作者也实现了Bubble Rap,直接在The ONE仿真器实现,是动态的。我也下了这份代码,并且打算用于我后续的仿真,但使用过程中发现这份代码有bug,我已将问题反馈给作者(在这里),但至今没有回复。所以,在使用的时候,务必当心。
2. 存在的困惑
数据集相关
- 我找不到Hongkong数据集,在CRAWDAD下载的数据集,我一直觉得有问题
- Contact graph中,边的权重如何算,对于开始时间与结束时间相同的contact怎么处理
- Community detection,用k-clique还是用其他的?
- ……
实现相关
- 实现,其实我觉得还比较简单,主要解决将centrality, community读入The ONE,新建路由BubbleRapRouter,在其update根据论文实现算法。
- 如何动态预测节点相遇情况
- 如何突破The ONE没有MAC层的局限(不能broadcast)
- ……
期待与您深入交流:回复本博文或电邮sparkandshine@163.com
专题: DTN路由协议 (6/6)
微信赞赏
支付宝赞赏
同问,感觉代码有问题,如果找到了麻烦给个回复,谢谢了
请问您有BubbleRap的源码吗
请问您有没有SimBet路由算法的代码,可否分享一份给我?
So sorry for the belated reply.
I don’t have the souce code of SimBet. Sorry again.
您好,我想请问下:Bubble Rap路由协议中,要怎么才能选取合适的K值和familiarThreshold阈值呢?让社区数目达到稳定吗?当我改变K值时,社区数目并不是单调变化,而是起起落落,这让我无从下手。
How do you construct a contact graph on which you calculate community detection?
请问您在配置文件中做了哪些改动呢,为什么我在运行BubbleRap协议时投递率一直为0
请问你解决这个问题没有?我BubbleRap也是投递率一直为0
楼主,您好!我想请问下,The ONE里面GUI界面的信息包有红色、蓝色、绿色,这不同的颜色有不一样的含义吗?
可能代表着消息的拥塞程度,但我不确定。