Patents by Inventor Marc Brooker
Marc Brooker has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11947568Abstract: Working set ratio estimations of data items in a sliding time window are determined to dynamically allocate storage for the data items. A working set ratio may be determined by accessing a fixed-size array that stores respective timestamps of last accesses of data items to determine which data items are useful to determine an estimate of a working set for the application within a range of time. The working set ratio is then determined from an estimated working set and an amount of computing resources allocated to the application by the estimated working set. The amount of the computing resources allocated to the application may then be automatically scaled according to the determine working set ratio.Type: GrantFiled: September 30, 2021Date of Patent: April 2, 2024Assignee: Amazon Technologies, Inc.Inventors: Bryce Jonathan Danz, Sankhyayan Debnath, Stefano Stefani, Anton Shyrabokau, Mohammad Abu Obaida, Marc Brooker, David Charles Wein, Zhonghua Feng
-
Patent number: 11900152Abstract: Systems and methods are described for providing updating of disk images supporting serverless code execution and controlled deployment of updated disk images. A disk image can be defined as a set of layers that represent a file system include code of a serverless function and other data used by the code. A function owner can designate one layer as containing software or other data subject to update. When a new version of the layer is obtained at a serverless compute system, the system can generate a new disk image containing the updated layer. The system can then gradually transition the function to the new disk image, by dividing calls to the function among two versions of the function—one using the prior disk image, and one using the new disk image. Performance data gained from the new version of the function can be used to control the gradual transition.Type: GrantFiled: March 30, 2021Date of Patent: February 13, 2024Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, David Nasi, Trishika Pattabiraman, Holly Mesrobian, Mikhail Danilov, Peter Barry, Peter Martin McDonnell
-
Patent number: 11714682Abstract: Systems and methods are described for reclamation of computing resources in an on-demand code execution system. An on-demand code execution system may execute user-submitted code on virtual machine instances, which may be provisioned with quantities of various computing resources (memory, storage, processor time, etc.). These quantities of computing resources may be unused or underutilized depending on the resource requirements of the user-submitted code, or may become idle once the user-submitted code has completed execution. A resource reclamation system may thus reclaim these underutilized computing resources and reallocate them to other uses. The resource reclamation system may interact with a reclaimable resource identification process that executes within the virtual machine instance, which may identify unused or underused computing resources, claim them, and then allow the resource reclamation system to reallocate them.Type: GrantFiled: March 3, 2020Date of Patent: August 1, 2023Assignee: Amazon Technologies, Inc.Inventors: Vishal Shahane, Marc Brooker
-
Patent number: 11604669Abstract: Systems and methods are provided for efficiently configuring an execution environment for an on-demand code execution system to handle a single request (or session) for a single user. Once the session or request is complete, the execution environment is reset, such as by having the hardware processor state, memory, and storage reset. In particular, prior to the execution of code, state of the execution environment of the host computing device is retrieved, such as hardware processor(s), memory, and/or storage state. Moreover, during execution of the code instructions, intermediate state can be gathered. Following the execution of the code, the execution environment is reset based on the saved state related to the hardware processor(s), memory, and/or storage. A subsequent code execution securely occurs in the execution environment and the execution environment is reset again, and so forth.Type: GrantFiled: February 5, 2020Date of Patent: March 14, 2023Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Mikhail Danilov, Osman Surkatty, Tao Chen
-
Patent number: 11593270Abstract: Systems and methods are described for providing rapid access to data objects stored in a cache. Rather than storing data objects directly, each object can be broken into a number of parts via erasure coding, which enables the object to be generated from less than all parts. When servicing a request for the data object, a device can attempt to retrieve all parts, but begin to generate the data object as soon as a sufficient number of parts is retrieved, even if requests for other parts are outstanding. In this way, the data object can be retrieved without delay due to the slowest requests. For example, where one or more requests timeout, such as due to failure of cache devices, this timeout may have no effect on time required to retrieve the data object from the cache.Type: GrantFiled: November 25, 2020Date of Patent: February 28, 2023Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Philip Daniel Piwonka, Nare Hayrapetyan
-
Patent number: 11582025Abstract: Systems and methods are described for providing secure storage of data sets while enabling efficient deduplication of data. Each data set can be divided into fixed-length blocks. The plaintext of each block can be convergently encrypted, such as by using a hash of the plaintext as an encryption key, to result in block-level ciphertext that can be stored. If two data sets share blocks, the resulting block-level ciphertext can be expected to overlap, and thus duplicative block-level ciphertexts need not be stored. A manifest can be created to facilitate re-creation of the data set, which manifest identifies the block-level ciphertexts of the data set and a key by which each block-level ciphertext was encrypted. By use of block-level encryption, nearly identical data sets can be largely deduplicated, even if they are not perfectly identical.Type: GrantFiled: September 29, 2020Date of Patent: February 14, 2023Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Derek Manwaring, Osman Surkatty, Mikhail Danilov, Peter Martin McDonnell, Stefan Schneider
-
Patent number: 11546324Abstract: Systems and methods are provided for scoped credentials within secure execution environments executing within virtual machines instances in an on-demand code execution system. In the on-demand code execution system, the execution environments are reset after every request or session. By resetting the single execution environment after each request or session, security issues are addressed, such as side-channel attacks and persistent malware. Additionally, the use of scoped credentials improves security by limiting the access rights for each code execution request or session to the smallest atomic level for the request or session. Following the request or session, the scoped credential is invalidated.Type: GrantFiled: February 5, 2020Date of Patent: January 3, 2023Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Osman Surkatty, Mikhail Danilov
-
Patent number: 11392497Abstract: Systems and methods are described for providing rapid access to data sets used by serverless function executions. Rather than pre-loading an entire data set into an environment of a serverless function, which might incur large latencies, the environment is provided with a local access view of the data set, such as in the form of a read-only mount point. As blocks within the data set are requested, a local process can translate the requests into requests for corresponding network objects. The network objects are then retrieved, and the relevant portion of the object is made available to the environment. Network objects may be shared among multiple data sets, so a host device may include a cache enabling an object retrieved for a first environment to also be used to service requests from a second environment.Type: GrantFiled: November 25, 2020Date of Patent: July 19, 2022Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Rory Jacob
-
Patent number: 11329803Abstract: Systems and methods are described for providing storage of encrypted data sets, deduplication of such data sets, and control of the redundancy of those data sets. A form of modified convergent encryption can be employed, whereby an encryption key for a data set is selected based on a combination of the plaintext of the data set and a salt value, with the salt value being selected from a number of permutations corresponding to a desired redundancy of the data set in a storage system. Accordingly, a given data set can result in a number of ciphertexts equal to the desired redundancy, and deduplication can occur by removing duplicative instances of individual ciphertexts. Salt values can be selected according to a variety of criteria, including user-based, time-based, and location-based criteria.Type: GrantFiled: September 29, 2020Date of Patent: May 10, 2022Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Osman Surkatty, Derek Manwaring, Mikhail Danilov, Peter Martin McDonnell, Stefan Schneider
-
Publication number: 20220103338Abstract: Systems and methods are described for providing secure storage of data sets while enabling efficient deduplication of data. Each data set can be divided into fixed-length blocks. The plaintext of each block can be convergently encrypted, such as by using a hash of the plaintext as an encryption key, to result in block-level ciphertext that can be stored. If two data sets share blocks, the resulting block-level ciphertext can be expected to overlap, and thus duplicative block-level ciphertexts need not be stored. A manifest can be created to facilitate re-creation of the data set, which manifest identifies the block-level ciphertexts of the data set and a key by which each block-level ciphertext was encrypted. By use of block-level encryption, nearly identical data sets can be largely deduplicated, even if they are not perfectly identical.Type: ApplicationFiled: September 29, 2020Publication date: March 31, 2022Inventors: Marc Brooker, Derek Manwaring, Osman Surkatty, Mikhail Danilov, Peter Martin McDonnell, Stefan Schneider
-
Publication number: 20220103339Abstract: Systems and methods are described for providing storage of encrypted data sets, deduplication of such data sets, and control of the redundancy of those data sets. A form of modified convergent encryption can be employed, whereby an encryption key for a data set is selected based on a combination of the plaintext of the data set and a salt value, with the salt value being selected from a number of permutations corresponding to a desired redundancy of the data set in a storage system. Accordingly, a given data set can result in a number of ciphertexts equal to the desired redundancy, and deduplication can occur by removing duplicative instances of individual ciphertexts. Salt values can be selected according to a variety of criteria, including user-based, time-based, and location-based criteria.Type: ApplicationFiled: September 29, 2020Publication date: March 31, 2022Inventors: Marc Brooker, Osman Surkatty, Derek Manwaring, Mikhail Danilov, Peter Martin McDonnell, Stefan Schneider
-
Patent number: 11288004Abstract: Systems and methods are provided to manage replicas of a virtualized block storage volume. The master replica of the virtualized block storage volume can heartbeat with each secondary replica of the virtualized block storage volume to provide an indication of the status of the master replica. Each secondary replica can reply to the heartbeat of the master replica. Each replica can be configured to request an updated replica configuration based on not receiving a heartbeat from one of the replicas. The master replica can request an updated replica configuration after a first time period without receiving a reply from one of the secondary replicas and each secondary replica can request an updated replica configuration after a second time period without receiving a communication from the master replica. Use of the heartbeat process between the master replica and the secondary replicas can increase system speed or reduce power consumption.Type: GrantFiled: March 13, 2020Date of Patent: March 29, 2022Assignee: Amazon Technologies, Inc.Inventors: Fan Ping, Marc Brooker, Tao Chen
-
Patent number: 11231955Abstract: Systems and methods are described for dynamically adjusting quantities of computing resources allocated to virtual machine instances in an on-demand code execution system. An on-demand code execution system may execute user-submitted code on virtual machine instances, which may be provisioned with quantities of various computing resources (memory, storage, processor time, etc.). Users may request that code be executed on virtual machine instances having a particular quantity of a particular computing resource, and a previously provisioned virtual machine instance have a different quantity of the resource than the quantity requested. A resource reclamation system may thus be used to dynamically adjust the quantity of computing resources without reprovisioning the virtual machine instance.Type: GrantFiled: March 3, 2020Date of Patent: January 25, 2022Assignee: Amazon Technologies, Inc.Inventors: Vishal Shahane, Marc Brooker
-
Publication number: 20210240509Abstract: Systems and methods are provided for efficiently configuring an execution environment for an on-demand code execution system to handle a single request (or session) for a single user. Once the session or request is complete, the execution environment is reset, such as by having the hardware processor state, memory, and storage reset. In particular, prior to the execution of code, state of the execution environment of the host computing device is retrieved, such as hardware processor(s), memory, and/or storage state. Moreover, during execution of the code instructions, intermediate state can be gathered. Following the execution of the code, the execution environment is reset based on the saved state related to the hardware processor(s), memory, and/or storage. A subsequent code execution securely occurs in the execution environment and the execution environment is reset again, and so forth.Type: ApplicationFiled: February 5, 2020Publication date: August 5, 2021Inventors: Marc Brooker, Mikhail Danilov, Osman Surkatty, Tao Chen
-
Patent number: 11010188Abstract: Systems and methods are described for simulated data object storage on a data storage system. The system may allow clients to store computed data objects, which are generated from a source data object based on a user-defined transformation. For example, computed data objects may be thumbnail images generated based on a full resolution image. When a request to store a computed data object is received, the system can predict a timing of a next request for the data object. If expected resource consumption associated with storing the data object until a next request exceeds expected resource consumption associated with generating the data object in response to the next request, the system can acknowledge the request to store the data object, but not actually store the data object. Instead, the system may generate the data object in response to the next request.Type: GrantFiled: February 5, 2019Date of Patent: May 18, 2021Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Timothy Allen Wagner, Mikhail Danilov, Niall Mullen, Holly Mesrobian, Philip Daniel Piwonka
-
Patent number: 9910881Abstract: A system may implement maintaining control plane data versions for a network-based service control plane. Various control plane actions may be performed which create new versions of control plane data that may be maintained for the control plane in a database. Some of these actions may be performed by multiple actors creating new versions of the same control plane data. For a particular control plane action, a new version number may be obtained to include in a new version of control plane data, and a conditional write request may be performed to insert the new version of control plane data at the database as part of an optimistic concurrency technique in order to maintain consistency for control plane data.Type: GrantFiled: December 12, 2013Date of Patent: March 6, 2018Assignee: Amazon Technologies, Inc.Inventors: Marc Brooker, Madhuvanesh Parthasarathy, Tao Chen, Marc Levy