There is a lot of software which can be used for running a proxy server. Some software can only work as a proxy server, while other software can also work as a firewall or caching server. Squid, Varnish and Microsoft Internet Security and Acceleration Server (ISA Server) are among the best known pieces of proxy server software. Some proxy software uses the SOCKS protocol. An example is the Java SOCKS Proxy Server.