When I retired from IBM some years ago, I had a couple of pending patent applications. I always wondered if and when the
patent(s) issued, whether or not I would hear about it.
Early this week, I got notification that one of the applications had been granted last Tuesday, and I’m now recorded as the inventor of
US Patent #7,464,384 “Method for inter-object communication”
Word came not from IBM, but from an outfit which sells plaques commemorating the issuance of patents. I still haven’t heard
and don’t know if I ever will, from IBM.
The road to patent issue can be long and winding. I’ve looked at transaction history for this patent on the US Patent office’s web site
and see this history (some details omitted):
- 03-14-2002
- Application filed
- 11-02-2004
- Non-Final Rejection mailed to IBM
- 02-01-2005
- IBM response after Non-Final Action
- 06-10-2005
- A second Non-Final Rejection mailed
- 08-01-2005
- IBM responds again
- 09-28-2005
- Patent office mails a Final Rejection
- 11-16-2005
- IBM submits an Amendment after Final Rejection
- 12-09-2005
- Patent office mails an Mail Advisory Action
- 12-14-2005
- IBM files Notice of Appeal
- 02-14-2006
- Appeal Brief Filed
- 06-06-2006
- Yet another Non-Final Rejection
- 09-06-2006
- IBM files another Notice of Appeal
- 11-06-2006
- Appeal Brief Filed
- 12-06-2006
- Appeal Forwarded to Examiner
- 12-06-2006
- Appeal Brief Review Complete – a quick review!
- 02-26-2007
- Another Non-Final Rejection
- 05-24-2007
- Another response from IBM
- 08-02-2007
- A second Final Rejection
What had been going on was an argument between the Patent examiner, and the lawyer representing IBM about the claims in the patent application.
The claims are what gives a patent force. Each claim can be defended individually. Most patents contain one or more series of claims
starting with specific claims followed by more and more general claims. For example if you had invented the Car, you might first
claim a motor vehicle with four wheels, powered by an internal combustion gasoline engine. A broader claim might be the invention
described in the first claim with any kind of internal combustion engine, then with any kind of engine. Other variations might hinge
on the number of wheels, etc. The original patent application contained 30 claims, and at this point the Patent Examiner had rejected
all of them.
- 11-05-2007
- And another Notice of Appeal Filed
- 11-05-2007
- Request for Pre-Appeal Conference Filed
- 12-20-2007
- Pre-Appeals Conference Decision – Reopen Prosecution
- 12-21-2007
- Mail Appeals conf. Reopen Prosec.
IBM submitted a detailed defense of the claims in the patent.
- 12-21-2007
- Date Forwarded to Examiner
- 12-28-2007
- Mail Non-Final Rejection
- 04-04-2008
- Request for Extension of Time – Granted
- 04-04-2008
- Response after Non-Final Action
- 05-09-2008
- Date Forwarded to Examiner
- 07-15-2008
- Mail Notice of Allowance
IBM’s attorney apparently finally convinced the Patent examiner to accept the most specific claim in the patent. I assume that this is
the point at which it was determined that the patent would be issued.
So it took six years and four months to convince the Patent office of the validity of the application, and just shy of fiver more months before the patent issued.
What a trip!
And to be honest, I’m rather ambivalent on the whole issue of software patents
This past Monday, which happened to be my plenty-seventh birthday, I managed to win an Apple AirPort Express in the end-of-year raffle. I’d been looking for a way to extend the range of my WiFi network here at DenHaven manor. Discussing this at the meeting led me to investigate configuring it as a WDS endpoint. A bit of googling indicated that this should work, although I might need to use WEP encryption rather than WPA/PSK.
After trying for three days to get my prize from Monday night, and my Linksys WRT54G router running OpenWrt to communicate via WDS, with or without either form of encryption. I gave up and went another route.
Yesterday’s attempt was to do a major upgrade of OpenWRT from the old White Russian release, to the latest stable Kamikaze release. I won’t go into the details, but there have been major changes to the configuration approach between those releases, which had held me back, but I figured that since the old firmware was quite old, I might be successful with the new.
Alas! no joy.
So this morning I started investigating puttingdd-wrt, another open-source firmware system on the Linksys. While reading their docs, I started thinking about other ways to skin the cat. When we built our house about six years ago, we put in a pretty extensive structured wiring system, so I’ve got cat-5 ports many places in the house (of course I’m always finding places where I’d like another one).
So now, I’ve got the Airport express wired into the home LAN in a configuration like this:

Both the WRT54G and the Airport Express are configured as wireless access points, neither is running DHCP, which is supplied by one of the machines on the wired LAN. Both access points are configured with the same ESSID, but are on different radio channels.
So far, it seems to be working well. It’s confirmed my original belief in the value of having both wired and wireless infrastructure.
And the Airport Express will come in handy for other things as well. Tomorrow I’m planning to participate in the Radiant Sprint and I’ll be bringing the AirPort Express with me to contribute to WiFi access for the participants.
Thanks TMUG!
A week ago today, I travelled up to Grand Rapids Michigan, to give my RubyConf 2008 talk to XP West Michigan at . XP West Michigan is an enthusiastic group of software craftsmen, who were great hosts.
This trip came about thanks to my friend and former colleague at OTI, Paul Vanderlei, now of Band XI a small consulting company comprised of former OTIers. Paul blogged about the talk here.
I spent the last, and best, part of my IBM career at OTI, and I’m feeling nostalgic, so if you’ll humor me a bit, I’d like to reminisce publically a bit.
Object Technology, or OTI, was founded by Dave Thomas, who was on the faculty at Carleton University, in Ottawa Canada. Dave along with a couple of other Carleton faculty including John Pugh, and Wilf LaLonde, introduced Smalltalk as the introductory programming language. Just to be clear, this is a different Dave Thomas than the Dave Thomas of the Pragmatic Programmers, who is probably better known to a lot of my readers. OTI was started by Dave and his wife, staffed by a few of his students. Within OTI Dave was known by several names including “Big Dave”, which distinguished him from Dave Thomson, one of the first OTIers, but most often we called him DAT.
OTI wasn’t the only Ottawa based Smalltalk oriented company spun off from Carleton, John and Wilf started The Object People, which, among other things produced TopLink one of the first object-relational mapping packages, an ancestor of ActiveRecord. TopLink, like VisualAge made the jump from Smalltalk to Java and is now an Oracle product.
Early on, OTI viewed embedded applications as a target for Smalltalk. OTI was one of the companies which produced Smalltalk virtual machines, but tended to stay slightly in the background. They did several VMs for embedded systems, but they also implemented the VM for the Macintosh version of Smalltalk/V, which was sold by Digitalk, so many users didn’t know of it’s true source.
John Duimovich was the VM team lead back then.
The majority of the old time Smalltalkers remember OTI for Envy/Developer, the first version and configuration management system for Smalltalk. OTI was one of the pioneers in applying agile iterative development processes to medium to large-scale projects, and Envy was a key enabling technology.
I first started interacting with OTI and DAT as part of the early OOPSLA community, and then as the VisualAge saga unfolded, a story I related a while back. Dave is, and always has been, an iconoclast, unafraid to tell the truth as he sees it, no matter what the recipient of his message feels. Bearding the lion in its den is DAT’s stock in trade. In 1992, I organized a panel at OOPSLA which explored the pros and cons of software “methodologies” versus the more pragmatic approach of code-driven development. DAT and I were on the pragmatic side, opposite a couple of icons of OO methodologies, Peter Coad, and Grady Booch. I’m pretty sure that Grady has forgiven me, I’m not so sure about Peter.
As a result of OTI’s contributions to VisualAge, it was acquired by IBM, and became a wholly owned subsidiary of IBM Canada. Shortly after this happened, Dave decided to “raid” IBM and drafted a few IBMers on the VisualAge development team in RTP to work at OTI’s lab in Raleigh. Besides me, the draftees included Tim Wolf (who had spearheaded the mainframe version of IBM/Smalltalk),
Patrick Mueller (my evil twin), and Scott deDeugd, with Dave Lavin and Randy Caroll following shortly thereafter.
OTI tended to build laboratories around key people. For example, DAT hired Erich Gamma and opened an OTI lab in Zurich. Labs in Sydney Australia, Victoria British Columbia, Minneapolis, Raleigh and Amsterdam were all part of the OTI “Empire” with its capital in Ottawa. Before I was drafted, I got to spend a month in the Sydney lab working with Jeff McAffer on a server Smalltalk product combining many of Jeff’s ideas with my earlier work on VisualAge/Smalltalk Distributed Jeff went on to be one of the key architects of Eclipse which arose like a Phoenix from the VisualAge IDE.
OTI was an oasis of pragmatic software development within the Big Blue Mothership. OTI introduced IBM to agile development methods, most notably strictly time-boxed delivery with flexible content definition. This required a process which made sure that the system was always ready to ‘ship’ even though it might not be complete according to the plan. Today we call this continuous integration.
DAT is still at it. When I was in Grand Rapids, Paul told me about his recent attendance at Eclipse Summit Europe where DAT gave a keynote where he excoriated Java as the “new COBOL” with an audience full of Java afficionados. That’s DAT for you. From what Paul tells me, JavaScript has caught DATs attention of late.
Pat Mueller has a a Planet OTI site which provides an RSS feed for this blog along with many other blogs by former OTIers. It’s a good place to meet quite a few interesting people.
Over the past couple of days, I’ve seen
several
blog articles
about
typealizer
a web service which analyzes blog authors personalities based on what they’ve written.
For better or worse, here’s what it has to say about me.
ISTP – The Mechanics

The independent and problem-solving type. They are especially attuned to the demands of the moment are masters of responding to challenges that arise spontaneously. They generally prefer to think things out for themselves and often avoid inter-personal conflicts.
The Mechanics enjoy working together with other independent and highly skilled people and often like seek fun and action both in their work and personal life. They enjoy adventure and risk such as in driving race cars or working as policemen and firefighters.
The video of my talk at RubyConf 2008, “The Fall and Rise of Dynamic Programming Languages”, is now available at the confreaks RubyConf 2008 page, where you can find most of the talks.





