The FARGOS/VISTA HTTP Server

The site www.fargos.net is provided via a FARGOS/VISTA™-based HTTP server, which is also the preferred Web-based front-end for the FARGOS/SolidState™ Byzantine fault-tolerant replica controller. Beyond that, it provides FARGOS Development, LLC with an unique opportunity to explore and address issues related to scaling and security. For example, consider load-balancing within a cluster of machines. Some FARGOS/VISTA-based solutions are conventional (see the documentation for the class ForwardConnection). Others take advantage of the fact that, since FARGOS/VISTA-based applications are inherently (albeit transparently) distributed at their most atomic level, it is trivial to off-load work to different CPUs.

The FARGOS/VISTA runtime includes an integrated caching HTTP/1.1 server by default. Individuals who download the FARGOS/VISTA Software Development Kit for their desired platform thus get a production-quality HTTP server as a side-effect.

Why another HTTP Server?

FARGOS Development, LLC does not promote itself as a web-server vendor. We have integrated an HTTP server into the core FARGOS/VISTA infrastructure for a few reasons:

Experience
We maintain a certain level of competence by actually implementing Internet RFCs rather than just reading them.
Security
The robustness of the FARGOS/VISTA infrastructure eliminates common exploits caused by buffer overflows and the opportunity to execute arbitrary code on the server. The importance of this is demonstrated by the never-ending stream of security flaws inherent in many of Microsoft's Internet-enabled applications.
Application GUIs
Although not as sophisticated as prior technologies (e.g., IBM Research's DRAGONS Display Manager), a World Wide Web browser has become the de-facto platform for providing client-side graphic user interfaces. An integrated HTTP server makes it easy for FARGOS/VISTA-based applications to interface with web browsers.
Benchmarks
Having identical functionality provides us a rare opportunity to compare performance between a specialized implementation and our technologies, which are intended for generic use and are biased towards programmer productivity.

An unanticipated result was that the FARGOS/VISTA HTTP server was found to be significantly more reliable than Apache on a heavily loaded OpenBSD system.

The Benefit for Users

FARGOS Development, LLC uses the FARGOS/VISTA HTTP server to run our own site for two main reasons. First, it is not credible for a software company to not use its own products. The second reason is security.

We can also do some cool stuff. When was the last time you were able to use a web browser to view the internals of a running application? Click here to start an object browsing session of a HTTP server running on www.fargos.net. Most World Wide Web browsers will open a new window for you; if not, then you will have to remember the following instructions:

  1. Click on the /services/URLdirectory:www.fargos.net link that will be displayed. When you do that, you will see the contents of the object that provides the service.
  2. You can click on a class name to see the documentation associated with that class or an object Id to browse the contents of the referenced object. Click on a class name to view the corresponding documentation. If you want to look at other services, feel free. You will not have permission to view some of the objects, which actually serves as a demonstration of the per-object/per-user/per-method granularity of access control.