This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.

Patented Technology

Stefan Tilkov,

In one of his weaker weblog entries (every time he starts to pitch Artix, I hardly recognize his writing style anymore), Steve Vinoski mentioned IONA’s patented ART technology. So I took the time to look for it and found U.S. patent # 6,633,923, “Method and system for dynamic configuration of interceptors in a client-server environment”. It’s well-written and an interesting read, but I find it really hard to find the actual invention. This is the abstract:

A computer implemented method of creating and managing one or more interceptors. The method comprises the steps of intrinsically chaining the interceptors, and storing state information, in at least one of the chained interceptors, directed to a reference to the next interceptor. A server computer in a client-server environment that includes a processor configured to generate one or more interceptors and to intriscally chain the interceptors, and a memory associated with at least one of the chained interceptors and configured to store state information directed to a reference to the next interceptor thereof.

Steve has probably forgotten more about distributed computing than I’m ever likely to know — I’m puzzled that he would have to play the patent card (referring to the blog entry only, he’s not among the patent authors). I recognize that with the existing patent legislation you might be forced to patent something before someone else does; still, I find the use of software patents as marketing instruments appalling.

On June 5, 2005 9:44 PM, Steve Vinoski said:

Hi Stefan, I don’t like writing such blog entries any more than you like reading them. However, when someone takes a cheap shot at you like in the blog entry I was responding to, I feel that you have to respond just to set the facts straight.

To understand the inventions of a patent, you have to read the claims. The claims for the patent you mention revolve around how interceptors are chained together for maximal sharing between multiple chains within a single process while still allowing for per-interceptor uniqueness where necessary, perhaps for per-object or per-thread purposes. Since interceptors are so fundamental to ART, and the way we implemented them is what allows ART to be as fast as other approaches while providing much more flexibility than other similar frameworks, IONA saw fit to patent this invention.

ART has at least one other patent to its credit as well, number 6,453,320. I also think there might still be one or two other applications in process, I’m not sure.

Even though I was the main technical lead for ART’s development, my name is not on these patents for two reasons. First, the folks who did the detailed work on these areas deserve the patent rewards, not me. I didn’t participate in the detailed work enough to feel that I deserved any such credit. Second, I personally feel that so many software patents in general are wrongly awarded that I didn’t want to personally be involved in any such patents, whether valid or not. That’s a personal choice.

The reason I mentioned in my blog that ART is patented is mainly out of habit: when I mention ART in a general setting, I often mention that key elements of it are patented. Given that so many technical approaches today in 2005 are based around interceptors and other approaches that are critical elements of ART, elements that we came up with nearly a decade ago when we started developing ART, I don’t think it hurts to mention it from time to time.

On June 5, 2005 10:04 PM, Stefan Tilkov said:

Hi Steve, it’s just pure coincidence that I came across your blog post when I was just pissed at all of this software patent nonsense. I believe that Artix will be chosen, or not chosen, because it either is, or is not, good software. Software patents are just such a bad idea that while I can understand that a company might have to end up playing the game because the others do, I’m disappointed when technical people — especially those that really don’t need to, like you — embrace what I consider to be the last resort of those who can’t compete otherwise.