scottaxcell / cs557-p2 Goto Github PK
View Code? Open in Web Editor NEWFile sharing using NDN
File sharing using NDN
============ HOW TO BUILD ============ $ ./waf configure $ ./waf ========== HOW TO RUN ========== $ ./build/bin/fshare -n <nodename> [-p <filename>] [-d <filename>] [-h] Note: The nodename needs to be specified so that the program knows which file is associated with the node that program is being run on. This could have possibily been calculated dynamically using the hostname, but I chose to focus my energy on the networking portion of this project instead. ================== EXPERIMENT NS FILE ================== The NS file I used in the experiment can be found in the same directory as this README file. It is named project2_ns.tcl. ================== EXPERIMENT RESULTS ================== Please see the download log times for /cs557/test1 and /csu557/test2 for each interested node in the experimentResults directory. I observed that the first node to attempt to download the published file took the longest amount of time. The subsequent downloads on the same node and on other nodes in the network was substantially faster. For example, node1 was first to download /cs557/test1 and it took 2.5 seconds. Subsequent initial downloads from the other nodes in the network took 1.5 seconds. Then all following downloads, after the initial download, took 20 ms. The behavior I saw and described above appears to make sense from what I've learned about NDN. The first interest from node1 in the published file needs to propogate to the publishing node, nodeA. Then the initial interest in from node2 and node3 can then download the file from the cache in router0. Hence, we see the shorter download time. Then the nine subsequent downloads from node1, node2, and node3 all have the file already in the cache and so there is no need to send an interest to router0 or nodeA. We can see this by the extremely small download times. Note: For /cs557/test2, node3 was the first node to show interest in the file so it has the longest initial download time. Whereas for /cs557/test1, node1 was the first to show interest.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.