guibaraujo / ndn4ivc

A Framework for Simulations of Realistic VANETs Applications through NDN
6 stars 2 forks source link

How to simulate new trace using SUMO and include with the ndn4ivc ? is there any documentation on this ? #14

Closed sangitatukai closed 3 years ago

guibaraujo commented 3 years ago

Hi. We are working on a publication (English version) that will be more information about the framework.

Now answering your question to change the SUMO trace.

After creating and testing your SUMO trace, you need to put your SUMO trace in the folder "traces/". There are two examples (grid-map and highway) that you can see in the template.

After that, in the simulation scenario (folder examples/), you must change the value below, where the grid-map is your scenario name.

define SUMO_SCENARIO_NAME "grid-map".

That's it. Done!

sangitatukai commented 3 years ago

@guibaraujo Thank you so much for your response and it is great that a detailed documentation will come as very little information is available on Vehicular NDN. I will try with new SUMO traces :)

sangitatukai commented 3 years ago

@guibaraujo Hi, While trying to understand the implementation of NDN4ivc, I stuck in the following points: 1) tms-consumer and tms-provider are used instead of consumerhelper and producerhelper from NDNhelper. Can I use the original implementation of NDNhelper here ?

2) In vndn-example-tms.cc two RSU is added. But the RSUs are not showing in the GUI ? Why ?

Actually, I want to implement different content category and caching policy in V-NDN environment. So trying to find out whether I can use the framework of NDN4ivc for this implementation. I will be obliged if you find your time to answer.

guibaraujo commented 3 years ago

@guibaraujo Hi, While trying to understand the implementation of NDN4ivc, I stuck in the following points:

  1. tms-consumer and tms-provider are used instead of consumerhelper and producerhelper from NDNhelper. Can I use the original implementation of NDNhelper here ?
  2. In vndn-example-tms.cc two RSU is added. But the RSUs are not showing in the GUI ? Why ?

Actually, I want to implement different content category and caching policy in V-NDN environment. So trying to find out whether I can use the framework of NDN4ivc for this implementation. I will be obliged if you find your time to answer.

@sangitatukai answering: 1- NDN4IVC implements two use cases in Intelligent Transportation System (ITS) context to demonstrate the framework possibilities based on practice examples. Adjustments may be necessary to adapt the proposal to other scenarios, but they can be easily performed by understanding how the presented use cases work.

It is possible to use "ConsumerCbr" and "ProducerCbr" (implementation of ndnSIM version). A recent commit brings a simple example for constant bitrate. More detail in examples/vndn-example-cbr.cc

2- By default, RSUs are only installed in the Ns-3 and appear in PyViz GUI for Ns-3 (run command line with parameter --vis). The RSUs have a static position. If you want to see the virtual RSUs positions in the SUMO-GUI, you need to configure and load decals manually. There is a video (https://youtu.be/9x1nXZlgH1o) demonstrating this process.

In summary: NDN4IVC (NDN for Inter-Vehicular Communication) framework support application experiments in VANETs with native support of the NDN architecture. The framework permits bidirectionally coupled network and road traffic simulation for improved IVC analysis with NDN stack installed.

sangitatukai commented 3 years ago

@guibaraujo , Thank you. This is much helpful.

guibaraujo commented 3 years ago

@sangitatukai There is a preprint explaining the NDN4IVC structure, functionalities, and use cases. Thus, more information about the framework can be found at arXiv repo (https://arxiv.org/abs/2107.00715).

For nodes' movement path and mobility parameters, we use TraCI interface. The use case (ii) - Traffic Management Service - uses sumoClient reference as a parameter (examples/vndn-example-tms.cc line 259), and in "model/tms-consumer.cc" exists a member variable (m_traci) that you can handle to obtain real-time information about the entire SUMO environment (e.g., paths, vehicles, routes, etc.).

sangitatukai commented 3 years ago

@guibaraujo Thanks for this pre-print. It will help to understand the NDN4IVC structure. How to use traces in NDN4IVC? I mean are the CSTrace and AppDelayTracer works with NDN4IVC? I am running few simulation using NDN4IVC and would like to analyze the CS hit / CS Miss ratios and the RTT time of data retrieval.

guibaraujo commented 3 years ago

@guibaraujo Thanks for this pre-print. It will help to understand the NDN4IVC structure. How to use traces in NDN4IVC? I mean are the CSTrace and AppDelayTracer works with NDN4IVC? I am running few simulation using NDN4IVC and would like to analyze the CS hit / CS Miss ratios and the RTT time of data retrieval.

NDN4IVC uses ns3 as a network simulator. Thus, there are several ways to log files. I recommend using raw log files. It is the easiest way to analyze simulations results. You can create your own shell or python script for data treatment (processing). Then, analyze the output log, which I think can be helpful for you.

In REAMDE.md, you can see an example to redirect the entire simulation log. In addition, there are comments in examples/vndn-example-cbr.cc for log process. By default, NDN4IVC uses these components as log:

componentsLogLevelAll.push_back ("vndn-example-cbr");
componentsLogLevelAll.push_back ("ndn.TmsConsumer");
componentsLogLevelAll.push_back ("ndn.TmsProvider");
componentsLogLevelAll.push_back ("ndn-cxx.nfd.MulticastStrategy");
componentsLogLevelAll.push_back ("ndn-cxx.nfd.Forwarder");

Running & analyzing. Sample:

./waf ... “>contrib/ndn4ivc/results/output_sim.log 2>&1” 

cat contrib/ndn4ivc/results/output_sim.log | fgrep .Forwarder:onContentStoreHit()
# cache hit
cat contrib/ndn4ivc/results/output_sim.log | fgrep .Forwarder:onContentStoreHit()| wc -l  

cat contrib/ndn4ivc/results/output_sim.log | fgrep .Forwarder:onContentStoreMiss() 

You can see more about Ns-3 logging here: https://www.nsnam.org/docs/manual/html/logging.html

sangitatukai commented 3 years ago

@guibaraujo Thank you. Your input help me to analyze the results.