Multi-Channel Communication Patent Up For Sale
OTDR alerts us to the latest software patent stupidity in the news as patent number 6,418,462, "methods allowing clients to perform tasks through a sideband communication channel, in addition to the main communication channel between a client and server," snubs its nose at AJAX, ftp, and decades of prior art and goes on sale next month in San Fransisco. "Singled out are AJAX mashups including Google Maps and Gmail, and Microsoft 'Live'... Also in the frame are Amazon's S3 and EC2 and clusters from Microsoft, VMware, and Oracle. eBay's Skype, Napster, and Microsoft's Groove are also listed as potentially infringing on the patent in P2P."
First off, they don't quite link to the patent so on a non-slashdottable version is here or you can go straight to the full massive PDF if you want (single file if you have problems viewing above in Linux).
Looks pretty much like a poster child example of why the patent system is broken. Either that or the USPTO needs to start looking at revoking patents in hind sight or after professional review by many leading members of the field. So much for patent reform!
My work here is dung.
Yup. The actual claim 1 (the important part) is:
A method in a metacomputing, distributed network of utilizing remote client resources in the network, comprising:
a server that implements tasks by utilizing idle resources in multiple clients;
individual communication channels between each client and the server;
a second, separate dedicated communication channel (sideband channel) between each client and server, through which the server distributes the tasks to the each client downstream and through which each of the clients sends the results of the task upstream to the server.
So how the HELL does this have anything to do with Ajax, FTP etc.
Another Slashdot summary to laugh at.
As above, the summary isn't especially accurate. What the patent proposes is a system where anybody who connects to a webserver is asked by that server to compute a chunk of some distributed processing problem. Essentially, the concept of SETI@home or distributed.net; but allegedly bodged on top of an ordinary communication session with a web server. Trouble is, it's a bloody stupid idea. The system depends on the client system executing whatever code the server asks it to execute. There are two ways of implementing this: the hideously insecure way, and the hideously slow way. The idea that the client would execute a chunk of native code at the server's request is just crazy; riddled with possibilities for misuse and wholly unacceptable. Even if this were alright, the current ways of doing this semi-safely(java and the like) are not lightweight enough to set up, run the numbers, and bring down during a simple client/server connection session. The alternative is the hideously slow way: hack together a javascript implementation of your algorithm and use AJAX tricks to hand out the data and pull back the results. This would work; but there is a reason why people don't do scientific computing with javascript. Also, many browsers are on the lookout for scripts pulling excessive resources, and throttle or kill them to keep themselves responsive. I'm sure that somebody's javascript BLAST implementation isn't going to cause any trouble. If the patent dodges this problem by using dedicated client software then it will work just fine(for the class of very, very parallel problems); but runs into a long list of prior art. That said, I'd be amused to see an AJAXed equivalent of distributed.net or similar, just for the amusement factor; but it would be a monstrosity in performance terms.
The problem with patent trolls is that the risk / reward profile is all wrong. The corporation structure protects the investors, and no one is criminally liable if the lawsuit fails. So, the people setting it up can decide how much liability to expose themselves to by how much they invest, but the upper bound on the lawsuit payoff is virtually unlimited. So, when deciding whether to make the investment, there simply isn't an entry on the risk / reward table below "lawsuit fails." The incentive for them not file the lawsuit has to be on par with the potential earnings in the calculation, and someone getting "well and truly burnt" won't do that -- the probability of a big win has to change, since the size of the loss is bounded. (Well, either that or find ways to make the penalties bigger.)