Changes between Version 26 and Version 27 of Other/Summer/2016/SCDN_Project

Aug 17, 2016, 2:09:05 PM (4 years ago)


  • Other/Summer/2016/SCDN_Project

    v26 v27  
    2727     The MobilityFirst proxy, has the purpose of translating a http request into a GET call in the MF API to get content from the server. The GET call needs specific information that the routers pass to the server, which recognizes the GUID (Globally Unique Identifiers) which is the ID of content, and send back the content to the proxy to relay to the client. The application needs to:
    29 1. Parse the HTTP Request
     291. Parse the HTTP Request (ex. http://localhost:8080/content/GUID, or http://localhost:8080/basic/query?)
    30302. Send a GET request using JMF API (Java MobilityFirst) and receive the content
    31 3. Send content back with the HTTP Response
     313. Send content back with the HTTP Response (ex. .mpd file containing video segment mappings, or video segments)
    3333    The project is being implemented in the Netbeans IDE (v 8.02) with the tomcat server (v 8.0.27) that comes from the Netbeans installation. This application is mainly being implemented using a Filter in an Apache Tomcat server. The filter processes all requests before it is sent to a Servlet which can also process requests. This is to provide a higher-level filtering for requests that are specifically understood and have specific functions that are unrelated to other functions of the Servlets that can be implemented in the server.
    3636=== MFProxy Improvements ===
     38    Implemented as a Tomcat server, the MFProxy has several advantages to it's previous implementation as a Mongoose (C/C++) server.
     40* Tomcat Servers natively support multi-threading, where this had to be manually implemented in a Mongoose server
     41* It is more portable, the Java filter can be deployed as a WAR file onto any Tomcat server and be functional
     42* Also simpler to debug the application
     44However this is likely at the cost of performance, as Mongoose is an embedded web server implemented in a lower level language.
     46=== Future Work ===
     48* Running a performance test between the two different types of proxies to quantify the difference in performance
     49* Implement a querying capability for the MFProxy
    3951=== People ===