From NSL

Jump to: navigation, search


pCDN client is a light-weight software running on your computer, which services requests from podcast clients by exchanging podcast files among users. Installing pCDN client is simple. Please follow these steps:

  • Download and install the latest pCDN client software.
  • Install a podcast client. A list of available clients can be found here.
  • Locate the pCDN client on your list of programs (for instance, find the software from Start Menu -> Programs on Windows) and run it. The software display a taskbar icon in the notification area. Right click on it allows you to enter Session Info windows and Preferences editor.
  • Run the podcast client and use this podcast feed: http://nsl.cs.sfu.ca/tmp/qpodcast.xml.
  • Upon successful feed, you should see a list of available podcasts.
  • Choose one of the podcasts from the list. Your podcast client should start fetching the selected file.
  • To check what podcasts are being downloaded (uploaded) to or from other peers, please double click on the taskbar icon.


  • pCDN client attempts to automatically detect your IPs. For computers with multiple IPs, pCDN client chooses the first IP by default. This generally works fine if your first IP is connected to the Internet. Please use the Preference window to specify your preferred IP if otherwise.
  • If a software-based firewall is running, please either disable it or add pCDN client to the list of allowed programs. For Windows firewall, you can add pCDN client to the list of allowed programs by going to: Control Panel ->Security Center -> Windows Firewall -> Exceptions. Make sure you tick the check box after adding pCDN client.


pCDN server runs on a Windows machine, and uses a SQL database as its backend for content info, geo-fencing rules, and admin account management. After installing our server software, the administrator has to set up the SQL database first. Please find the readme.txt file in the $INSTALL_DIR/Database-info directory for instructions on database setup. The instructions were developed for MySQL server, but can be easily ported to other database systems. In addition, the administrator needs to customize the $INSTALL_DIR/settings.ini file, which contains a few critical settings:

  • DATABASE_DSN specifies the ODBC driver, server location, database name, username, password, and other options.
  • SQUID_INTERVAL specifies the frequency of log rotation on squid-like log files.
  • SQUID_MAX_LOGS specifies the number of history squid-like log files should be kept.
  • BACKUP_TRACKERS specifies the list of replicated pCDN servers, where servers with smaller indexes have higher precedence of being the primary (active) server. Notice that:
    • Please include all tracker IPs here (backup may not be a perfect term here)
    • All pCDN server should share the same list.
    • The same list should be published as a Web page, such as http://nsl-win.cs.surrey.sfu.ca/pCDN/trackerlist.txt, for clients. Note that, in client's conf.xml file, the trackerlist_url should point to this file.
    • We are working on a centralized (shared) setting.ini implementation. This feature is scheduled for the next release (Ver 2).

Once the $INSTALL_DIR/settings.ini is updated, the server can start servicing pCDN clients.