majing seal

Michael Marking


Start Here

Bionic Buffalo
Buffalo Bull

  Public Keys
  Social Media
  Web Site

What's New home > software > sugar > history

History of sugar

sugar began as a simple program to limit bandwidth consumption for users connected to ISPs with usage caps (also known euphemistically as "fair access policies", or FAPs). These policies are used to punish or to penalize users who exceed their maximum allowed throughput. Sometimes the penalty is severe reduction in connection speed, and at other times the user is charged extra for the connection. These policies are common with satellite ISPs (such as HughesNet and WildBlue) and with some cable companies (such as Charter). While those ISPs often provide tools for monitoring a user's bandwidth comsumption, they don't give customers an automatic mechanism to avoid overshooting the limit.

The first version of sugar was meant to run on Linux only, and used various kernel hooks and features to provide the bandwidth limiting function. It was tested for a while at a small motel which provided wireless internet for guests. Although it worked somewhat, there were problems, and the need for additional features was quickly recognized.

sugar was completely redesigned, with these changes:

  • the ability to set parameters and to control connections separately for each downstream client or user was added
  • some firewall features were incorporated (for portability, and because most firewall frontends would trash the IP filter rules we set up)
  • provisions were added to filter based on content type (some of the motel customers would go through the allowances quickly by watching YouTube or other video sites, and Macromedia/Adobe have developed a rich repertoire of mechanisms to bypass common firewall techniques)
  • per-user access controls were added, which paved the way for a system allowing the re-sale of a connection by small ISPs, internet cafés, and others
  • some functions previously belonging to the OS were brought into the application, making it more easily portable (for example, it now has its own DHCP server)
  • add flexible throttling algorithms, to handle periodic limits (such as the daily limit imposed by HughesNet), as well as rolling limits (such as the 30-day cumulative limit imposed by WildBlue)

The second (current) version, now under development and in limited testing, differs substantially from the first implementation. It is meant to be hosted not only on Linux, but also on other Unix-like platforms, on Windows, and on internet appliances such as routers and cell phones. (We think some of the manufacturers of small cable modems, routers, and other such devices might, for competitive reasons, want to add a program like sugar to provide the bandwidth limit features and security as a standard capability for some of their products.)

Copyright 2018 Michael Marking. All Rights Reserved. last modified Thursday, 26-Jul-2012 21:41:02 GMT
Accessed Friday, 19-Oct-2018 05:48:51 GMT from
Tatanka, Bionic Buffalo, sysjinn, and sysjinni are trademarks of Michael Marking.