########################################################################## wwgetcp The fast World Wide Getting Client with Parallel Connections. by Yoshioka Tsuneo. E-Mail: tsuneo-y@is.aist-nara.ac.jp(obsulute at 1999/03/31) QWF00133@nifty.ne.jp ########################################################################### INTRODUCTION: ------------- Thank you for download this program by http or ftp protocol. This program is program that can download big file faster by establishing parallel connections. In our test, we can download 1.5 to 10 times faster than ever! METHOD: ------- Until now, We download one file with one connection. But in this program, download one file with several parellel connections. For going this process, I use http 'Ranges: byte=A-B', and ftp 'REST' command. In generally, these technique is used for RESUME. But I use this techniq for pararell connections. For example, when downloading 1000KB file, this program establishment 4 connections and each connection download 250KB. The first connection download 0-250KB,the second connection do 250-500KB,... . WARNING: -------- This program establish parallel several connections, so may be use server resources. And other peoples speed may be slow down. Please pay attension to server load, max connections, network policy, etc. The network traffic is not changed because of receive size(file size) is not change. SERVER: ------- I think the server listed under support parallel connections. - Apache 1.2 or lator - Netscape-Enterprise/2.0 or lator - Microsoft-IIS/3.0 or lator - wu-ftpd 2.4.2 or lator By my investigation from NAIST proxy log, 61.6%(372505/604809) http file support parallel connections. PREPARATION: ------------ You must install perl5. RECOMMENDED: ------------ If you install Time::Res perl module, you can get microsecond information. If you don't have Time::Res module you can get second precious information. ENVIRONMENT: ------------ Perhaps this program can any UNIX platform that can use perl5. I test Under environment. Model: SGI O2 OS: IRIX 6.3 Software: perl5.004_04.tar.gz Time-HiRes-01.18.tar.gz Model: Intel Platform OS: Linux 2.0.36 Software: perl5.005_02 USAGE: ------ You can print usage by run program with no arguments,no options like under. -------------------------------------------------------------------------- World Wide Getter Client Parallel version usage: wwgetcp.pl [-c connections] URL(ftp/http) URL http://hostname[:port]/pathname/filename ftp://[user:pass@]host[:port]/pathname/filename options -c : pararell connection number[4] -i : Interval time to start each connections.[0.2] -o : output filename ( "-" means stdout) -t : connection timeout(sec)[10] --reconnect : MAX reconnection times[500] -C : change current directory -v : verbose output. -n : don't get file. for debuggin. --benchmark[=filename] : benchmark test. try 10 times 0-10 connections. Result is witten to specified file. if no filename specified, filename is "benchmark". Example: wwgetcp.pl -v -C /var/tmp ftp://ftp.netscape.com/pub/communicator/4.5/english/windows/windows95_or_nt/base_install/cb32e45.exe --------------------------------------------------------------------------- AUTHORS: -------- Yoshioka Tsuneo E-Mail: tsuneo-y@is.aist-nara.ac.jp(Obolute at 1999/03/31) QWF00133@nifty.ne.jp DISTRIBUTION: ------------- Now, the latest version can download from under URL. http://infonet.aist-nara.ac.jp/~tsuneo-y/soft/wwgetcp/ Special Thanks to...: -------------------- Demizu Noritoshi. The original idea come from him. Reference: ---------- RFC2068 "Hypertext Transfer Protocol -- HTTP/1.1" T. Berners-Lee, H.Frystyk, J.Mogul, J.Gettys, UC Irivine, R. Fielding URL: ftp://ftp.tokyonet.ad.jp/pub/doc/rfc/rfc2068.txt RFC765 "FILE TRANSFER PROTOCOL" J. Postel URL: ftp://ftp.tokyonet.ad.jp/pub/doc/rfc/rfc765.txt