Subject: Re: PR misc/23431 (CARP)
To: Michael Hertrick <m.hertrick@neovera.com>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-net
Date: 11/15/2003 15:20:03
On Sat, Nov 15, 2003 at 12:51:02PM -0500, Michael Hertrick wrote:
> 
> The following page answers some questions, but raises others.  It does 
> provide a link to an abstract of the Cisco SRP patent.
> http://www.foo.be/vrrp/

The patent abstract is worthless in this context.  What is required is
an element-by-element analysis of each of the claims.  If any of those
combinations of elements can all be found in CARP, then CARP infringes.

The patent, including its claims, is available free of charge from the
USPTO web site.  It is important to not be angry, self-righteous, nor
skeptical when reading these things, nor to concern oneself with who
might actually have invented something "first" nor whether certain
elements may be "obvious" nor to try to bend the claim language nor
one's understanding of the potentially infringing work try to make things
fit or not fit.  The best way to do things is to dispassionately draw
a diagram for each claim, listing each element recited in the claim
itself (if there are "markush group" claims, you must decompose them
into one claim with each element of the group listed -- these are
claims of the form "an X selected from the group consisting of...")
and checking off whether that element of the claim can be found in the 
potentially infringing work.  If you check off each element for *any* claim, you
have a winner -- or, from our point of view, a loser: the work infringes
the patent.

I'm not really interested in doing such an analysis for CARP, but you
can do one yourself if you are really interested.  It is a useful
exercise to undertake though if you're really worried about infringement
or litigation of course you might well want to consult a lawyer (I am
*not* a lawyer).

Here is an example:

	WHAT IS CLAIMED IS:

	1. A system for destroying frogs, composed of:

		steel jaws
		a conveyor belt
		a burning device
		an ash disposal apparatus

	2. The system according to claim 1, wherein the burning device
	   is a gas-fired furnace

	3. The system according to claim 1, wherein the ash dispoasl
	   apparatus is selected from the group consisting of high speed
	   fans, trash compactors, and chemical reprocessing apparatus.

So, the first thing to note is that claims 2 and 3 are "dependent 
claims".  It's impossible to infringe them if you don't infringe claim
1, which is an "independent claim".  Clearly we want to start with
claim 1 if we want to see if our frog-destroying machine infringes.

So, we go through the elements of the claim:

CLAIM ELEMENT			OUR MACHINE
steel jaws			yeah, we've got steel jaws.
a conveyor belt			we have a multi-segmented rubber belt... uh oh
a burning device		hm.  we've got an oil-fired crematorium...
an ash disposal apparatus	we dump the ash into an acid solution, which
				it neutralizes, and pour the result down the
				drain.

Uh-oh.  We've got all the elements.  We infringe claim 1.  But let's see
about claim 2:

CLAIM ELEMENT			OUR MACHINE
a gas-fired furnace		nope.

We don't infringe claim 2.

How about claim 3?  Here, we have to decompose the "markush group":

CLAIM 3, GROUP MEMBER 1			OUR MACHINE
high speed fan for ash disposal		nope.

CLAIM 3, GROUP MEMBER 2
trash compactor for ash disposal	nope.

CLAIM 3, GROUP MEMBER 3
chemical reprocessing apparatus		huh.  yeah, we can wiggle and
					squirm, but an uncharitable
					observer would probably say
					that our dump-neutralize-drain
					implementation is "chemical
					reprocessing apparatus".

Result: we infringe claims 1 and 3.  It's often worth going through the
whole exercise at length because even if someone wanted to spend the
huge amount of money to litigate, they might well get one of the
*independent* claims knocked down, but leave some/all of the *dependent*
claims intact.  If we infringe more than just the independent claims,
we have even more to worry about...

Then we'd move on to the next independent claim, and repeat the exercise.
One other note -- it doesn't matter if we call our invention a "small
animal decimator" or what-have-you; if it's used for destroying frogs,
both we *and the user* may be guilty of infringement; it's whether the
actual *claim elements* match that matters.  (There are some fine points
of patent law here that I am not really competent to go into, but as a
layman trying to figure out if you infringe or not it is best to be
*extremely* conservative about this.  If it really matters, ASK A GOOD
PATENT ATTORNEY).

> As I become more familiar with CARP, I see it has more in common with 
> VRRP than the authors might want to admit.  The code is original and the 
> methods are original, but the end result of the program is very similar 
> to VRRP/HSRP.  Without access to the patent itself, I'm not sure if it 
> infringes.

I am much more concerned about something else: CARP hijacks numbers
allocated by IANA to another protocol, namely VRRP.  I cannot see how
we can possibly integrate it into NetBSD when this is the case.

Thor