In this post, we look at how buffer size affects, if at all, the performance of the routing protocols in DTNs. For this purpose, we will consider the following five routing protocols:
We will consider the buffer sizes from 20 MB to 180 MB, both inclusive, in steps of 20 MB so that we have total 9 different buffer sizes. We will use the real-life connection traces from Infocom'06. Therefore, we will need to simulate 5 * 9 = 45 scenarios to get the relevant results. The contents of the default_settings.txt file are as shown below.
Now, let us take a look at some results. Figure 1 shows the delivery ratio of the messages obtained when these routing protocols were used together with the different buffer sizes.
There are three clear trends in this Figure:
The nature of the routing protocols provide some hints here. Unlimited replication-based benefit from the increasing buffer size since, more buffer space implies more nodes can carry with them more message copies. On the other hand, in case of single copy-based message forwarding, the same does not hold true.
So, how does SnW behave with increasing buffer sizes for different values of L? You can verify it yourself. For different L, the increasing size of buffer helps improving the delivery ratio upto different extents beyond which the performance do not vary.
Check out the article Effects of Heterogeneity on the Performance of Pocket Switched Networks for a detailed discussion and many more interesting scenarios.
- Epidemic
- PROPHET
- Spray-and-Wait (SnW)
- First Contact (FC)
- Direct Delivery (DD)
We will consider the buffer sizes from 20 MB to 180 MB, both inclusive, in steps of 20 MB so that we have total 9 different buffer sizes. We will use the real-life connection traces from Infocom'06. Therefore, we will need to simulate 5 * 9 = 45 scenarios to get the relevant results. The contents of the default_settings.txt file are as shown below.
# # Different routing protocols with 78 nodes using connection traces from # Infocom'06. # # # Group.router: 5 # Group2.bufferSize: 9 # Total scenarios = 5 * 9 = 45 # ## Scenario settings Scenario.name = %%Group.router%%_%%Group.bufferSize%% Scenario.simulateConnections = false Scenario.updateInterval = 5.0 # 43200s == 12h Scenario.endTime = 43200 Scenario.nrofHostGroups = 1 Scenario.nrofHosts = 78 ## Interface-specific settings: # type : which interface class the interface belongs to # For different types, the sub-parameters are interface-specific # For SimpleBroadcastInterface, the parameters are: # transmitSpeed : transmit speed of the interface (bytes per second) # transmitRange : range of the interface (meters) # "Bluetooth" interface for all nodes btInterface.type = SimpleBroadcastInterface # Transmit speed of 2 Mbps = 250kBps btInterface.transmitSpeed = 250k btInterface.transmitRange = 10 ## Group-specific settings: # Common settings for all groups Group.movementModel = StationaryMovement Group.nodeLocation = 10, 10 Group.bufferSize = [20M; 40M; 60M; 80M; 100M; 120M; 140M; 160M; 180M;] # All nodes have the bluetooth interface Group.nrofInterfaces = 1 Group.interface1 = btInterface # Walking speeds Group.speed = 0.5, 3 # Message TTL of 300 minutes (5 hours) Group.msgTtl = 3000 Group.router = [EpidemicRouter; ProphetRouter; SprayAndWaitRouter; FirstContactRouter; DirectDeliveryRouter;] SprayAndWaitRouter.nrofCopies = 16 SprayAndWaitRouter.binaryMode = true ProphetRouter.secondsInTimeUnit = 30 Group.groupID = n Group1.nrofHosts = 78 ## Movement model settings # seed for movement models' pseudo random number generator (default = 0) MovementModel.rngSeed = 0 # World's size for Movement Models without implicit size (width, height; meters) MovementModel.worldSize = 50, 50 # How many event generators Events.nrof = 2 ## Connection trace information Events1.class = ExternalEventsQueue Events1.filePath = my_scenarios/infocom-78n-24hr.tr ## Message creation events Events2.class = MessageEventGenerator Events2.hosts = 0,78 Events2.prefix = M Events2.interval = 30,60 Events2.size = 50k,1M Events2.time = 0,18000 ## Reports - all report names have to be valid report classes # how many reports to load Report.nrofReports = 1 Report.reportDir = my_reports/buffer_size/ # Report classes to load Report.report1 = MessageStatsReport ## Optimization settings -- these affect the speed of the simulation ## see World class for details. Optimization.cellSizeMult = 5 Optimization.randomizeUpdateOrder = true
Now, let us take a look at some results. Figure 1 shows the delivery ratio of the messages obtained when these routing protocols were used together with the different buffer sizes.
Figure 1: Effects of buffer size on the delivery ratio. |
- The delivery ratio steadily increased with the increasing buffer sizes in the case of Epidemic and PROPHET routing protocols.
- For First Contact and Direct Delivery routing, the delivery ratio was invariant of the buffer sizes.
- In case of SnW, the delivery ratio exhibited increasing trend upto a certain extent, beyond which it saturated.
The nature of the routing protocols provide some hints here. Unlimited replication-based benefit from the increasing buffer size since, more buffer space implies more nodes can carry with them more message copies. On the other hand, in case of single copy-based message forwarding, the same does not hold true.
So, how does SnW behave with increasing buffer sizes for different values of L? You can verify it yourself. For different L, the increasing size of buffer helps improving the delivery ratio upto different extents beyond which the performance do not vary.
Check out the article Effects of Heterogeneity on the Performance of Pocket Switched Networks for a detailed discussion and many more interesting scenarios.
the scrip can't run...
ReplyDeletewhere we can get "Events1.filePath = my_scenarios/infocom-78n-24hr.tr"??
thx u atention
Ians,
DeleteThe trace file referred to above is the Infocom'06 connection trace that you can download from the CRAWDAD repository (http://crawdad.cs.dartmouth.edu/) and pre-process for use with the ONE simulator.
Otherwise, you can simply use some synthetic mobility model.
Hello sir... i am unable to see ur blog...
ReplyDelete"you dont have permission to access this blog.. change your email id".
how can i access your blog??