<div dir="ltr"><span><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Hello nginx Community,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">I am part of an undergraduate research group focusing on <span><span style="font-size:14.6667px;font-family:arial;background-color:transparent;vertical-align:baseline">software architecture patterns and quality attributes</span></span> at Utah Valley University. </span><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap">We recently analyzed the work published on </span><span style="color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">nginx </span><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap">in </span><a href="http://aosabook.org/en/index.html" style="text-decoration:none" target="_blank" data-saferedirecturl="https://www.google.com/url?hl=en&q=http://aosabook.org/en/index.html&source=gmail&ust=1476829271685000&usg=AFQjCNEPYNhUAM4PdFlqY_ydIsIs4HfizA"><span style="font-size:14.6667px;font-family:arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">the Architecture of Open Source Applications</span></a><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> (AOSA) and referenced it in a paper we presented at the 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), as attached. As a part of our continuing research we wish to validate our architectural analysis for </span><span style="color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">nginx </span><span style="background-color:transparent;color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">with the current developers.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"><br></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">We would like to know if we are missing any patterns or quality attributes that may have been included in </span><span style="color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">nginx</span><span style="background-color:transparent;color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">, or if there are any we listed that aren’t used. Any additional comment on these topics you might have would also, of course, be welcome.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br></b></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">We believe we found the following software architectural patterns in this application:</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><b> Pattern Name | Is This Found in the Architecture? (yes / no / don't know) | Comments (optional)</b></span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap"> Event System
Explicit Invocation
Indirection Layer
Layers
Pipes & Filters</span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> Other?</span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">We also identified the following quality attributes:</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><b> Attribute Name | Is This Found in the Architecture? | Comments (optional)</b></span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> Scalability
Usability
Extensibility
Performance
Maintainability</span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> Other?</span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap">For your convenience, we have a complete list below of the patterns and quality attributes we referred to when conducting our research. To clarify, we are specifically studying </span><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);font-style:italic;vertical-align:baseline;white-space:pre-wrap">architectural</span><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> patterns, rather than design patterns such as the GoF patterns.</span><br></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br></b></p><div dir="ltr" style="margin-left:0pt"><table style="border:none;border-collapse:collapse"><colgroup><col width="253"><col width="80"><col width="290"></colgroup><tbody><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:700;font-style:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Architectural Patterns Considered</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:rgb(255,255,255);font-weight:700;font-style:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Quality Attributes Considered</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Active Repository</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Scalability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Batch</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Usability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Blackboard</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Extensibility</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Broker</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Performance</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Client Server</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Portability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Event System</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Flexibility</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Explicit Invocation</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Reliability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Implicit Invocation</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Maintainability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Indirection Layer</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Security</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Interceptor</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Testability</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Interpreter</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Capacity</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Layers</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Cost</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Master and Commander</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Legality</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Microkernel</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Modularity</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Model View Controller</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Robustness</span></p></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Peer to Peer</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Pipes and Filters</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Plugin</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Presentation Abstraction Control</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Publish Subscribe</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Reflection</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Rule-Based System</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Shared Repository</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Simple Repository</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">State Based</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr><tr style="height:0px"><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Virtual Machine</span></p></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td><td style="border-width:0px;border-style:solid;border-color:rgb(204,204,204);vertical-align:bottom;padding:3px"><br></td></tr></tbody></table></div><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br></b></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Please respond by October 25th, if possible.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Thank you for considering our request, and for your continued work on nginx</span><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br></b></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Sincerely,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br></b></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Michael Skeen, with</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Erich Gubler,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Danielle Skinner,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Brandon Leishman,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;color:rgb(0,0,0);font-family:arial;font-size:14.6667px;white-space:pre-wrap">Neil Harrison, Ph.D. (advisor)</span><br></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br><span style="background-color:transparent;font-size:14.6667px;font-family:arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:12px;font-family:arial;color:rgb(102,102,102);background-color:rgb(255,255,255);font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software Architecture Pattern Morphology in Open-Source Systems",</span><span style="font-size:12px;font-family:arial;color:rgb(102,102,102);background-color:rgb(255,255,255);font-weight:400;font-style:italic;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">WICSA</span><span style="font-size:12px;font-family:arial;color:rgb(102,102,102);background-color:rgb(255,255,255);font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">, 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, pp. 91-98, doi:10.1109/WICSA.2016.8</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:12px;font-family:arial;color:rgb(102,102,102);background-color:rgb(255,255,255);font-weight:400;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p></span></div>