Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

TCCN: Tag-Assisted Content Centric Networking

for Internet of Things


Yuning Song, Huadong Ma, and Liang Liu
Beijing Key Lab of Intelligent Telecommunications Software and Multimedia
Beijing University of Posts and Telecommunications
Beijing, China, 100876

Abstract—As one of the future networking architecture, Con- /CampusA/building3/room632/20140730/temp


or
tent Centric Networking (CCN) regards content as a first-class /CampusA/building3/temp/room632/20140730
network entity and fits Internet of Things (IoT) applications Smart Campus
well. CCN retrieves contents by their unique hierarchical names.
However, in IoT, different autonomous networks have their
own naming rules. When a mobile node enters a new network
environment and interacts with local networks, it can hardly Visitor
know the exact name of the content that it needs. In this paper,
we propose Tag-assisted Content Centric Networking (TCCN) for
IoT, which is a more flexible and efficient scheme for the content
sharing between mobile node and local IoT network. We design
the tables and structures of three basic components of CCN.
Based on counting bloom filter, we further design Tag Filter
(TF) for interest-content matching and forwarding information
lookup. By using TF, Content Store (CS) can quickly check
whether coming Interests can be satisfied locally. Moreover, in
our designed Tag-based Forwarding Information Base (T-FIB), Smart Home
we change the traditional prefix-faces structure into face-tags Smart Buildings
structure, which can greatly reduce the size of FIB and the
lookup time consumption. We design the Tag-based Caching Fig. 1. Example of interaction between mobile node and local network.
Strategy (TCS), by which the node can decide whether to
cache the coming content according to the TF and a counter
threshold. By using TCS, contents with similar set of tags are IoT has a strong requirement of dynamic autonomy in
cached intensively, which benefits the forwarding information. We each local tight-coupled region [1], which brings CCN new
conduct simulations to evaluate the validity and performance of challenges. Typical CCN name is hierarchically constructed by
our proposed methods. a combination of variable components and follows particular
Index Terms—CCN, naming, tag, Bloom Filter, Internet of
application-specific naming conventions. However, in IoT,
Things.
large scale heterogeneous devices coexist [4][5]. Different
autonomous networks may have independent naming rules for
I. I NTRODUCTION
certain goals. It is obvious that users want to search and share
As more and more handheld devices and wearable com- content without concerning the exact names. Considering a
puters enter into people’s daily lives, Internet of Tings (IoT) visitor node enters a new environment and wants to know cur-
has become popularization. Contents generated by users or rent local temperature. Which name should the visitor node se-
smart things are disseminated among the networks. Content lect to generate the interest? Is ccn://location/time/temperature
dissemination is becoming the primary application of IoT. or ccn://temperature/location/time, or any others? This mobile
Content-Centric Network (CCN), which emphasizes content node can hardly know the exact name of the content that it
distribution by named data rather than named hosts, is consid- needs when interacting with local network, as shown in Fig.1.
ered as one of the future Internet architecture and draws more The hierarchical names are not flexible enough to fit dynamic
and more researchers attention. and heterogeneous IoT.
Unlike traditional host-centric networks, CCN is based on Achieving the above functions requires well defined appli-
directly addressed content. Each piece of content transmitted cation naming conventions understood by all the smart things
in CCN is identified with a global unique name. To fetch data, in IoT, and is flexible enough to allow smart things to express
a consumer requests content by expressing interest that carries their interest. Besides hierarchical naming schemes, tagging
the exact name. The network finds and returns data containing are carried out to perform functions such as assisting classifi-
the corresponding content along the reverse path of interest. cation, marking ownership, noting boundaries, and indicating
CCN moves hosts into the background, while makes named online identity, which has already been widely used in Web
content becoming a first-class entity. 2.0, especially in social networks. Tags may be a “bottom-
978-1-4799-8461-9/15/$31.00 ⃝2015
c IEEE up” type of identification, compared to hierarchies, which are
“top-down”. In a traditional hierarchical system, the designer the matching and lookup solutions using TF in Section V. In
sets out a limited number of terms to use for identification, Section VI, we design TCS. In Section VII, we discuss and
and there is only one correct way to identify and classify each analyze the key problems of TCCN. Performance results from
content. In a tagging system, there are an unlimited number simulations are presented in Section VIII. The paper concludes
of ways to classify a content, and there is no “wrong” choice. with Section IX.
Instead of belonging to one category, a content may have
several different tags. Combining structured hierarchy naming II. R ELATED W ORKS
and flat tagging may aid in information retrieval. A. CCN naming schemes
To address above challenge, this paper proposes Tag- CCN is a recently proposed networking architecture that
assisted Content Centric Networking (TCCN) for IoT. We supports efficient content distribution intrinsically. Two dis-
use informal tags to assist the hierarchical names in interest- tinct types of packets, Interest Packets and Data Packets, are
content matching and forwarding. In TCCN, each piece of used in CCN communications. Providing each piece of content
content has not only an unique hierarchical name, but also a with a specified name, CCN can either directly route a users
set of customary and widely accepted tags. Note that a local interest for a specific piece of content to the content provider,
IoT network usually provides specific types of contents, so or simply pick the right piece of content from the in-network
the number of the tags is limited. We design the tables and cache and send it back to the user. Each packet carries a name,
structures of three basic components of CCN, i.e., Content which uniquely identifies a content [2]. Although flat names
Store (CS), Pending Interest Table (PIT) and Forwarding have been discussed in many articles [8], current CCN designs
Information Base (FIB). CS maintains a list of all tags of the mostly assume hierarchically structured names consisting of a
contents that it has cached. Based on Counting Bloom Filter sequence of delimited components, e.g., a temperature sensing
(CBF), we propose Tag Filter (TF), which can quickly check data may have the name /CampusA/room632/20140730/temp,
whether one coming interest can be satisfied by local CS or where / indicates a boundary between name components. This
not. The structure of traditional Prefix-based FIB (P-FIB) is hierarchical structure is human readable and enables routing to
in the form of “prefix-faces”. Entries record which faces that scale [3]. To retrieve dynamically generated data, consumers
interest is to be forwarded through when given a name of must be able to deterministically construct the name for a
prefix. In TCCN, a novel information base is designed, Tag- desired piece of data without having previously seen the name
based FIB (T-FIB), which maintains a table in the form of or data, which requires conventions agreed between content
“face-tags”. Each entry records that the interest with which producers and consumers. Name conventions are specific to
tags is to be forwarded through the corresponding face. Since applications and allow each application to choose the naming
the faces are much fewer than prefixes, the size of T-FIB in our scheme that fits its needs. However, it is difficult for IoT
design is much smaller than P-FIB. By using our proposed TF consumers to know the naming scheme in advance from
to make forwarding decisions, interests can be more efficiently diverse IoT applications. The authors of [6] have observed that
forwarded in local IoT network. We further design a Tag- different vehicular applications may desire to sort data into
based Caching Strategy (TCS), by using which contents with different categories, or with different granularities. However,
similar set of tags are cached intensively, which benefits the they only put forth a strawman proposal for the data name
forwarding information. Simulations evaluate the validity and design, which is still not flexible enough. The authors of [7]
performance of our proposed methods. The main contributions develop a routing scheme using tag sets as information descrip-
of this paper are summarized as follows: tors. However, they only conclude that tag-based forwarding
(i) We propose Tag-assisted Content Centric Networking, is viable.
which is a more flexible and efficient scheme for the content
sharing without knowing the exact names of the contents. B. Name matching/lookup
(ii) We design a interest-content matching method, Tag Packet forwarding in CCN relies upon lookup operations
Filter, which can quickly judge whether the coming interests on content names. Unlike fixed-length IP addresses, content
can be satisfied by local CS as well as T-FIB entries. By using names in CCN are variable length strings with a hierarchical
TF, TCCN can reduce the time consumption greatly. structure, consisting of a sequence of delimited components.
(iii) We further design a Tag-based Caching Strategy, by In current CCN designs, the Longest-Prefix Matching (LPM)
which the node can decide whether to cache the coming is used for every route lookup. A basic LPM solution for IP
content according to Tag Filter of CS and a counter threshold. address is the Trie [10], an ordered tree data structure, based
By using TCS, contents with similar set of tags are cached on which a family of related solutions have been conceived.
intensively, which benefits the forwarding information. Recently, Wang et al. investigated its usage in CCN and
The rest of this paper is organized as follows. In Section II, proposed an effective name component encoding for name
we summarize the related works about the CCN naming prefix Trie to accelerate name lookup [11]. Unfortunately,
schemes and name matching/lookup methods. Section III it inherits the well-known memory efficiency issues of all
states the problem and gives the key notations. After presenting Trie implementations, which become very relevant in the
the overview design of TCCN, Section IV designs the tables presence of deep CCN name trees. Although LPM has high
and structures of CS, FIB and PIT, respectively. We present simplicity, most of proposed solutions become inefficient if
Tag list in T-FIB or CS t1, t2, ···, tn
1. / CampusA /building3/temp/room632 Name Tags Faces
Hash Mapping
#building3#room632#temp /CampusA/building3/temp/room632 —— 0,1

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

P-FIB T-FIB (1) Tag Filter construction


3. / CampusA /canteen1/menu
#canteen1#menu Prefix Faces Face Tag list
Tags of coming Interest tint-1, tint-2, ···, tint-n
/CampusA/building3 3 0 #ppt#curriculum#building1 ···
/CampusA/canteen1 1 1 #canteen1#building2#menu ··· Hash Mapping

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

(2) Coming Interest matching or lookup


6. / CampusA /lectures Name Tags Content (c) Tag Filter
#lectures /CampusA/lectures #lectures ···
C S

/CampusA/schools/computer/contacts #computer#contacts ···


Tags of coming content tcon-1, tcon-2, ···, tcon-n
··· ··· ···
7. / CampusA /schools/computer/contacts Hash Mapping
#computer#contacts Tag list #lectures#computer#dean#contacts

h1(ti) h2(ti) ··· hk(ti)


…… Face 0 Face 1 Face 2 Face 3
1 0 3 2 ··· 1 2 1

threshold=2

Is preferred, to cache it

(a) Name and tag examples (b) Structures of TCCN (d) Tag-based caching strategy

Fig. 2. Overview of TCCN

applied to CCN names directly. Another family of alternative TABLE I


approaches rely on Bloom filters (BF) [12]. Since standard K EY N OTATIONS
BF does not allow element deletions, Counting BF (CBF) is Notations Defination
usually adopted in related applications [13]. Sarang et al. first N The node in local IoT network
applied the CBF in the LPM for IP addresses [16]. Recently, C, c Set of contents provided by N , and its content
Tcon , tcon Set of tags identifying c, and specific tag
Wang et al. proposed an efficient lookup scheme for CCN Tint , tint Set of tags identifying Interest and specific tag
by applying two-stage CBFs [14]. Won et al. also proposed Tcs Tag list of Content Store
a CCN software forwarding lookup engine based on hash Tf ib Tag list of each entry of FIB
hi () Hash function
tables combined with BF [15]. There are huge amounts of
name prefixes in the networks and it is virtually impossible to
handle every prefixes within FIB structure of each CCN router.
network system has specific naming convention, which can
Furthermore, the complexity of the longest-prefix matching
hardly be known in advance by the consumers. How can a
dramatically increases if the name length of the contents in
consumer express its interest to the local network without exact
CCN is variable. To solve this problem, more efficient methods
name and be satisfied efficiently? To formalize the problem,
of routing is required to reduce the complexity of the longest-
we consider each node Ni in a local IoT network is a specific
prefix routing and size of the FIB. Previous studies, which
functional entity and generates or provides certain types of
try to reduce the size of the name-space, are based on the
contents Ci = (c1 , c2 , ·, cC ). These contents are cached in local
bloom-filter algorithm [17] and can be helpful in alleviating
CS. Each content cj is identified with a name and a set of tags
the impact of required memory size for the FIB entry. Still, it
Tconj = (tcon1 , tcon2 , ·, tconl ). Then CS of Ni maintains a set
cannot be a fundamental solution due to the limit in number of
of tags Tcsi = ∪ Tconi . When an interest with a set of tags
manageable FIB entries. Some other studies suggest scalable
Tint comes, the node matches Tint with the tags in CS. If
CCN routing methods based on ISP domain, which aims to
no content satisfies the interest, the tag list in FIB, Tf ib is
reduce the number of FIB according to a number of ISP.
used to decide which face to forward the unsatisfying interest.
However, it cannot be scalable because a FIB size is yet
The time consumption of this process is mainly contributed by
dependent on the ISP domain size.
content matching in CS and face lookup in FIB 1 . We briefly
III. P ROBLEM S TATEMENT summarize the notations of the key parameters in Table I.

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
··· ···

p Managing the faces


Tag-based FIB

Face Tag list


0 #ppt#curriculum#building1 ···
p The size of T-FIB equals to the number of faces
1 #canteen1#building2#menu ···
p Deciding the outgoing faces only by several filters
p Updating the counters of filters when forwarding information is changed
2 #ppt#dormitory2 ···
p Being both time-efficient and space-efficient
3 #building3#building3 ···

Fig. 3. The comparison between P-FIB and T-FIB

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
··· ··· ···
··· ··· ···

Interest: Face 2 Name Tags Faces Name Tags Faces


/CampusA/building3/temp #building3#temp /CampusA/building3/temp #building3#temp 0,1 /CampusA/building3/temp #building3#temp 0,1,2
/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
··· ··· ··· ··· ··· ···

Name Tags Faces


Interest: Face 2 Name Tags Faces
/CampusA/building3/temp/632 #building3#temp#r632 0,1,2
/CampusA/building3/temp #building3#temp /CampusA/building3/temp/632 #building3#temp#r632 0,1
/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 0,1,2
··· ··· ···
··· ··· ···

Fig. 4. Illustration of aggregation for PIT in different situations.

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

h1(ti) h2(ti) ··· hk(ti) h1(ti) h2(ti) ··· hk(ti)


+1 +1 +1 -1 -1 -1
-1 Tint hk(ti) 1 1 0 2 ··· 2 1 1
1 0 3 2 ··· 1 2 1 Original Counters 1 0 3 2 ··· 1 2 1

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

t =2 time complexity for name matching and face look up is O(1).


False Positive Rate. As given in Section V, the probability
Is not preferred, not to cache it Is preferred, to cache it
of a false positive is
(2) Decide whether to cache the content according to TFcs and t
PF P ≈ (1 − e−kn/m )k .
Fig. 7. Tag-based Caching Sstrategy.
The expressions are minimized when k = ln 2 · (m/n), giving
a new content is cached or an old content is dropped. The a false positive probability f of f ≈ (1/2)k ≈ (0.6185)m/n .
updating of TF is shown in Fig.5. In practice, k must be an integer, and both m/n (the number
of counters per tag in tag list) and k should be thought of as
C. Forwarding Information Lookup in FIB constants. In practice of our simulations in the next section,
Different from Prefix-based FIB, Tag-based FIB has much k is set to 7. Considering the number of tags in tag list of
fewer entries. The size of T-FIB equals to the number of the CS and FIB changes slightly, we regard n as a constant. In
faces F. Each face fi in T-FIB maintains a tag list Tf i to our simulations, the number of tags maintained in CS and
indicate what types of contents can be obtained in the next T-FIB entries are ncs = 100, nf ib = 50, respectively, then
hop by forwarding through this face. Each tag list can be used mcs = 1000 and mf ib = 500. Therefore, the false positive
to construct a Tag Filter T Fi by hash mapping, i.e., there are F probability is just over 0.008.
Tag Filter in T-FIB. When a coming interest cannot be satisfied
B. Discussion
in local CS, its set of tags Tint will be checked by F TF’s
independently. Any TF that says “yes” to Tint will forward Is tag explicit enough for identifying contents? In a typical
the interest through the corresponding face. An example is tagging system, there is no explicit information about the
shown in Fig.6. meaning or semantics of each tag, and a user can apply new
tags to an item as easily as applying older tags. Hierarchical
VI. TAG - BASED C ACHING S TRATEGY classification systems can be slow to change, and are rooted
In-network caching is one of the most important characteris- in the culture and era that created them. The flexibility of
tics of CCN. How to get an optimal content distribution is a hot tagging allows users to classify their collections of items in
topic. Because the smart things in IoT usually has relatively the ways that they find useful, but the personalized variety of
fixed functionalities and roles, the existed solutions, such terms can present challenges when searching and browsing.
as collaborative caching, popularity-based caching, optimal The problems inherent in an uncontrolled vocabulary lead to
junction caching, etc., cannot be directly used in IoT scenarios.
For a specific content, where to cache is still a challenge. By
the assistance of tags, we design Tag-based Caching Strategy.
80000
When a piece of content is received by the node, after being
processed by the PIT, the node decide whether to cache this
content into the local CS or not. In TCCN, we check the tags 60000
of the content Tcon by the Tag Filter of CS T Fcs . All the
Popularity of Tags

tags in Tcon are hashed and mapped to the counters in T Fcs .


If the count of corresponding counters all exceed a threshold 40000

τ , 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

benefits the forwarding information. Therefore, the tag list size


Fig. 8. Popularity of the tags in Flickr Photos.
a number of limitations and weaknesses in tagging. Ambiguity Face Tag list
0 #illui#temp# ···
of the tags can emerge as users apply the same tag in different Consumer
1 #mp3#photo#temp ···
ways. At the opposite end of the spectrum, the lack of Humidity Data Provider Face Tag list

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 ···

application in social networks, we analyze the dataset of Baidu 2 #photo#mp3 ···

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.

We evaluated the performance of the proposed naming


scheme through simulations based on NS-3 and ndnSIM [19].
We use Bloom-Hash [16] for comparisons. Because the input 1.6

of Prefix-based CCN and Tag-assisted CCN are completely


1.4
different (one is prefix-based long URL, the other is short
item of tag), the performances of two matching and lookup
Time Consumption (μ s)

1.2

methods are incomparable. We just use the comparisons to


1.0
show the performance of our proposed TCCN and TF. Bloom-Hash
We simulate an IoT local network, in which there are .8
Tag Filter

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).

You might also like