The Idea behind Map Reduce itself is extremely general (and not brand new):<p><pre><code>    map  :: (a -&#62; b) -&#62; [a] -&#62; b
    fold :: (a -&#62; a -&#62; a) -&#62; a -&#62; [a] -&#62; a  -- the first argument must be associative if you want a parallel fold.
    
    mapReduce :: (a -&#62; b) -&#62; (b -&#62; b -&#62; b) -&#62; b -&#62; [a] -&#62; b
    mapReduce f g e l = fold g e (map f l)  -- conceptually. You have to write an actually parallel version.
</code></pre>
If the patent isn't more specific than this (by being limited to MapReduce, for instance), I bet it can be overruled by prior art. Now, I admit I don't have the courage to check.