Categories

Undecided

I’ve been wondering about the direction I should take with my research related to the Energy Efficient Internet project.

Ultimately, our goal is to reduce the amount of power consumed due to the internet connectivity of edge devices. I’m focusing on the software side of things. I.e. What can we do to make our code less reliant on a power hungry network connection? In particular, I’m attempting to implement a “green” client/server model on top of a real world network application.

Network applications that require user input tend to be idle for a large percentage of time and thus are good candidates for application of the green model. But which real world piece of software should we modify?

A character based remote terminal connection seemed the obvious choice. I have been considering ssh and telnet and I’ve reached a mixed set of conclusions:

ssh is a much better choice as there is no way that telnet will have any real adoption.
telnet is a much better choice because ssh is a very complex piece of code.

To further muddy the water, there have been questions raised as to the using Minix instead of Linux as the implementation target. I’m undecided on this.

On the one hand, Minix as a whole is much more straight forward and more academically oriented. It might be much easier to write a paper based on Minix code. Furthermore, I’m interested in how the network stack and operating system itself can be modified to be more energy conscious and the learning curve for that level of mucking about in the Linux kernel would be quite steep.

On the other hand, the Minix install base is next to nothing and would have no where near the splash value of something done in Linux. Linux is as real world as it gets. There are also already projects focused on other areas of making Linux green where we might be able to get adoption.

My gut tells me that the correct thing to do is to start working on telnetd in Minix immediately. Rationalizing this urge, I believe that starting with something very straight forward with the entire operating system documented in hardcover might make things move faster. I also think that if I write the code correctly, porting any Minix code to Linux will be a snap.

I’d like to write multiple papers during my two semesters, and I think that doing the above might leave me with time to get my head around ssh and if I’m really lucky a chance to take a look at the network stack in Minix.

Comments are closed.