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 CS-297 (PDF)]

    [CS-298 Proposal]

    [CS-298 Report]

    [CS-298 Presentation (PDF)]

    [CS-298 Code (ZIP)]

CS298 Proposal

Building Lean, Standalone Web Servers and Routing Engines

Ajita Shrivastava (ajita.shrivastava@sjsu.edu)

Advisor: Dr. Chris Pollett

Committee Member 1: Dr. Navrati Saxena

Committee Member 2: Dr. Genya Ishigaki

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/2 framing layer
  • Feature Addition: MailSite
  • HTTP/2 Detection

Proposed Schedule

Week 1: Sept 4 - Sept 10 Submit the CS 298 Project Proposal.
Week 2-3: Sept 11 - Sept 24 Read, comprehend, and implement the HTTP/2 support in WebSite.
Week 4-5: Sept 25 - Oct 8 Research on HTTP/2 for an advanced feature to be implemented.
Week 6-7: Oct 9 - Oct 22 Implement the advanced feature for WebSite.
Week 8-9: Oct 23 - Nov 5Read and comprehend the RFC for the mail server and finish basic implementation.
Week 10-12: Nov 6 - Nov 19Research IMAP and the MailSite code to fill in any gaps.
Week 13: Nov 20 - Nov 26Experiment with the completed server to figure out metrics of single-file PHP implementations over traditional implementations.
Week 14: Nov 27 - Dec 3Create the CS298 Report outlining the entire process.
Week 15: Dec 4 - Dec 10Create the CS298 Presentation that reflects on the work and advancements.

Key Deliverables:

  • Software
    • The MailSite server will be developed with full SMTP and IMAP support, ensuring it is fully operational and ready 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