 Let us look at the classification or typification of various technologies which are used in CDN because CDN is something which is going to stay with us inshallah over time and we need to understand exactly how should we make a taxonomy. For that let us raise certain questions and then identify taxonomical relationships. The fundamental questions for CDNs is going to be, what is required in order to provide a smooth and harmonious composition of content. This particular decision is based on the CDN organizations, we just mentioned Netflix and Hulu and then the interaction of the nodes or the network elements with these CDN organizations name and use and their relationships and what is exactly the content, audio, video, multimedia, all text or for that matter a file to be downloaded and then played. How to perform effective distribution and how to make sure that it is managed well. For that the content selection determines the first and foremost requirement because if it is elastic traffic or if it is in elastic traffic it will directly impact how the distribution is going to be realized. Then the certain surrogates or proxies or the caching servers have to be deployed at optimal positions. For that some interesting relationships or algorithms could be thought such as K nearest server problem or K center server deployments. Then content outsourcing could be done at different levels, it could be in a hierarchical manner, it could be in a mesh manner and then the organization of the cache, I mean what is going to be the duplication or the redundancy level. The next question is how to forward or route the client requests to appropriate CDN nodes. For that certain routing techniques which are there to find the shortest parts would have to be re-engineered to behave like more optimized query delivery mechanisms. Then how to measure CDN performance, whatever algorithms are being used, there should be an ability to predict, monitor and report on the end to end performance of CDN. Regarding the robustness, reliability and security certain questions also come into mind for instance how to handle wide area failures in CDN, what are the proper tools which should be used for detecting the failure versus the fault line and versus the errors which occur probably could be just alerts, could be outright failures or could be mere alarms. How to ensure security in a CDN system because when something is distributed there could be so many actors or the bad guys adversaries which could have more important role in the widened attack surface. So we need some security solutions as well. Last but not the least let's consider scalability. If we are interested in providing a wide area or a large geographical coverage for application hosting then we need to have some kind of duplication mechanism, some kind of naming conventions and in addition we need some kind of failover plans to make sure that wide area applications continue to function for a very large number of users. The taxonomy could be defined initially for composition, distribution, request routing and measurement. Without going into too much detail let's look at composition that would involve the organization. Is the organization based on an overlay approach or it is going to have its own custom network devices. Other servers going to be replication servers as surrogates and then what are the relationships or what is the typical traffic flow, what are the interaction protocols in terms of the network elements and the caching or surrogate servers and then the service types for instance static content or dynamic content like RSS feeds or if someone's using a database update using Ajax etc and of course the multimedia content. For distribution and management we could equally have another taxonomy that talks about the content selection, the surrogate placement within a single ISP or across multiple ISPs then content outsourcing whether it is going to be pull based, push based or cooperative pull based. Then we could think about the organization of cache for instance what is the frequency of cache update and what is going to be the caching mechanism like how much of caching is going to be performed. For request routing or request forwarding we have another taxonomy that mentions the global load balancing achievement as an objective function versus local or topical load balancing. Then we have DNS based request routing where we translate from the fully qualified domain name to some kind of IP address then redirection where one HTTP URL refers to another one then URL rewriting or forced modification any casting actually means that the request has to be forwarded to all the content providers and the one which ever replies first would be entertained then CDN peering. CDN peering actually means that how the overall CDN servers are indexed and recorded and then how are these approached. For the performance measurement the taxonomy is very simple it starts off with the internal measurements versus external measurements. Internal measurements are pretty simple and there are so many tools which do not have dependencies on geography as such so pretty easy to use for external we need to have proper mechanism because it is beyond administrative domain in another autonomous system could be all together different administrative control so the measurement metrics are many we can think about proximity latency packet loss the bandwidth requirement the bootstrap time the frame rate in terms of videos and the overall application layer load on a single server. The statistics could be obtained at the network level by active probing or by promiscuously monitoring the traffic or active feedback as in agent-based reporting like SNMP from the surrogates. The resource that I've referred to is this book by Makhdoom Prathan Raj Kumar Bhaiya and Vakali content delivery networks by Springer. This is a series of lecture notes in electrical engineering.