How proxy servers work

Proxy servers are typically installed at remote sites to support Surround SCM clients. The proxy server communicates with the master Surround SCM Server, which contains source files and file-related metadata. As files are requested, they are retrieved from the master server and cached on the proxy server. Performance improvements are noticeable only after files are cached.

The next time a client issues a request to get the file, the proxy server checks to see if the file is available in the cache. If the file is in the cache, the proxy server returns it to the client. If the file is not in the cache, it is retrieved from the master server, added to the proxy server cache, and returned to the client. If the proxy server is not available, clients retrieve files directly from the master server.

Files are cached in the SCMProxyCache directory in the proxy server application directory. As files are cached, a subdirectory is created using the name of the mainline branch the files are retrieved from. Files are cached until a specified disk space limit is reached. The least recently used files are deleted from the cache so files can continue to be cached. You can also set an age limit for files before they are deleted from the cache or delete files manually.

Proxy server maintenance is minimal. Proxy servers do not require backups or extra monitoring when a cache age limit option is set.

Example

For example, your organization’s master Surround SCM Server is located in North America, but European-based development teams need to perform a get when a new branch is created. Without a proxy server, each user gets the files from the master server, which impacts bandwidth, server CPU usage, and productivity due to wait time.

To eliminate these issues, you can install a proxy server at the local site in Europe. When one user gets a file, it is cached on the proxy server. When other users get the file, it is returned by the proxy server instead of the master server.

Master server and proxy server communication

The proxy server is a client of the master Surround SCM Server and a server to client applications, which means it listens for transactions from clients (GUI clients and the CLI) and connects to the master server to get files. The proxy server needs the same connection information that clients use to connect to the master server. The master server also needs proxy server connection information to provide to the clients that use the proxy. Each Surround SCM Server can support multiple proxy servers.

The proxy server only handles get actions. Check in actions and file metadata are managed by the master server to ensure that file versions and metadata information is always current. The master server also handles security and licensing.

Each proxy server can only use one master server.

Before a proxy server can connect to a master server, you must configure the master server to accept proxy requests.