Distributed transactions across multiple consensus groups

    公开(公告)号:US12216679B2

    公开(公告)日:2025-02-04

    申请号:US16403341

    申请日:2019-05-03

    Abstract: Methods, systems, and computer-readable media for distributed transactions across multiple consensus groups are disclosed. A distributed transaction system comprises a proposer and a plurality of consensus groups, including a first consensus group comprising a first plurality of members and a second consensus group comprising a second plurality of members. The proposer proposes a transaction to at least a portion of the first consensus group and at least a portion of the second consensus group. A majority of the members in the first consensus group agree to perform the transaction, where the transaction is selected from a plurality of proposed transactions involving the first consensus group. A majority of the members in the second consensus group also agree to perform the transaction. The members of the first and second consensus groups perform the transaction to update a plurality of stored replicas.

    Virtual machine monitor providing secure cryptographic operations

    公开(公告)号:US11537421B1

    公开(公告)日:2022-12-27

    申请号:US16435279

    申请日:2019-06-07

    Abstract: Computer systems and methods are disclosed to implement a virtual machine monitor (VMM) that stores cryptographic keys for guest virtual machines (VMs) and securely executes cryptographic operations on the VMs' behalf using the stored cryptographic keys. The cryptographic keys are maintained in a key store that is accessible to the VMM but not accessible to the guest VMs. The cryptographic operations are executed in a manner that does not reveal the cryptographic keys to the guest VMs. In embodiments, the guest VMs may invoke the cryptographic operations via a device driver, a memory access interface, or some other mechanism. Advantageously, the guest VMs cannot obtain the cryptographic keys in their own memory space, so that the keys cannot be exfiltrated from the guest VMs. Embodiments of the VMM may be used to implement cryptographic operations such as request signing and verification, data encryption and decryption, and others.

    Identifying correlated resource behaviors for resource allocation

    公开(公告)号:US11381468B1

    公开(公告)日:2022-07-05

    申请号:US14658941

    申请日:2015-03-16

    Abstract: A distributed system may implement identifying correlated workloads for resource allocation. Resource data for resources hosted at resource hosts in a distributed system may be analyzed to determine behavioral similarities. Historical behavior data or resource configuration data, for instance, may be compared between resources. Behaviors between resources may be identified as correlated according to the determined behavioral similarities. An allocation of one or more resource hosts in the distributed system may be made for a resource based on the behaviors identified as correlated. For instance, resources may be migrated from a current resource host to another resource host, new resources may be placed at a resource host, or resources may be reconfigured into different resources. Machine learning techniques may be implemented to refine techniques for identifying correlated behaviors.

    Mapreduce implementation in an on-demand network code execution system and stream data processing system

    公开(公告)号:US11243953B2

    公开(公告)日:2022-02-08

    申请号:US16144997

    申请日:2018-09-27

    Abstract: Systems and methods are described for providing an implementation of the MapReduce programming model utilizing tasks executing on an on-demand code execution system, utilizing a stream data processing system as an intermediary between map and reduce function. A map task implementing a map function can process portions of a data set, to generate outputs associated with different values for a measured attribute of the data set. Executions of the map task can publish outputs to a data stream on the stream data processing system, which stream is configured to utilize the measured attribute as a partition key for the stream. Based on the partition key, the stream data processing system can divide the stream into sub-streams, each containing a relevant subset of the outputs. The on-demand code execution system can execute a reduce task to apply the reduce function to the outputs of each sub-stream, thereby completing the MapReduce process.

    Authentication to network-services using hosted authentication information

    公开(公告)号:US11159528B2

    公开(公告)日:2021-10-26

    申请号:US16457504

    申请日:2019-06-28

    Abstract: Systems and methods are described for facilitating authentication of hosted network services to other services. A target service, such as a database, may require specific authentication information, such as a username and password, to access the target service. While this information could be manually specified in the hosted network service, de-centralized storage of authentication information is generally discouraged by security best practices. This disclosure provides an authentication proxy system that reduces or eliminates a need for hosted network services to store authentication information for target services. Rather, the authentication proxy system can obtain authentication information for the hosted network service that is provided by a hosting system, and authenticate the hosted network service using that authentication information. If authenticated, the proxy system can retrieve authentication information for the target service, and pass operations from the hosted network service to the target service using the authentication information for the target service.

    Managing sandbox reuse in an on-demand code execution system

    公开(公告)号:US11144359B1

    公开(公告)日:2021-10-12

    申请号:US16447725

    申请日:2019-06-20

    Abstract: Systems and methods are described for managing reuse of sandboxed computing environments in a network-based on-demand code execution system. Users may generate tasks on the system by submitting code to a frontend, which may interact with multiple worker managers that manage task execution in sandboxed computing environments such as containers or virtual machine instances. A sandbox may be reusable once provisioned, but the resources required to definitively locate an idle sandbox may be significant relative to the cost of provisioning a new sandbox. The system may therefore manage reuse by randomly or semi-randomly selecting a worker manager and requesting that it provide an existing sandbox if one is available. If not, then the system may select a different worker manager and repeat the request, or after consuming a threshold amount of resources may request that the next worker manager provision a new sandbox if an existing one is not available.

Patent Agency Ranking