Skip to content

pietdaniel/CDN

Repository files navigation

         (`.  : \               __..----..__
          `.`.| |:          _,-':::''' '  `:`-._
            `.:\||       _,':::::'         `::::`-.
              \\`|    _,':::::::'     `:.     `':::`.
               ;` `-''  `::::::.                  `::\
            ,-'      .::'  `:::::.         `::..    `:\
          ,' /_) -.            `::.           `:.     |
        ,'.:     `    `:.        `:.     .::.          \
   __,-'   ___,..-''-.  `:.        `.   /::::.         |
  |):'_,--'           `.    `::..       |::::::.      ::\
   `-'                 |`--.:_::::|_____\::::::::.__  ::|
                       |   _/|::::|      \::::::|::/\  :|
                       /:./  |:::/        \__:::):/  \  :\
                     ,'::'  /:::|        ,'::::/_/    `. ``-.__
  CDN Project 5      ''''   (//|/\      ,';':,-'         `-.__  `'--..__
                                                             `''---::::'
  __ _  __ _ _ __ __| |_   ____ _ _ __| | __
 / _` |/ _` | '__/ _` \ \ / / _` | '__| |/ /
| (_| | (_| | | | (_| |\ V / (_| | |  |   <
 \__,_|\__,_|_|  \__,_| \_/ \__,_|_|  |_|\_\


Daniel Piet
Will Tome

#########
# Goals #
#########

Create a dns server that will return the lowest latency replica
server to a given dig request.

Moreover, create an http server which will cache content and
request from the origin if necessary.

Finally, create three scripts that deploy, run, and stop
the CDN.

#########################
# High - Level Approach #
#########################

The DNS server will initially do an http lookup against the
ip for a geo location.  It will then return the closest replica
server based upon the geolocation.

Ip address are also traced from the replica servers and latencies
are posted to the dns server's database via hacks

The HTTP server caches content naively. The cache is evicted by a
last in last out policy.

Content is requested from the origin server on a cache miss.

####################################
# Performance Enhancing Techniques #
####################################

Scamper was used on the HTTP servers to perform trace calls that
can help identify the latency to a given ip address.

##############
# Challenges #
##############

It would of been nice to have a solid CIDR ip to allow for ip
address aggregations based upon core points in the network. This
way our traces could identify where many ip address converge
allowing for accurate laten y assumptions based upon ip.
Constructing a CIDR api is not terribly difficult but tedious
and was thusly neglected in favor or easier techniques.

About

A simple CDN server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published