content addressable ndn repository - proposal
TRANSCRIPT
Content Addressable NDN Repository
proposal
Junxiao Shi, 2013-09-24
Problem: caching relies on exact Name
• Local router has /repo/file1/version1 in its cache
• Consumer wants /repo/file1/version2
• File contents are similar, but local router can’t find it due to different Names
cacheremote routerlocal routerconsumer
/repo/file1/version1
/repo/file1/version2
InternetLAN
Solution Overview
• Publisher segments files using Rabin fingerprints.
• Repository indexes segments by SHA256 hashes.
• Metadata records segment hashes.
• Consumer retrieves metadata, requests segments by hash from neighbors,
and downloads missing segments with application-defined name.
• Benefit: save Internet bandwidth, shorten download completion time
• Suitable scenario: files with similar segments are sitting around neighbors,
such as software updates
reporemoteconsumerneighbor
/repo/file1/version2
Internet
LAN
/repo/file1/version2/metadataSigned by publisherContent: hashes of segments
/%C1.R.SHA256/<hash>Signature ignored
Trust Model
• The consumer can trust the file if it trusts the signature on metadata.
• The signatures on segments retrieved by hash are ignored.
/repo/file1/version2/metadata
publisher’s signature
Implementation & Testing
• Implementation: modified repo, custom publisher and consumer tools
• Simple test scenario
• Many versions of a software's source code in uncompressed TAR format are stored in
a remote repo. There should be similarities among those versions.
• Several machines in the local area network each retrieves one version of the source
code. Some blocks should be obtained from local area network instead of from the
remote repo.