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

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