Slashdot Mirror


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."

4 of 137 comments (clear)

  1. Pain of Patents is in the reading by phantomfive · · Score: 5, Informative

    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
    1. Re:Pain of Patents is in the reading by shutdown+-p+now · · Score: 5, Informative

      The first patent looks kind of interesting, inasmuch as it seems like they are applying it to a database

      I don't think so. From reading the claims, it seems to be quite obviously a patent for Parallel LINQ to me - it specifically covers all LINQ operators one by one. And PLINQ isn't for databases - it's for in-memory data. Essentially, it's just map/filter/fold/join on arbitrary sequences with automatic parallelization.

      Though I don't see why it wouldn't be just as applicable to databases (which are, after all, just advanced implementations of the above).

      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.

      Records aren't read from disk one-by-one - they are usually read in pages, and once in-memory, it's obviously faster to e.g. filter rows in parallel on as many cores as there are available. Doing it for a simple SELECT .. WHERE .. is trivial. The trick is to get it right for operations involving joins, grouping, and ordering, with arbitrary sequencing and possibly nesting. Which, if I understood correctly, is what the patent is about.

      Anyway, for a shared-use RDBMS, it might be moot, because it usually has more than one query to process at any given time - and so it's easy to load-balance all cores just by assigning queries to them.

  2. Re:pffff by dbIII · · Score: 5, Insightful

    Try programming in linux for one day and then throw parallel processing into it.

    It can be as simple as throwing in "rsh" and sending the task to another system - that's a parallel processing method still in use that predates linux. I suggest the above poster uses google to find out what parallel processing is and look at the many different ways of dividing up the tasks, kicking of the processes and getting some sort of results at the end.
    Microsoft are the new kids on the block and their licencing alone makes them a very poor choice for clustering so I haven't heard of any production software that will actually run on the platform. There has to be something because it's been a couple of years now. Does anyone have any good examples?

  3. Re:Looks ok by fartrader · · Score: 5, Funny

    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

    Thanks Steve for your comments.