Professional Documents
Culture Documents
TCCN: Tag-Assisted Content Centric Networking For Internet of Things
TCCN: Tag-Assisted Content Centric Networking For Internet of Things
PIT
/CampusA/canteen1/menu #canteen1#menu 2
h1(ti) h2(ti) ··· hk(ti)
—— #WSN#lesson7#ppt 1,3
2. / CampusA /dormitory2/lobby/video
··· ··· ···
#dormitory2#lobby#video
1 0 3 2 ··· 1 2 1
FIB
4. / CampusA /ppt/courses/WSN/lesson7
/CampusA/ppt/courses 0,2 2 #ppt#dormitory2 ···
#WSN#lesson7#ppt h1(ti) h2(ti) ··· hk(ti)
/CampusA/dormitory2 2 3 #building3#building3 ···
/CampusA/building1 0,3
5. / CampusA /building1/curriculum ··· ···
#curriculum#building1 1 0 2 1 ··· 0 1 0
threshold=2
Is preferred, to cache it
(a) Name and tag examples (b) Structures of TCCN (d) Tag-based caching strategy
Considering that IoT has a strong requirement of dynamic 1 We do not take transmission time consumption into consideration because
autonomy in each local tight-coupled region, each autonomous it is determined by the number of hops, which depends on caching strategy.
Prefix Faces
Prefix-based FIB
/CampusA/building3 3
p Managing the names/prefixes
/CampusA/canteen1 1
p The size of P-FIB equals to the number of prefixes
/CampusA/ppt/courses 0,2
p Deciding the outgoing faces by longest prefix matching
/CampusA/dormitory2 2
p Inserting or removing the entries when forwarding information is changed
/CampusA/building1 0,3
p Being inefficient when look up the longest prefix
··· ···
IV. TAG -A SSIST C ONTENT C ENTRIC N ETWORKING the types of the content in a local network are limited, the size
A. Framework of TCCN of the tag list will not be very large.
Each basic CCN node maintains three major structures: a C. Tag-assisted CS
Content Store (CS) for temporary caching of received contents,
a Pending Interest Table (PIT) to contain the name of the CS is used to cache the contents. When an interest comes,
interest packet and a set of interfaces from which the matching CS will be looked up to decide whether the coming interest can
interests have been received, and a Forwarding Information be satisfied locally. In TCCN, since each content is identified
Base (FIB) to forward the interest. In our proposed TCCN, by a set of tags, the structure of tag-assisted CS has corre-
three structures are all augmented to tag-based matching and sponding adjustment. The tags identifying the content will be
forwarding. The overview of TCCN is illustrated in Fig. 2. recorded in CS as an independent column. Furthermore, CS
Fig. 2(a) lists some sets of TCCN name and tag samples. maintains a tag list Tcs of all tags that be cached in the local
The structure designs of CS, PIT, and FIB are presented CS. This tag list is the union of all content tags. By utilizing
in Fig. 2(b). Fig. 2(c) shows our proposed matching and this tag list, a Tag Filter (TF), which will be presented in
lookup method, Tag Filter, for interest-content matching in CS Section V, can be constructed based on Counting Bloom Filter.
and faces selection in T-FIB. Fig. 2(d) illustrate the caching When an interest comes, the TF can quickly make judgement
strategy based on tags. In TCCN, all the data structures can whether the coming interest can be satisfied locally or not.
process the interest/content based on both name/prefix and This tag list updates when new contents are cached or old
tags. contents are dropped. Because of the caching strategy to be
discussed in Section VI, the tag list of one CS is relatively
B. Tag-based Identifier fixed, and will be much smaller than those of the whole local
In information systems, a tag is a non-hierarchical keyword network Ttotal .
or term assigned to a piece of information. Tags are generally
chosen informally and personally by the content’s generator D. Tag-based FIB
or consumer. Referring to the tagging technology from Web Similar to the Forwarding Information Base in traditional
2.0, hashtag, which is an unspaced phrase prefixed with the Internet, FIB in CCN is used to record the next hop forwarding
number sign “#”, is used in TCCN to identify contents. When information. Each entry in Prefix-based FIB (P-FIB) records
a content is generated, not only a global unique hierarchical a set of forwarding faces of a name prefix. The size of P-FIB
name but also a set of tags are allocated. For example, in equals to the number of the content prefixes, which is very
a smart campus of CampusA, teaching slides of Wireless large even in a local network. When an unsatisfied interest
Sensor Network courses have been stored after class, with comes, P-FIB looks up the entries and decide the outgoing
global unique name “/cn/CampusA/ppt/courses/WSN/lesson7” faces by longest prefix matching. When the topology of the
as well as a set of tags “#WSN #courses #lesson7 #ppt”. A node changes, the forwarding information updates by inserting
student or a visitor may not be satisfied if he does not know and removing the entries. The look up of P-FIB is still a
the name or mis-sequence the hierarchy, while an interest with challenge, although many researches address it recently. With
only four tags may lead to the satisfying content in a local the assistance of tags in TCCN, we design a novel table, Tag-
campus network. In our proposed TCCN, tagging is performed based FIB (T-FIB), which records a set of tags for each face,
by the content generator. The tags are carried by the content as shown in Fig. 3. The size of T-FIB equals to the number
along with the hierarchical name. All the tags generated in a of faces. Because faces are much fewer than content prefixes,
local network are maintained in a tag list. The tag list will be the size of T-FIB is much smaller than P-FIB. According to
provided to the consumer as vocabulary when needed. Because the tag list, each entry (face) in T-FIB maintains a Tag Filter
Interest: Face 2 Name Tags Faces
/CampusA/building3/temp #building3#temp Name Tags Faces
/CampusA/canteen1/menu #canteen1#menu 2
/CampusA/canteen1/menu #canteen1#menu 2
/CampusA/ppt/WSN/lesson7 #WSN#lesson7#ppt 1,3
/CampusA/ppt/WSN/lesson7 #WSN#lesson7#ppt 1,3
/CampusA/building3/temp #building3#temp 2
··· ··· ···
··· ··· ···
that will be present in the next section. When looking up the Algorithm 1 Inserting unsatisfied interest into PIT
next hop, each face uses its own Tag Filter to independently Require: The PIT table P IT ;
decide whether to forward the coming interest or not. When The set of tags of unsatisfied interest Tint ;
the forwarding information changes, only the counters of TF The incoming face fi .
will be updated. Note that, T-FIB and P-FIB coexists in TCCN, begin
and will be used for differently identified interest. 1: for each entry in P IT do
2: if Tint == entry.taglist then
E. Tag-assisted PIT 3: Add fi into entry.f acelist.
4: Reset entry.expiration.
Pending Interest Table is to record the information of un- 5: existed ← 1
satisfied coming interest. The information includes the name, 6: Break
expiration and incoming faces. Multiple coming interests with 7: else if Tint ∈ entry.taglist then
the same name will be recorded in one PIT entry. When the 8: Add fi into entry.f acelist.
corresponding content is received, it will be send back to the 9: end if
recording faces. Then, this PIT entry will be removed from 10: end for
the table. In TCCN, if an unsatisfied interest is expressed with 11: if existed ̸= 1 then
tags, its tags will be recorded in the corresponding structure 12: Create new entry for this unsatisfied interest.
of PIT. When a content returns, the name is firstly matched 13: end if
with PIT entries. If the content matches the specific interest end
recorded in PIT entry, it will be returned to the corresponding
faces. Then, if the content carries tags Tcon , any PIT entry,
whose tags are the subset of Tcon , will be satisfied. The content
will be returned to the corresponding faces, bur the PIT entry V. TAG F ILTER
will not be removed until the expiration. Note that, because
a set of tags cannot uniquely identify a content, PIT entry By building the tables of tag-assisted CS, tag-based FIB, and
only with tags will not be removed actively. Considering the tag-assisted PIT, the node in TCCN can process the interests
aggregation of PIT entries, the Algorithm 1 shows the steps or contents that identified by tags. To improve the performance
for inserting a new unsatisfied interest into PIT. If the coming of TCCN, we present our designed matching and lookup
interest has the same tags with one existing entry, then the solutions in this section. In current CCN solutions, which uses
incoming face will be added into the face list of this entry. If name as unique identifier, both interest-content matching in
the tag set of coming interest Tint is a subset of the existing CS and forwarding information lookup in FIB use Longest
entry, the incoming face will be added into the face list of Prefix Matching (LPM). However, because of the huge size
this entry. Then a new entry that records the information of of long NDN names, LPM based on either Trie or Bloom
coming interest will be inserted into PIT. If Tint is neither the Filter would be severely impaired in CCN practically. Based
same nor the subset of existing entries, only the new entry on Counting Bloom Filter and aiming at reducing the lookup
will be inserted. Fig. 4 presents the examples of aggregation time, we design Tag Filter in our proposed TCCN, and use
for PIT in three different situations. tags to assist matching and lookup process.
Tag list in T-FIB or CS t1, t2, ···, tn
Hash Mapping T-FIB
h1(ti) h2(ti) ··· hk(ti) Face Tag list
h1(ti)
0 #ppt#curriculum#building1 ··· TF0 1 0 3 2 ··· 1 2 1
1 0 3 2 ··· 1 2 1
1 #canteen1#building2#menu ··· TF1 1 2 1 2 ··· 1 0 2
(1) Tag Filter construction h2(ti)
2 #ppt#dormitory2 ··· TF2 2 2 1 0 ··· 3 2 1
New tags to insert t1, t2, ···, ti Old tags to remove t1, t2, ···, tr 3 #building3#building3 ···
··· TF3 2 1 0 3 ··· 2 2 1
Hash Mapping Hash Mapping
2 0 3 3 ··· 2 2 1 Updated Counters 0 0 1 2 ··· 1 2 0 Fig. 6. Example of an interest passing the Tag Filters in T-FIB.
(2) Tag Filter Update
the ones in the array, but this could inadvertently lead to
Fig. 5. Update of the counters in Tag Filter. removing a 1 that was the result of hashing another tag that is
still member of the set. To overcome this problem, we design
A. CBF-based Tag Filter our TF based on Counting Bloom Filter (CBF). In the CBF,
Bloom Filter is used to represent a set of tags T . It is an each bit in the array is replaced by a small counter. When
m-bit array and uses k independent uniformly random hash inserting a new tag, each counter indexed by the corresponding
functions {hi |i = 1, 2, ·, k} which map to range {1, ·, m}. For hash value is incremented, therefore, a counter in this filter
each tag t in T , the hi (t)-th bits in Bloom Filter, i = 1, ·, k, essentially give us the number of tags hashed to it. When a
are set to 1. To check whether a tag tint is in T , it should be tag is deleted, the corresponding counters are decremented.
checked that whether all hi (tint ) are set to 1. If not all hi (tint ) c(i) is used to denote the count associated with the ith
are set to 1, tint is clearly not a member of S; if all hi (tint ) counter. Considering a TF for n tags, with k hashing func-
are set to 1,then tint is regarded as an element in T with a tions, and m counters, the probability that the ith counter is
false positive probability, which suggests that set T contains incremented j times is given as a binomial random variable
a tag although it in fact does not. in the following:
Generally, the false positive is acceptable if the false positive ( )
nk 1 1
probability is sufficiently small. Hence, Bloom Filter may p(c(i) = j) = ( )j (1 − )nk−j
j m m
yield a false prediction, where it suggests that a tag hi (tint ) is
in T even though it is not. Assuming that the hash functions An n-bit counter will overflow if and only if it reaches a
are perfectly random, the probability of a false positive for a value of 2n . The analysis performed by [18] shows that a 4-bit
non-member tag can be calculated in a simple way. After all counter is adequate for most applications. Based on a CBF, we
the n tags are hashed to the Bloom filter, the probability that design the Tag Filter, as shown in Fig.2(c).
a specific bit remains 0 is simply
B. Interest-Content Matching in CS
1
p = (1 − )kn ≈ e−kn/m . The main functionality of CS is caching the contents and
m
Therefore, the probability of a false positive is matching the interest with the locally cached contents. Current
matching methods in CCN are based on hierarchical names.
1 kn k
PF P = (1 − (1 − ) ) ≈ (1 − e−kn/m )k = (1 − p)k . The cost of interest-content matching is rather high when the
m number of the contents is large. When an interest comes,
To obtain the best performance of the Bloom filter, we would the matching process always performs whenever the local
like to choose k that minimizes the false positive probability. CS of the router can satisfy the coming interest or not.
Intuitively, more hash functions for an element will increase For most cases, the matching process is just wasting the
the chances of finding a 0 for a non-member but will also resources. The time consumption and energy consumption are
increase the total number of 1s in the filter. The optimal both unacceptable, especially in resource-constrained IoT. In
number of hash functions can be obtained by taking the our proposed TCCN, with the assistance of tags, the CS in
derivative of PF P to be zero. This reveals that the Bloom filter each node knows the locally cached tags by maintaining a tag
has the best performance if k is set to ln 2 · m/n. In that case, list Tcs . By hash mapped into an m-counter array, the tag list
the false positive probability is PF P = 1/2k = 2−(m/n) ln 2 . is used to build a Tag Filter. To quickly check the tags of
Bloom filter works fine when the tags of the set do not coming interest Tint being in Tcs or not, the node can directly
change over time. When they do, adding new tags requires go to the forwarding process if the Tag Filter say “no”. And if
little effort since it only requires hashing the additional tag Tint is a subset of Tcs , the same process as current matching
and setting the corresponding bit locations in the array. On the methods in CCN will perform. The regular cost of CS is to
other hand, removing an tag conceptually requires unsetting maintain this tag list, i.e., update the m counters of TF when
Tag list in CS t1, t2, ···, tn of local CS Tcs will be reduced, which can further improve
Hash Mapping the performance of interest-content matching. Moreover, the
h1(ti) h2(ti) ··· hk(ti) tag list sizes of neighboring nodes’ T-FIB entries are also
reduced, which will improve the forwarding affectivity and
1 0 3 2 ··· 1 2 1 efficiency. The illustration of tag-based caching strategy is
(1) Tag Filter of CS TFcs with threshold shown in Fig.7.
VII. A NALYSIS AND D ISCUSSION
tcon1, tcon2, ···, tconi Tags of new coming content tcon1, tcon2, ···, tconi
A. Analysis
Hash Mapping Hash Mapping
Computational Complexity. According to the [16] the mem-
h1(ti) h2(ti) ··· hk(ti) h1(ti) h2(ti) ··· hk(ti)
bership query complexity is O(1) in theory, and the update
complexity in CBF is O(1). Due to the parallel process, the
1 0 3 2 ··· 1 2 1 1 0 3 2 ··· 1 2 1
τ , it indicates that all the tags all popular in the local CS.
Thus, each node knows that whether a piece of content has 20000
its preferred tags. The preferred content that are not cached
within h hops will be cached locally. The the Tag Filter of
CS T Fcs will update. By using tag-based caching strategy, 0
contents with similar set of tags are cached intensively, which Test tags
synonym control can lead to different tags being used for the Face 0 Face 1
0 #illui#humi# ···
1 #temp#photo#illu ···
same concept, precluding collocation. However, in a local IoT Face 0 2 #photo#temp ···
network, the amount and types of the content are both limited, Face Tag list
MP3 Provider
Face 1
which makes it viable to use tags to assist communications in 0 #humi#mp3 ···
Face 0
Face 2
1 #temp#mp3#photo ···
CCN. And in TCCN, the local IoT network can provide the
vocabulary of tags to the visitor consumer. Illumination Data
Provider Face 1 Face 1
Face 1
Is the proposed TCCN fitted to IoT scenarios? To answer Face 0
Photos Provider
Face 0
this question, we make an in-depth study of the characteristics Face 2
Face Tag list
Temperature Data
of CCN names and customary tags. Since the set of Internet Face Tag list
Provider
0 #temp#illui#mp3i# ···
0 #illui#humi# ··· 1 #mp3#humi#temp ···
URLs is a subset of CCN names, and hashtags are a typical 1 #mp3#photo#humi ···
Music and Flickr Photos, in both of which contents, in terms Fig. 9. The example of the simulated topology.
of mp3 and photos, are well tagged. The dataset of Baidu
Music has 29840 songs with 2261 tags (including 106 music
style and 2155 singers) tagged by Baidu officials. The dataset the FIB. The simulation result shows TCCN works well when
of Flickr Photos includes 319111 photos that are captured in a consumer expresses the interest identified by tags.
New York City and tagged by users. From the URLs of these
Fig. 10 presents that the matching and lookup time con-
contents, we observe that most of the content names are not
sumption. The lookup time of Bloom-Hash increases slightly
human readable. If someone is interested in these contents,
with the scale of URLs. Bloom-Hash must conduct complex
he can hardly know the exact names in advance. By being
hash computing for all substrings of each name and cope
provided a vocabulary of existed tags, consumer can express
with a number of conflicts, which consumes additional time.
his interesting and be satisfied by the interested contents. In
Concerning our proposed Tag Filter, the processing time is
most IoT scenarios, consumers and smart things are more
much less and almost has no changes with the number of the
interested in the unknown content. Tags are more effective
URLs (tags) increase, because the number of the filter is a
for IoT consumers to express their interest.
constant.
If some contents are mis-tagged with wrong or unpopular
tags, does it have great influence to the whole system? By To evaluate our proposed Tag-base Caching Strategy (TCS),
study the popularity of the tags in the dataset of Flickr Photos, we use Leave Cache Everywhere (LCE) for comparison. The
we find that the tag distribution follows a power law scenario, numbers of tags in Tcs and Tf ib are compared by using LCE
as shown in Fig.8. The most popular tag is “#newyork”, which and TCS as caching strategy in TCCN. From the results in
is used 72015 times. And about 12% tags are single-used. The Fig.11, we observed that the numbers of tags in both Tcs and
result in Fig.8 indicates that single-use tags do not dominate Tf ib are much smaller by using TCS, because the contents
the whole system. with similar tags are cached intensively. And the size of CS
has small effects to the number of tags by using TCS, while
VIII. S IMULATION AND P ERFORMANCE affecting the number of tags greatly by using LCE.
1.2
music providers (contents use the URLs and tags from the
.6
dataset of Baidu Music) and photos providers (contents use
the URLs and tags from the dataset of Flickr Photos), as .4
well as periodical sensing data (temperature, illumination and
humidity) providers. The example of the simulated topology is .2
0 1000 2000 3000 4000
shown in Fig. 9. Each provider prefers to cache certain types Number of URLs
of content, so the tag lists of CSs are specific to the contents.
In our simulation, 2-hop reachable content can be recorded in Fig. 10. The comparison of time consumption between Bloom-Hash and Tag
Filter.
R EFERENCES
[1] Huadong Ma, “Internet of things: Objectives and scientific challenges,”
Journal of Computer Science and Technology, 26(6): 919-924, 2011.
[2] V. Jacobson, D. K. Smetters, J. D. Thornton, M. Plass, N. Briggs,
and R. Braynard, “Networking Named Content,” in Proceeding of the
5th international conference on Emerging networking experiments and
technologies (CoNEXT’09), 2009.
[3] L. Zhang, D. Estrin, V. Jacobson, and B. Zhang, “Named Data Network-
ing (NDN) project,” in Technical Report, NDN-0001, 2010.
[4] Yuning Song, Huadong Ma, and Liang Liu, “Content-centric internet-
working for resource-constrained devices in the Internet of Things,” in
Proceeding of IEEE International Conference on Communications (ICC),
pp. 1742-1747, 2013.
[5] Huadong Ma, Yuning Song, and Shuaiyang Yu, “The research of IoT
architecture model and internetworking mechanism,” SCIENCE CHINA
Information Sciences, 43(10): 1183-1197, 2013.
[6] J. Wang, R. Wakikawa, R. Kuntz, R. Vuyyuru, and L. Zhang, “Data
Naming in Vehicle-to-Vehicle Communications,” in Proceeding of IEEE
INFOCOM Workshop on Name Oriented Mobility (NOM), 2012.
[7] M. Papalini, K. Khazaei, A. Carzaniga, A. L. Wolf, “Scalable Routing
for Tag-Based Information-Centric Networking,” in Proceedings of ACM
ICN , 2014.
[8] J. Chi, Y. Zhang, J. Peng, H. Tang, and X. Zhou, “Design and analysis
on routing by hierarchical and flat names,” in Proceeding of International
Conference on Pervasive Computing and Applications (ICPCA), 2011.
[9] D. Perino and M. Varvello, “A reality check for content centric network-
ing,” in Proceeding of ACM SIGCOMM workshop on Information-centric
networking, 2011.
[10] E. Fredkin, “Trie memory,” Communications of the ACM, vol. 3, no. 9,
pp. 490-499, 1960.
[11] Y. Wang, K. He, H. Dai, W. Meng, J. Jiang, B. Liu, and Y. Chen,
“Scalable name lookup in NDN using effective name component encod-
ing,” in Proceeding of IEEE 32nd International Conference on Distributed
Computing Systems (ICDCS), vol., no., pp.688,697, 18-21 June 2012.
Fig. 11. The comparison of number of tags in Tcs and Tf ib between LCE [12] B. H. Bloom, “Space/time trade-offs in hash coding with allowable
and TCS. errors,” Communications of the ACM, vol. 13, no. 7, pp. 422-426, Jul.
1970.
IX. C ONCLUSION [13] L. Fan, P. Cao, J. Almeida, and A. Z. Broder, “Summary cache: a
scalable wide-area web cache sharing protocol,” IEEE/ACM Transactions
on Networking, vol. 8, no. 3, pp. 281-293, 2000.
By observing the dynamics of smart things and hetero- [14] Y. Wang, T. Pan, Z. Mi, H. Dai, X. Guo, T. Zhang, B. Liu, and Q.
geneity of naming conventions in IoT, this paper addresses Dong, “NameFilter: achieving fast name lookup with low memory cost
the challenge that how to express the interest to a strange via applying two-stage Bloom filters,” IEEE INFOCOM Mini-Conference,
2013.
local network without knowing the exact name. Besides the [15] W. So, A. Narayanan, D. Oran, and Y. Wang, “Toward fast NDN
hierarchical unique names, we use tags as assistant identifiers, software forwarding lookup engine based on Hash tables,” in Proceedings
and further propose TCCN for IoT. We design the tables of the eighth ACM/IEEE symposium on Architectures for networking and
communications systems (ANCS’12), 2012.
and structures of three basic components, CS, FIB and PIT, [16] S. Dharmapurikar, P. Krishnamurthy and D. E. Taylor, “Longest Prefix
of CCN. Based on CBF, we further design TF for interest- Matching Using Bloom Filters,” IEEE/ACM Transactions on Networking,
content matching and forwarding information lookup, which vol. 14, no. 3, pp. 397-409, 2006.
[17] M. Lee et al, “SCAN: Scalable Content Routing for Content-Aware
can quickly check whether coming interests can be satisfied Networking,” in Proc. of IEEE ICC, 2011.
locally or by forwarding faces. We design the TCS, by which [18] L. Fan, P. Cao, J. Almeida, and A. Z. Broder, “Summary Cache:
the node can decide whether to cache the coming content A Scalable Wide-Area (WEB) Cache Sharing Protocol,” IEEE/ACM
Transactions on Networking, 8(3):281-293, 2000.
according to the TF and a counter threshold. By using TCS, [19] A. Afanasyev, I. Moiseenko, and L. Zhang, “ndnSIM: NDN simulator
contents with similar set of tags are cached intensively, which for NS-3,” NDN, Technical Report NDN-0005, 2012.
benefits the forwarding information. We conduct simulations [20] W. Quan, C. Xu, A. Vasilakos, J. Guan, H. Zhang, and L. Grieco, “TB2F:
Tree-bitmap and bloom-filter for a scalable and efficient name lookup in
to evaluate the validity and performance of our proposed Content-Centric Networking,” 2014 IFIP Networking Conference, 2014.
methods. [21] C. Bernardini, T. Silverston, and O. Festor, “MPC: Popularity-based
caching strategy for content centric networks,” IEEE International Con-
ference on Communications (ICC), pp.3619-3623, 2013.
ACKNOWLEDGMENT [22] L. Li, B. Wang, and J. Lan, “A variable length counting Bloom fil-
ter,” International Conference on Computer Engineering and Technology
This work is supported by the National Natural Science (ICCET), 2010.
Foundation of China under Grants No. 61133015 and No. [23] S. Lee, J. Ha, and Y. Ko, “A lightweight prefix-based routing for content-
centric networking,” International Conference on Ubiquitous and Future
61332005, the Funds for Creative Research Groups of China Networks (ICUFN), 2013.
under Grant No. 61421061, the Cosponsored Project of Beijing [24] S. Ding, Z. Chen, and Z. Liu, “Parallelizing FIB Lookup in Content
Committee of Education, and Beijing Training Project For The Centric Networking,” International Conference on Networking and Dis-
tributed Computing (ICNDC), 2012.
Leading Talents in S&T (ljrc201502).