[comp.windows.x] Can X Be Used As A General-Purpose IPC Mechanism?

Will@cup.portal.com (Will E Estes) (06/24/89)

Can X be used as a general-purpose IPC mechanism across a network, or
is X so specifically tailored to user-interface functions that it is
not well-suited towards more general IPC and client/server functions?
The way I understand it, X officially supports TCP/IP and DECnet.
Are there plans to support TOPS, Novell, the Microsoft LAN Manager,
and Appletalk?  (Did I leave out any other obvious nets?)
Thanks,
Will

karlton@fudge.sgi.com (Phil Karlton) (06/29/89)

In article <19833@cup.portal.com> Will@cup.portal.com (Will E Estes) writes:
>Can X be used as a general-purpose IPC mechanism across a network, or
>is X so specifically tailored to user-interface functions that it is
>not well-suited towards more general IPC and client/server functions?

While X could be used to implement an IPC mechanism, it would not be
very efficient. On page xxiii of the Digital Press _X Window System_ book,
there is a paragraph that addresses this point. The last sentence is

    The X protocol is correctly viewed as just one component in an
    overall distributed system architecture, not as the complete
    architecture by itself.

There is only one client/server function that X was intentionally
designed to support.

Let me encourage somebody out there to design, implement and give away an
OS and transport independent RPC mechanism. You could become famous.

>The way I understand it, X officially supports TCP/IP and DECnet.
>Are there plans to support TOPS, Novell, the Microsoft LAN Manager,
>and Appletalk?  (Did I leave out any other obvious nets?)

X doesn't actually support any transport mechanism; it's more the
other way around.  The X protocol can be built on top of any reliable
byte stream. As you note, there already exist implementations on top
of TCP/IP and DECnet. ChaosNet seems like an obvious example of a
network that somebody should be working on.

PK

swick@ATHENA.MIT.EDU (Ralph R. Swick) (06/29/89)

     Date:  24 Jun 89 01:45:13 GMT
     From:  imagen!atari!portal!cup.portal.com!Will@bloom-beacon.mit.edu  (Will
     E Estes)

     Can X be used as a general-purpose IPC mechanism across a network, or
     is X so specifically tailored to user-interface functions that it is
     not well-suited towards more general IPC and client/server functions?

Well, it _can_ be (and has been), but then you can also split firewood
with a screwdriver and hammer.  The several mechanisms in X for
inter-client data exchange are not tuned for traffic that has
high bandwidth requirements.  General full-function IPC is "not our job,
mate" but we were forced to specify the minimal capability necessary
to build useful multi-client windowed applications without waiting
for others to do real IPC.

     The way I understand it, X officially supports TCP/IP and DECnet.
     Are there plans to support TOPS, Novell, the Microsoft LAN Manager,
     and Appletalk?

Whenever any vendor chooses to propose a standard port/service-name/
name-server-attribute-list/whatever for an X client and server to
connect on a particular network transport, I'm sure there will be
others willing to discuss and/or adopt it.   Common or Standard
application-level syntax (e.g. command line args) for selecting
alternate transports is a slightly more touchy problem, as it has
direct impact on pre-existing users and applications.  I'm not
aware of any formal proposals for either at this time.