Microsoft Files For 3 Parallel Processing Patents
theodp writes "Microsoft may have been a Johnny-come-lately when it comes to parallel programming, but that's not stopping the software giant from trying to patent it. This week, the USPTO revealed that Microsoft has three additional parallel-processing patents pending — 1. Partitioning and Repartitioning for Data Parallel Operations, 2. Data Parallel Searching, and 3. Data Parallel Production and Consumption. Informing the USPTO that 'Software programs have been written to run sequentially since the beginning days of software development,' Microsoft adds there's been a '[recent] shift away from sequential execution toward parallel execution.' Before they grant the patents, let's hope the USPTO gets a second opinion on the novelty of Microsoft's parallel-processing patent claims."
I can't imagine anyone making a living off of reading software patents. Every time I read them, I think to myself, "whoever those patent examiners are, they are not getting paid enough." The only way you could enjoy writing those things is if you liked giving people pain, and were dreaming of how much you actually were going to hurt the poor examiner.
After reading through the claims in the third patent, I honestly can't see how it is different than the producer/consumer program I wrote my Junior year. They seem to imply that it might be applied to a database, but I couldn't find where it actually specified it (of course the pain of what I was doing somewhat distracted me). Can anyone else see anything in there that is different?
The first patent looks kind of interesting, inasmuch as it seems like they are applying it to a database, and I know of no database that actually does a single query in parallel, but I'm not sure it would be any more efficient, because there is only one disk. Having two threads isn't going to speed anything up there, and might actually cause the disk to thrash.
Qxe4
Johnny-come-lately? Compared to what others have done in the fields of parallel processing in terms of programming...they are light years ahead. Try programming in linux for one day and then throw parallel processing into it. then throw in some data. then tell me who the "Johnny-come-lately" is.
Shame I don't have any of the code developed in the mid-late 80s where I worked for the Transputer - it's probably riddled with prior art.
AT&ROFLMAO
Yes but... ;-0
The big question is:
If the three patents are 'processed in parallel' by the USPTO, would that constituate prior art
http://www.theonion.com/content/node/29130
the recent court ruling that makes it more difficult to get software patents in the first place. There is a good chance that even if they are not challenged due to prior art, they wouldn't pass muster anyway.
Serve the bastards right.
Yeah, this is really just what we need: for somebody to come along and encumber the future of parallel processing with a metric fuckload of patents. Thanks, Microsoft!
[b.belong('us') for b in bases if b.owner() == 'you']
Many databases run individual queries in parallel, and there are often multiple disks (or machines) involved. (In fact, apart from keeping your working set in memory -- not always practical -- having as many disks as you can affort has long been one way to speed up databases. SSDs will have interesting effects, I'm sure.)
And slashdot doesn't get my humour.
Deleted
These patents just seem like the usual land grab situation. The claim by MS that programs have been sequential for years is a bit BS since, regardless of the physical hardware the asynch calls and multithreading calls have been in the languages for at least 20 years.
Also the claims seem like they are trying to own what is already there as they all sound like web based search and load balancing situations.
I hope the USPTO realises and takes good technical advice to limit these claims. Don't leave the mess for 'big money' to sort out.
The USPTO will once again be the laughing stock of the whole IT field if they grant these patents.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
found an which perports to be publicly accessible.. does anyone know if it's possible to submit questions via the webcast? If so.. slashdot them, next tuesday? ;)
-Troll, Flamebait, and Offtopic are NOT equivalent to disagreement.
found an upcoming USPTO meeting which perports to be publicly accessible.. does anyone know if it's possible to submit questions via the webcast? If so.. slashdot them, next tuesday? ;)
-Troll, Flamebait, and Offtopic are NOT equivalent to disagreement.
Rule 1: If I don't patent it, someone else will -- no matter how obvious or trivial.
Rule 2: If someone else patents it -- even if invalid -- and I try to use it, it's off to court for years and years and lots of money.
The game: The one with the most patents wins.
If you don't like the rules, you have two choices.
Choice 1: Don't play the game.
Choice 2: Get the rules changed.
Criticizing Microsoft or anyone else for playing the game by the rules is just whining.
Strange I was just researching MapReduce online when this slashdot posting appeared.
http://www.cs.vu.nl/~ralf/MapReduce/paper.pdf
http://cnx.org/content/m20644/latest/
http://en.wikipedia.org/wiki/MapReduce
http://en.wikipedia.org/wiki/Google_File_System
Patent examiners need to get their heads examined.
Patents, a strange concept anyhow to have a government imposed monopoly. Revoke your governments power to have patents. That should take care of the pesky problem. Prior art helps too.
Well, you gotta give it to Microsoft this time. It seems that these patents are all real and do cover significant innovation and no prior art. What's right is right. When you invent something you have to protect your invention.
After all patents were made to protect the little inventor from big companies, and this is a great example of the patent system working beautifully
Many years ago there was a data storage sytem developed by, I think, ICL, which had a correlator built into the disk data path for each disk arm so that it could search every head of a multi-platter disk at the same. But indexing turned out to be a better method than brute force, so it died. But it was, nonetheless, a highly parallel database search.
Consciousness is an illusion caused by an excess of self consciousness.
They may be coming in late on the parallel processing game, but they're ahead when it needs to patent it. They'd patent parallel parking if they could.
All the sexy babes want me... to fix their PC.
Could someone tell them to try to get ONE thing at once right before they try to fuck up your system multiple ways simultanously?
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Got problems with the anti trust laws? Don't know how to deal with it? Simple: patent stuff. That way you get a legal monopoly and stifle the competition the easy way.
These kind of patents serve no purpose other than to prevent competing organisations from developing useful goods and services. They hold back innovation and stifle competition.
It is not as though others would not have come up with the same solutions (and most probably had already).
So why would politicians allow this state of affairs to continue? Who is lobbying to keep the patent system the way it is and maybe even extend it? Who benefits? (hint: lawyers and shareholders in large corporations - that is to say people who are already wealthy, trying to make sure they get an even bigger slice of the cake)
Looks like they won't stop until they can patent breathing too. ...Ballmer, don't even think about it, I said it first.
Yes. I came here to post about MapReduce as well. Especially the first patent summary reads like a description of the MapReduce algorithm. Furthermore the claimant and the examiner of the patent seem to be oblivious of even the most basic concepts of computer science such as Divide and Conquer. Microsoft pretends to be certain about the outcome of the Bilski review.
i think that Microsoft's patents are shallow and pedantic.
A quick Google search finds what looks suspiciously like prior art for their first patent:
H. P. Katseff, "Using Data Partitioning to Implement a Parallel Assembler," Proceedings of the ACM/SIGPLAN PPEALS 1988, New Haven, July 1988, pp 66-76.
http://portal.acm.org/citation.cfm?id=62123
Microsoft is the most innovative company of all time. Their products are superior to all others, otherwise why would so many people use them? I mean, vista is awesome, it came right at a great time and really expanded the capability of computers. I cant wait for Microsoft to release a new operating system every 2 years, its awesome! I also really like how they are going to limit the number of processes on certain systems. Its SO confusing to determine how many processes my hardware can support. I hope Microsoft gets the patents, as they have been an outstanding corporate innovator for the last 12 years.
That's my reading, if these patents are granted.
It also pwns LDAP, and ORACLE, and well, pretty much everything that will run on multicore CPUs and GPGPUs.
Lovely, time to take up an honest trade.
...an Englishman in London.
is where the massively parallel applications are at. I regularly write and run parallel code that will efficiently run over thousands of processors - my largest run to date was over 1024, 8 processor nodes, so 8192 processes parallelized. It is all Linux - no exception. I've yet to hear of a respectable production cluster running Windows. In fact, I have yet to run into anybody who isn't running Linux on their desktop, in my line of work. I regularly write and run parallel code - the analysis code for crunching the enormous data sets produced on the clusters - for my quad core desktop machine running Linux. You've no clue.
46 & 2
MS is becoming quite the patent troll lately. I suppose it's a form of self-preservation. I mean, lets face it. Between Google and open source software they know their once-impregnable empire is going to be in trouble if they don't galvanize their defenses in any way they can. Personally I think they should focus on gaming. Oh wait, I forgot they are trying to patent the ever-loving crap out of that too.
All I can say is, anyone who calls Microsoft Johnny-Come-Lately on parallelism is severely ignorant of the subject. Especially wheen your link for the phrase goes to PLINQ, implying that this was their first effort in the world of concurrency and parallelism.
Compare Microsoft's I/O Completion Ports mechanism (involving both the scheduler and the event driven I/O architecture) and the fact that epoll() itself was the Johnny-Come-Lately technology, or the C10K problem was solved on IIS thanks to I/O Completion Ports before epoll() plus Apache 2 were ready for prime time, or that the NT kernel has had real threads since its inception and the Linux kernel was running "LinuxThreads" with vfork() until not more than a couple of years ago. This was all at the same time that Windows developers were enjoying a system managed thread pool that handled all the math for best scalability on an N cpu setup. Perhaps we shouldn't even bring up the weak aio API versus the mature async API under the NT kernel. Or you could point out that MySQL and Postgress are ages behind the level of auto-parallelism available with unmodified queries in Microsoft SQL 2005 and 2008.
Or that when you look at technologies like PLINQ and parallel generic ForEach in .NET, it brings easily learned and used parallelism not just to high end developers but to mainstream developers allowing a wider array of software to take advantage of the manycore era.
And finally, look at the fact that Johnny-Come-Lately may in fact be Johnny-Came-Right-On-Time. Putting heavy efforts into their concurrency efforts back when 90% of the multi-core computers had 2 or 4 cpus wasn't the best allocation of resources at the time. In about 2006 when PLINQ was getting started, that was when the multi-core era was really kicking off. Now Visual Studio 2010 is about to release with .NET 4.0 and technologies like PLINQ and parallel ForEach are mature and ready to go, it certainly seems like they timed it just right.
The people who were heavy into parallelism prior to Microsoft's efforts were mostly composed of specialization and academia. The OSS crowd has been playing catch-up for the past 5 years and they still aren't there yet. If there's one company that is going to bring concurrency and parallelism to a critical mass of developers, and to a critical mass of applications to benefit a majority of the users in this world, it's going to be Microsoft.
For starters there was the Transputer and the Oracle programming language from the 1980s. I'm sure that others can provide other examples.
Having worked at Teradata, where Parallel Data Processing is the life and breath, how does Microsoft expect to add 'data' in front of parallel processing and expect to own it? Teradata's prior art begins in '79. I'm not sure, but wasn't Microsoft incorporated after that?
Really. Can't the Patent Office bill applicants with actual, putative and stupidity costs to stop such bullshit filings?
The main reason of patents is to encourage innovation. Such "obvious next" technologies must be rejected.
Google alone must have prior art on just about every single claim in all 3 patents.
Hopefully Google will also have the guts to bash MS over the metaphorical skull with a ton of overlapping patents. That way MS gets their ass handed to them -- by their worst enemy no less -- and meanwhile the patent examiner who was responsible for granting these also gets reassigned to review patents on toilets and PVC pipe.
If this goes through, will I be obligated to pay the imaginary property tax if I want to compile some code to use the multiple cores in my laptop? Now where do I enable the multi-core repository?
Oh, wait, they did, like a decade ago.
There is an O'Reilly book from 9 years ago devoted to parallelism in Oracle, which might be a little hard to locate, since it is oddly titled Oracle Parallel Processing (ISBN 1-56592-701-X)
Of course, since Microsoft would never consider patenting something that wasn't new and novel, that Oracle can't be considered prior art... I can't help but to wonder if, after their patents are awarded, Microsoft might discover that Oracle has been using these newly-patented technologies for more than a decade without paying license fees.
After all, it should be impossible for a DBMS to benefit from a multiprocessor machine without infringing.
This is another example of rediculous patents. It's like trying to patent the wheel. There must be tons of prior art out there. For one, I've used Oracle parallel query since Oracle7, which was somewhere around 1998. When will you Americans stop to subsidise the lawyers this way? It's a silly system whereby you have to get as many patents as possible, just to fight of somebody else doing the same thing, and the one who can pay the most lawyers wins...
Multics predates unix and had some parallel processing features but I don't think anyone uses it anymore. Pbs as mentioned above predates windows95 and is still used with a version of commercial geophysical software released last year.
From the description, it sounds like this is found in TBB and research done for DARPA in PGAS. GCN had a blog post, "Does parallel processing require new languages?", about this the other day.
Eh, before banishing the Examiner to the sanitary ceramicware department, bear in mind that nobody has granted anything yet. They are pending applications.
did they file for all of them at the same time?
I think we are missing the point here: I am a "patent" (read, IP) attorney. While I believe in patents, when used in the way that the founding fathers intended in the US Constitution, Congress (which often does good things, and often does incredibly stupid things) provided that the USPTO be funded by the FEES they charge applicants! So, Congress is constantly pushing the USPTO to be big and efficient, and the USPTO can do this only if they collect FEES - this is a recipe for disaster, or at least, for a "take-over" by big corporations (which pay most of the FEES). We need public funding of the USPTO, as well as campaign finance reform.