They patented IRC!

Kragen Javier Sitaker (kragen@kragen.dnaco.net)
Tue, 26 Jan 1999 21:48:15 -0500


Mailing-List: contact kragen-fw-help@kragen.dnaco.net; run by ezmlm
Reply-To: kragen-discuss@kragen.dnaco.net
Delivered-To: mailing list kragen-fw@kragen.dnaco.net

Slashdot just carried some information about US Patent 5,841,980,
<URL:http://www.patents.ibm.com/patlist?icnt=US&patent_number=5841980>.
Claim 1 of this patent (included in this email) appears to cover IRC.

Basically, you have a bunch of clients each connected to one of a bunch of
servers; all the servers are interconnected by a network backbone; each
server maintains some state information about the clients connected to
it; and when a client tells the server to change its state, the server
tells the other clients connected to that server (the ones that were
interested in that state change) and also tells the other servers.

The primary difference from IRC is that, in the IRC network, information
sometimes gets relayed from server to server, instead of being passed
directly from its origin server to all the other IRC servers at once.

Claim 1 covers state changes; claim 2 covers messages.

Claim 2 appears to cover IP multicasting, peered BITNET mailing lists,
and Usenet. Interestingly, claim 3 says "claim 2 where the servers
communicate by multicast", and claim 4 says "claim 2 where the servers
communicate by point-to-point".

Claim 5 appears to be a duplicate of claims 1 and 2, with some extra
stuff about handling information from remote servers which is obviously
necessary to do anything useful with claims 1 and 2.

Claim 6 covers using a global timebase to extrapolate state in the above
contexts, something I'm not terribly familiar with.

There are 48 more claims, and I have better things to do than read them
now, but the whole thing scares the hell out of me. What's worse is
the long list of 1996 and 1997 patents this one references.

1. In a distributed system comprising a plurality of servers
interconnected by a network backbone, each server hosting at least one
local client, and each local client having at least one local
participant, a method for allowing a plurality of participants to
participate in a multi-user application, the multi-user application
including a distributed global application environment comprising a
plurality of local application environments, each local application
environment residing on an associated server, each local application
environment comprising a plurality of parameters relating to a local
participant, the method for each server comprising:
* (a) receiving local participant information from a local client
regarding a local participant, the local participant information
comprising a change in a parameter of the local application
environment;
* (b) evaluating the local participant information based on
relevance of the parameter to other local participants to
determine the number and identity of local participants interested
in the local participant information;
* (c) copying the local participant information for every local
participant interested in the information;
* (d) copying the local participant information for every other
server in the distributed system;
* (e) distributing by the local server a copy of the local
participant information to every local participant interested in
the information; wherein distribution of the local participant
information is restricted to local participants interested in the
local participant information; and
* (f) distributing by the local server a copy of the local
participant information to every other server in the distributed
system, but not distributing by the local server a copy of the
local participant information to any remote participant to thereby
reduce the number of copies of local participant information being
distributed to participants.

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
I don't do .INI, .BAT, .DLL or .SYS files. I don't assign apps to files. I
don't configure peripherals or networks before using them. I have a computer
to do all that. I have a Macintosh, not a hobby. -- Fritz Anderson

-- 
Unsubscribes to kragen-fw-unsubscribe@kragen.dnaco.net; public followups to
kragen-discuss@kragen.dnaco.net.

----- End forwarded message -----

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
I don't do .INI, .BAT, .DLL or .SYS files. I don't assign apps to files. I
don't configure peripherals or networks before using them. I have a computer
to do all that. I have a Macintosh, not a hobby. -- Fritz Anderson