-
公开(公告)号:WO2011146452A1
公开(公告)日:2011-11-24
申请号:PCT/US2011/036771
申请日:2011-05-17
Applicant: GOOGLE INC. , AGARWAL, Amit , SHELDON, Michael , KADATCH, Andrew
Inventor: AGARWAL, Amit , SHELDON, Michael , KADATCH, Andrew
IPC: G06F15/16
CPC classification number: G06F17/30569
Abstract: In general, the subject matter described in this specification can be embodied in methods systems, and program products. A request to store data is received. The data is stored as an object in a repository. A request to create a table is received, where the request identifies a name for the table. The table is created with the name. A request to import the data into the table is received. The data is imported into the table, where importing the data in the object into the table includes converting the data in the object into columnar stripes, and storing the columnar stripes in association with the table. A request to perform a query on the table is received, where the request includes the query and identifies the table. The query is performed on the table, where performing the query includes querying one or more of the columnar stripes.
Abstract translation: 通常,本说明书中描述的主题可以体现在方法系统和程序产品中。 接收到存储数据的请求。 数据作为对象存储在存储库中。 接收到创建表的请求,其中请求标识表的名称。 该表用名称创建。 接收到将数据导入表的请求。 将数据导入到表中,其中将对象中的数据导入表中包括将对象中的数据转换为柱状条,并将该列与条形关联存储。 接收到对表执行查询的请求,其中请求包括查询并标识该表。 在表上执行查询,其中执行查询包括查询一个或多个柱状条纹。
-
公开(公告)号:WO2013148861A1
公开(公告)日:2013-10-03
申请号:PCT/US2013/034140
申请日:2013-03-27
Applicant: GOOGLE INC. , KADATCH, Andrew , KHORUN, Sergey
Inventor: KADATCH, Andrew , KHORUN, Sergey
CPC classification number: G06F17/30371 , G06F9/45558 , G06F9/5072 , G06F17/30091 , G06F17/30138 , G06F17/30233 , G06F17/30303 , G06F2009/4557
Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for virtual block storage. In one aspect, a method includes receiving a request to initialize a virtual machine, the virtual machine having an associated virtual block device; accessing a file map comprising a plurality of file map entries; determining file map entries corresponding to blocks of data allocated to the virtual block device and one or more files in which the blocks of data allocated to the virtual block device are stored; determining that a particular one of the blocks allocated to the virtual block device has been written to a new position not associated with the particular block in the file map; and updating the position associated with the particular block to the new position.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的用于虚拟块存储的计算机程序。 一方面,一种方法包括接收初始化虚拟机的请求,所述虚拟机具有相关联的虚拟块设备; 访问包括多个文件映射条目的文件映射; 确定对应于分配给所述虚拟块装置的数据块的文件映射条目以及分配给所述虚拟块装置的数据块的一个或多个文件; 确定分配给所述虚拟块设备的块中的特定一个已被写入到与所述文件映射中的所述特定块不相关联的新位置; 以及将与所述特定块相关联的位置更新到所述新位置。
-
公开(公告)号:WO2013130367A1
公开(公告)日:2013-09-06
申请号:PCT/US2013/027456
申请日:2013-02-22
Applicant: GOOGLE INC. , KADATCH, Andrew , HALCROW, Michael A.
Inventor: KADATCH, Andrew , HALCROW, Michael A.
IPC: G06F21/62
CPC classification number: H04L9/0891 , G06F21/554 , G06F21/6209 , G06F21/6218 , G06F2221/2101 , G06F2221/2107 , G06F2221/2137 , G06F2221/2141 , H04L9/0894 , H04L63/0435 , H04L63/0478 , H04L63/0823
Abstract: A method, system and apparatus for providing data. The method comprises: receiving a first request from a first virtual machine (VM1) to store first data, obtaining the first data and an access control list (ACL) of authorized users, obtaining a first data key and first data key identifier, encrypting the first data with said first data key, encrypting the first data key and ACL to generate a wrapped blob, storing the wrapped blob and the encrypted first data, and providing the first data key identifier to one or more users on the ACL. The method further comprises receiving from a second virtual machine (VM2) a second request for a snapshot of the first data, including an identification of a user making the request, decrypting the wrapped blob, obtaining the first data, authenticating and authorizing the user against the ACL, decrypting the encrypted first data using the first data key, and providing the snapshot of the decrypted first data.
Abstract translation: 一种用于提供数据的方法,系统和装置。 该方法包括:从第一虚拟机(VM1)接收第一请求以存储第一数据,获得第一数据和授权用户的访问控制列表(ACL),获得第一数据密钥和第一数据密钥标识符,加密 具有所述第一数据密钥的第一数据,加密所述第一数据密钥和ACL以生成包装的Blob,存储所包装的Blob和所述加密的第一数据,以及向所述ACL上的一个或多个用户提供所述第一数据密钥标识符。 该方法还包括从第二虚拟机(VM2)接收关于第一数据的快照的第二请求,包括进行请求的用户的标识,解封装的Blob,获得第一数据,认证和授权用户反对 ACL,使用第一数据密钥解密加密的第一数据,以及提供解密的第一数据的快照。
-
公开(公告)号:WO2013148491A1
公开(公告)日:2013-10-03
申请号:PCT/US2013/033440
申请日:2013-03-22
Applicant: GOOGLE INC. , KADATCH, Andrew
Inventor: KADATCH, Andrew
IPC: G06F3/06
CPC classification number: G06F17/30153 , G06F3/0608 , G06F3/0643 , G06F3/067
Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for compressing file maps. In one aspect, a method includes accessing a file maintained by a file system that manages access to a block device. The file includes a plurality of active blocks associated with a respective logical block number and a respective block index. The method also includes assigning a file index to the file, analyzing the file to determine a maximum block index and a minimum block index, and identifying runs of blocks in the plurality of active blocks. Each run of blocks includes a respective start block. For each of the runs of blocks, the method includes identifying a respective length. For each start block, the method includes generating a file map entry for each start block. The method also includes storing the file map entries in a file map.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的计算机程序,用于压缩文件映射。 一方面,一种方法包括访问由管理对块设备的访问的文件系统维护的文件。 该文件包括与相应的逻辑块号和相应的块索引相关联的多个活动块。 该方法还包括向文件分配文件索引,分析文件以确定最大块索引和最小块索引,以及识别多个活动块中的块的运行。 块的每个运行包括相应的起始块。 对于每个块的运行,该方法包括识别相应的长度。 对于每个起始块,该方法包括为每个起始块生成文件映射条目。 该方法还包括将文件映射条目存储在文件映射中。
-
公开(公告)号:WO2013074665A1
公开(公告)日:2013-05-23
申请号:PCT/US2012/065068
申请日:2012-11-14
Applicant: GOOGLE INC. , NAIDU, Siddartha , AGARWAL, Amit , SHELDON, Michael , KADATCH, Andrew , TIGANI, Jordan , CONDIT, Jeremy P.C.
Inventor: NAIDU, Siddartha , AGARWAL, Amit , SHELDON, Michael , KADATCH, Andrew , TIGANI, Jordan , CONDIT, Jeremy P.C.
IPC: G06F17/30
CPC classification number: G06F17/30477 , G06F7/00 , G06F8/453 , G06F17/30312 , G06F17/30339 , G06F17/30345 , G06F17/30575 , G06F17/30979
Abstract: In general, the subject matter described in this disclosure can be embodied in methods, systems, and program products. A computing system receives a first request to insert one or more first data values into a database table. The computing system identifies that first data stored by the database table is stored in a first logical partition of a logical collection of data. The logical collection of data is designated for replication among multiple data centers such that a copy of the logical collection of data is designated to be stored by each of the multiple data centers. The logical collection of data is logically partitioned into multiple logical partitions which together comprise the logical collection of data. The computing system sends, by the computing system and to the first data center, the first request to insert the one or more first data values into the database table.
Abstract translation: 通常,本公开中描述的主题可以体现在方法,系统和程序产品中。 计算系统接收将一个或多个第一数据值插入到数据库表中的第一请求。 计算系统识别由数据库表存储的第一数据被存储在数据的逻辑集合的第一逻辑分区中。 指定数据的逻辑集合用于在多个数据中心之间进行复制,使得数据的逻辑集合的副本被指定为由多个数据中心中的每一个存储。 数据的逻辑集合在逻辑上被分割成多个逻辑分区,它们一起构成数据的逻辑集合。 计算系统由计算系统和第一数据中心发送将一个或多个第一数据值插入到数据库表中的第一请求。
-
公开(公告)号:WO2012100037A1
公开(公告)日:2012-07-26
申请号:PCT/US2012/021846
申请日:2012-01-19
Applicant: GOOGLE INC. , KADATCH, Andrew , GREENFIELD, Lawrence E.
Inventor: KADATCH, Andrew , GREENFIELD, Lawrence E.
CPC classification number: G06F3/0619 , G06F3/0613 , G06F3/0643 , G06F3/0656 , G06F3/0665 , G06F3/067 , G06F3/0685 , G06F11/1044 , G06F11/1076 , G06F2003/0691 , G06F2211/1009 , G06F2211/1028
Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The file is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
Abstract translation: 方法,系统和装置,包括在计算机存储介质上编码的用于在存储节点上存储数据的计算机程序。 一方面,一种方法包括:接收要跨越多个存储节点存储的文件,每个存储节点包括高速缓存。 通过将文件的各部分存储在不同的存储节点上来存储该文件。 将第一部分写入第一存储节点的高速缓存,直到确定第一存储节点的高速缓存已满。 响应于确定第一存储节点的高速缓存是满的,选择不同的第二存储节点。 对于文件的每个部分,记录该部分的位置,该位置指示至少存储该部分的存储节点。
-
-
-
-
-