❌

Reading view

There are new articles available, click to refresh the page.

This software engineer is taking Google to the U.S. Supreme Court to clarify patent law

Jeff Kohler is asking the U.S. Supreme Court to clarify patent law after courts sided with Google to invalidate his software patent. (Photo courtesy of Jeff Kohler)

Jeff Kohler was working as a software engineer in 2005 when he started spending his nights and weekends on a side project: a web conferencing system that could record and replay live sessions. He filed for a patent without the help of a patent attorney, stuffing two CDs full of C++ source code into the application to show his work.

The patent was issued in 2010, and years later, after Kohler had joined Microsoft, the Redmond company licensed his technology for its Teams video-conferencing platform.

When YouTube later added the ability for viewers to pause, rewind, and change the playback speed of live video, Kohler saw in the feature what he considered to be his own invention. Kohler, who lives in Bellevue, Wash., sued Google for patent infringement in U.S. District Court in Seattle in April 2023.

But rather than defending the feature’s originality, Google argued that Kohler’s patent was too abstract to be eligible for patent protection. The district court agreed and dismissed the case, and the U.S. Court of Appeals for the Federal Circuit affirmed that decision.

Both decisions cited Alice Corp. v. CLS Bank International, a 2014 U.S. Supreme Court ruling that raised the bar for software patent eligibility by holding that an inventor cannot patent an β€œabstract idea” implemented with generic technology.

Since then, Alice has been used to invalidate thousands of software patents, and the Supreme Court has repeatedly declined to revisit the standard. Now, Kohler is asking the Supreme Court to take up his case, not to overturn Alice, but to clarify how courts should apply it.

β€œThe patent legal system has become hostile to inventors,” Kohler said. β€œBecause of Alice, my case got stopped before it even started.”

How Alice changed patent law

When Alice was handed down, patent trolls were on the rise: shadowy entities that bought vague patents to sue tech companies on shaky claims of patent infringement.Β 

That changed under the 2014 ruling, which requires that a patent clear two hurdles: the idea cannot be β€œabstract,” and it must propose a sufficiently β€œinventive concept.” The standard has become β€œa crucial tool” for fighting patent trolls, in the words of the Electronic Frontier Foundation.

But critics say it’s ill-suited to software patents. Because software inventions often rely on pre-existing hardware to run the source code, courts tend to find many of these patents to be insufficiently inventive.

Jon McMichael, an IP lawyer who has written about Kohler’s case, said this challenge is common in patents where inventors rely on general-purpose computers and off-the-shelf hardware to implement their ideas.Β 

β€œThat’s where those patent holders run into more problems,” he said.

Experts say the courts’ application of Alice has broadened to invalidate the patents of real inventors in addition to those of patent trolls. Toshiko Takenaka, a University of Washington IP law professor who is working on an academic paper about Kohler’s case, said Alice’s ability to quickly defeat bad actors comes β€œat the expense of the best inventors.”

β€œSoftware patents are too frequently being invalidated without giving the owner the opportunity to defend it,” Takenaka said. β€œThis inventor provided something ordinary computers could not do, right? So therefore, in my view, this is an eligible invention.”

Some judges have raised similar concerns, including Federal Circuit Chief Judge Kimberly Moore, who authored the opinion affirming the dismissal of Kohler’s case. In a 2020 concurrence in a separate case, Moore wrote that she and her fellow judges were β€œunanimous in our unprecedented plea for guidance” from the Supreme Court on how to interpret Alice, which she called a β€œpatent-killing judicial exception of our own creation.”

A quest for legal clarity

After filing his patent, Kohler spent more than 15 years at Microsoft, where he helped launch HoloLens and rose to senior director of product management for the Surface line. He later served as a product leader at Meta for its Horizon platform.

Kohler says he’s hopeful the Supreme Court will agree to hear his case because his petition takes a new approach, asking the court to clarify how to apply the Alice test rather than disputing the test entirely. His new attorney, Kathryn Jean Miller, who does not have prior patent law experience, was admitted to practice before the Supreme Court bar for this case.

β€œIt’s me and my lawyer against the world,” Kohler said. β€œI never thought I would be doing something like this.”

The Supreme Court has declined more than 89 petitions related to Alice, some of which had the Solicitor General’s endorsement. The justices will decide on Sept. 28 whether to hear Kohler’s case and likely announce their decision the following week.

Kohler is hoping that other inventors will file amicus briefs, which are due by Sept. 23, to illustrate to the court the need for clarification.

β€œThere’s a broad coalition of people who would like some sanity brought back to patent law, from small inventors and startups to former judges,” Kohler said. β€œThat’s what I’m trying to do with my petition.”

DOOM Played on Series of 555 Timers

It’s technically true that any piece of software can be reproduced in hardware, although modern software’s size and complexity generally makes this a non-starter. But if we go far enough back in time, older software becomes easier and easier to implement in hardware. The original DOOM from 1993 might one day be recreated in full this way, but that day is not today. Instead, [Nick] has recreated the original music from that game, playing the opening track in nothing but 555 timers.

The circuit starts with a 555 timer that acts as a system clock with a rate of just over 7 Hz. These pulses feed a binary counter which in turn feeds a decoder, giving the circuit 15 positions. Each output of the decoder feeds to a diode matrix which stores information about what pitch the circuit should play. The circuit only needs to play six pitches so the diodes effectively connect each moment in time to one of these six notes. From there the circuit feeds into a set of switches which select different resistor networks of another 555 which is actually responsible for producing sound. The resistor networks have different values to adjust the timing of the 555 to produce different pitches.

Of course this entire exercise is largely academic as almost any microcontroller would be able to be programmed to play this chiptune quite easily, but it’s not a bad idea to get down into the weeds of digital logic from time to time in order to refine one’s skills and knowledge about what’s really going on in the inner workings of circuits. Or, go even deeper than that and build the logic gates themselves from first principles.

❌