One of the new experiences I had in 2012 was applying for a patent. Patents are a hot topic these days, but you don’t always hear the perspective of the people doing the work. I thought I’d share a little insight into what it’s like to go through the patent application process from the inside.
When I was growing up one of my uncles worked for Tektronix in Beaverton, Oregon. He worked on power supplies, and one piece of family lore, his claim to fame, was that he had a patent. It gave him instant cred. Of course he knew what he was doing with this or that electronic thing, he had a patent. I didn’t know anything about the patent process at that point, but I knew they were special.
I didn’t take the typical college computer science route, and I’ve spent most of my career in the less-than-glamorous world of contract web development and hosting, which doesn’t see many patents applied for or granted. The only time I saw anything about patents were walls lined with lucite plaques in technology company histories or when someone was messing with someone else. Back in my ISP days, we were on the front lines of the 56k modem standard wars, something that came down, in large part, to patents.
Now I work at HP, on their public cloud. HP patents stuff. They patent a lot of stuff. A few months ago HP submitted a patent application on my behalf, and it’s now sitting in the hopper at the Patent Office, perhaps to be reviewed sometime in 2015. So how does a patent application happen?
Patents generally start with a problem that needs solving. Aside from Intellectual Ventures and research-oriented environments, most development groups don’t sit around brainstorming patentable ideas. They’re presented with problems, and have to figure out how to solve them. In my case, a general question from my manager of ‘what would our customers find valuable that we haven’t considered,’ led to some answers, which led to a question about agents.
Ideas don’t appear in a vacuum, and the patent I filed is very much a reflection of my experience and the question that was posed. If you ask an enterprise computer scientist to solve a problem and ask a startup system administrator to solve a problem, you’re going to get two very different solutions. I’ve built a lot of things with a small pieces loosely joined mindset, so my solutions tend to work that way. I’ve done a lot of startup work, too, so they tend to be a little messy.
In my case the question ended up being ‘have you had any thoughts about intelligent agents’, which I had, and my manager, being a smart guy, said ‘go work on that and see what you can come up with’. Over the next few weeks I spent more than a few hours staring at the trees in the backyard or the walls of the shower, tumbling thoughts around. During these hours you think about use cases and architectures and technologies and flexibility and scalability. Ideas bubble to the top, then get discarded. Eventually, to my surprise, I noticed an hour long block on a team face to face meeting schedule with my name on it, so I ended up with a week to turn the ideas into code.
Thus, you create a working prototype. You may start with grand ambitions, and then after wasting a day trying to get something to work, fall back to your old toolset. The working prototype is often ugly, reuses a bunch of code from previous projects, and has serious limitations. It’s sole reason for existence is to prove the concept and serve as a tool for gauging reactions. My prototype was terrible, but it was well received, and got people excited. You fiddle with your prototype some more, maybe do some more demos (I presented mine to our groups senior technical leadership in a more polished form), and eventually you get a yea or nay on further development. During the time between prototype and real product development starts, you do a lot of talking to people smarter than yourself. You throw ideas at them, get their response, and refine your concept. New features show up that eventually come to define the thing you’re working on. You may create another, more polished prototype that incorporates these new ideas.
When you go to work for a big company, you make some trade offs. I was an owner/manager at Polycot; anything we created, I owned part of. When I signed on to be an employee of HP, part of the deal was that if I created something related to what they do, they own it. If I’d been working on an open source project in my spare time and they were pushing for a patent on that, I’d probably feel differently, but the work my patent was filed on was stuff they asked me to do, directly related to my job. You can’t really argue with that. They paid me to work on it, I get the experience and a steady paycheck, they get the work.
In a big IT company, new patents are a good thing. If you have a couple of patents under your belt that bodes well for future promotion, and managers will actively put you in contact with the patent team if your idea shows promise. At HP our business unit has a patent attorney and patent coordinator. They meet with a larger group on a quarterly basis to decide what to patent. At that review meeting they go over something called a patent disclosure. Our patent coordinator is awesome. He gave me a lot of guidance and really lobbied for my patent.
Your job as the inventor of the patent is to write that patent disclosure. The disclosure is generally only a few pages, but it details what the invention is, why it’s a good approach, what business advantage it has, and what other similar things exist. At HP we also have a prestigious yearly technical conference. If you want to attend you have to submit a paper abstract detailing a new solution or invention. Since the deadlines for both the conference paper and quarterly patent review were at the same time, I wrote the text for the paper abstract and reused it for the patent disclosure.
The patent review committee looks through all the patent disclosures for the quarter, and based on their budget for patents (patent lawyers cost money), they file them into an A, B or C bucket. A patents definitely get filed, B patents get filed if they still have money left, and C patents don’t get filed yet. My patent disclosure got put into the A bucket, so we were away to the patent lawyers.
HP has patent attorneys on staff, but the actual drafting and filing of new patents is handled by outside legal firms. My patent disclosure was assigned to a company in the midwest, and a very nice attorney from the firm contacted me a few days later. The patent filing attorneys job is to turn your two or three page disclosure into a legalese patent application. They read the disclosure, and then you have a phone call where they ask questions and you get to clarify things that weren’t obvious. My attorney was really sharp, and she grasped the core concept really quickly. I guess when you file software patents all day, you get pretty good at software.
These conversations can be weird, since it isn’t always obvious what the patentable part of the invention is. Software patents aren’t like nuts and bolts, you don’t just come up with a new type of screw head, typically you’re patenting a way of plugging existing things together, and the whole thing is a little fuzzy. But it’s your job, the company paid you to do it, and the company wants the filing.
Eventually the patent attorneys send you a draft patent application, which you review and send back notes on. You do this till everyone’s happy. The firm even comes up with the patent drawings, usually based on a diagram the inventor provided. Once the application is finalized they send you a bunch of papers to sign where you sign away your rights to the invention. This is feels weird, but it’s part of the deal you made, so you hug your medical insurance card and sign them.
The whole process takes a couple of months, possibly more if there aren’t any hard deadlines (there were in my case). Eventually they tell you the patent application has been filed, and at HP (and most big companies), you get a bonus in your paycheck (at HP it’s a grand).
Once the patent has been filed, it takes half a year or more to show up in the pending patents search at the Patent Office. It takes one to three years more for it to actually cross a patent examiners desk. At that point they may ask more questions, they may reject the patent, or they may accept it, in which case the patent is granted for 20 years to the assigned entity. In HP’s case that’s a separate company called the Hewlett-Packard Development Company which owns HP’s intellectual property. At HP, if the patent is granted you get a plaque, and it joins the 36,000 others in it’s portfolio.
So, that’s the process. Now for a little perspective. I’m personally not a huge fan of software patents. 20 years is way to long, in my opinion, and though I see their value (if you invest in innovation like HP invested in me working on it, you should get something out of it), I agree with the EFF that granting them for such a long time in our current technology environment is crazy. I really like Twitter’s Innovator’s Patent Agreement, but that’s never going to happen at HP. The thought of my patent, assuming it’s issued, being used to suppress further innovation has kept me up at night, but it was the agreement I made when I joined the company. So, what to do?
In the end, I decided to donate the bonus HP paid me for filing the patent to the EFF. With HP’s end of year charitable donation campaign, they even matched it. I’m also going to try to get some of this work open sourced (which has it’s own review process at HP), which would make some of the problems moot, and is the most useful thing I can do for everybody from my position as inventor and product lead. Hopefully in that way the potential bad can be offset with some potential good.
The patent has been filed, and is available for perusal on Google Patents.