US Patent #7,464,384

Posted by Rick DeNatale Fri, 19 Dec 2008 20:56:00 GMT

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.

10-14-2008
Issue Fee Payment Received and Verified
10-21-2008
Application Is Considered Ready for Issue
10-14-2008
Amendment after Notice of Allowance (Rule 312)
11-03-2008
Response to Amendment under Rule 312
11-06-2008
Mail Response to 312 Amendment (PTO-271)
11-19-2008
Issue Notification Mailed
12-09-2008
Recordation of Patent Grant Mailed

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


Off Topic - Of Wires, Radios, Airports, and Open Source

Posted by Rick DeNatale Fri, 12 Dec 2008 18:40:00 GMT

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:

Denhaven Infra

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!


The OTI Brotherhood

Posted by Rick DeNatale Wed, 03 Dec 2008 20:20:00 GMT

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.


Bloganalysis - I'm a Mechanic

Posted by Rick DeNatale Tue, 02 Dec 2008 21:37:00 GMT

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.


Video Killed the Blogging Star

Posted by Rick DeNatale Mon, 01 Dec 2008 17:12:00 GMT

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.