Amazon Patent Applications

CONNECTION-BASED RESOURCE MANAGEMENT FOR VIRTUAL DESKTOP INSTANCES

Granted: March 23, 2017
Application Number: 20170083354
A computing system that provides virtual computing services may generate and manage remote computing sessions between client computing devices and virtual desktop instances hosted on the service provider's network. A computing resource instance manager may monitor connections to and disconnections from a virtual desktop instance during particular time periods, and may apply a resource management policy to determine whether and when to shut down an underlying virtualized computing…

DATABASE SYSTEM WITH DATABASE ENGINE AND SEPARATE DISTRIBUTED STORAGE SERVICE

Granted: March 23, 2017
Application Number: 20170083565
A database system may include a database service and a separate distributed storage service. The database service (or a database engine head node thereof) may be responsible for query parsing, optimization, and execution, transactionality, and consistency, while the storage service may be responsible for generating data pages from redo log records and for durability of those data pages. For example, in response to a write request directed to a particular data page, the database engine…

GENERATING MESSAGE ENVELOPES FOR HETEROGENEOUS EVENTS

Granted: March 23, 2017
Application Number: 20170085512
Methods, systems, and computer-readable media for generating message envelopes for heterogeneous events are disclosed. A plurality of events are received. The events are associated with computing resources in a multi-tenant environment. The events comprise an event formatted using a content schema and a different event formatted using a different content schema. A message is generated comprising a message envelope and the event. The message envelope comprises a plurality of field names…

LOG RECORD MANAGEMENT

Granted: March 16, 2017
Application Number: 20170075767
A database system may maintain a plurality of log records at a distributed storage system. Each of the plurality of log records may be associated with a respective change to a data page. The plurality of log records may be transformed (e.g., cropped, prune, reduce, fused, deleted, merged, added, etc.).

SYSTEM AND METHOD FOR CONDITIONALLY UPDATING AN ITEM WITH ATTRIBUTE GRANULARITY

Granted: March 16, 2017
Application Number: 20170075949
A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. Attribute values may be scalars or sets of numbers or strings. The system may provide an API usable to request that values of one or more of an item's attributes be updated. An update request may be conditional on expected values of one or…

FRESHNESS-SENSITIVE MESSAGE DELIVERY

Granted: March 16, 2017
Application Number: 20170078049
Methods, systems, and computer-readable media for implementing freshness-sensitive message delivery are disclosed. A stream of events including an earlier event and a later event is received. A first attempt is performed to deliver a message indicative of the earlier event. The first attempt to deliver the message is unsuccessful. One or more additional attempts are scheduled to deliver the message indicative of the earlier event. The additional attempts are scheduled over a period of…

CUSTOMIZABLE EVENT-TRIGGERED COMPUTATION AT EDGE LOCATIONS

Granted: March 16, 2017
Application Number: 20170078433
Methods, systems, and computer-readable media for customizable event-triggered computation at edge locations are disclosed. A request for content is received at an edge server from a client device. The content is sought from a content cache at the edge server or from an origin server coupled to the edge server. Processing of the request is initiated, comprising encountering an event. The event is associated with a function specified by a customer. The function associated with the event…

READ-ONLY DATA STORE REPLICATION TO EDGE LOCATIONS

Granted: March 16, 2017
Application Number: 20170078434
Methods, systems, and computer-readable media for read-only data store replication to edge locations are disclosed. A read-only data store is replicated to an edge server. A request for content is received at the edge server from a client device. The content is sought from a content cache at the edge server or from an origin server coupled to the edge server. Processing of the request is initiated, comprising encountering an event. The event is associated with a function specified by a…

EVENT-STREAM SEARCHING USING COMPILED RULE PATTERNS

Granted: March 9, 2017
Application Number: 20170068706
Methods, systems, and computer-readable media for implementing event-stream searching using compiled rule patterns are disclosed. A rule base is compiled based at least in part on one or more rule patterns. The field names are sorted within the rule patterns. The rule patterns comprise one or more field names and one or more field values. The rule base represents a finite-state machine comprising a plurality of states. A plurality of events are received. The events comprise field names…

DYNAMIC RECONSTRUCTION OF APPLICATION STATE UPON APPLICATION RE-LAUNCH

Granted: March 2, 2017
Application Number: 20170060558
A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or scratch data that is generated by an application executing on the computing resource instance to…

METHODS AND APPARATUS FOR INTERNET-SCALE ROUTING USING SMALL-SCALE BORDER ROUTERS

Granted: March 2, 2017
Application Number: 20170063677
Methods and apparatus for Internet-scale routing using small-scale border routers and IP tunneling are described. Each border router is directly connected to a transit provider. Routing protocol peerings may be passed via the border routers through tunnels to a routing service; the routing service and the transit provider router(s) appear to be directly adjacent routing peers. The routing service receives routing data from the transit provider(s), maintains the routing data in a routing…

VIRTUALIZING GRAPHICS PROCESSING IN A PROVIDER NETWORK

Granted: February 16, 2017
Application Number: 20170047041
Methods, systems, and computer-readable media for virtualizing graphics processing in a provider network are disclosed. A virtual compute instance is provisioned from a provider network. The provider network comprises a plurality of computing devices configured to implement a plurality of virtual compute instances with multi-tenancy. A virtual GPU is attached to the virtual compute instance. The virtual GPU is implemented using a physical GPU, and the physical GPU is accessible to the…

COMPUTER SYSTEM WITH SIDE PLENUM COOLING

Granted: February 2, 2017
Application Number: 20170031392
A rack-mountable computer system directs separate portions of a cooling airflow from an inlet air plenum in the computer system interior through separate air passages to remove heat from separate portions of a set of heat-producing components. The air passages can preclude a portion of cooling airflow removing heat from a component from being preheated by another component. Plenums and air passages can be established through the arrangement of components in the interior. Components can…

EFFICIENT GARBAGE COLLECTION FOR A LOG-STRUCTURED DATA STORE

Granted: January 26, 2017
Application Number: 20170024315
A log-structured data store may implement efficient garbage collection. Log records may be maintained in data blocks according to a log record sequence. Based, at least in part, on a log reclamation point, the log records may be evaluated to identify data blocks to reclaim that have log records in the log sequence prior to the log reclamation point. New versions of data pages updated by log records in the identified data blocks may be generated and stored in base page storage for the log…

GAME CONTENT INTERFACE IN A SPECTATING SYSTEM

Granted: January 5, 2017
Application Number: 20170001112
A game spectating system that provides interfaces and methods for providing game content to viewers. The spectating system obtains game metadata from game systems for games being broadcast by the spectating system according to the API, and generates broadcast content based at least in part on the game metadata. The broadcast content includes user interface (UI) elements for obtaining virtual or physical objects corresponding to the game content. The broadcast content is provided to…

INTEGRATING GAMES SYSTEMS WITH A SPECTATING SYSTEM

Granted: January 5, 2017
Application Number: 20170001122
A spectating system that exposes an application programming interface (API) to game systems. The spectating system obtains game metadata from the game systems for games being broadcast by the spectating system according to the API, and generates content for the broadcasts based at least in part on the game metadata. The broadcast content is provided to spectator devices with the broadcasts. The spectating system receives indications of spectators' interactions with the broadcast content…

SPECTATOR INTERACTIONS WITH GAMES IN A SPECATATING SYSTEM

Granted: January 5, 2017
Application Number: 20170003740
A spectating system that generates game inputs based on spectator inputs and interactions, and provides the game inputs to game systems according to an application programming interface (API). The spectating system may allow spectators to interact with and affect a game being broadcast via inputs to and interactions with user interface (UI) elements presented on the spectating UI. Spectators may affect or influence the game, objects within the game universe, events within the game, or…

GAME EFFECTS FROM SPECTATING COMMUNITY INPUTS

Granted: January 5, 2017
Application Number: 20170003784
A spectating system that generates game inputs based on spectating inputs and provides the game inputs to game systems according to an application programming interface (API). The spectating inputs may include spectator participation statistics, text chat inputs, audio inputs, and spectator interactions with a spectating user interface. The game inputs may include random numbers based on the spectating inputs that may be used as entropy sources for games. The game inputs may also include…

AUTOMATIC REPAIR OF CORRUPTED BLOCKS IN A DATABASE

Granted: January 5, 2017
Application Number: 20170004194
A distributed data warehouse system maintains data blocks on behalf of clients, and stores primary and secondary copies of data blocks on different disks or nodes in a cluster. The data warehouse system may back up data blocks in a key-value backup storage system. In response to a query targeting a data block previously stored in the cluster, the data warehouse system may determine whether a consistent, uncorrupted copy of the data block is available in the cluster (e.g., by applying a…

SHIPPABLE NETWORK-ATTACHED DATA STORAGE DEVICE WITH UPDATEABLE ELECTRONIC DISPLAY

Granted: January 5, 2017
Application Number: 20170004445
A network-attachable data transfer device housed within a shippable enclosure that incorporates an updateable electronic display for displaying shipping destination information is disclosed. The device may be initialized (e.g., prepared to receive data, and the updateable electronic shipping display set to the shipping destination) by a service provider and shipped, in accordance with the displayed destination address, as a self-contained shipping unit. The device may be installed onto a…