Abstract:
Methods and apparatus for portable network interfaces to manage authentication and license enforcement. A system may include a plurality of resource instances including a producer instance configured to implement a network-accessible service, and an authentication coordinator. The coordinator may assign an interface record to the service, wherein the interface record comprises an IP address and a set of security properties. The coordinator may configure the security properties to allow a client to request an attachment of the interface record to a selected resource instance, such that the selected resource instance is enabled to transmit network messages from the IP address using one or more physical network interfaces of the selected resource instance. The producer resource instance initiates authentication operations for the service, including at least one authentication operation based on the IP address of the interface record.
Abstract:
A journaled database system may comprise data nodes that maintain a collection of data structured in accordance with a schema. A change to the schema may be applied by a journal module while a journal consumer continues to operate using a prior version of the schema. A buffer may be formed and have stored therein records describing state change instructions according to the prior view of the schema. An index of correspondence between the records in the buffer and in the source journal may be maintained.
Abstract:
In a service provider environment, software deployments can be implemented by automatically routing an incrementally larger percentage of requests to a new software stack based on a success rate for previous requests. Thus, new and old versions of the software stack can be executed simultaneously with a small portion being routed to the new version until a sufficient number of requests have been handled. By slowly bringing a new software stack online, a confidence level in the new deployment can increase until it is fully deployed. Different success rates and different ramping rates can be used for each customer or based on different components of the request, such as API name, API parameters, location, etc. The software deployments can be extended to web-page requests.
Abstract:
A system may comprise a storage device on which counters are stored. A counter may be associated with an identifier. A computing node of the system may receive a request to modify the counter. In response to the request, a read signature may be stored and may comprise a hash of the identifier and a tolerance of the counter to change. A write signature may be stored in response to the request, and may comprise a hash of the identifier and a magnitude of the requested modification. A conflict may be detected by comparing a sum of the magnitudes of requested changes to the tolerance of the read operation.
Abstract:
Systems and methods for managing credentials distribute the credentials to subsets of a set of collectively managed computing resources. The collectively managed computing resources may include one or more virtual machine instances. The credentials distributed to the computing resources may be used by the computing resources to perform one or more actions. Actions may include performing one or more functions in connection with configuration, management, and/or operation of the one or more resources, and/or access of other computing resources. The ability to use credentials may be changed based at least in part on the occurrence of one or more events.
Abstract:
Systems, methods and computer-readable media are described for pre-warming compute instances in datacenters. A service provider associated with the datacenters may expect a demand for the compute instances and pre-configure computing resources within the datacenters to pre-launch the compute instances. As such, when a user requests a compute instance, the service provider may satisfy the request by allocating a pre-warmed compute instance to the user.
Abstract:
A journaled database system may comprise data nodes that maintain a collection of data and provide read access to the data to a client in accordance with a read schema and write access to the client in accordance with a write schema. A change to the schemas may be proposed. A materialization schema may be identified based on correlated determinations that both of the read schema and the write schema are satisfiable based on the materialization schema. The proposed changes may be accepted when the read schema and write schema are simultaneously satisfiable.
Abstract:
A database management system stores data for a table using a ledger which comprises journal and summary portions. A query processor of the database identifies a first set of operations to update a document of a table in accordance with an update command. The query processor identifies a second set of operations to update tables or views that are potentially affected by the update to the document. The query processor then causes the first and second sets of operations to be executed as an atomic unit.
Abstract:
A journaled database may comprise a computing node that forms a local version of a global state, synchronized with respect to the high-water mark of a data node that maintains the global state. Instructions to modify the state that have been committed, subsequent to forming the local version of the state, may be represented in a merge signature. An uncommitted transaction may be checked for conflicts with respect to a last-ordered committed instruction to modify the data state. Validation with respect to earlier instructions represented by the merge signature may be skipped.
Abstract:
A database management system receives a request to perform a transaction. The database management system commits the transaction, and in response to committing the transaction, generates a cryptographic hash based on an attribute of the transaction. The cryptographic hash is stored in a leaf-region of a hash tree. In response to a request to verify the transaction, signatures are retrieved from the tree based on a traversal of the tree to locate the node corresponding to the transaction. The retrieved signatures are used to verify the transaction.