Scalable Name Lookup in NDN Using Effective Name Component Encoding
Yi Wang, Keqiang He, Huichen Dai, Wei Meng, Junchen Jiang, Bin Liu, Yan Chen
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——NDN Introduction
Named Data Networking (NDN) Named Data Networking is proposed recently as the
clean-slate network architecture for future Internet, which no longer concentrates on “where” the information is located, but “what” the information (content) is needed.
NDN uses names to identify every piece of contents instead of IP addresses for hardware devices attached to IP network.
Parallel Name Lookup for NDN
——NDN Introduction
Naming in NDN An NDN name is hierarchically structured and composed of
explicitly delimited components Interest and Data Packets in NDN
/com/google/maps
com google maps
Parallel Name Lookup for NDN
——NDN Introduction
Packet Forwarding ProcessInterest Packet
Data Packet
Client
Content Provider
DstSrc
IP Packet
Content StoreFIB
Parallel Name Lookup for NDN
——NDN Introduction
Packet Forwarding Process
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——Name Lookup in NDN
The challenges of name lookup as below: Variable length name: unlimited components number and
unfixed component’s length Longest name prefix matching: aggregate prefixes to
reduce the total number of prefixes in FIB Interest Packet and Data Packet has different lookup
processes The large-scale name prefix set Frequently update
Parallel Name Lookup for NDN
——Name Lookup in NDN
Name lookup at component granularity
/com/yahoo/news/com/yahoo/music/new/com/google/news/com/google/cn/com/sina/news/cn/com/sina/mail/cn/yahoo/news
1
2
3
4
5
6
7
com
cn
8
9
A
B
C
yahoo
yahoo
com
sina
news
news
music
news
D
E
F
new
news
level-1 level-5level-2 level-4level-3
Name Prefix Trie (NPT)
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——NCE Algorithm
1
2
9
3
7
A
D
com
cn
4
5
8
B
E
yahoo
baidu
google maps
map
news
maps
maps
6uk
level-1 level-5level-2 level-4level-3
Csina
Name Pointer/com/yahoo …/com/yahoo/news …/com/yahoo/maps/uk …/com/google …/com/google/maps …/cn/google/maps …/cn/sina …/cn/baidu …/cn/baidu/map …
< yahoo,1> <google, 2> <baidu,1> <sina, 2> <google, 3>
<baidu,1> <google, 2> <google, 3> <sina, 3> <yahoo, 1>
<baidu,1> <google, 4> <sina, 3> <yahoo, 1>
Name Coding Ports/com/yahoo /1/1 1/com/yahoo/news /1/1/1 1/com/yahoo/maps/uk /1/1/3/1 2/com/google /1/4 2/com/google/maps /1/4/3 1, 2/cn/google/maps /2/4/3 3/cn/sina /2/3 2, 3/cn/baidu /2/1 4/cn/baidu/map /2/1/1 4 1
2
3
4
5
6
8
com
,1
cn,2
9
A
B
C
D
yahoo,1
google, 4
baidu,1
google,4 maps,3
map,1
news,1
maps,3
maps,3
Euk,1
level-1 level-5level-2 level-4level-3
7sina,3
0001 4001 8001 0004 0007 8005 0009 4004 000A 000B 000D 000E 000F 0010Base: (hex)
Transition_1:
2 1 2 2 1 3 1 3 0 0 1 1 0 0 0 0
0 2 3 1 9 10 4 11 7 2 0 14 5 6 9 3
2 1 4 1 1
0 4 5 8 13
3 1 3 4 1 3
0 8 7 6 0 12
Transition_2:
Transition_4:
# of Transitions
Ports List Pointer
Transition
1
2 34
5
6
7
Parallel Name Lookup for NDN
——NCE Algorithm
1 2
3
5
c
4o
n
m
1 c 2 o n 1 m 0 0
0 2 0 3 5 0 4 1 2
1 3 6 8 9Base:
Transition:
1 23
4 56
Code States List
1 2..
2 9..
Character Trie for Components:comcn
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——Analysis
Memory
Character Trie: α=8, β=9
Name Component Trie: α=9, β=5
Parallel Name Lookup for NDN
——Analysis
In summary, compared with NCT, NCE utilizes the following three parts to reduce storage overhead. NCE uses State Transition Arrays to construct the NCT, and the
memory cost can be reduced at least save 17.64%; Code Allocation Mechanism reduces the number of components by
merging the Original Collision Set at the same level; NCE stores the transitions in different sizes of Transition Arrays.
Compared with the method that uses Transition only, it can reduce the memory overhead further.
Parallel Name Lookup for NDN
——Analysis
In NCE, the longest name prefix matching contains two Steps:
So, a name lookup has:
2) looks up codes in ENPT-STA:
1) finds the components’ corresponding codes in CCT-STA:
If there are P parallel code lookup modules, the complexity can be reduced to:
Parallel Name Lookup for NDN
——Analysis
Compared with character trie, NCE can gains:
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——Experimental Results
Number of Domains with different component’s number:
Parallel Name Lookup for NDN
——Experimental Results
Comparison of memory usage:
Parallel Name Lookup for NDN
——Experimental Results
The number of different components and codes, and the compression ratio of Code Allocate Mechanism on DMOZ dataset:
Parallel Name Lookup for NDN
——Experimental Results
Number of Entries for Transition1, Transition2 and Transition4 on DMOZ dataset:
Parallel Name Lookup for NDN
——Experimental Results
The Memory Cost of NCE and NCT on DMOZ dataset:
Parallel Name Lookup for NDN
——Experimental Results
Comparison of NCT and NCE’s processing performance:
Parallel Name Lookup for NDN
——Experimental Results
NCE’s Average Lookup Time (When the Number of Parallel CCT lookup modules is 3):
Parallel Name Lookup for NDN
——Experimental Results
The relationship between NCE’s average lookuptime and the number of parallel CCT lookup modules
Parallel Name Lookup for NDN
——Experimental Results
The relationship between NCE’s speedup and the number of parallel CCT lookup modules
Parallel Name Lookup for NDN
——Experimental Results
The relationship between NCE’s packet delay and the number of parallel CCT lookup modules
Parallel Name Lookup for NDN
——Outline
1. Named Data Networking (NDN) Introduction
2. Name Lookup in NDN
3. Name Component Encoding (NCE)
4. Analysis
5. Experimental Results
6. Conclusion
Parallel Name Lookup for NDN
——Conclusion
Proposed an effective Name Components Encoding approach: Code Allocation Mechanism State Transition Array
Both theoretical analysis and experiments on real domain sets demonstrate that NCE could effectively reduce the memory cost while guaranteeing high-speed of longest name prefix lookup.
Parallel Name Lookup for NDN
Thank you!Q & A