Content Distribution Networks (CDN) incorporate many benefits to .... be cached will be marked by the server, depending on the dynamic nature of the different ...
ECE533 – ADVANCED COMPUTER COMMUNICATION NETWORKS UNIVERSITY OF ILLINOIS AT CHICAGO FINAL PROJECT REPORT KENNETH S. PALACIO BAUS UIN 657251084 DEC/13/2010 RESEARCH FIELD: CONTENT DISTRIBUTION NETWORKS SPECIFIC TOPIC:
Mobile peer’s collaboration in Content Distribution Networks.
GENERAL IDEA: Content Distribution Networks (CDN) incorporate many benefits to communication systems, for example we have a lower latency in content delivery due to the replication of the content among several servers located in different geographic areas thus maximizing the concept of proximity. In this content distribution scheme, the access to a particular file or element of a server can be done from a closer location instead of accessing a centralized main server regardless the location of the host. Researchers have then incurred into the idea of including peers in the CDN, in order to expand the capabilities of the CDN and take the concept of proximity to its highest level. In other words, a host can access to the same files stored in a server but from one of its peers; the new server (specifically a peer) could belong to the same ISP or what could be even better, it could belong to the same logic or physical network, since there are many hosts all over the world that already accessed the content. Any peer could become a mini‐server of that particular content. The idea of my research project is to extend this vision to mobile devices, concretely to smart phones. BACKGROUND AND MAIN POINTS: ‐
‐ ‐
‐
Cellular operators have already a strongly developed and widespread infrastructure for mobile communications which includes the geographic distribution of resources through the well known cellular network scheme. This advantage must be considered for content distribution, since many of their users might be interested in the same kind of content or the content of a particular website including popular pages like YouTube, CNN, etc. Nowadays smart phones have become very popular creating a growing trend in the number of users mainly due to the access to internet they provide. Once that a cell phone downloads a file from a content server, it keeps the file cached in memory for a given time in order to share the content with other costumers interested in the same file thus becoming a mini content server. The peers accessing the mini server must be hosts who can take advantage of the proximity they have with respect to the mini server.
‐ ‐
‐
There will be a maximum benefit for users in the same cell (hence linked to the same Base Station – BS). Mobile users belonging to the same Cellular Company/ISP but not linked to the same BS the mini server is connected to, could also be beneficed by downloading the content from a peer in their same network, since they will be using the same Company’s/ISP’s infrastructure. Once that new mobile devices access the content they become mini servers as well, increasing the availability of the content among other users in the network or in general to the internet.
ISSUES IN MOBILE DEVICES COMMUNICATIONS: ‐ ‐ ‐
Power, since a mobile device has a limited charge time that depends completely on the battery of the mobile device. We need to consider the limited processing power and memory characteristics of mobile devices. Communication Costs that cellular operators require from the costumers to access their network.
COMPARISON WITH THE WIRED HOST CDN EXPANSION SCHEME: [1]
Figure 1. Wired‐peer assisted CDN. ‐ ‐ ‐
Extending a CDN with peers belonging to wired networks is relatively easy since we don’t have the constraints we face in mobile wireless networks. Several proposals on this field have been presented [1 – 5]. A wired host normally accesses the internet by a DSL/Cable Modem connection, from a fixed place like a house or office. These kinds of connections have very good bandwidth.
‐
‐
A wireless link to an access point (WiFi for example) can be also considered as a fixed connection as long as the host remains attached to the same logical network and with good signal strength conditions. Power is not an issue since computers are powered by the public energy distribution system.
The proposed model: The following picture materializes the idea of an extended CDN in a mobile cellular‐based network:
Figure 2: Proposed model diagram. In Figure 2, it is possible to see a simplified version of the proposed system: a set of three cells (A, B, C) in a cellular network, each one containing the corresponding base station (BS‐A, BS‐B, BS‐C) and some mobile devices, which are denoted by MB#‐BS, located at a particular moment in the cell. The cloud represents the Internet and a content distribution server CS1 has been placed outside the cellular
operator domain in order to show the advantages that this model can bring to the cellular network infrastructure in order to distribute content. Smart Phone mini‐server role overview. In this section, the role of the mini server is presented in the way it should work in order to obtain a significant benefit from extending a CDN by mobile peer’s collaboration. Referring to Figure 2, the process of the CDN extension is explained through the following steps: ‐
‐
‐ ‐
‐
First of all, it is assumed that the mobile host has accessed through the Internet a content server (CS1) and that it has downloaded successfully a file or at least one or more fragments of a file, for example a video clip file from YouTube.com, or CNN.com. This mobile host will become the mini server. Figure 2 shows two of these hosts: the first one has been denoted by MB1 in cell A, and the other one MB4 in cell C. Figure 2, shows that it is possible to have more than one potential mini‐servers, since every smart phone accessing a content server is able to cache the content and to serve it in the near future. Each fragment cached in the memory of the smart phone has to be marked by an identifier number, which can be computed using a well known hashing function, thus it can be recognized by the server and by the mobile device. This hashing function must assign a unique identifier to each fragment such that all of them are absolutely distinguishable from each other. The mobile device stores the fragments as well as the hashing identifier numbers in a hash table. Not all the content downloaded by the mobile device will be cached in memory. The content to be cached will be marked by the server, depending on the dynamic nature of the different types of content and statistics. Therefore, the server will indicate to the host the files (or fragments of data in general) that it is allowed to cache for future serving processes. This concept brings the idea that permanent communication between the host and the server has to be present in order to extend the CDN. Such communication must use very brief messages and must use as low bandwidth as possible in order to keep a high throughput level meanwhile serving the content from a peer. Once that the connection is closed the content will remain in the smart phone memory for a time determined by the following conditions: o The mobile device needs storage space for new content, so the old content has to be eliminated or discarded. o The mobile receives an update from the server indicating that the content is not available to the public any more or that there exists a new version of the content. o A time to live parameter expires for the content and for the hashing table as well.
Figure 3 shows the idea of the hashing table present in the mobile device; basically data fragments are identified by a unique number that is represented by a significant lower number of bits. For example, a 256KB data fragment can be represented by a 64 or 128 bits number such that they can be dynamically and quickly interchanged between the main content server and the mobile host using a protocol like UDP.
DATA FRAGMENT HASH VALUE data [1] 123654EFD2D1 data[2] 123654EFD2FA . . . . . . data[n] 12875410D207 Figure 3: Hash Table. Thanks to the hashing table, every time a host is active and is willing to cooperate with the CND, it sends the list of hash values corresponding to the stored data fragments, to the content server (CS1 in Figure 2) in order to let it know what content it has already cached in memory. Notice however, that the entire list of hash values can be sent in few IP packets: assuming words of 128 bits for each hash value, an IP packet with 1500 Bytes of payload would be able to transmit up to 1500x8/128 = 93 has values, corresponding to 93 different data fragment. If each data fragment consists of 256KB of data, each IP packet will be carrying the information equivalent to 256KB x 93 = 23MB of data. Notice also that by using the origin IP field of the packets coming from the mobile host (for example MB1 in figure 2, which is playing the role of the mini server), it is possible for the server to know the logic location of the host and use that information to redirect other hosts in the neighborhood of MB1 such that they can access the content of the server CS1 from a closer location, in particular from a peer, in this case MB1. This helps the server to balance the load and helps the host to obtain the content in a shorter time thanks to the physical proximity. In figure 2, it is possible to see that the most beneficed hosts are those belonging to the same cell because of the immediate proximity and the use of same MSC BSC will also allow users in other cells to be served by the peer. The dotted line between smart phones demonstrates a logical link built up on top of the physical network. In particular: for the case of mobile device MB3 in cell A (MB3A) which originally request a content file from server CS1 we have that it is redirected to MB1A and consequently can obtain the content from its peer. A necessary condition for accessing the content from a peer is that the peer needs to be in active mode (the active mode is defined as the time when the user is making a voice phone call and it is explained in coming sections). The entire content or part of them (fragments cached in the memory of MB1A) can now be served from the peer. SUITABILITY FOR MOBILE DEVICES: SERVING WHILE CALLING… In order to implement a mobile peer’s assisted expansion of a CDN, it is necessary first to find solutions to the most important issues related to a mobile device. The intuition behind “Serve while Calling” raises up when we think about the expansion of a CDN using mobile hosts, since cellular phones are not connected to the internet all the time (otherwise a single battery charge would not last long) we need to find an alternative way to make the content cached in the memory of the phone to be available for serving consuming the lowest possible power.
We can take advantage of time meanwhile the user is making use of his/her smart phone for communications, for example while calling or browsing the internet as shown in [6], because there will be an active link between the mobile device and the base station during a considerable amount of time which depends on the user and for which power can be used efficiently. For instance, the CDN could be expanded for a period of time corresponding to a long phone call a costumer is making to a relative or friend while riding on public transportation (this also incorporates the issues of mobility that is discussed in a coming section) or, the CDN can be expanded for a short time used by the user to check his/her personal email. This way the smart phone will be acting as a mini server only for periods of time determined by the same user. The operation of the active mode is detailed as follows: Serving while calling operation. Here, the diagram shown in Figure 4 is explained in detail in order to explain the operation of the proposed system. ‐ As soon as a user establishes a phone call or starts an internet session in the mobile device browser (which means that a connection link to the BS is active), an application residing in the memory of the phone will activate the server active mode. ‐ At time T0, the hash table stored in the phone’s memory (MD1) corresponding to previously downloaded/cached content is sent to the server CS1, (using an ‘Active mode notification + hash table’ message) in order to let the server know the following: o His willingness to participate expanding the CND. o The network address the mobile device belongs to. o The content that has stored in memory (hash table). ‐ Once the server knows the location of the hosts running the active mode MD1 and the content that they have stored in memory, a table of active collaborating peers is updated in the server of the CDN depending on whether the cached content is updated or not. In the case of figure 4, an entry corresponding to MD1 is inserted in the peers table of the server CS1, and the new host is ready to serve peers in its corresponding domain as part of the CDN. ‐ The host MD1 sends periodic ‘keep alive’ messages to the server to indicate its current state to the server. In figure 4, a ‘keep alive’ message is sent at times T2, T3, T4, and so on, as long as the host is in the active mode. If a ‘keep alive’ message is not received after a given time, the peer will be timed out and erased from the peers table of the Server. ‐ When new client (MD2) requests content from the server and the server knows that a collaborating peer (MD1) is active in a shorter distance with respect to the client, the server will send a “redirecting message” indicating that the content can be also reached from a closer peer which is in fact part of the CDN (The server can also send a list of many potential peers servers to the client). Note in figure 4, that at time TX a ‘content request message’ is sent to the server from MD2.
Figure 4. Operation of the mobile peer extended CDN.
‐
‐
‐
‐
‐
‐
At time TX+1, the server sends simultaneously two messages: one called “Server request” message aimed to MD1 (the potential peer server) in order to inform to it data related to MD2 the served entity, and, a second message to MD2: “Redirection message” which aims to indicate MD2 a closer location for the requested content. The client measures the RTT from the list of peers he received from the server in order to choose the closest location to access to the content. It could be the case where the server is experiencing a very high congestion and the content can be obtained rapidly from a peer, as well as the case where the content can be downloaded from a lightly loaded server at a higher throughput than from a peer. Once the client chooses a peer to get the content from, the communication is established. A message called “Content request” is sent to MD1 at time TX+3, and the peer start delivering the each fragment of data to the client. Here we use the message notation: “Content delivery ‐ Fragment 1”. For each fragment successfully delivered, the mini server sends a notification to the original content server indicating the identifier of the fragment (hash number) that has been delivered and an identifier of the recipient. This message intuitively named “Delivery notification to server + keep alive” plays a role very important in this scheme, since it informs frequently that the peer server is still active and linked to the CDN. Recall that the mini server operates as long as the user keeps an active phone call or browsing the internet, so, the delivery notification to the server will act as an “I’m alive” message. In case the mini server stops serving the content because it closes the connection (this can be noted at time TX+7), the originally contacted server will detect a time out for the peer server, an it will take the continue serving the fragments that have not been delivered to MD2, as can be seen in figure 4, at times TX+8, TX+9, TX+10. In case the CDN contains more serving peers with the content of interest, one possible action taken in case of a time out is that the second closest peer (with a similar cached content) will take the task of serving. Here the server will detect that the mini server has died and will notify the client the new server address.
Figure 5 shows a slightly variation of the depicted scheme, where an additional peer MD3 starts the active mode while another peer (MD1) is serving content to MD2. Note that the communication with the new peer, has been introduced between times TX+5 and TX+6 in order to generalize the idea that this peer is entering to the process in a particular instant of data transmission. Initially, MD3 communicates to the server to indicate his willingness to participate expanding the CDN, he provides its location (domain) and its hash table using the set of messages specified for the case explained above.
Figure 5. Operation of the extended CDN with 2 serving peers.
‐
‐
‐
Notice in figure 5 how the server can request the collaboration of peer MD3 in delivering content to MD2. In this particular case, MD3 has cached a copy of the content required by MD2, therefore, he can cooperate making the data transmission quicker because different fragments of data can be transmitted in parallel. At time TX+8 the peer MD1 dies, and a timeout is detected by the server, however, as long as at least one extra peer is participating in the content delivery, the server relies on those extra peers to continue delivering the content as shown in figure 5. Naturally, in case all peers disconnect from the network the server will always ensure the successful delivery of the date requested by MD2 by the timeout mechanism previously described.
VOICE‐DATA TECHNOLOGIES. In the scenario depicted above, it is a fundamental condition that the mobile device (smart phone) is able to handle voice and data communications simultaneously. Current technology provided by AT&T to its users through the popular Iphone© from Apple Inc. supports this feature. POWER CONSIDERATIONS FOR THE ENVIRONMENT: SERVING WHILE CALLING Serving while calling corresponds to an operation mode of a mobile device that makes it to behave as a mini content server, extending the capabilities of a bigger content distribution network from which the mobile obtained originally the content. The idea to serve while the user is making or receiving a voice call aims to the objective of saving power. The results obtained by Jukka K. Nurminen and Janne Noyranen in [6], reveal that transmitting data during a voice call requires only slightly over 10% additional power. Nonetheless there is decrease in the data transfer rate of about 3%‐14%, however, the absolute result yields on savings over 80% of the energy that would be required to transmit the same amount of data separately from the voice call. The original idea presented in that study, is to implement an application‐based cooperation environment in which applications requiring to send or to receive data to or from the Internet are able to work cooperatively in order to reduce the amount of needed energy in comparison to the case where each application works independently. Then, the data transfer is delayed until a time when the user is having a phone call. They stated that “Once the radio of the mobile device is activated for voice communication, we can use it for the transfer of other data with little extra energy consumption. The bandwidth needed for voice is so small that in a typical network the radio channel can be used to transfer other data in parallel to the voice stream”. In their experiment they proved, based on real measurements performed on a current mobile device that the required additional energy for simultaneous data‐voice transmission is just about a small percentage of the energy required for a single voice call.
Nurminen and Noyranen explain that the radio interface in a mobile phone consumes up to 50% of the total power during a connectivity use case, for which two states can be differentiated: first, an idle state when power consumption is low since there is no traffic, and second, the active state in which the amount of transferred data has almost no significant influence over the total power consumed. We have that a phone call requires a continuous use of the radio interface it is not possible to switch to the idle mode and since the radio interface of a mobile phone is able to handle a significantly larger bandwidth than the one required for voice, and that whether it is used or not have no major effect on the energy consumption, it is very natural to think that it can be used for the application of serving while calling. The following figure shows one of the measures made in [1], in order to have graphic idea of the used energy for simultaneous voice‐data transmissions in a smart phone Nokia N95. Notice that the power increases only a little when data and voice are transmitted simultaneously.
Figure 5. Power consumption measures obtained in [6]. Data transfer potential during voice calls. From the results obtained in [6], we have that in average a customer uses a cellular phone for making voice calls for 26 minutes a day, and assuming a low data rate of 30kB/s (this rate can be much higher) this yields a potential amount of data of 50MB of content per day that can be served from a mobile phone using this approach with no major effect on the user’s battery. One of the conclusions of this study is that GSM networks supporting GPRS class B do not allow simultaneous voice and data connections, and therefore do not support this mechanism. The entire test performed in [6] has been made during voice calls in an UMTS network.
Final user compensation scheme proposal: We have seen all the advantages that extending a CDN with peer’s cooperation can bring to cellular networks, specifically for content distribution through peer’s local caching. We have proposed a system in which every device in a cellular network is able become a mini‐content‐server of the content cached in its own memory such that other peers can be benefited from the geographic proximity obtaining a lower latency in getting a particular content from a peer in the same neighborhood, and at the same time content servers can extend their storage capabilities as well as relief their load, for instance given a congestion. In previous sections we have used the measures provided in [6] to demonstrate that the best way to save power in a smart phone while transmitting data at the same time is when data transmission happens during a regular voice call, which we have called the active mode. The immediate benefits of caching content in a mobile device are perceived by its peers, which can get access to the content quicker than accessing to a content server located far away from the physical location of a cellular network. Host located all over the world are also able to download content from mobile host, however the maximum benefit will be for mobile peers located in the same logic/physical network and belonging to the same cellular operator. Although the proposed model looks for minimizing the power consumption during data transmission allowing it only during a voice call, the costumer have the right to decide whether or not to participate in collaborating in extending the CDN. So, in order to motivate the participation of the costumers in extending content distribution by using their equipment we propose an economic compensation system as it is mentioned in [7] for general content distribution in cellular networks. The compensation system aims to give a reward to the client such that he or she will participate in the content caching and serving processes. The company will benefit from the caching by keeping the traffic of its users inside the network, using local resources and consequently saving money. So, a compensation scheme will always depend on the own company policies, etc. A potential compensation system will charge a reduced cost for every minute in which the user is making a phone call and serving content to its peers at the same time. The percentage of reduction in the cost will always be managed under the policies of the company for the maximum profit considering the service provided by the user to the company. CONCLUSIONS: ‐ ‐
‐
This document proposes a peers‐assisted CDN focused on mobile devices, specifically smart phones. The main points of this project include the definition of an active mode and its relation to the collaboration in the CDN only when a cell phone user is performing a voice call, since this is the best way that power consumption is minimized for data transmission. A compensation system has been also proposed to encourage users to cache the content and participate in the CDN.
REFERENCES [1]
Shi Kang; Hao Yin; , "A Hybrid CDN‐P2P System for Video‐on‐Demand," Future Networks, 2010. ICFN '10. Second International Conference on , vol., no., pp.309‐313, 22‐24 Jan. 2010 doi: 10.1109/ICFN.2010.83 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5431830&isnumber=5431788
[2]
El Dick, M., Pacitti, E., and Kemme, B. 2009. Flower‐CDN: a hybrid P2P overlay for efficient query processing in CDN. In Proceedings of the 12th international Conference on Extending Database Technology: Advances in Database Technology (Saint Petersburg, Russia, March 24 ‐ 26, 2009). M. Kersten, B. Novikov, J. Teubner, V. Polutin, and S. Manegold, Eds. EDBT '09, vol. 360. ACM, New York, NY, 427‐438. DOI= http://doi.acm.org/10.1145/1516360.1516410
[3]
El Dick, M.; Pacitti, E.; Kemme, B.; , "A Highly Robust P2P‐CDN under Large‐Scale and Dynamic Participation," Advances in P2P Systems, 2009. AP2PS '09. First International Conference on , vol., no., pp.180‐185, 11‐16 Oct. 2009 doi: 10.1109/AP2PS.2009.36 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5358989&isnumber=5358894
[4]
Y.‐S. Ryu and S.‐B. Yang. An effective P2P web caching system under dynamic participation of peers. IEICE Transactions, 88‐B(4), 2005.
[5]
M. Tran and W. Tavanapong, “Peers‐assisted dynamic content distribution networks,” in Local Computer Networks, 2005. 30th Anniversary. The IEEE Conference on, pp. 123‐131, 2005.
[6]
J. K. Nurminen and J. Nyrnen, “Parallel data transfer with voice calls for energy‐efficient mobile services,” in Mobile Wireless Middleware, Operating Systems, and Applications, ser. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, O. Akan, P. Bellavista, J. Cao, F. Dressler, D. Ferrari, M. Gerla, H. Kobayashi, S. Palazzo, S. Sahni, X. S. Shen, M. Stan, J. Xiaohua, A. Zomaya, G. Coulson, J.‐M. Bonnin, C. Giannelli, and T. Magedanz, Eds. Springer Berlin Heidelberg, vol. 7, pp. 87–100.
[7]
Tommo Reti, Mikko Välimäki, “Business models for content distribution on mobile peer‐to‐ peer networks”, Helsinki Institute for Information Technology, Citeseer, 2002.