Internet Congestion Control

When I worked at UCL, I developed an end to end bandwidth control system that provided a brute force way of controlling Internet congestion.

The Internet has a connection less network architecture; this means that it is very robust in that if one router goes down, packets will be routed to another router and communications will not be disrupted. The drawback is that there is no end to end resource reservation. There are techniques within routers to control traffic flows but there is no mechanism for stopping traffic entering the system.

The TCP-IP protocol has built in adaptive congestion control algorithms (slow start) but there is no brute force way of stopping traffic flows emanating from hosts. The purpose of the end to end bandwidth control system was to allow network managers to suppress and control traffic flows at source.

At the lowest layers of the system, monitoring and control hooks were inserted into the TCP-IP protocol stack; a management socket gathered statistics and allowed rate controls to applied to any socket.

At the higher layers of the system, a network management system was developed in Java using a CORBA distributed system (Iona Technologies? OrbixWeb), and multicast sockets; Java?s JDBC classes were used to build an interface with a SQL relational database that stored monitoring information; a GUI was written in Java Swing.