Chris Pollett > Students >
Ajita

    ( Print View)

    [Bio]

    [Blog]

    [C297 Proposal]

    [Deliverable 1]

    [Deliverable 2]

    [Deliverable 3]

    [Deliverable 4]

    [Presentation 1 - PDF]

    [Presentation 2 - PDF]

    [Presentation 3 - PDF]

    [Final Report 297 - PDF]

    [C298 Proposal]

CS298 Proposal

Building Lean, Standalone Web Servers and Routing Engines

Ajita Shrivastava (ajita.shrivastava@sjsu.edu)

Advisor: Dr. Chris Pollett

Committee Members: Your_Committee.

Abstract:

This project is poised to be a dynamic collection of single-file, low-dependency, pure PHP servers and routing engines. Within its framework lie WebSite, a PHP web server, and MailSite, a PHP mail server, designed to streamline request routing and seamlessly integrate with traditional servers like Apache, nginx, or lighttpd. Moreover, this project boasts standalone server capabilities for applications harnessing its routing functionalities. Operating on a request event-driven model, it champions asynchronous I/O to optimize web traffic management. With the introduction of HTTP/2 support in WebSite and pioneering HTTP/2 features, this project promises exceptional performance. Its prowess will be validated through meticulous experimentation and metrics analysis, paving the way for informed performance enhancements and decision-making processes.

CS297 Results

  • Implemented Routing with Atto Server
  • Implemented HTTP 1.1 to HTTP/2 Conversion
  • Feature Addition: MailSite
  • HTTP/2 Detection

Proposed Schedule

Week 1: Feb 5 - Feb 6 Submit the CS 298 Project Proposal.
Week 2-3: Feb 7 - Feb 28 Read and comprehend the RFC for mail server and finish basic implementation.
Week 4-5: Feb 29 - Mar 5 Research IMAP and the MailSite code to fill in any gaps.
Week 6-7: Mar 6 - Mar 19 Read, comprehend and implement the HTTP/2 support in WebSite.
Week 7-10: Mar 20 - Apr 09Research on HTTP/2 for an advance feature to be implemented.
Week 10-12: Apr 10 - Apr 23Implement the advanced feature for WebSite.
Week 13: Apr 24 - Apr 30Experiment with the completed server to figure out metrics of single0file PHP implementations over traditional implementations.
Week 14: May 1 - May 7Create the CS298 Report outlining the entire process.
Week 15: May 7 - May 14Create CS298 Presentation that duly reflects on the work and the advancements.

Key Deliverables:

  • Software
    • The MailSite server code will be completed, indicating that all necessary programming and development tasks associated with the MailSite server will be finished, ensuring its functionality and readiness for use.
    • Support for HTTP/2 will be added to WebSite, indicating that the WebSite platform will include the capability to handle and interact with the HTTP/2 protocol, thereby enhancing its performance and compatibility with modern web standards.
    • A new feature of HTTP/2 will be implemented, marking an advancement or enhancement in the functionalities or capabilities offered by the HTTP/2 protocol within the system or application being developed or maintained.
    • Experimentation and metrics will be conducted, suggesting that tests, trials, or evaluations will be performed to gather data and insights regarding the performance, effectiveness, or impact of certain features, changes, or developments within the system or application, with the aim of informing decision-making and optimization efforts.
  • Report
    • CS-298 Report
    • CS-298 Presentation

Innovations and Challenges

  • Developing single-file, low-dependency servers presents an innovative approach while also posing challenges in scalability and extensibility.
  • Integrating with traditional servers offers innovation in enhancing existing infrastructure but may pose challenges in compatibility and seamless integration.
  • Implementing asynchronous I/O and request event-driven models innovates traffic management but challenges may arise in handling concurrency and resource utilization.
  • Introducing HTTP/2 support brings innovation in performance and standards compliance but challenges include compatibility issues and feature implementation complexities.
  • Conducting meticulous experimentation innovates validation processes but challenges include resource allocation and accurate metrics analysis.
  • Ensuring security and reliability poses challenges amidst innovation, demanding robust authentication, encryption, and error handling mechanisms.

References:

Riabov, Vladimir V. "SMTP (Simple Mail Transfer Protocol)." River College (2005).

Mullet, Dianna, and Kevin Mullet. Managing Imap. " O'Reilly Media, Inc.", 2000.

Gourley, David, and Brian Totty. HTTP: the definitive guide. " O'Reilly Media, Inc.", 2002.

Pollard, Barry. HTTP/2 in Action. Simon and Schuster, 2019.

Belshe, Mike, Roberto Peon, and Martin Thomson. Hypertext transfer protocol version 2 (HTTP/2). No. rfc7540. 2015. RFC manual

Langley, Adam, et al. "The quic transport protocol: Design and internet-scale deployment." Proceedings of the conference of the ACM special interest group on data communication. 2017.

Carlucci, Gaetano, Luca De Cicco, and Saverio Mascolo. "HTTP over UDP: an Experimental Investigation of QUIC." Proceedings of the 30th Annual ACM Symposium on Applied Computing. 2015.

Dent, Kyle D. Postfix: The Definitive Guide: A Secure and Easy-to-Use MTA for UNIX. " O'Reilly Media, Inc.", 2003. Postfix Overview

Hildebrandt, Ralf, and Patrick Koetter. The book of Postfix: state-of-the-art message transport. No Starch Press, 2005.

Dovecot Developer Manual