ece533 – advanced computer communication ...

3 downloads 4131 Views 442KB Size Report
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.