谷歌’的星球规模分布式存储专利

分享是关怀!

去年2月,Google申请了分布式存储专利,这些专利描述了如何从一个数据中心到另一个数据中心共享信息的各个方面,以及由此带来的一些挑战。谷歌’的Yonatan Zunger在他的博客中透露,过去几个月来,他是 chief architect for 谷歌’s social systems包括Google Plus在内,是许多分布式存储专利中列出的发明者之一。

谷歌的细节如何’从Web索引到存储电子邮件和照片,从Google Plus中的用户个人资料,帖子和响应,到Google Maps和Google Earth中的地图和照片以及Streetview图像,其数据架构拼凑在一起? 谷歌在全球拥有多个数据中心。搜索巨头如何有效地将数据从一个数据中心转移到另一个数据中心?如何备份它使用的文件和索引?人们搜索和浏览Web时Google收集的所有用户数据都流向何处?

多年来,Google在论文和文章中分享了有关它们如何存储和访问数据的一些信息,例如:

这些专利为Google如何设法将大量数据从一个位置移动到另一位置提供了一些见解。例如,专利中描述的系统不是将大量数据从一个数据中心发送到另一个数据中心,而是可以跟踪对单个数据段的更改,如下“deltas,”这些增量会从一个数据中心传输到另一个数据中心,而不是发送所有数据。

如果你’如果您对Google如何处理从一个数据中心到另一个数据中心的数据流感兴趣,您可能需要花一些时间来处理这些专利申请。

在非关系数据库中有效复制数据的方法和系统
Yonatan Zunger发明
美国专利申请20110196827
2011年8月11日发布
提交日期:2010年2月9日

抽象

一种方法在分布式数据库的实例之间复制数据。该方法在不同的地理位置识别数据库的至少两个实例。该方法通过存储增量来跟踪对数据库的更改。
每个增量都有一个行标识符,用于标识已修改的数据;一个序列标识符,用于指定将增量应用于数据的顺序;以及一个实例标识符,用于指定在何处创建增量。该方法使用出口映射来确定要发送的增量,该出口映射指定在其他情况下已确认已确认接收到行标识符和序列标识符的哪些组合。该方法建立传输矩阵,该传输矩阵标识尚未被确认为已接收的增量。

然后,该方法发送在传输矩阵中标识的增量。在接收到传输的增量已被合并到其他实例的数据库的确认之后,该方法更新出口映射。

对分布式存储系统中的对象执行复制请求
亚历山大·凯瑟曼(Alexander Kesselman)发明
美国专利申请20110196836
2011年8月11日发布
提交日期:2011年2月9日

抽象

提供了一种用于对分布式数据库中的对象执行复制请求的系统和方法。接收到分布式存储系统中对象的多个复制请求。复制请求被划分为一个或多个复制队列。相应的复制队列包括具有相应复制密钥的复制请求。各个复制密钥包括至少与各个对象位于其上的各个源存储设备以及要将各个对象复制到其上的目标存储设备有关的信息。

对于每个相应的复制队列,将根据复制请求的优先级对复制队列中的复制请求进行排序。在每个相应的复制队列中发出执行最高优先级请求的命令。完成相应的复制请求后,将从复制队列中删除相应的复制请求。

在分布式存储系统中存储对象的复制请求
由亚历山大·凯塞尔曼(Alexander Kesselman)发明;
美国专利申请20110196834
2011年8月11日发布
提交日期:2011年2月9日

抽象

提供了一种用于在分布式存储系统中存储对对象的复制请求的系统和方法。接收对存储在分布式存储系统中的存储设备上的对象的多个复制请求。基于各个复制请求的参数,针对多个复制请求中的各个复制请求生成各个行密钥。

各个行键包括用于各个复制请求的各个全局确定的优先级,这些优先级有助于按优先级对各个复制请求进行排序。使用相应的行键将相应的复制请求存储在分布式数据库的相应记录中,其中,将分布式数据库的相应记录分布在分布式数据库的多个节点上。

在分布式存储系统中动态复制数据的方法和系统
由亚历山大·德罗比切夫(Alexandre Drobychev),亚历山大·凯瑟曼(Alexander Kesselman),丽贝卡·维克瑞(Rebekah C.Vickrey),弗兰克·达奇(Frank C.
美国专利申请20110196828
2011年8月11日发布
提交日期:2011年2月7日

抽象

分布式存储系统的第一存储子系统中的服务器计算机从客户端接收对对象的第一客户端请求。如果对象不在第一存储子系统中,则服务器计算机将分布式存储系统的第二存储子系统标识为具有所请求对象的副本,所请求对象包括内容和元数据。

服务器计算机向第二存储子系统提交对所请求的对象的对象复制请求,并从第二存储子系统独立地接收所请求的对象的内容和元数据。服务器计算机使用接收到的元数据和内容在第一存储子系统处生成对象的新副本,并将对象的新副本的元数据返回给客户端。

在分布式存储系统中复制对象的系统和方法
亚历山大·凯瑟曼(Alexander Kesselman)发明
美国专利申请20110196873
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种用于将对象插入分布式数据库中的系统和方法。接收要插入优先级队列的对象,其中该对象包括唯一标识符和优先级。接下来,生成对象的索引。然后根据索引,对象的优先级和对象的唯一标识符生成对象的行名,其中优先级较高的对象的行名的词典顺序小于该行的词典顺序优先级较低的对象的名称。然后使用行名将对象插入分布式数据库的行中。

在分布式存储系统中管理对象副本的系统和方法
由Yonatan Zunger,Alexandre Drobychevm,Alexander Kessleman,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196830
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种用于在分布式存储系统中生成对对象的复制请求的系统和方法。至少部分地基于对象的复制策略和分布式存储系统的当前状态来生成对分布式存储系统中的对象的复制请求,其中针对相应对象的相应复制请求指示分布式存储系统的相应实例。用于复制相应对象以便至少部分满足用于相应对象的复制策略,其中,相应复制策略包括至少指定要在其上存储对象副本的存储设备类型的条件。然后将复制请求的至少一个子集分发到分布式存储系统的各个实例以供执行。

在分布式存储系统中管理弱可变数据的方法和系统
由Yonatan Zunger,Alexandre Drobychevm,Alexander Kessleman,George Datuashvili和Zia Syed发明
美国专利申请20110196838
2011年8月11日发布
提交日期:2011年2月9日

抽象

在计算设备处实现一种用于管理分布式存储系统内的对象的多代的方法。计算设备从连接到分布式存储系统的第一客户端接收对象的第一代的元数据和内容,并存储第一代’第一存储子系统中的元数据和内容。计算设备从连接到分布式存储系统的第二客户端接收对象的第二代的元数据和内容,并存储第二代’第二个存储子系统中的元数据和内容。计算设备独立复制第一代’从第一存储子系统到第二存储子系统的元数据和内容,并复制第二代’从第二存储子系统到第一存储子系统的元数据和内容,以便两个存储子系统都包含对象的副本’第一代和第二代。

对分布式存储系统中的对象执行优先的复制请求
亚历山大·凯瑟曼(Alexander Kesselman)发明
美国专利申请20110196835
2011年8月11日发布
提交日期:2011年2月9日

抽象

提供了一种用于对分布式存储系统中的对象执行复制请求的系统和方法。从对应于复制密钥的多个复制队列中识别复制队列。复制密钥包括至少与对象所在的分布式存储系统中的源存储设备以及对象将要复制到的分布式存储系统中的目的地存储设备有关的信息。使用复制队列的标识符扫描分布式数据库,以生成与复制队列相对应的复制请求的列表。分布式数据库的记录分布在分布式数据库的多个节点上。复制请求列表中的复制请求按优先级顺序执行。仅当复制请求完成时,才从分布式数据库中删除复制请求。

对存储在分布式数据库中的对象进行操作
亚历山大·凯瑟曼(Alexander Kesselman)发明
美国专利申请20110196882
2011年8月11日发布
提交日期:2011年2月9日

抽象

提供了一种用于对存储在分布式数据库中的对象进行操作的系统和方法。标识与索引对应的分布式数据库的行。识别出的行根据识别出的行的行名按字典顺序排序。排序的行按与排序的行相对应的对象的优先级排序。与排序的行相对应的对象按优先级顺序进行操作。在一些实施例中,对象是用于在分布式存储系统中复制数据的复制请求,并且以优先级顺序对与排序的行相对应的对象进行操作包括以优先级顺序执行复制请求以在分布式存储系统中复制数据。

提供对磁带存储系统的有效访问的方法和系统
由Rebekah C. Vickrey,Frank C.Dachille,Stefan V.Gheorghita和Yonatan Zunger发明
美国专利申请20110196829
2011年8月11日发布
提交日期:2011年2月8日

抽象

一种在与分布式存储系统关联并连接到磁带存储系统的一台或多台服务器计算机上实现一种用于将数据异步复制到磁带介质上的方法。在从客户端接收到将对象存储在磁带存储系统中的第一请求时,服务器计算机将对象存储在分布式存储系统的分段子系统中,并向请求客户端提供第一响应。如果满足预定义的条件,则服务器计算机将对象从登台子系统传输到磁带存储系统。对于每个传输的对象,服务器计算机在磁带管理子系统中添加对该对象的引用,在分布式存储系统的父对象管理子系统中标识与该对象及其元数据关联的相应父对象,并进行更新父对象’包含对象的元数据’在磁带存储系统中的位置。

在分布式存储系统中存储数据
由Alexandre Drobychev,Alexander Kesselman,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196900
2011年8月11日发布
提交日期:2011年2月8日

抽象

分布式存储系统存储文件数据。接收到数据的第一个Blob(二进制大对象)。第一个Blob被拆分为一个或多个第一数据块。计算第一批数据的内容指纹。第一个数据块存储在一个块存储中,而它们的内容指纹存储在一个不同于该块存储的存储中。接收到第二个数据块。第二个Blob被拆分为一个或多个第二数据块。计算第二数据块的内容指纹。然后对于其内容指纹与第一数据块的内容指纹匹配的第二数据块,存储对具有匹配的内容指纹的对应的第一数据块的第二引用,但是不存储第二数据块。

在分布式存储系统中存储数据
由Alexandre Drobychev,Alexander Kesselman,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196833
2011年8月11日发布
提交日期:2011年2月8日

抽象

分布式存储系统具有多个实例。存在多个本地实例,并且至少一些本地实例位于物理上不同的地理位置。每个本地实例都配置为在一组具有多种不同数据存储类型的数据存储中存储一组非空的blob数据。另外,每个本地实例在与数据存储区分开的元数据存储区中存储针对相应的一组blob的元数据。还有多个全局实例。每个全局实例都配置为在零个或多个数据存储区中存储零个或多个blob的数据,并存储在任何本地或全局实例中存储的所有blob的元数据。系统选择一个全局实例来运行复制模块,该模块根据Blob策略在实例之间复制Blob。一些系统还包括基于用户需求的动态复制。

将数据上传到分布式存储系统的方法和系统
由Yonatan Zunger,Alexander Kesselman和Alexandre Drobychev发明
美国专利申请20110196822
2011年8月11日发布
提交日期:2011年2月8日

抽象

在计算设备处实现一种用于将对象上载到分布式存储系统中的方法。计算设备将对象分成一个或多个块,并将一个或多个块上载到分布式存储系统中。对于每个上载的块,计算设备从分布式存储系统接收写令牌,根据接收到的写令牌和块ID,块偏移和块大小将条目插入到该块的对象的扩展表中。块,生成扩展区表的摘要,该摘要表示客户端期望在分布式存储系统中的一个或多个块,然后将扩展区表的摘要发送到分布式存储系统。分布式存储系统配置为使用摘要确定它是否具有一个或多个客户端预期的块中的每个。

在时钟不可靠的情况下确定物体年龄的系统和方法
由Alexander Kesselman,Alexandre Drobychev和Daniel J.Ford发明
美国专利申请20110196901
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种用于确定物体的年龄的系统和方法。在对应于创建对象的时间的时间戳序列中,标识时间戳条目的第一索引。从时间戳序列中至少有一个时间戳子序列,该子序列具有时间戳序列中条目的索引,该索引在时间戳序列中的第一个索引与时间戳序列中最后一个时间戳条目的最后索引之间,其中时间戳的至少一个子序列符合由计算机系统的时钟报告的连续当前时间戳的存储之间的时间间隔的函数。从至少一个子时间戳序列中不包括的时间戳序列中删除时间戳。根据时间戳的至少一个子序列确定对象的年龄。

分布式存储系统的位置分配守护程序(LAD)
由Yonatan Zunger,Alexander Kesselman,Alexandre Drobychev,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196832
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种用于在分布式存储系统中生成对对象的复制请求的系统和方法。对于分布式存储系统中的各个对象,执行以下操作。确定不满足的对象的复制策略。根据需要创建的对象副本数,来满足其复制策略未满足的对象的复制请求,以便满足该对象的复制策略。至少部分基于未满足的对象复制策略以及分布式存储系统的当前状态,为对象生成复制请求。针对分布式存储系统中的对象的复制请求的至少一个子集被分发到与执行复制请求相对应的分布式存储系统的各个实例。

位置分配守护程序(LAD)仿真系统和方法
由Yonatan Zunger,Alexander Kesselman,Alexandre Drobychev,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196664
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种用于模拟分布式存储系统的状态的系统和方法。获取分布式存储系统的当前状态以及分布式存储系统中对象的复制策略。收到对分布式存储系统当前状态的建议修改。基于分布式存储系统的当前状态,分布式存储系统中对象的复制策略以及对分布式存储系统当前状态的拟议修改,可以随时间模拟分布式存储系统的状态。然后,基于模拟生成与分布式存储系统当前状态的时间演变有关的报告。

Blob复制副本的修剪
由Yonatan Zunger,Alexander Kesselman,Alexandre Drobychev,Rebekah C.Vickrey,Frank C.Dachille和George Datuashvili发明
美国专利申请20110196831
2011年8月11日发布
提交日期:2011年2月7日

抽象

提供了一种在分布式存储系统中生成和分发针对对象的副本移除请求的系统和方法。至少部分地基于对象的复制策略来生成对分布式存储系统中对象的副本删除请求。相应的副本删除请求指示分布式存储系统的相应实例删除相应对象的相应副本,以便至少部分地满足针对相应对象的复制策略。然后,将针对分布式存储系统中的对象的副本删除请求分发到与副本删除请求相对应的分布式存储系统的各个实例,以便执行。

分享是关怀!

关于4个想法“Google’的星球规模分布式存储专利”

  1. 当您想到Google有多少数据时,那简直是疯狂。大量的研究工作以数十亿张图像,搜索模式/使用方式,文本,地理数据等进行汇编。’将会看到他们未来很多社交媒体的发展方向。它’将会非常有趣!

  2. 嗨,梅森,

    I’几年来一直在想Google如何转让它’从一个数据中心到另一数据中心的不同服务的索引,更新和信息’确实认为有必要尽快这样做,以便人们可以从离他们最近的数据中心连接到该信息。

    我在帖子中链接的视频,“跨数据中心的交易(和其他周末项目)”当您要了解有关将大量数据大规模发送到地球各地的现实生活中的挑战时,绝对值得一看。

  3. 更自私的我’从未真正考虑过Google在其间传输数据的方式’s data centres. It’当然,这是一个有趣的主张–我可以想象有必要不断开发各种方法来提高流程效率,我当然可以同情负责交付系统的工程师!

    优先复制请求专利使我想起了我所谓的量子场论–长距离粒子运动的复制– but I guess we’与利用该功能还有很长的路要走!

    谢谢你的帐单– you’我设法让我思考了从量子物理学到阵列的计算优势的一切问题!

    汤姆

  4. 你好汤姆,

    我读了一个不高兴的人的一系列博客文章,原因是康卡斯特(Comcast)几周前由于使用的带宽很高而暂停了他的互联网访问帐户。他与许多室友共享了互联网访问,并且他们确实经常使用流音乐和视频服务,但并没有达到他认为令人发指的程度。然后他开始仔细观察自己在做的其他事情。他已经开始将所有音乐文件和数字照片以未压缩的RAW格式存储在网络上。他还使用云备份服务定期备份硬盘上的文件。所有数据传输都计入他的带宽使用情况–使用网络存储所有数据而不是他的硬盘驱动器,或者除此以外,他还没有’不能认为这是Comcast可能正在监视的流量。

    I’我们理所当然地认为Google必须将多少数据从一个数据中心转移到另一个数据中心,以及与此相关的成本。我知道Google多年来一直在光纤方面进行投资,以使数据传输负担得起,但是在我阅读这些专利之前,我确实没有’也不要考虑太多。

    I’我也将有关多数据中心大小的存储系统的术语添加到了我的词汇表中。在Google上搜索blobmaster,它希望今天显示blob怪物的结果。几天前,它正试图向我显示博客主的搜索结果。

    诸如此类的专利对我来说很有趣,因为它们使我将Google视为试图运营网站的另一家公司,尽管它们需要克服一些特殊的问题。

评论被关闭。