 |
Speed Download
Maximize Your Bandwidth
|
Note: This article has been revised. Please see the corrections section at the end for a clarification of changes.
| “
bandwidth can be utilized more efficiently by taking advantage of the Internet’s sporadic nature for transferring information. Speed Download by YazSoft does just that
” |
Data sharing has been a key benefit of the Internet since its inception. Files of any type and size can be transferred from one computer to another across a network. However, the rate at which data can be transferred, also known as bandwidth, has always been a limiting factor. As the demand for richer media content increases, the transfer time increases. Ultimately, the bandwidth at a user’s disposal will limit the content accessible to that user. One of the reasons for this limitation is a practical one. Content of a particular type must be accessible in a time frame short enough to be beneficial to the user. Increasing the bandwidth is the ideal solution but is not possible or practical for many users. However, bandwidth can be utilized more efficiently by taking advantage of the Internet’s sporadic nature for transferring information. Speed Download by YazSoft does just that by downloading files using multiple simultaneous connections.
Why It Works
TCP/IP, the protocol used to transfer data across the Internet, was designed to balance the the flow of information across multiple network paths connecting two machines. This is accomplished by splitting data into small chunks known as packets, sending them along different routes to their destination, and reassembling them at the receiving machine. When a file is downloaded from a server, it prepares the file for transfer by splitting it into packets. It then sends an arbitrary number of the beginning packets to the requesting machine (known as the client) and awaits confirmation from the client before sending another batch of packets. A client keeps track of which packets it has received and which ones are still needed from the server. Consequently, it can request a batch of packets for a file starting at any packet number. This is why downloads can be resumed. Speed Download takes advantage of this behavior by making requests for packets at multiple points in a file. For example, Speed Download could request for packets at the beginning of a file while simultaneously requesting packets somewhere in the middle or end of the file. Because a server is designed to handle multiple requests for files from a number of machines, it processes these requests independently of each other. Just how quickly requested data can be transferred over the network and received by the client will determine the performance of a download.
| “While this technique may provide moderate performance gains on dial-up connections
[t]he potential for nitro-charged, high-octane performance comes with broadband connections
” |
While this technique may provide moderate performance gains on dial-up connections by ensuring that all available bandwidth is being utilized, most servers are quite capable of saturating or making full use of a dial-up user’s bandwidth with single requests for packets. The potential for nitro-charged, high-octane performance comes with broadband connections such as ISDN, cable, and xDSL which have much more bandwidth at their disposal. Servers may have little trouble keeping up with the data demands of a dial-up connection, but they would be hard pressed to service the requests for more than a handful of broadband clients at one time at the clients’ full rate. Because content providers wish to prevent a few broadband clients from completely dominating a server, a maximum transfer rate is set for requests. Consequently, single requests to a server for data will not effectively utilize a broadband connection’s bandwidth. Speed Download comes to the rescue by making multiple requests for data, appearing to the server like separate machines. Each request results in data being sent to the client at the maximum rate which a broadband client is well-able to receive all at one time. Now that we’ve covered Speed Download’s main attraction, let us now explore the download client’s interface and features.
The “Download Hub” Up Close
The online documentation touts Speed Download as a “download hub” mainly because it assumes the role of download manager for any download requests originating in the Finder (URL shortcuts) or within a web browser. Several features make this integration with other applications possible. A contextual menu module provides a download function that can be accessed by control-clicking on a Finder Internet shortcut or a link in a web browser. A browser plug-in intercepts download requests in a browser, rerouting them to Speed Download automatically. This feature is at the center of the download hub concept because all browsers share the same download client, a useful feature if a user, such as myself, traverses the web using a lightweight browser as the primary surfing tool and uses a heavyweight browser only when necessary. A floating window provides quick access to Speed Download. URLs can be dragged to the floater for adding files to the download queue, and a double-click on the floater summons Speed Download to the forefront.
| “Scheduling makes Speed Download good for unattended downloads
Couple this with its scriptability using AppleScript, and Speed Download is a viable solution for completely automated downloads.” |
A Look at the Download Manager
At the heart of Speed Download is the download manager itself. The program consists of a queue or list of files currently being downloaded or waiting in turn. Control buttons, denoted with tool tips when moused over, line the bottom. A disclosure triangle provided just above them allows these controls to be hidden if desired. Each listing in the download queue consists of a number of fields for name, status, size, rate, etc. These columns can be shown or hidden via the View Options command in the Edit menu. Incoming download requests are added to the queue and started immediately. Downloads can be stopped and resumed at a later time, a boon for dial-up users for large downloads or dropped connections. The whole download queue may be suspended and restarted as well, useful when freeing bandwidth for more demanding content such as streaming audio and video. Scheduling makes Speed Download good for unattended downloads, allowing downloads to start and stop, connections to be broken, the program to be quit, and even the computer to be shut down at specified times. Couple this with its scriptability using AppleScript, and Speed Download is a viable solution for completely automated downloads. Downloads can also be added manually by specifying one or more URLs and optionally the number of simultaneous connections used for the download. Finally, downloads can be added by performing a search query on VersionTracker from within Speed Download.
Testing the Claim
Simultaneous connections to a server for downloading sure sounds impressive, but does Speed Download really push things through the bandwidth pipe faster? Cletus and I did some informal tests using his cable and my dialup connections, timing downloads of various sizes using a browser and Speed Download. Our results for two locations on the east coast of the United States are shown below. As expected, Speed Download bolts ahead of normal downloads more dramatically with a broadband connection than with a dialup connection.
| Cable Connection (times are in seconds) |
 |
| Dialup Connection (times are in seconds) |
 |
Areas For Improvement
Utilizing simultaneous connections introduces some significant overhead that may not be overcome when downloading smaller files. Reducing the number of connections for smaller downloads would reduce this overhead, hopefully making Speed Download operate more efficiently. Currently there is one configurable number of connections that is applied by default to all downloads which may or may not be the most efficient for a particular file size. While the number of connections can be modified when manually adding files to the download queue, a more dynamic method could prove advantageous for download requests originating outside of Speed Download. Setting the number of connections for a download based on file size is one possibility.
Some Final Thoughts
Speed Download works as advertised particularly for downloading larger files, making it an ideal program for users eyeing files of more gargantuan proportions. Fortunately Speed Download’s interception of download requests from a browser can be disabled if desired by leaving the browser plug-in uninstalled. This way Speed Download can be used as a dedicated download utility, being invoked manually or via the contextual menu module for files the program downloads best. Overall, Speed Download’s integration with browsers and the Finder is impressive, and perhaps as file sizes continue to grow, the download inefficiency for smaller files will become much less important. I encourage all users with large download needs, especially those with broadband connections, to take Speed Download out for a spin.
Jeremy Hoesly
ResExcellence Software Reviewer
June 19, 2002
The Blue Theme by Eric Lob was used in the screenshots.
Corrections
June 22nd: After our own informal tests, we had concluded that Speed Download downloaded slower than a normal browser with file sizes less than 5 MB. However, because our tests were highly dependent on location and ISP, our conclusion could not accurately predict the results that other users would obtain. Therefore, to prevent readers from assuming our results are uniform to all instead of testing Speed Download themselves, this conclusion has been removed from the original article.
|