160 likes | 258 Views
DIS Project Proposal: Robust Content Distribution Network. By Software Implementation. R92725016 周亦方 R92725050 莊豐源 R92725051 黃世翔. 資管所 研一. Motivation. The cooperative servers of super enterprise lacks: Load balancing Transparency Fail over Data consistency
E N D
DIS Project Proposal: Robust Content Distribution Network By Software Implementation R92725016 周亦方 R92725050 莊豐源 R92725051 黃世翔 資管所 研一
Motivation • The cooperative servers of super enterprise lacks: • Load balancing • Transparency • Fail over • Data consistency • Status of other server peer
Scenario • Websites of an super enterprise have common contents and specific contents. • Main load bottleneck is specific content. • Common contents (*.html, …): served by web servers. • Specific contents (*. mpg, *.tar.gz, *.zip, …): served by CDN nodes. Ex: http://www.cpp.com
Goals & System Description • Distribute the common contents with several web servers by the nature of DNS (LB, FO) • Distribute the specific contents with CDN nodes (LB, FO) Ex: http://www.cdn.com
User can access the most efficient CDN node without location knowledge (TP). • The specific contents of CDN nodes are synchronized (DC). • The ability of CDN nodes are equal, so that when the root node fails we can elect a new root. (FO) • Root node can monitor other nodes, but other nodes also have the ability. (ST)
Diagram System Diagram – ButterFly, RFC 9999 http://www.cpp.com/index.html http://www.cdn.com/www.cpp.com/matrix4.mpg
Rules of Selecting the Most Efficient CDN Node: • Select the most efficient CDN node by judging where client source IP address (or ISP) belongs to. • Internet routing tables (BGP tables) • Round trip time estimates • Other measurement data…
System Requirements (Sever-Side) • Any OS running Java Virtual Machine (Linux) • Any web server (application server) supporting J2EE (Apache + Tomcat) • DNS server (bind)
Implementation • Web Servers: Several Apache (+ Tomcat) web servers serving common contents • CDN nodes: Several Apache web servers (or FTP servers) serving specific contents • DNS servers: bind • CDN module: A Java multi-thread pre-DNS server written by us, which can be combined with bind DNS server to select the best CDN node for client user. • Peer health status monitor: mirmon • Data consistency: rsync
Monitor CDN Nodes: (mirmon) Mirmon helps administrators in keeping an eye on the mirror sites. http://www.cs.uu.nl/people/henkp/mirmon/
Maintain Data Consistency: (rsync) • http://rsync.samba.org/ • rsync is an open source utility that provides fast incremental file transfer. rsync is freely available under the GNU General Public License
Project Participants • CBO (Francis 亦方): • Chief Beautiful Officer • CHO (Grant 世翔): • Chief Handsome Officer • QOO (Frank 豐源): • Queen of Officers