32
© NEC Corporation 2015 HydraICN Scalable Content Exchange in Challenged ICNs Bilal Gill Jan Seedorf Dirk Kutscher NEC Laboratories Europe Supported by GreenICN Project 1

HydraICN: Scalable Content Exchangein Challenged ICNs

Embed Size (px)

Citation preview

Page 1: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

HydraICNScalable Content Exchange

in Challenged ICNsBilal Gill

Jan Seedorf

Dirk Kutscher

NEC Laboratories Europe

Supported by GreenICN Project

1

Page 2: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

ICN Information Availability in Fragmented Networks

2

ICN nodes: store-and-forward mode

Page 3: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Data Mules Between Fragmented Communities

3

Page 4: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Challenges

▐ Achieving „optimal“ data availability in fragmented ICNs with intermittent, unpredictable connectivity

▐ Allocating storage and networking resources accordingly

▐ Leveraging knowledge about data popularity/relevance to optimize resource usage

▐ No global view on popularity: need good enough decentralized estimation

▐ Estimation algorithm: balance effectiveness and complexity

4

Page 5: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Objectives

▐ Distributed counting/aggregating of interestsInterests serve as popularity countersAggregating interest information without losing

too much information

▐ Robust protocolScalable with respect to network size and

network lifetimesLoop-free to accomodate random, unpredictable

movements of ICN nodes

5

Page 6: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 20156

Naïve Approach: Counting Interests

▐ Append nonce to each unique Interest message and accumulate nonces in the network Interest + nonce == unique interest

▐ Advantage: can lead to accurate representation of popularity per Interest at many nodes

▐ Disadvantage: Scalability problemNeed to store all nonces per InterestAlso: need to exchange complete nonce list when

two nodes meet

Page 7: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Our Approach

▐ Idea: Aggregate [nonce:count] tuplesApproximate content popularity

▐ Append nonce to each unique Interest message and count nonces as a popularity counter: [nonce:count] tuples

▐ Data mules maintain sorted list of [nonce:count] per interest for scalability

▐ When two data mules meet, they exchange their Interests Interests & Popularity estimation gets distributed in network

7

Page 8: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Our Approach

▐ For each Interest, aggregate [nonce:count] tuplesas follows:

▐ Compare([nonce1, count1] , [nonce2, count2])

▐ IF nonce1 == nonce2new_count = MAX(count1, count2) (at both nodes)

▐ IF nonce1 != nonce2New_nonce = nonce with largest counter([nonce1, count1],[nonce2, count2])

New_count = count1 + count2

8

Page 9: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Sample Exchange 1

9

DMx

DMy

DMa

DMz

/com/nec/infoNonce: ##az

/com/nec/infoNonce: uoa#

Two end users request the same name from DMx

Page 10: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Sample Exchange 2

10

DMx

DMy

DMa

DMz

/com/nec/infoNonce: 8098:2

/com/nec/infoNonce: 8098:2

End users are assigned a new nonce with count 2 for the same prefix

Page 11: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Sample Exchange 3

11

DMx

DMy

DMa

DMz

1

2

3

4

DMa receives duplicate query (loop) from DMz,thus drops the message (loop detection)

/com/nec/infoNonce: 8098:2

/com/nec/infoNonce: 8098:2

/com/nec/infoNonce: 8098:2

/com/nec/infoNonce: 8098:2

Duplicate:Will not increasepopularity counter

Page 12: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Sample Exchange 4

12

DMx

DMy

DMa

DMz

1

2

3

4 /com/nec/infoNonce: 8098:2

/com/nec/infoNonce: 5678

/com/nec/infoNonce: 9904

Two new user requests with same prefix from DMz

Page 13: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Sample Exchange 5

13

DMx

DMy

DMa

DMz

1

2

3

4 /com/nec/infoNonce: 8098:4

/com/nec/infoNonce: 8098:4

/com/nec/infoNonce: 8098:4

DMz updates its count and sends new once to the end user

DMz updates itscounter

Page 14: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Loop Problem

14

DMx

DMy

DMz

/com/nec/infoNonce: 8098:1

/com/nec/infoNonce: 8098:3

/com/nec/infoNonce: 6789:8

Page 15: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Loop Problem

15

DMx

DMy

DMz

/com/nec/infoNonce: 8098:3

/com/nec/infoNonce: 8098:3

/com/nec/infoNonce: 6789:8

1

Page 16: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Loop Problem

16

DMx

DMy

DMz

/com/nec/infoNonce: 6789:11

/com/nec/infoNonce: 8098:3

/com/nec/infoNonce: 6789:11

1

2

Page 17: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Loop Problem

17

DMx

DMy

DMz

/com/nec/infoNonce: 6789:14

/com/nec/infoNonce: 6789:14

/com/nec/infoNonce: 6789:11

3

2

Over-estimatingPopularity!

Page 18: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Loop Prevention

▐ Data mules keep list of recently encountered mules per Interest

▐ If a data mule is encountered shortly after the first encounter,counters are not added

▐ Instead, max-counter rules is applied at both sidesnonce1 != nonce2 (AND recently met)

• New_nonce = nonce with largest counter([nonce1, count1], [nonce2, count2])

• New_count = MAX(count1, count2)

▐ Sliding approach: FIFO list of encountered nodes has limited (configurable) sizeCan trade off acuracy against memory conservation

18

Page 19: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Exchange Scheme (1)

19

UE1 Data Mule A UE2Data Mule B

/com/nec/movie1/ [9x6q; 12]

I: /com/nec/movie1/ [67ww; 1]

R: /com/nec/movie1/ [9x6q; 13]

/com/nec/movie1/ [9x6q; 13] [UE1]

I: /com/nec/movie1/ [9x6q; 13]

/com/nec/movie1/ [9x6q; 13] [UE1]

Page 20: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Exchange Scheme (2)

20

UE1 Data Mule A UE2Data Mule B

/com/nec/movie1/ [9x6q; 13] [UE1]

/com/nec/movie1/ [9x6q; 13] [UE1]

I: /com/nec/movie1/ [7j8k; 1]

R: /com/nec/movie1/ [9x6q; 14]

/com/nec/movie1/ [9x6q; 14] [UE1, UE2]

Page 21: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Exchange Scheme (3)

21

UE1 Data Mule A UE2Data Mule B

/com/nec/movie1/ [9x6q; 13] [UE1]

/com/nec/movie1/ [9x6q; 14] [UE1, UE2]

I: /com/nec/movie1/ [9x6q; 13]

R: /com/nec/movie1/ [9x6q; 14]

/com/nec/movie1/ [9x6q; 14] [UE1, DMB]

/com/nec/movie1/ [9x6q; 14] [UE1, UE2, DMB]

DMB in source listfor /com/nec/movie1/?

Page 22: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Implementation

▐ Interests are retransmitted whenever two nodes meet▐ Application on top of CCN creates FIB entries for all the interests

(names) we want to send to the next node▐ The life time of an interest packet is set to infinite

Objective: don‘t expire interestPITs can become large...

▐ Current exchange protocol implemented in TCP (not in CCNx protocol)

▐ Popularity count for all the prefixes in the PITColon separates nonce and count

22

/com/nec/info 8098:4

Page 23: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Name/Popularity-Based Prioritization

▐ Contact time between two data mules could be shortData prioritization scheme needed to optimize exchangesHere: Leverage popularity estimation for prioritization

▐ Name-Based Prioritization protocol (NBP)

1. Node contact: nodes exchange meta data about cached objects List of names, assessed popularity

2. Requesting node generates Interest packets, ordered by „priority“

▐ Different categorization schemes possibleGreenICN: prioritizing by name / prefix (disaster scenario)

23

Page 24: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Evaluation

▐ Objective: evaluate accuracy of distributed popularity estimation

▐ Two Fragmented Communities

▐ 100 distinct data objectsQueried from three different DMs in each of the fragmented

communities

▐ Data mules meet each other in a random manner and exchange interests

▐ Zipf distribution for Interests with 0.8 < alpha <0.9

24

Page 25: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Scenario Diagram

25

Fragmented Community 1 Fragmented Community 2

• 3 Nodes per FG which fetch interests from 600 end users• Different sets of names (popular content) in FGs

Page 26: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Measurement Setup▐ Areas with data mules

Emulation: Mules meet randomly, no disruption during intermeeting times

▐ Details of the test setup6 nodes, 2 Fragmented Communities with different set of namesThree nodes in their respective FG fetch interest from end usersMeet DM at random times15 contacts between different DM at different timesObject size: 8 KBApprox. 500 Interests issued by users

▐ Test specs10 runs for each of the normalized resultsEach runs takes several minutes

26

Page 27: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 201527

Evaluation (15 Contacts)

Results from the Fragmented Community # 1

Zipf, alpha=0.915 contacts

Page 28: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 201528

Zipf-Alpha=0.8

Results from the Fragmented Community # 1

Zipf, alpha=0.815 contacts

Page 29: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Better Estimation with more Contacts

Zipf, alpha=0.97 and 15 contacts

Page 30: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Observations

▐ More contacts: better accuracy15 contacts lead to quite good resultsBut: consistent underestimation (for all objects) – so may

not be a real problem

▐ There can be more than one nonce per object name in the networkCan lead to slight overestimation

▐ PITs can become large

▐ Our approach significantly more memory-efficient than naive approach (thanks to aggregation)

30

Page 31: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

Summary

▐ Popularity estimation in ICN for optimizing performance and availability (here: DTN scenario)

▐ Leveraging ICN naming and storage features – changing CCN semantics (store-carry-forward of interests for long time)

▐ Simple scheme – intuitively scalable

▐ First evaluations suggest sufficient accuracy

▐ Next StepsPolish implementation, documentation, more experimentsMobile GW implementation

31

Page 32: HydraICN: Scalable Content Exchangein Challenged ICNs

© NEC Corporation 2015

www.greenicn.org