http://www.cs.cmu.edu/~hzhang/HFSC
Receiver-controlled Cooperative Resource Sharing
Consider yourself at home connected by modem. You have several telnet
sessions, a WEB browse, a ftp program running to download a large file. If
you do this today, the performance for your telnet and WEB browsing is usually
bad due to the large file transfer. What you really want is a system that
allows you to specify resource sharing policies such as: when I am browsing,
my netscape browser gets the highest share bandwidth, but at the same time, I
also want FTP program to make progress so that TCP does not timeout.
You can theoretically do this if you have a Fair Queueing server at the router
located at the other end of the telephone link, however, this is in practical.
One idea is to design a system that by manipulating TCP receiver state
machine, you can control the rate of remote senders, and implement a
receiver-controlled cooperative resource sharing system.
Porting Darwin to IPv6
Darwin is an experimental software system developed at CMU to support
resource management for value-added network services. There is a prototype
implementation of Darwin based on IPv4. In this project, you will port
Darwin to IPv6. For more information on Darwin and its QoS kernel, check out
Porting Darwin to Linux
Darwin is currently running in NetBSD/FreeBSD environment, In this project,
you will port Darwin to Linux environment. For more information on Darwin and
its QoS kernel, check out
Improve the tele-lecture tools we used in class
There is clearly room for improvement. One example of an improvement might
be to building a recording system for lectures.
Check out the MANIC project. Make it work in our environment and improve it.
http://gaia.cs.umass.edu/nmis/manic.html
Robust Inter-Domain Routing
Several studies have noted that routing on the Internet today is chock
full of "pathological" behaviors: route flapping, withdrawals for
routes that were never advertised, etc. In addition, human error can
and has lead to instances where pieces of the Internet have become
isolated from other pieces. It has been said (by me, mostly) that one
of the fundamental problems in the Internet is that routing protocols
assume that all routers will always tell the whole and complete truth.
It is worth investigating whether or not this requirement can be
loosened while still employing a dynamic routing protocol.
Specifically, the question is: Can a router avoid pathological
behavior by assuming that most routers are telling most of the truth,
rather than that all routers are telling all of the truth.
For example, consider this network:
A
\
\
P-----------Q
/ \
/ \
C D
Hosts A, C, and D are connected by routers P and Q. Assume that there
are 3 routes advertised in this network: A to D, A to C, and C to D.
(The actual computation of which links and routers are involved in
each route is left as an exercise for the reader.) Now, assume that
the route from A to C is withdrawn. Suddenly, we see that the network
has become inconsistent: If routes from A to D and from C to D are
still good, how could it be that the route from A to C is NOT good?
(Let's assume that any piece of hardware either fails completely, or
doesn't fail at all.) Thus, if we believe that most of the
information here is correct, we can deduce that the route from A to C
must still be functioning.
To complete this project, an enterprising investigator should find
a large base of BGP route information. By investigating this BGP
data, it may be possible to identify instances in which either a
single router has inconsistent state, or else a group of routers taken
together is inconsistent. Further, the investigator should explore
whether the idea of believing most rather than all information can
resolve these inconsistencies.
prs@cs.cmu.edu (last updated Aug 1998)