Send to Printer

law

Patent law hits bottom, digs

October 11, 2005 2:10:01.952

I think it's time to call out this patent nonsense. Have a look at this mess by Apple and the following people, who's names are on a patent that they all know full well is bogus:

  • Richard Williamson
  • Daniel Wilhite
  • Jack Greenfield
  • Linus Upson

Apparently, they were just granted this patent (filed in 2002) for the brilliant innovation of the proxy object. Well heck - I think there are a few instances of prior art. Just taking one I can rattle off the top of my head, let me fire up VisualWorks 2.5, released in 1995. Well - I see class LensAbsentee (actually shipped with VW 2.0, which came out in 1993, iirc). LensAbsentee is an abstract superclass (but not part of the "normal" hierarchy, as it's not descended from Object). It's purpose? Why, when you do a DB query using the Lens, you don't get full complex objects - you get - wait for it - proxies for them. When you actually try to deal with them, they fault in. Kind of like the way the patent explains it:

A method for providing stand-in objects, where relationships among objects are automatically resolved in an object oriented relational database model without the necessity of retrieving data from the database until it is needed. A "fault" class is defined, as well as fault objects whose data haven't yet been fetched from the database. An object that's created for the destination of a relationship whenever an object that includes the relationship is fetched from the database. When an object is fetched that has relationships, fault objects are created to "stand-in" for the destination objects of those relationships. Fault objects transform themselves into the actual enterprise objects—and fetch their data—the first time they're accessed. Subsequently, messages sent to the target objects are responded to by the objects themselves. This delayed resolution of relationships occurs in two stages: the creation of a placeholder object for the data to be fetched, and the fetching of that data only when it's needed. By not fetching an object until the application actually needs it, unnecessary interaction with the database server is therefore prevented.

So hey - you four "brilliant" patent holders - there's prior art staring you in the face (and I'm sure that there are older things than this - TopLink for Smalltalk predates the Lens, iirc). Do any of you have the integrity to admit it?

Update: I had pulled the patent links from this page, which apparently had them wrong. The links are fixed now, so that you can follow the absurdity in all its glory.

Comments

Why not check GOF book?

[ David Buck] October 11, 2005 6:34:16.834

Comment by David Buck

Not to mention that they patented a pattern described in the Gang of Four book on Design Patterns dated 1995. How could a prior art search have missed one of the most important books in the history of object oriented programming?

Don't forget GemStone's proxies...

[Bob Tucker] October 11, 2005 7:01:32.666

GemStone has used proxies since the late 80's to replicate objects into the client images from the DB. I still think I'm going to patent sitting on our tushes so that everyone that wants to sit down will have to pay me a royalty first. Sheesh

And Gemstone ...

[ Dennis Smith] October 11, 2005 7:02:11.702

Comment by Dennis Smith

Not sure when that was first done, but the proxy object superclass is called "GbxAbstractProxy" and does exactly what is described -- has to be 10 years.

We need more of these...

[Kevin] October 11, 2005 8:17:50.967

I think we need more ridiculous patents, not fewer.

Only when patents start to bite non-technical folk, will something be done about them.

Perhaps Eolas vs Microsoft or the injunction against RIM (Blackberries) will hurt influential people enough to demand change.

Copyright protection for software is enough, Patents only serve to confuse the situation, and raise the barrier for small companies.

See what sticks

[petrilli] October 11, 2005 9:58:06.441

I had a discussion about this with an IP lawyer at my last job. I had come up with something that I considered blatently obvious. It was a combination of one AI concept and another, and applied to a different field. I was told that basically if it's eveny vaguely interesting, they'll try and patent it, without regard to whether it should be patentable. Throw it against the wall, and see what sticks, I believe is what he told me. At the end it's mutual assured destruction, basically. As a company, you're trying to amass enough patents against other people that they won't sue you for fear of being sued. This is not how innovation happens, and is, in-fact, turning the entire patent system on its head. Math is not patentable. Computers are, at the end, just math. No freaking algorithm, process or program is patentable. Period.

Wrong Link?

[JoeK] October 11, 2005 19:07:13.996

The links take me to patent 6,954,811 assigned to Meenaradchagan Vishnu. I can't find the text quoted and the patent doesn't appear to me to apply to proxy objects. Is there a mistake?

Too much prior art to list

[Alan Lovejoy] October 11, 2005 19:11:21.078

The Versant OODB relies heavily on proxies and transparent deproxification. So does the JDO specification (which was inspired by the Versant architecture.) I've personally used similar design patterns numerous times during my 20 years using Smalltalk and Java.

Corrected link

[James Foster] October 12, 2005 0:15:36.510

The correct link is patent #6,952,706

Sorry Charlie

[Ron Pomeroy] October 12, 2005 16:20:51.464

DBKit's us of faults circa 1992 predates most of these products

Prior art

[ Terry] October 12, 2005 16:56:55.172

Comment by Terry

Distributed Smalltalk was using proxy objects and faulting in 1987. Ref: "The Design and Implementation of Distributed Smalltalk" OOPSLA 87 Conference Proceedings page 318-330

Re: Patent law hits bottom, digs

[ anonymous] October 12, 2005 17:57:09.390

Comment by anonymous

Somebody please explain how this is an "invention" considering this quote from the patent itself:

The preferred embodiment of the present invention implements an object-oriented programming system using Objective C language. Objective C is an extension to ANSI C that supports the definition of classes of objects and provides syntactic and run-time support for sending messages to objects. This language model is partially derived from SmallTalk and has been described in "Object-Oriented Programming; An Evolutionary Approach," Brad J. Cox, Addison-Wesley 1986 and in "SmallTalk-80: The Language and its Implementation," Adele Goldberg, Dave Robson, Addison-Wesley 1983. 
 

-Boris

 Share Tweet This