Patent application number | Description | Published |
20120016901 | Data Storage and Processing Service - 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. | 01-19-2012 |
20120191912 | STORING DATA ON STORAGE NODES - 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 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. | 07-26-2012 |
20130081014 | BANDWIDTH THROTTLING OF VIRTUAL DISKS - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing resources in a computing system. For virtual hard disk drives supported by multiple physic hard disk drives over a network, artificial throttling of the disk access bandwidth is implemented, such that the resulting latency behavior of each virtual hard disk drive resembles the latency behavior of a corresponding physical hard disk drive emulated by the virtual hard disk drive. In various implementations, the artificial throttling simulates both characteristics of sequential access latencies and random access latencies on a physical hard drive. | 03-28-2013 |
20130124466 | Data Processing Service - 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. | 05-16-2013 |
20130124467 | Data Processing Service - In general, the subject matter described in this disclosure can be embodied in methods, systems, and program products. A system includes a first data center, a second data center, and a third data center. The multiple data centers are configured to replicate a logical collection of data that comprises multiple logical partitions of data. The system comprises a first writing subsystem that is designated to write updates to a copy of a first logical partition of data that is stored by the first data center. The system comprises a second writing subsystem that is designated to write updates to a copy of a second logical partition of data that is stored by the second data center. The system comprises a third writing subsystem that is designated to write updates to a copy of a third logical partition of data that is stored by the third data center. | 05-16-2013 |
20130227303 | LOG STRUCTURED VOLUME ENCRYPTION FOR VIRTUAL MACHINES - Methods, systems, and apparatus, including a method for providing data. The method comprises receiving a first request from a first virtual machine (VM) to store data, obtaining the data and an access control list (ACL) of authorized users, obtaining a data key that has a data key identifier, encrypting the data key and the ACL using a wrapping key to generate a wrapped blob, encrypting the data, storing the wrapped blob and the encrypted data, and providing the data key identifier to users on the ACL. The method further comprises receiving a second request from a second VM to obtain a data snapshot, obtaining an unwrapped blob, obtaining the data key and the ACL from the unwrapped blob, authenticating a user associated with the second request, authorizing the user against the ACL, decrypting the data using the data key, and providing a snapshot of the data to the second VM. | 08-29-2013 |
20130262405 | Virtual Block Devices - 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. | 10-03-2013 |
20130262411 | FILE MAP COMPRESSION - 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. | 10-03-2013 |
20140281233 | STORING DATA ACROSS A PLURALITY OF STORAGE NODES - 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 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. | 09-18-2014 |