在将近六年等待之后,Google的一个专利申请近日终于获得批准。这个编号为7 650 331,名为 System and method for efficient large-scale data processing(高效大规模数据处理)的专利可是非同小可。它所指的是Google最引为自豪的成果之一,也是云计算最重要的核心技术之一:MapReduce。专利的摘要是这一重要技术不错的定义,我们不妨来学习一下:
A large-scale data processing system and method includes one or more application-independent map modules configured to read input data and to apply at least one application-specific map operation to the input data to produce intermediate data values, wherein the map operation is automatically parallelized across multiple processors in the parallel processing environment. A plurality of intermediate data structures are used to store the intermediate data values. One or more application-independent reduce modules are configured to retrieve the intermediate data values and to apply at least one application-specific reduce operation to the intermediate data values to provide output data.【译文】一种大规模数据处理系统和方法。其中包括一个或者多个独立于应用的Map模块和一个或者多个独立于应用的Reduce模块。 Map模块是这样配置的,它们读取输入数据,并对此数据进行至少一个特定于应用的Map操作,以生成中间数据值,其中Map操作将在并行处理环境中的多个处理器实现自动并行化。存储这些中间数据值将使用许多中间数据结构。而Reduce模块是这样配置的,它们获取这些中间数据值,并对此数据应用至少一个特定于应用的Reduce操作,以提供输出数据。
众所周知,MapReduce广泛用于各种数据挖掘应用中,除了Google自己,还有Yahoo的搜索基础设施,Amazon的Elastic MapReduce服务,IBM的M2平台,等等。当然,最重要的实现应该是开源项目Apache Hadoop。事实上,Hadoop已经成为Yahoo整个Web基础设施的核心,用户还包括Facebook、Last.fm、Joost、 Meebo、Ning等2.0新贵和《纽约时报》网站、Rackspace等云计算公司。
那么,问题出来了:首先,Google是否应该获得这项技术的专利呢?
的确,回顾历史,Map和Reduce函数是Lisp和其他函数式语言非常常见的特性。而Lisp语言诞生于上世纪50年代。事实上MapReduce的发明者也不讳言这一点。在2004年操作系统设计与实现学术会议上发表的开创性论文《MapReduce: Simplified Data Processing on Large Clusters》(MapReduce:大型群集上的数据处理简化)中,除了Lisp语言之外,Jeffrey Dean和Sanjay Ghemawat还提到了Bulk Synchronous Programming、MPI、Active Disk、Condor系统、NOW-Sort算法、River系统、BAD-FS、TACC等等。但是,任何创新都不是从无到有的,这些相关工作总体上只是相关而已,将MapReduce思想应用于大型群集上的数据处理,并形成完整的框架,有大量成功的应用,的确是Google的独门武功。
其次,这样一个应用广泛的技术成为专利,影响如何呢?
必须承认,在专利纠纷满天飞的今天,使用其他人的专利,总是存在诉讼风险。对此,Google的发言人用了法律味道很重的措辞回复:
与其他负责任的创新公司一样,Google会对自己开发的各种技术申请专利。虽然我们不会对这项专利以及我们其他的专利技术的使用进行评论,但是我们感到迄今为止Google的表现与公司的价值观和优先级是相符的。
听其言,观其行,我们也许有理由对Google放心。毕竟,在可见的未来,它不会指望靠这种专利挣钱。此外,Google对Hadoop项目一贯支持,将其作为大学推广项目的重要组成部分,使大学生也能在不涉及Google专有技术的情况下,学习Web规模的编程。
【人物简介】
Jeffrey Dean Google Fellow。2009年当选美国工程院院士。他是Google公司最具才华的工程师之一。众多Google的核心产品都有他的重大贡献,包括设计和实现了Google广告服务系统的最初版本,Google爬虫、索引和查询服务系统的五个版本,Adsense最初版本,Protocol Buffers,Google News的服务系统,MapReduce,BigTable,等等。当然,也包括搜索排序算法的许多方面,Google Translate和Google Code Search的部分开发。
1996年获得华盛顿大学计算机科学博士学位,课题是面向对象语言中的全程序优化技术。1990年毕业于明尼苏达大学,获得计算机科学和经济学学士学位。1999年加入Google之前,曾效力于DEC研究中心。本科毕业后曾经在世界卫生组织艾滋病项目工作,开发了艾滋病传染的统计建模、预测和分析软件。
他的一个人生目标是在所有大洲打篮球和橄榄球。
Sanjay Ghemawat Google Fellow。美国工程院院士。MIT博士(1995年),是图灵奖得主Liskov的学生。他与Jeff Dean合作开发了MapReduce和BigTable,另外还是GFS的主要开发者。1999年加入Google之前,也效力于DEC,从事Java工具(性能测量、虚拟机和编译器)开发。