Amazon Patent Applications

EFFICIENT DATA VOLUME REPLICATION FOR BLOCK-BASED STORAGE

Granted: November 16, 2017
Application Number: 20170329528
A block-based storage system may implement efficient replication for restoring a data volume from a reduced durability state. A storage node that is not replicating write requests for a data volume may determine that replication for the data volume is to be enabled. A peer storage node may be identified that maintains a stale replica of the data volume. One or more replication operations may be performed to update stale data chunks in the stale replica of the data volume with current…

HYBRID QUORUM POLICIES FOR DURABLE CONSENSUS IN DISTRIBUTED SYSTEMS

Granted: November 16, 2017
Application Number: 20170331883
Hybrid quorum policies may be implemented for access requests to state maintained in a distributed system. An update to state maintained in a distributed system may be sent to multiple nodes in the distributed system maintain the state in order to satisfy a hybrid quorum policy for updating the state in the distributed system. The hybrid quorum policy may include individual quorum policies for multiple quorum sets including nodes of the distributed system. Acknowledgments received from…

Cryptographic Key Escrow

Granted: November 9, 2017
Application Number: 20170324568
An escrow platform is described that can be used to enable access to devices. The escrow platform can be used to sign cryptographic network protocol challenges on behalf of clients so that the secrets used to sign cryptographic network protocol challenges do not have to be exposed to the clients. The escrow platform can store or control access to private keys, and the corresponding public keys can be stored on respective target platforms. A client can attempt to access a target platform…

METHOD AND SYSTEM FOR DYNAMIC PRICING OF WEB SERVICES UTILIZATION

Granted: November 2, 2017
Application Number: 20170316473
A method and system for dynamic pricing of web services utilization. According to one embodiment, a method may include dynamically predicting utilization of a web services computing resource that is expected to occur during a given interval of time, and dependent upon the dynamically predicted utilization, setting a price associated with utilization of the web services computing resource occurring during the given interval of time. The method may further include providing the price to a…

MANAGING SECURITY GROUPS FOR DATA INSTANCES

Granted: November 2, 2017
Application Number: 20170318025
Access level and security group information can be updated for a data instance without having to take down or recycle the instance. A data instance created in a data environment will have at least one default security group. Permissions can be applied to the default security group to limit access via the data environment. A control security group can be created in a control environment and associated with the default security group. Permissions can be applied and updated with respect to…

PARAMETER DELEGATION FOR ENCAPSULATED SERVICES

Granted: October 26, 2017
Application Number: 20170308419
A service provider system may provide virtualized computing services to clients, including encapsulating services that call other (encapsulated) services. Once configured to delegate parameters to encapsulated services, an encapsulating service (and its API) may not need to be modified when an encapsulated service (or its API) is modified to support more, fewer, or different features or corresponding arguments. For example, an encapsulating service may receive a service request call from…

SEGMENTED HASHING FOR SECURE DATA MODIFICATION

Granted: October 26, 2017
Application Number: 20170308543
Methods and apparatus for secure data modification using segmented hashing are disclosed. An intermediate device on a data path between a storage service and a client receives a modification request for a data segment of a data chunk of a storage object. The device generates a new chunk hash value for the chunk based on an original chunk hash value of the chunk, an original segment hash value of the segment to be modified, and a new segment hash value computed based on the modification.…

Local Key-Value Database Synchronization

Granted: October 26, 2017
Application Number: 20170308558
A remote distributed data store may be configured to process data updates received through invocation of a common API with reference to a common schema. A local data store may also be configured to process updates through the common API with reference to the common schema. Updates to the local data store may be mapped from the local data store schema to the common schema, and applied to the distributed data store. Updates to the distributed data store may be mapped from the common schema…

Local Key-Value Database Synchronization

Granted: October 26, 2017
Application Number: 20170308559
A remote distributed data store may be configured to process data updates received through invocation of a common API with reference to a common schema. A local data store may also be configured to process updates through the common API with reference to the common schema. Updates to the local data store may be mapped from the local data store schema to the common schema, and applied to the distributed data store. Updates to the distributed data store may be mapped from the common schema…

BULK DATA DISTRIBUTION SYSTEM

Granted: October 19, 2017
Application Number: 20170300551
A bulk data distribution system in which, instead of multiple data consumers contending to access the same data sets from a primary data store, one or more producers capture snapshots (states of the data sets at particular points in time) and upload the snapshots to an intermediate data store for access by snapshot consumers. The snapshot consumers may download the snapshots to generate local versions of the data sets for access by one or more data processing applications or processes. A…

VERSIONED HIERARCHICAL DATA STRUCTURES IN A DISTRIBUTED DATA STORE

Granted: October 19, 2017
Application Number: 20170300552
A distributed data store may maintain versioned hierarchical data structures. Different versions of a hierarchical data structure may be maintained consistent with a transaction log for the hierarchical data structure. When access requests directed to the hierarchical data structure are received, a version of the hierarchical data structure may be identified for processing an access request. For access requests with snapshot isolation, the identified version alone may be sufficient to…

REAL-TIME UPDATES TO ITEM RECOMMENDATION MODELS BASED ON MATRIX FACTORIZATION

Granted: October 12, 2017
Application Number: 20170293865
A network-based enterprise or other system that makes items available for selection to users may implement real-time updates to item recommendation models based on matrix factorization. An item recommendation model may be maintained that is generated from a singular value decomposition of a matrix indicating selections of items by users. A user-specific update to the item recommendation model may be calculated in real-time for a particular user such that the calculation may be performed…

SYSTEM AND METHOD FOR MANAGING POWER FEEDS THROUGH WAVEFORM MONITORING

Granted: October 12, 2017
Application Number: 20170294778
Managing power feeds includes monitoring a waveform of a high-voltage power feed supplied to an electrical load to detect potential interruption of the high-voltage power feed and switching to another power feed to supply power to the electrical load in response to identifying the waveform pattern. Monitoring a waveform includes processing the waveform to determine if one or more waveform patterns are present in the waveform. A waveform pattern indicates, by its presence in a waveform of…

ABSTRACTION LAYER FOR STREAMING DATA SOURCES

Granted: October 5, 2017
Application Number: 20170288939
Methods and systems for implementing an abstraction layer for streaming data sources are disclosed. A request to perform an operation based on one or more keys is received using a key-value interface. A streaming data source is selected based on the request. The operation is performed using the streaming data source, wherein the operation comprises storing or retrieving one or more values based on the one or more keys.

STREAMING CONTENT ADJUSTMENT BASED ON CAMERA FEEDBACK

Granted: October 5, 2017
Application Number: 20170289230
A streaming source sends streaming content to a display device. A camera captures images of the display device playing the streaming content and/or a user's interaction with the display device along with the displayed response to the user's interaction. The captured content is analyzed to determine, for example, image quality characteristics of the displayed content, a user experience associated with the displayed content or whether the displayed content matches an expected outcome…

MANAGED FUNCTION EXECUTION FOR PROCESSING DATA STREAMS IN REAL TIME

Granted: October 5, 2017
Application Number: 20170289240
Managed function execution for processing data streams in real time may be. A function that describes one or more operations to be performed with respect to one or more data streams may be received via programmatic interface for a managed stream processing system. Stream processing nodes capable of applying the function may be determined and execution of the one or more operations may be initiated at the stream processing nodes as data records of the data stream are received. Results of…

SERVER SYSTEM

Granted: October 5, 2017
Application Number: 20170290191
A system includes a rack and one or more server systems mounted in the rack. A server system includes at least one sever node and each server node includes an array of devices including mass storage devices and at least one server device. Segments of the array of devices of a particular server node are mounted in sub-node chassis that include intra node connectors. Multiple sub-node chassis that each include devices such as mass storage devices or server devices of the sever node couple…

SYSTEM AND METHOD FOR PROVIDING HIGH AVAILABILITY DATA

Granted: October 5, 2017
Application Number: 20170286476
An embodiment relates to a computer-implemented data processing system and method for storing a data set at a plurality of data centers. The data centers and hosts within the data centers may, for example, be organized according to a multi-tiered ring arrangement. A hashing arrangement may be used to implement the ring arrangement to select the data centers and hosts where the writing and reading of the data sets occurs. Version histories may also be written and read at the hosts and may…

DATABASE SYSTEM RECOVERY USING NON-VOLATILE SYSTEM MEMORY

Granted: October 5, 2017
Application Number: 20170286477
A database system may implement database system recovery using non-volatile system memory. An update to a data page of a database may be received. A version of the data page may be obtained in system memory. A new version of the data page may be determined according to the received update. The new version of the data page may be maintained in a non-volatile portion of system memory irrespective of a failure of the database. In at least some embodiments, the update may be performed…

DYNAMIC RATE ADJUSTMENT FOR INTERACTION MONITORING

Granted: September 28, 2017
Application Number: 20170277615
Methods and systems for implementing dynamic rate adjustment for interaction monitoring are disclosed. At an entity, the collection of trace information is initiated according to a first sampling rate. The trace information is indicative of interactions between the entity and one or more additional entities. A second sampling rate is determined based at least in part on information external to the entity. The second sampling rate is determined after the collection of the trace…