A Survey on Content Placement Algorithms for Cloud-Based Content Delivery Networks <s> II. CONTENT PLACEMENT PROBLEM IN CCDNs <s> Content delivery networks (CDNs) can be viewed as application-specific overlay networks that make web caching an infrastructure service accessible to any content provider. As the Internet continues to evolve with increasing diversity and heterogeneity, we see a growing demand for extending the capabilities of network intermediaries to provide additional services such as content adaptation, personalization, watermarking and location-aware data insertion. A content services network (CSN) is proposed in this paper to make content transformation and processing an infrastructure service accessible to its subscribers. One can think of CSN as another layer of network infrastructure built around CDNs. This layer interacts collaboratively with user-agents, content servers, and other network intermediaries including ISPs’ caching proxies and CDNs’ surrogates in the content delivery process to provide value-added services. Furthermore, a CSN provides network resources that are used as a “service” distribution channel for value-added services providers to make their applications an infrastructure service. To demonstrate the utility of our proposed CSN model, we describe the prototype implementation of a video segmentation and keyframe selection system as an infrastructure service that can be used by content providers or end users to enhance the way video is delivered over the Internet. <s> BIB001 </s> A Survey on Content Placement Algorithms for Cloud-Based Content Delivery Networks <s> II. CONTENT PLACEMENT PROBLEM IN CCDNs <s> Over the last decades, users have witnessed the growth and maturity of the Internet which has caused enormous growth in network traffic, driven by the rapid acceptance of broadband access, the increases in systems complexity, and the content richness. The over-evolving nature of the Internet brings new challenges in managing and delivering content to users, since for example, popular Web services often suffer congestion and bottlenecks due to the large demands posed on their services. Such a sudden spike in Web content requests (e.g. the one occurred during the 9/11 incident in USA) is often termed as flash crowds [14] or SlashDot [11] effects. It may cause heavy workload on particular Web server(s), and as a result a “hotspot” [14] can be generated. Coping with such unexpected demand causes significant strain on a Web server and eventually the Web servers are totally overwhelmed with the sudden increase in traffic, and the Web site holding the content becomes temporarily unavailable. A Content Delivery Network (CDN) [47, 51, 54, 61, 63] is a collaborative collection of network elements spanning the Internet, where content is replicated over several mirrored Web servers in order to perform transparent and effective delivery of content to the end users. Collaboration among distributed CDN components can occur over nodes in both homogeneous and heterogeneous environments. CDNs have evolved to overcome the inherent limitations of the Internet in terms of user perceived Quality of Service (QoS) when accessing Web content. They provide services that improve network performance by maximizing bandwidth, improving <s> BIB002 </s> A Survey on Content Placement Algorithms for Cloud-Based Content Delivery Networks <s> II. CONTENT PLACEMENT PROBLEM IN CCDNs <s> One of the most striking properties of the Internet is its flexibility to accommodate features it was not conceived for. Among the most significant examples, in this survey we consider the transition of the Internet from a reliable fault-tolerant network for host-to-host communication to a content-centric network, i.e. a network mostly devoted to support efficient generation, sharing and access to content. We survey this research area according to a top-down approach. We present a conceptual framework that encompasses the key building blocks required to support content-centric networking in the Internet. Then we describe in detail the two most important types of content-centric Internet technologies, i.e., Content-Delivery Networks (CDNs) and P2P systems. For each of them, we show how they cover the key building blocks. We then identify the functional components of CDN and P2P content management solutions, and discuss the main solutions proposed in the literature for each of them. We consider different types of content (both real time and non real time), and different networking environments (fixed, mobile, ...). Finally, we also discuss the main recent research trends focused on how to design the Future Internet as a native content-centric network. <s> BIB003
In this section, we define the content placement problem and discuss the different strategies for solving the problem and choosing the various simulation and empirical parameter settings for analyzing the algorithm. Let us begin by depicting the content delivery process, in Fig. 2 . Initially, the end-user requests are diverted to request routers in CCDNs from the Domain Name Service (DNS) server as depicted in Steps 1, 2 and 3 in Fig. 2 . Today's CCDN architecture consists of a set of surrogate servers organized in a hierarchical structure  . The top level is a set of primary surrogate servers, followed by a secondary and a tertiary set of surrogate servers. Generally, the unicast and anycast DNS names map onto the primary surrogate servers that can redirect requests to secondary and tertiary surrogate servers  . In this case, the primary surrogate servers generally interact directly with end-users. The request router, in Step 4, Fig. 2 , redirects end-user requests to other surrogate servers based on geographical proximity and content availability and/or for load balancing BIB003 . In commercial CCDNs, fine grain load balancing is often employed to redirect requests from a busy server to a less busy server in the same location  . Based on the efficiency and implementation of the request router, enduser requests are satisfied with QoS by a content placement algorithm, as in Step 5. Finally, Step 6 in Fig. 2 illustrates content that is delivered to the end-user(s) from CCDN via the Internet Service Provider (ISP). Content, in the cloud-based content delivery networks (CCDNs), is essentially decomposed into metadata and data BIB002 . The metadata are the rules used to manage and control content. The content management rules can delineate how to cache content and how content will be updated or when it will be purged. They also determine the duration for storing content. Besides, the rules for controlling and customizing content are based on user profiles as they may have safety features turned on to avoid sensitive content. Similarly, content access may be controlled for distribution based on geographical locations, bans and censorship from governments. Data is encoded media, which can be static, dynamic or value-added content. Typically, static content appears on a website as text, images or videos with no change over time. For example, the headings and the video file in Fig. 2 are both static content. Dynamic content is a quasi-static document or template, composed of four different components. The front end is the visual interface component and the back end stores persistent data while the application logic component and user profiles VOLUME 6, 2018 generate dynamic and personalized data. The list of recommended videos in Fig. 2 is dynamically generated by the recommendation engine application based on user profiles. Similarly, the number of likes for a video is retrieved from a persistent database by the application logic. Value-added content (  , BIB002 ) are specialized services provided by the CCDN provider. These services could be hidden from the end-users since they affect the metadata. For example, value-added content includes rules for caching, improving QoS, optimizing dynamic content delivery by reusing objects, streamlining mobile content delivery and/or security features (e.g., resilience against denial of service attacks). Value-added services can also be visible to endusers. One example is advertisements that are imposed on top of the delivered content. Essentially, value-added services are content that needs to be managed, maintained and delivered as content through a delivery network BIB001 .