[Ns-developers] Cooperative ns-3 simulation with third party software via JSON-RPC

Sébastien Vincent vincent at clarinet.u-strasbg.fr
Mon Jan 12 04:34:52 PST 2009


Hello,

Mathieu Lacage wrote:
> hi,
>
> On Fri, 2009-01-09 at 18:09 +0100, Sébastien Vincent wrote:
>
>   
>> Last summer at the University of Strasbourg, we began a new extension 
>> for ns-3 which allows external applications to
>> interact with ns-3. Initially those functionalities were needed to 
>> interconnect a mobility simulator with ns-3. The
>> goal is that a mobility simulator do all mobility stuff while ns-3 
>> realizes network (L2, L3, transport and application)
>> stuff.
>>     
>
> I have to confess that I am a bit curious: since you seem to have
> implemented your own mobility simulator from scratch, why did you not
> just add new mobility models to ns-3 rather than create a separate
> project and deal with the communication between the 2 ? Are you re-using
> the mobility simulator with another network simulator ? I am merely
> curious :)
>
>   

The mobility simulator used (LEMMA) is part of Alexander Pelov's PhD 
thesis. It is in fact a implementation of the theoritical mobility model 
architecture which is described in the paper:

Layered Architecture for Mobility Models  LEMMA, A. PELOV, T. NOèL, 
"Broadband
Communications, Information Technology & Biomedical Applications, 2008
Third International Conference on, page 365--372 - november 2008"

I think it was simpler for him to implement from scratch (in python) 
than learn ns-3 stuff, ...

>> We decided that this ns-3 extension should be as generic as possible and 
>> that any external applications could "connect" to ns-3 via
>> the network. So we decided to use JSON format [1] and its remote 
>> procedure call version JSON-RPC [2]. We chose JSON
>>     
>
> I am also curious about this: since ns-3 has a python binding, it should
> be fairly trivial to use XML-RPC to remotely instanciate and control a
> network topology simulation. Was it impossible to use XML-RPC from your
> C++ application ?
>
>   

Like I said, we think XML is too verbose (takes bandwidth) and Alexander 
insists on using lightweigh format called JSON. And to be honest it is 
very good to use.

>> because it is more lightweight compared to XML (which is a very verbose 
>>     
>
> Or maybe this is because you were worried about the XML part in XML-RPC.
>
> [snip lots of interesting API and implementation details]
>
>   

>> To conclude we would like to know if this kind of features is 
>> interesting to the community. If so, we have several questions we
>>     
>
> I am not sure a lot of people would find these new features useful but I
> don't see why we could not merge your code if it does not have a
> negative impact on the existing codebase and if you maintain it.
>
>   

OK cool.

>> would like to discuss with you regarding the implementation of node 
>> mobility in ns-3. We would be glad to discuss and improve our
>> design solution.
>>     
>
> If you have comments on the ns-3 mobility support, they are more than
> welcome, regardless of whether you want or can merge your own code in
> ns-3.
>
> Anyway, this looks pretty cool and interesting so, thanks for releasing
> all this code and taking time to let us know about it.
>
>   

OK so we wait your comments. And later we could discuss about merging 
it, maybe for ns-3.[45].

> regards,
> Mathieu
>
>
>   

Regards,
--
Seb



More information about the Ns-developers mailing list