You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Purpose

 The main puropse of TULIP Central Reflector is to proxy the TULIP quieries to PlanetLab's Scriptroute Service. Scriptroute service provides a cookie which works for a single IP address only. So in this way all the requests will be issued from the Central reflector and the responses will be sent back to the TULIP JNLP Client.

Implementation 

  TULIP Central reflector will be a CGI Script (reflector.cgi) deployed at SLAC. The TULIP client will issue a single request and the Reflector will go ahead and probe all the landmarks in that region*[1] and return the results to the TULIP Client.

Requirments

  • Should fetch sites.txt or have a local copy of sites.txt ( What changes should be made to sites.txt ? Maybe a new parameter teir0 and teir1 should be added. Also the region of tier1 sites needs to be specified in sites.txt)
  • A seperate thread should be used for each landmark and Semaphores should be used for locking, so that data from different threads should not inter-mix.
  • There should be a limited on the number of threads that can be launched at a time (say 10).
  • Logging should be enabled on  the server side.
  • What should happen if a landmark responds with a bad data. ( Should it process the error or send the raw data back?)
  • Special consideration for security as the script ultimately has to be deployed at SLAC ( Perl taint option, warning oprion, special open method etc)

Sample Scripts

traceroute.pl: This script has been written with special security considerations so it will help in implementing reflector.cgi

topology.pm: This is a multi-threaded script written by Yee so this will help understand the threading issues in perl which are a bit complex.

  • No labels