[Ndn-interest] [EXT]Re: NDN Research Issue, Name-Lookup in NFD

Junxiao Shi shijunxiao at email.arizona.edu
Sat May 16 08:52:54 PDT 2020

Hi Avakili

The simplest Key-Value store is a hash table. NDN node designs have been
using hash tables for CS/PIT/FIB.
One of the designs is Named data networking on a router: Fast and
DoS-resistant forwarding with hash tables
There are at least two successful implementations from variations of this

With everything else optimized, memory copying can become a performance
If your Key-Value store is in the same process as the forwarder (e.g. a
hash table), and it avoids copying names and packets as much as possible,
it should work well.

If you have a Key-Value store in a separate process (e.g. a MongoDB server
connected over Unix sockets), packet names (and sometimes payload) have to
be copied several times, and this would reduce performance.
With that being said, there's a file server implementation
<https://github.com/chavoosh/ndn-mongo-fileserver> using MongoDB. However,
its performance was only compared with a SQLite-based implementation which
has less copying but much slower lookups.

Therefore, the conclusion depends on what you mean by "embed": how many

Yours, Junxiao

On Sat, May 16, 2020 at 2:44 AM avakili <avakili at ut.ac.ir> wrote:

> Dear Junxiao ,
> - Thanks for nice feedback. Does it make sense to embed NoSQL service into
> an NDN node for name lookup issues (CS/PIT/FIB) in order to use Key-value
> feature?
> - I am really interested in open NDN research issues in its networking
> parts. Hope you guide me to go further with my PhD research to find my
> problem statement dear.
> Thanks again for your time.
> Vakili

> Hi avakili
> In NDN network, the only way one node can *contact* another node in a
> different location is to send an NDN packet. If you want to use a remote
> database, it'll need to run over NDN. Then, how do you know where to send
> the packets for database queries?
> Also, contacting a remote node before making each forwarding decision
> would significantly increase latency, and double the forwarding workload.
> Yours, Junxiao
> On Fri, Apr 24, 2020, 00:55 avakili <avakili at ut.ac.ir> wrote:
>> Hi dear,
>> I am thinking of putting/saving load of names in one node/router which
>> runs NoSQL database or even have separate node with NoSQL server running
>> inside and then for any name lookup from other nodes can contact/query to
>> it.
>> Once names are saved in NoSQL server, using key value feature can have
>> "faster" name lookup and any number of nodes (scalability) can contact
>> NoSQL service running node to do name lookup.
>> Hope to get clue for my further work from your side.
>> Thanks
>> Vakili
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200516/4ffa1ee2/attachment.html>

More information about the Ndn-interest mailing list