Scalable Content Delivery Without a Middleman

Scalable Content Delivery Without a Middleman

SCALABLE CONTENT DELIVERY WITHOUT A MIDDLEMAN by JUNBO XU Submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY August, 2017 CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis/dissertation of Junbo Xu candidate for the degree of Master of Science*. Committee Chair Michael Rabinovich Committee Member Vincenzo Liberatore Committee Member Xusheng Xiao Date of Defense June 2, 2017 *We also certify that written approval has been obtained for any proprietary material contained therein. 2 Table of Contents Chapter 1 Introduction ................................................................................................... 10 Chapter2 Related Work ...................................................................................................... 15 2.1 Decentralized content dissemination ............................................................................... 15 2.2 Peer-assisted content distribution platforms ................................................................ 15 2.3 Browser-based P2P style content distribution ............................................................. 17 Chapter3 Overview of our system design ................................................................. 19 3.1 Terms definition ...................................................................................................................... 19 3.2 Model of web objects in our system ................................................................................... 20 3.3 Workflow .................................................................................................................................... 22 3.4 Functions of the wrapper page ............................................................................................ 26 Chapter 4 The origin server .............................................................................................. 27 4.1 The functions of the origin server ...................................................................................... 27 4.2 The wrapper page’s generation process and databases in the origin server ..... 28 4.3 The origin server’s configuration details ........................................................................ 31 4.4 The process of handling a dynamically generated content page ............................. 34 Chapter 5 The system component on the peer’s side ............................................... 35 5.1 The reverse proxy .................................................................................................................... 35 5.2 The network address translation issue ........................................................................... 40 Chapter 6 The implementation of user part ................................................................ 50 6.1 The process of fetching and verifying web objects from the peer .......................... 50 6.1.1 An introduction to data URI scheme ........................................................................................ 51 3 6.1.2 The integration of web objects which forms a web page together ............................. 53 6.1.3 The design and implementation of wrapper page .............................................................. 59 6.2 The same origin policy issue and the wrapper page implementation technology ............................................................................................................................................................... 62 6.2.1 The problem caused by the same origin policy ................................................................... 62 6.2.2 The adopted solution in our implementation ....................................................................... 63 6.2.3 Another viable implementation .................................................................................................. 64 6.2.4 About websocket ............................................................................................................................... 67 6.2.5 About window.postMessage ........................................................................................................ 68 6.3 Why not integrate the wrapper page script into the first content object as an inline script? ..................................................................................................................................... 71 Chapter 7 Reliable accounting mechanism .................................................................. 76 7.1 The upper bound theory ....................................................................................................... 76 7.2 The records submitting mechanism .................................................................................. 77 7.3 The integrity of records ......................................................................................................... 78 Chapter 8 Fetching web objects from the peer in parallel ..................................... 82 8.1 The motivation for concurrency ......................................................................................... 82 8.2 Theoretical concurrent DFS model .................................................................................... 84 8.3 The “Promise”-based implementation of ConcurrentDFS ........................................ 88 Chapter 9 Performance evaluation ................................................................................ 95 9.1 Performance of the user-side script .................................................................................. 95 9.1.1 The experiment setup and preliminary results ................................................................... 95 9.1.2 Explanation on the overhead of the wrapper page ............................................................ 96 9.2 End-to-end Performance evaluation .............................................................................. 100 4 9.2.1 Part 1 .................................................................................................................................................... 101 9.2.2 Part 2 .................................................................................................................................................... 107 9.3 How content pages structure affects the performance of the wrapper page ... 110 9.3.1 The experiment design ................................................................................................................. 110 9.3.2 The theoretical time complexity analysis ............................................................................. 113 9.3.2 The experiment results and the conclusion ........................................................................ 115 Conclusion ............................................................................................................................. 120 Bibliography ......................................................................................................................... 122 5 List of Figures Figure 3-1 root.html .............................................................................................................................. 21 Figure 3-2 child2.css .............................................................................................................................. 21 Figure 3-3 child2.html .......................................................................................................................... 22 Figure 3-4 the tree visualization of root.html ............................................................................ 22 Figure 3-5 The workflow of the system ........................................................................................ 23 Figure 4-1 request rewrite configuration of an origin server ............................................. 31 Figure 4-2 the origin server’s configuration directives ......................................................... 32 Figure 6-1 Data url scheme of redDot.png ................................................................................... 51 Figure 6-2 myFrame.html ................................................................................................................... 52 Figure 6-3 Data URI scheme of myFrame.html .......................................................................... 53 Figure 6-4 a web page rooted at myContent.html .................................................................... 54 Figure 6-5 myFrame.html ................................................................................................................... 56 Figure 6-6 example.css ......................................................................................................................... 56 Figure 6-7 redDot.png .......................................................................................................................... 56 Figure 6-8 the “integrated web object” of the web page whose root is “myFrame.html” ............................................................................................................................ 57 Figure 6-9 blueDot.png ........................................................................................................................ 58 Figure 6-10 myContent.html ............................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    124 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us