SlideShare una empresa de Scribd logo
1 de 33
https://github.com/yoursunny/carepo

Faster Content
Distribution with Content
Addressable NDN
Repository
Junxiao Shi
Background: Named Data Networking
 Today’s Internet is primarily used for content distribution

 Named Data Networking (NDN), an emerging future
Internet architecture, makes Data the first class entity
 NDN has a receiver-driven communication model
Consumer sends Interest packet (request)
Producer replies Data packet (response)

Interest

Interest

Interest

Data

Data

Data
NDN universal caching
 Router opportunistically caches Data packets
Cached Data packets are used to satisfy future
Interests with the same Name
Data packet crosses each link only once
 Every Data packet carries a signature

so it could be verified regardless of whether it’s from
producer or from a cache

Interest
Data from cache
Caching relies on naming
 cached: Linux Mint 15 MATE 64-bit DVD, segment 0
 request 1: Linux Mint 15 MATE 64-bit DVD, segment 0
OK, satisfy from cache
 request 2: Linux Mint Olivia MATE 64-bit DVD, segment 0
codename of Linux Mint 15

Router does not know they are the same
Problem: same payload under
different Names
 numeric version vs codename
 slightly updated file: different version marker, most
chunks unchanged
 tape archive (TAR) vs individual files
 web content: HTML / XML / plain text
Scenario
 People in a local area network download files from a
remote repository

Identical payload appears in those files under
different Names
 We want to identify identical payload in Data packets

in order to shorten download completion time, and
save bandwidth
Solution
 Producer
 publish file chunks as Data packets
 publish a hash list
 Repository
 index Data packets by Name
 index Data packets by payload hash
 Consumer
 fetch the hash list, and search local and nearby
repositories for Data packets with same payload
 download unfulfilled segments from remote repository
server

Internet
local area network
client

hash list

0: 4004 octets,
1: 2100 octets,
2: 4200 octets,
3: 2100 octets,

hash1
hash2
hash3
hash2

need 3 unique chunks
0: 4004 octets, hash1
1,3: 2100 octets, hash2
2: 4200 octets, hash3

SHA256 hash collision is unlikely.
If two Data packets have the same
payload hash, we assume they
have identical payload.
name request(s)
0 1 2 3

hash1? hash request(s)
hash2?
hash index
hash3?
hash1 hash3
Hash request & Name request
Hash request
 /%C1.R.SHA256/hash
 neighbor scope (1-hop),
multicast to local area
network

Name request
 /repo/filename/version
/segment
 global scope, forward
toward remote repository

 concurrency: 30

 concurrency: 10

 timeout: 500ms

 timeout: 4000ms

 no retry, send Name
request after timeout

 retry twice
Chunking
 We want to maximize number of identical chunks
 Fixed chunking is not resistant to insertions
A

R

I

Z

O

9FB3313F

C

S

.

B8858AB9

A

R

I

N

A

.

C1ED0864

Z

17229319

O

N

A

E

D

U

CC868CDF

.

9163767A

E

D

U

363F6587

This illustration shows the first 32 bits of MD5 hash. carepo uses stronger SHA256 hash.
This is a simplification.
The actual Rabin fingerprint
chunking calculates a rolling
hash for every 31-octet window,
and claims a boundary when
the hash ends with several zeros.

Rabin fingerprint chunking

 Rabin fingerprint chunking selects chunk boundary
according to content, not offset

 Let’s claim end of chunk on every period
A

R

I

Z

O

N

A

.

D9318D04

C

S

.

3B630D26

A

R

I

Z

O

D9318D04

E

D

U

CC868CDF

N

A

.

E

D

U

CC868CDF

This illustration shows the first 32 bits of MD5 hash. carepo uses stronger SHA256 hash.
Chunk size is not arbitrary in network
 Chunks are enclosed in Data packets
packet too large: inefficient or infeasible to transmit
packet too small: higher overhead in network
 Rabin configuration
average chunk size: 4096 octets
min/max chunk size: [1024,8192] octets
Trust model
 In NDN, every Data packet must carry a signature
 Publisher only needs to RSA-sign the hash list
 Chunks don’t need strong signatures, because they can
be verified by hash

hash list

0: 4004 octets,
1: 2100 octets,
2: 4200 octets,
3: 2100 octets,

hash1
hash2
hash3
hash2
Implementation
https://github.com/yoursunny/carepo
Implementation
 Platform: Ubuntu 12.04, NDNx 0.2
 Language: C99
 License: BSD
 https://github.com/yoursunny/carepo
Programs
 caput: publisher
 car: repository with hash index
a modified version of ndnr
 caget: downloader
Workload Analysis
CCNx source code
 CCNx releases at http://www.ccnx.org/releases/
 29 versions from 0.1.0 to 0.8.1, uncompressed TAR
CCNx intra-file similarity
 2.6% segments are duplicates within a file
CCNx inter-file similarity
 Client has ALL prior versions: need to download 55.3%
chunks
 Client has ONE immediate prior version: need to
download 60.3% chunks
 Duplicate chunk percentage varies with each version
What about compressed TAR.GZ?
 intra-file similarity: NONE
DEFLATE algorithm has duplicate string elimination
 inter-file similar - client has ALL prior versions: need to
download 98.2% chunks
Linux Mint ‘Olivia’
MATE 64-bit

MATE no-codecs 64-bit

filename

linuxmint-15-mate-dvd64bit.iso

linuxmint-15-mate-dvdnocodecs-64bit.iso

size

1000MB

981MB

media

DVD

DVD

package base

Ubuntu Raring

Ubuntu Raring

desktop

MATE

MATE

video playback

included

not included
Linux Mint analysis
MATE 64-bit
number of chunks
chunk
size

MATE no-codecs 64-bit

238436

233852

average

4398

4399

standard
deviation

2460

2460

235509

231270

intra-file unique chunks
inter-file unique chunks

254276

If a client already has MATE 64-bit locally, only 18767 chunks need to
be downloaded in order to construct MATE no-codecs 64-bit.
Performance Evaluation
Deployment on virtual machines

slow link
–2.5Mbps, 20ms delay
0.5Mbps, 20ms delay–

local area network
fast links

simulated by NetEm

server

gateway

clients
Systems under comparison
carepo

ndn

slow
link

ndnd
ndnr
caput

slow
link

ndnd
ndnd
ndnr
ndnputfile

ndnd

ndnd
car
caget

ndnd
ndngetfile

tftp

tftp block size = 8000 octets
slow link

tftpd-hpa

atftp
Download time: CCNx source code
1.
2.
3.

download ccnx-0.6.0.tar onto client1
download ccnx-0.6.1.tar onto client2
download ccnx-0.6.2.tar onto client3
download time (s)
0

50

100

150

200

250

300

carepo

ndn

tftp

ccnx-0.6.0.tar

ccnx-0.6.1.tar

ccnx-0.6.2.tar

350

400
Download time: Linux Mint
1.
2.

download MATE 64-bit (1000MB) onto client1
download MATE no-codecs 64-bit (981MB) onto client2
download time (s)
0

500

1000

1500

2000

2500

3000

3500

carepo

ndn

MATE 64-bit

MATE no-codecs 64-bit

total download time for two files: carepo is 38% less than ndn

4000

4500
Publishing overhead
carepo
caput
where
chunking

ndn
car

server and client
Rabin

SHA256

payload

RSA-sign

ndnr

server only
fixed

hash list only

index

ndnputfile

payload

Data packet
all chunks

Name index
hash index

Name index
Publishing time
MATE no-codecs 64-bit
0

100

200

300

400

MATE 64-bit
500

600

700

800

900

1000

ndnputfile->ndnr
overhead of Rabin chunking
caput(signed)->ndnr
benefit of omitting strong signatures
caput->ndnr

overhead of computing hash again
at repo, and maintaining hash index

caput->car

not a big problem
• server: publish once, serve many clients
• client: file is available on download completion; publish to help neighbors
Conclusion
Conclusion
 NDN universal caching relies on Naming, but identical
payload may appear under different Names

 identify identical payload by hash
 Repository maintains hash index;
Producer publishes hash list;
Client finds identical payload on nearby nodes by hash
 Download time is reduced by 38% for two DVD images
 Publishing time is increased to 3.8x
Faster Content Distribution with Content Addressable NDN Repository

Más contenido relacionado

La actualidad más candente

sDDS: An Adaptable DDS Solution for Wireless Sensor Networks
sDDS: An Adaptable DDS Solution for Wireless Sensor NetworkssDDS: An Adaptable DDS Solution for Wireless Sensor Networks
sDDS: An Adaptable DDS Solution for Wireless Sensor NetworksReal-Time Innovations (RTI)
 
Overlay networks ppt
Overlay networks pptOverlay networks ppt
Overlay networks pptAkshay Hegde
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
Doc A hybrid cloud approach for secure authorized deduplication
 Doc A hybrid cloud approach for secure authorized deduplication Doc A hybrid cloud approach for secure authorized deduplication
Doc A hybrid cloud approach for secure authorized deduplicationShakas Technologie
 
A hybrid cloud approach for secure authorized deduplication
A hybrid cloud approach for secure authorized deduplicationA hybrid cloud approach for secure authorized deduplication
A hybrid cloud approach for secure authorized deduplicationAdz91 Digital Ads Pvt Ltd
 
Dnssec tutorial-crypto-defs
Dnssec tutorial-crypto-defsDnssec tutorial-crypto-defs
Dnssec tutorial-crypto-defsAFRINIC
 
Low orbit ion cannon
Low orbit ion cannonLow orbit ion cannon
Low orbit ion cannoncutiewolfie
 
Efficient File Sharing Scheme in Mobile Adhoc Network
Efficient File Sharing Scheme in Mobile Adhoc NetworkEfficient File Sharing Scheme in Mobile Adhoc Network
Efficient File Sharing Scheme in Mobile Adhoc Networkpaperpublications3
 
network administration directory access and remote access
network administration directory access and remote accessnetwork administration directory access and remote access
network administration directory access and remote accessSangeetha Rangarajan
 
NZNOG 2020: DOH
NZNOG 2020: DOHNZNOG 2020: DOH
NZNOG 2020: DOHAPNIC
 
DISTIBUTED OPERATING SYSTEM
DISTIBUTED  OPERATING SYSTEM DISTIBUTED  OPERATING SYSTEM
DISTIBUTED OPERATING SYSTEM AjithaG9
 
A constructive review of in network caching a core functionality of icn slides
A constructive review of in network caching a core functionality of icn slidesA constructive review of in network caching a core functionality of icn slides
A constructive review of in network caching a core functionality of icn slidesAnshuman Kalla
 

La actualidad más candente (20)

sDDS: An Adaptable DDS Solution for Wireless Sensor Networks
sDDS: An Adaptable DDS Solution for Wireless Sensor NetworkssDDS: An Adaptable DDS Solution for Wireless Sensor Networks
sDDS: An Adaptable DDS Solution for Wireless Sensor Networks
 
Sem 1 Ch 2
Sem 1 Ch 2Sem 1 Ch 2
Sem 1 Ch 2
 
Overlay networks ppt
Overlay networks pptOverlay networks ppt
Overlay networks ppt
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
Overlay network
Overlay networkOverlay network
Overlay network
 
Doc A hybrid cloud approach for secure authorized deduplication
 Doc A hybrid cloud approach for secure authorized deduplication Doc A hybrid cloud approach for secure authorized deduplication
Doc A hybrid cloud approach for secure authorized deduplication
 
A hybrid cloud approach for secure authorized deduplication
A hybrid cloud approach for secure authorized deduplicationA hybrid cloud approach for secure authorized deduplication
A hybrid cloud approach for secure authorized deduplication
 
Chapter 8 v6.0
Chapter 8 v6.0Chapter 8 v6.0
Chapter 8 v6.0
 
Peer Sim & P2P
Peer Sim & P2PPeer Sim & P2P
Peer Sim & P2P
 
Final peersimp pt
Final peersimp ptFinal peersimp pt
Final peersimp pt
 
Vpn
VpnVpn
Vpn
 
Dnssec tutorial-crypto-defs
Dnssec tutorial-crypto-defsDnssec tutorial-crypto-defs
Dnssec tutorial-crypto-defs
 
Journal Club- MPSS
Journal Club- MPSSJournal Club- MPSS
Journal Club- MPSS
 
Low orbit ion cannon
Low orbit ion cannonLow orbit ion cannon
Low orbit ion cannon
 
Peer to peer system
Peer to peer systemPeer to peer system
Peer to peer system
 
Efficient File Sharing Scheme in Mobile Adhoc Network
Efficient File Sharing Scheme in Mobile Adhoc NetworkEfficient File Sharing Scheme in Mobile Adhoc Network
Efficient File Sharing Scheme in Mobile Adhoc Network
 
network administration directory access and remote access
network administration directory access and remote accessnetwork administration directory access and remote access
network administration directory access and remote access
 
NZNOG 2020: DOH
NZNOG 2020: DOHNZNOG 2020: DOH
NZNOG 2020: DOH
 
DISTIBUTED OPERATING SYSTEM
DISTIBUTED  OPERATING SYSTEM DISTIBUTED  OPERATING SYSTEM
DISTIBUTED OPERATING SYSTEM
 
A constructive review of in network caching a core functionality of icn slides
A constructive review of in network caching a core functionality of icn slidesA constructive review of in network caching a core functionality of icn slides
A constructive review of in network caching a core functionality of icn slides
 

Similar a Faster Content Distribution with Content Addressable NDN Repository

Mcse notes
Mcse notesMcse notes
Mcse notesvrammn
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on LabMichelle Holley
 
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...idsecconf
 
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointShi Junxiao
 
Introduction to tcp ip linux networking
Introduction to tcp ip   linux networkingIntroduction to tcp ip   linux networking
Introduction to tcp ip linux networkingSreenatha Reddy K R
 
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running LinuxLinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linuxbrouer
 
Peer to peer Paradigms
Peer to peer ParadigmsPeer to peer Paradigms
Peer to peer Paradigmshassan ahmed
 
Mcsenotes 111120025740-phpapp01
Mcsenotes 111120025740-phpapp01Mcsenotes 111120025740-phpapp01
Mcsenotes 111120025740-phpapp01amit Amit Singh
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBANikhil Kumar
 
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?Mark Smith
 

Similar a Faster Content Distribution with Content Addressable NDN Repository (20)

subnetting
subnettingsubnetting
subnetting
 
Network.pptx
Network.pptxNetwork.pptx
Network.pptx
 
Introduction P2p
Introduction P2pIntroduction P2p
Introduction P2p
 
Mcse notes
Mcse notesMcse notes
Mcse notes
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on Lab
 
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
 
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpoint
 
Introduction to tcp ip linux networking
Introduction to tcp ip   linux networkingIntroduction to tcp ip   linux networking
Introduction to tcp ip linux networking
 
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running LinuxLinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
LinuxCon2009: 10Gbit/s Bi-Directional Routing on standard hardware running Linux
 
Haystack + DASH7 Security
Haystack + DASH7 SecurityHaystack + DASH7 Security
Haystack + DASH7 Security
 
Peer to peer Paradigms
Peer to peer ParadigmsPeer to peer Paradigms
Peer to peer Paradigms
 
Mcsenotes 111120025740-phpapp01
Mcsenotes 111120025740-phpapp01Mcsenotes 111120025740-phpapp01
Mcsenotes 111120025740-phpapp01
 
Mcse notes
Mcse notesMcse notes
Mcse notes
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
 
Understanding TCP and HTTP
Understanding TCP and HTTP Understanding TCP and HTTP
Understanding TCP and HTTP
 
TCP/IP 3RD SEM.2012 AUG.ASSIGNMENT
TCP/IP 3RD SEM.2012 AUG.ASSIGNMENTTCP/IP 3RD SEM.2012 AUG.ASSIGNMENT
TCP/IP 3RD SEM.2012 AUG.ASSIGNMENT
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBA
 
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?
AusNOG 2014 - Network Virtualisation: The Killer App for IPv6?
 
Ipv6up
Ipv6upIpv6up
Ipv6up
 
Bcs 052 solved assignment
Bcs 052 solved assignmentBcs 052 solved assignment
Bcs 052 solved assignment
 

Más de Shi Junxiao

Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?Shi Junxiao
 
PowerTrade SurgeGuard
PowerTrade SurgeGuardPowerTrade SurgeGuard
PowerTrade SurgeGuardShi Junxiao
 
NFD InterestDigest
NFD InterestDigestNFD InterestDigest
NFD InterestDigestShi Junxiao
 
ICN Publish/Subscribe Networking
ICN Publish/Subscribe NetworkingICN Publish/Subscribe Networking
ICN Publish/Subscribe NetworkingShi Junxiao
 
Age-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric NetworksAge-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric NetworksShi Junxiao
 
ISA meeting 20131031
ISA meeting 20131031ISA meeting 20131031
ISA meeting 20131031Shi Junxiao
 
Network Redundancy Elimination
Network Redundancy EliminationNetwork Redundancy Elimination
Network Redundancy EliminationShi Junxiao
 
ISA meeting 20131004
ISA meeting 20131004ISA meeting 20131004
ISA meeting 20131004Shi Junxiao
 
Content Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposalContent Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposalShi Junxiao
 
Information Centric Networking and Content Addressability
Information Centric Networking and Content AddressabilityInformation Centric Networking and Content Addressability
Information Centric Networking and Content AddressabilityShi Junxiao
 
VIỆT NAM, The hidden charm
VIỆT NAM, The hidden charmVIỆT NAM, The hidden charm
VIỆT NAM, The hidden charmShi Junxiao
 
Japanese Culture: Matsuri Festival and Religion
Japanese Culture: Matsuri Festival and ReligionJapanese Culture: Matsuri Festival and Religion
Japanese Culture: Matsuri Festival and ReligionShi Junxiao
 

Más de Shi Junxiao (20)

NFD LuCI
NFD LuCINFD LuCI
NFD LuCI
 
Ride On Today
Ride On TodayRide On Today
Ride On Today
 
Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?
 
PowerTrade SurgeGuard
PowerTrade SurgeGuardPowerTrade SurgeGuard
PowerTrade SurgeGuard
 
NFD InterestDigest
NFD InterestDigestNFD InterestDigest
NFD InterestDigest
 
ICN Publish/Subscribe Networking
ICN Publish/Subscribe NetworkingICN Publish/Subscribe Networking
ICN Publish/Subscribe Networking
 
Age-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric NetworksAge-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric Networks
 
Shaanxi Henan
Shaanxi HenanShaanxi Henan
Shaanxi Henan
 
Xinjiang
XinjiangXinjiang
Xinjiang
 
pcap-map
pcap-mappcap-map
pcap-map
 
Yuanxiao
YuanxiaoYuanxiao
Yuanxiao
 
ISA meeting 20131031
ISA meeting 20131031ISA meeting 20131031
ISA meeting 20131031
 
Network Redundancy Elimination
Network Redundancy EliminationNetwork Redundancy Elimination
Network Redundancy Elimination
 
ISA meeting 20131004
ISA meeting 20131004ISA meeting 20131004
ISA meeting 20131004
 
Content Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposalContent Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposal
 
Information Centric Networking and Content Addressability
Information Centric Networking and Content AddressabilityInformation Centric Networking and Content Addressability
Information Centric Networking and Content Addressability
 
VIỆT NAM, The hidden charm
VIỆT NAM, The hidden charmVIỆT NAM, The hidden charm
VIỆT NAM, The hidden charm
 
Mexico
MexicoMexico
Mexico
 
Hawaii
HawaiiHawaii
Hawaii
 
Japanese Culture: Matsuri Festival and Religion
Japanese Culture: Matsuri Festival and ReligionJapanese Culture: Matsuri Festival and Religion
Japanese Culture: Matsuri Festival and Religion
 

Último

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Último (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

Faster Content Distribution with Content Addressable NDN Repository

  • 1. https://github.com/yoursunny/carepo Faster Content Distribution with Content Addressable NDN Repository Junxiao Shi
  • 2. Background: Named Data Networking  Today’s Internet is primarily used for content distribution  Named Data Networking (NDN), an emerging future Internet architecture, makes Data the first class entity  NDN has a receiver-driven communication model Consumer sends Interest packet (request) Producer replies Data packet (response) Interest Interest Interest Data Data Data
  • 3. NDN universal caching  Router opportunistically caches Data packets Cached Data packets are used to satisfy future Interests with the same Name Data packet crosses each link only once  Every Data packet carries a signature so it could be verified regardless of whether it’s from producer or from a cache Interest Data from cache
  • 4. Caching relies on naming  cached: Linux Mint 15 MATE 64-bit DVD, segment 0  request 1: Linux Mint 15 MATE 64-bit DVD, segment 0 OK, satisfy from cache  request 2: Linux Mint Olivia MATE 64-bit DVD, segment 0 codename of Linux Mint 15 Router does not know they are the same
  • 5. Problem: same payload under different Names  numeric version vs codename  slightly updated file: different version marker, most chunks unchanged  tape archive (TAR) vs individual files  web content: HTML / XML / plain text
  • 6. Scenario  People in a local area network download files from a remote repository Identical payload appears in those files under different Names  We want to identify identical payload in Data packets in order to shorten download completion time, and save bandwidth
  • 7. Solution  Producer  publish file chunks as Data packets  publish a hash list  Repository  index Data packets by Name  index Data packets by payload hash  Consumer  fetch the hash list, and search local and nearby repositories for Data packets with same payload  download unfulfilled segments from remote repository
  • 8. server Internet local area network client hash list 0: 4004 octets, 1: 2100 octets, 2: 4200 octets, 3: 2100 octets, hash1 hash2 hash3 hash2 need 3 unique chunks 0: 4004 octets, hash1 1,3: 2100 octets, hash2 2: 4200 octets, hash3 SHA256 hash collision is unlikely. If two Data packets have the same payload hash, we assume they have identical payload. name request(s) 0 1 2 3 hash1? hash request(s) hash2? hash index hash3? hash1 hash3
  • 9. Hash request & Name request Hash request  /%C1.R.SHA256/hash  neighbor scope (1-hop), multicast to local area network Name request  /repo/filename/version /segment  global scope, forward toward remote repository  concurrency: 30  concurrency: 10  timeout: 500ms  timeout: 4000ms  no retry, send Name request after timeout  retry twice
  • 10. Chunking  We want to maximize number of identical chunks  Fixed chunking is not resistant to insertions A R I Z O 9FB3313F C S . B8858AB9 A R I N A . C1ED0864 Z 17229319 O N A E D U CC868CDF . 9163767A E D U 363F6587 This illustration shows the first 32 bits of MD5 hash. carepo uses stronger SHA256 hash.
  • 11. This is a simplification. The actual Rabin fingerprint chunking calculates a rolling hash for every 31-octet window, and claims a boundary when the hash ends with several zeros. Rabin fingerprint chunking  Rabin fingerprint chunking selects chunk boundary according to content, not offset  Let’s claim end of chunk on every period A R I Z O N A . D9318D04 C S . 3B630D26 A R I Z O D9318D04 E D U CC868CDF N A . E D U CC868CDF This illustration shows the first 32 bits of MD5 hash. carepo uses stronger SHA256 hash.
  • 12. Chunk size is not arbitrary in network  Chunks are enclosed in Data packets packet too large: inefficient or infeasible to transmit packet too small: higher overhead in network  Rabin configuration average chunk size: 4096 octets min/max chunk size: [1024,8192] octets
  • 13. Trust model  In NDN, every Data packet must carry a signature  Publisher only needs to RSA-sign the hash list  Chunks don’t need strong signatures, because they can be verified by hash hash list 0: 4004 octets, 1: 2100 octets, 2: 4200 octets, 3: 2100 octets, hash1 hash2 hash3 hash2
  • 15. Implementation  Platform: Ubuntu 12.04, NDNx 0.2  Language: C99  License: BSD  https://github.com/yoursunny/carepo
  • 16. Programs  caput: publisher  car: repository with hash index a modified version of ndnr  caget: downloader
  • 18. CCNx source code  CCNx releases at http://www.ccnx.org/releases/  29 versions from 0.1.0 to 0.8.1, uncompressed TAR
  • 19. CCNx intra-file similarity  2.6% segments are duplicates within a file
  • 20. CCNx inter-file similarity  Client has ALL prior versions: need to download 55.3% chunks  Client has ONE immediate prior version: need to download 60.3% chunks  Duplicate chunk percentage varies with each version
  • 21. What about compressed TAR.GZ?  intra-file similarity: NONE DEFLATE algorithm has duplicate string elimination  inter-file similar - client has ALL prior versions: need to download 98.2% chunks
  • 22. Linux Mint ‘Olivia’ MATE 64-bit MATE no-codecs 64-bit filename linuxmint-15-mate-dvd64bit.iso linuxmint-15-mate-dvdnocodecs-64bit.iso size 1000MB 981MB media DVD DVD package base Ubuntu Raring Ubuntu Raring desktop MATE MATE video playback included not included
  • 23. Linux Mint analysis MATE 64-bit number of chunks chunk size MATE no-codecs 64-bit 238436 233852 average 4398 4399 standard deviation 2460 2460 235509 231270 intra-file unique chunks inter-file unique chunks 254276 If a client already has MATE 64-bit locally, only 18767 chunks need to be downloaded in order to construct MATE no-codecs 64-bit.
  • 25. Deployment on virtual machines slow link –2.5Mbps, 20ms delay 0.5Mbps, 20ms delay– local area network fast links simulated by NetEm server gateway clients
  • 27. Download time: CCNx source code 1. 2. 3. download ccnx-0.6.0.tar onto client1 download ccnx-0.6.1.tar onto client2 download ccnx-0.6.2.tar onto client3 download time (s) 0 50 100 150 200 250 300 carepo ndn tftp ccnx-0.6.0.tar ccnx-0.6.1.tar ccnx-0.6.2.tar 350 400
  • 28. Download time: Linux Mint 1. 2. download MATE 64-bit (1000MB) onto client1 download MATE no-codecs 64-bit (981MB) onto client2 download time (s) 0 500 1000 1500 2000 2500 3000 3500 carepo ndn MATE 64-bit MATE no-codecs 64-bit total download time for two files: carepo is 38% less than ndn 4000 4500
  • 29. Publishing overhead carepo caput where chunking ndn car server and client Rabin SHA256 payload RSA-sign ndnr server only fixed hash list only index ndnputfile payload Data packet all chunks Name index hash index Name index
  • 30. Publishing time MATE no-codecs 64-bit 0 100 200 300 400 MATE 64-bit 500 600 700 800 900 1000 ndnputfile->ndnr overhead of Rabin chunking caput(signed)->ndnr benefit of omitting strong signatures caput->ndnr overhead of computing hash again at repo, and maintaining hash index caput->car not a big problem • server: publish once, serve many clients • client: file is available on download completion; publish to help neighbors
  • 32. Conclusion  NDN universal caching relies on Naming, but identical payload may appear under different Names  identify identical payload by hash  Repository maintains hash index; Producer publishes hash list; Client finds identical payload on nearby nodes by hash  Download time is reduced by 38% for two DVD images  Publishing time is increased to 3.8x