*BSD News Article 74086


Return to BSD News archive

#! rnews 7886 bsd
Newsgroups: comp.os.linux.networking,comp.unix.bsd.freebsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!spool.mu.edu!howland.reston.ans.net!gatech!news.mathworks.com!newscaster-1.mcast.net!cs.tu-berlin.de!news.rrz.uni-hamburg.de!news.Hanse.DE!wavehh.hanse.de!cracauer
From: cracauer@wavehh.hanse.de (Martin Cracauer)
Subject: Re: Getting off the stick [was Re: TCP latency]
Message-ID: <1996Jul18.152913.29947@wavehh.hanse.de>
Organization: BSD User Group Hamburg
References: <4paedl$4bm@engnews2.eng.sun.com> <4s8rtp$jsh@fido.asd.sgi.com> <4sej3e$155@dworkin.wustl.edu> <4seo88$fqd@fido.asd.sgi.com> <4sesh4$2ls@dworkin.wustl.edu> <31EDBDA2.41C67EA6@FreeBSD.org>
Date: Thu, 18 Jul 96 15:29:13 GMT
Lines: 149
Xref: euryale.cc.adfa.oz.au comp.os.linux.networking:45682 comp.unix.bsd.freebsd.misc:23925

"Jordan K. Hubbard" <jkh@FreeBSD.org> writes:

[...]

>For us to hold our own against Microsoft, much less gain any ground, we
>need to stop focusing on the classic desktop applications that Microsoft
>has already won for itself and start thinkng more about server
>applications which somehow capitalize off of UNIX's unique strengths
>(probably in cooperation with the system builders to give that
>additional edge).  Features like transparent clustering, where to
>increase your aggregate horsepower you simply drop another PC or
>SPARCstation or whatever into your computational cluster and it rolls
>into the pool like one blob of mercury joining another.  Projects which
>allow us to finally throw NFS out on its ear and replace it with a file
>sharing protocol which is safe (e.g. actually has industrial strength
>locking) and fast.  More advanced frameworks which allow us to get away
>from the concepts of hosts and client/server relationships and more into
>the area of "services" where you don't even need to think about where
>something comes from, you just ask for it and the first available
>"resource server" with the information you need picks it up or tells you
>who to ask in turn. [...]
[...]

>I do realize that this is a highly idealized vision, I'm simply trying
>to underscore the point that the real fight isn't in the OS arena at
>all, it's what sits on top.  So far, sadly, not many people have chosen
>to look up there since it's far easier to worry about minescule
>differences in your fork() timing than it is to design and implement
>clustering protocols or write free CORBA implementations.

You are talking about Xerox Parc's ILU (partly, of course :-).

ILU is a framework to make a network-wide application out of modules
running on different machines/platforms (even Win32), written in
different languages (!) and capable of using a lot of protocols to let
it's objects talk.

ILU can use a number of protocols to let the modules talk. Some of
them are compatible with Corba. Another is HTTP 1.0 (in the 2.0beta),
opening a whole number of possible games to play with browsers,
proxies/caches and other already existing HTTP-capable stuff. I could
go on, but you got the idea.

I have one year of ILU mailing list archive (576 messages). Only two
messages state ILU is actually used on FreeBSD|NetBSD|OpenBSD, without
any implication of what is done. Linux has more messages, but all are
about installation problems. When the version is mentioned, users of
both camps have the experimental OS version (FreeBSD-2.2,
Linux-1.[13]) running, so I can't resists to think these projects are
not too much focused on a real application. Scanning the
documentation, I see someone contributed pthreads support for
Linux. The FreeBSD ports collection doesn't have ILU. The ILU WWW page
lists some place where ILU is used. No pun intended, but almost all
listed users are inside of PARC or .edu projects on distributed
databases.

Although ILU is the only tool I know of that could support some of
Jordan's thoughts, I see no hint that projects of that sort exist.

See what we have today:

Especially the BSD camp is proud of their networking
capabilities. What network capabilities? I see support for couples of
individual machines. I don't see a network-wide system.

Our capabilities to let machines work together are clearly
limited. 

Using descent tools, we can login to another computer, copy files from
one computer to another and we can design client-server applications
using a hand-written, one-application-only protocol (HTTP, nntp, time
handling, `cat /etc/services`) and distribute a database of computer
names (bind).

Using less descent tools, we can have transparent file sharing (NFS),
distribute a still-limited set of configuration databases (NIS) and
can display an application on another's computer screen (X11).

The "services instead of-explicit-connections" Jordan mentions and
things like autoconfiguration of machines dropped into an existing
pool are not easy to implement. Do you really want to invent your own
application-level protocol, choose one (and only one) lower level,
write your own client-servers, tangle with people who want to use
other languages with your protocol etc etc etc?

ILU would support most of this, but people go on developing standalone
applications using their own protocols.

I think Jordan is just right in what he thinks we need to have a
future. 

What does the lack of interest in ILU mean for free software?

1) People actually want to use their own high-level-protocols

2) People don't care about interoperablity of their applications (In
   Corba sense)

3) People don't care about other people using other languages

Point 2 is especially bad for Unix folks. What would you do if the
output of grep(1) couldn't be fed into wc(1)? How many useful things
have you designed using a pipe in a shell. What would you do if grep
and wc were just plain file in/out? But that is what most networking
stuff does today. Corba attacks this problem (although the OMG is not
a very dynamic group).

Now that the free software world has shown that they have enough power
to form groups that are capable of cloning whole operating systems,
it's time to stop cloning and form groups to design things that make
Unix better that Microsoft in some way.

Have a look on how Microsoft works: They slept and the Web/the
Internet slipped through their hands. So what? Make the best of the
situation. They design of number of idea how to make the Web more
useful. Their OLE extensions to WWW browsers might be a security
nightmare, but from a usability standpoint they are outstanding good
ideas.

We need some similar things, not for the end-user, but for the
computing service provider (whatever service that may be). See Jordans
post for examples.

`find . -exec grep ...` is not enough to fight Microsoft. I think many
new Linux users actually use Linux not because it is what they dreamt
of but because Windows is so buggy and they lost work. Few of them
will use find(1) and certainly don't want to touch
/etc/resolv.conf. Basing a software business on the fact that the
alternatives are buggy doesn't seem very attractive.

And see ftp://ftp.parc.xerox.com/pub/ilu/ so you don't have to
reinvent things. ILU is, BTW, in good shape, has competent
implementors and just works. The only drawback is that more languages
could be supported, but that's a matter of contributions.

In the past I enjoyed comparing NetBSD and FreeBSD more than to do
some of the useful things. Will have to think over it.

Happy Hacking
	Martin

P.S. Why don't you just hand-code a benchmarked system call to last a
thousand times more than normal and play funny sounds meanwhile?  We
are here to have fun, or what?
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de> http://www.bik-gmbh.de/~cracauer
                    Where do you want to go today? 
          Hard to tell running your calendar on a junk OS, eh?