SpectrumSCM Proxy

The SpectrumSCM Proxy offers a solution for distributed development in bandwidth constrained environments. If the SpectrumSCM server is in a remote location and the available bandwidth between the local and remote ends is small, operations that require a file to be transferred across the wire can exhibit considerable lag. The proxy tries to address this issue by maintaining a "Local Cache" which reduces the number of file transfer operations across the WAN. Here is an example scenario:



Assume that the Clients C1 and C2 are on a 100BaseT LAN and the WAN pipe is a < 256 kbps pipe. In the absence of the Proxy, the clients directly interact with the server and all file transfer operations happen over W. This can be slow and inefficient considering the fact that the bandwidth is small. In such situations, whenever a client downloads a file from the server across the wire, other clients who need the same file in the future can make use of the file downloaded by the first client. Assuming that the file contents have not changed, the clients can bypass the server and get the file from within the LAN, which makes the operation extremely fast. Thus over a period of time, files downloaded from the server can be used to serve similar requests from different clients, provided that the file contents have not changed. This is handled by the SpectrumSCM Proxy, which maintains a passive cache for files downloaded from the server.

Whenever a client needs a file from the server, it routes the request through the proxy. The proxy checks its cache to see if it has the file that is being requested. If it determines that the file being requested and the cached copy are the same, it serves the request without downloading the file from the server. Thus it becomes a local file transfer. If it is a miss, it downloads the file from the server, passes it on to the client and caches it for future use. Over a period of time, the number of hits will surpass the number of misses making checkout operations considerably fast. The proxy not only caches head revisions but also caches previous versions, which is extremely useful during release extracts and extract files by version/CRs.

In addition to the obvious use in bandwidth constrained networks, the user can start a proxy on his/her own box and thus use the proxy as a local cache.

Installation

  1. You need to install the SpectrumSCM client or server before you can install the proxy. Instructions for installing the server/client are available on our website at www.spectrumscm.com
  2. Download the ProxyInstaller.zip (or ProxyInstaller.tar) file to a machine with a SpectrumSCM client/server installation. Unzip (or untar) the files to a temporary directory.
  3. On Windows systems, you can double-click the jar file to launch the installer. On Unix systems, open a terminal window and run     java -jar ProxyInstaller.jar
  4. Follow the on-screen instructions to complete the installation
  5. The proxy scripts and libraries will be installed under the SpectrumSCM install directory

Starting the SpectrumSCM Proxy

Windows:
Goto the SpectrumSCM menu under the Start menu and choose the Start Proxy menu item    OR
Open a command prompt window and go to the <SpectrumSCM Install>/bin directory. Use the startProxy.bat script

Unix/Linux/Solaris:
Open a terminal window and go to the <SpectrumSCM Install>/bin directory. Use the startProxy script

The startProxy script uses the following arguments:

-cache Cache Directory for the Proxy REQUIRED PARAMETER
-port Listen Port for the Proxy Defaults to 1102
-serverhost SpectrumSCM Server IP Defaults to localhost
-serverport SpectrumSCM Server Transport Port Defaults to 1101
-serverpipes Max no. of connections b/w proxy and server Defaults to 5
-gui Start in GUI mode (overrides other options)  

The proxy log files are maintained under <specified cache dir>/logs directory


Stopping the SpectrumSCM Proxy

Windows:
Goto the SpectrumSCM menu under the Start menu and choose the Stop Proxy menu item    OR
Open a command prompt window and go to the <SpectrumSCM Install>/bin directory. Use the stopProxy.bat script

Unix/Linux/Solaris:
Open a terminal window and go to the <SpectrumSCM Install>/bin directory Use the stopProxy script

The stopProxy script uses the following arguments:

-host Proxy IP Address Defaults to localhost
-port Listen Port for the Proxy Defaults to 1102
-gui Start in GUI mode (overrides other options)  


How to use the SpectrumSCM Proxy

  • Bring up the SpectrumSCM client and choose the Edit-->Preferences menu item
  • Choose the Proxy Settings panel and specify the Proxy IP and Port Number
  • Save your settings
  • Check the Use Proxy option under the Edit menu to route checkout requests through the proxy. Uncheck the option to communicate directly with the SpectrumSCM server

For further assistance, send a mail to support@spectrumscm.com or contact Spectrum Software at 770.448.8662. For additional information on SpectrumSCM please visit our website at www.spectrumscm.com.