content addressable ndn repository - proposal

6
Content Addressable NDN Repository proposal Junxiao Shi, 2013-09-24

Upload: shi-junxiao

Post on 09-Jul-2015

137 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Content Addressable NDN Repository - proposal

Content Addressable NDN Repository

proposal

Junxiao Shi, 2013-09-24

Page 2: Content Addressable NDN Repository - proposal

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

Page 3: Content Addressable NDN Repository - proposal

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

Page 4: Content Addressable NDN Repository - proposal

reporemoteconsumerneighbor

/repo/file1/version2

Internet

LAN

/repo/file1/version2/metadataSigned by publisherContent: hashes of segments

/%C1.R.SHA256/<hash>Signature ignored

Page 5: Content Addressable NDN Repository - proposal

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

Page 6: Content Addressable NDN Repository - proposal

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.