Patents by Inventor Matteo Frigo

Matteo Frigo 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: 10949397
    Abstract: Techniques described and suggested include systems and processes for handling data and client lock management in multi-tenant storage systems, such as distributed storage systems. In some embodiments, data lock and client lock records are stored in connection with a plurality of data stores on which client data resides. In some embodiments, a storage hub operably connected to the data stores determines and retain client lease information. In some embodiments, the client lease information is used in conjunction with the data lock and client lock records to effect and determine the validity of locks on various data elements.
    Type: Grant
    Filed: December 11, 2014
    Date of Patent: March 16, 2021
    Assignee: Amazon Technologies, Inc.
    Inventors: Jacob A. Strauss, Matteo Frigo
  • Patent number: 10592344
    Abstract: Erasure encoded fragments are generated by an erasure encoding scheme, represented by an erasure encoding matrix, operating on a data file. A new erasure encoded fragment may be generated from previously-generated erasure encoded fragments without reconstructing the original data file. Available and valid erasure encoded fragments are identified and a set of those fragments is selected. A composite encoding matrix is generated based upon the selected fragments and the fragment specified to be generated. The composite matrix is applied to the selected fragments to produce a plurality of partial sums. The partial sums are then combined to generate the specified fragment. The partial sums may be produced by different devices so as to distribute the computational workload and/or to reduce network traffic. The integrity of a generated fragment may be verified by generating the specified fragment twice, using two different sets of fragments, and then comparing the two results.
    Type: Grant
    Filed: July 19, 2017
    Date of Patent: March 17, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Bryan James Donlan, Matteo Frigo, Colin Laird Lazier
  • Publication number: 20200068011
    Abstract: A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machine-shards. The replicated state machine-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine usable in block allocation operations.
    Type: Application
    Filed: November 1, 2019
    Publication date: February 27, 2020
    Inventors: Michael Robert Frasca, Matteo Frigo, Jacob A. Strauss
  • Patent number: 10469571
    Abstract: A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machine-shards. The replicated state machine-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine usable in block allocation operations.
    Type: Grant
    Filed: October 13, 2017
    Date of Patent: November 5, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Michael Robert Frasca, Matteo Frigo, Jacob A. Strauss
  • Patent number: 10372685
    Abstract: A client request, formatted in accordance with a file system interface, is received at an access subsystem of a distributed multi-tenant storage service. After the request is authenticated at the access subsystem, an atomic metadata operation comprising a group of file system metadata modifications is initiated, including a first metadata modification at a first node of a metadata subsystem of the storage service and a second metadata modification at a second node of the metadata subsystem. A plurality of replicas of at least one data modification corresponding to the request are saved at respective storage nodes of the service.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: August 6, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Vincent, Wayne William Duso, Matti Juhani Oikarinen, Matteo Frigo, James Christopher Sorenson, III
  • Patent number: 10148292
    Abstract: An example method to decode an error-correcting code includes receiving a tuple including a seed and a coded packet over a communication channel, and based on the seed, reconstructing a set of pseudorandom coefficients used by an encoder to create the coded packet. The method also includes entering the set of pseudorandom coefficients and the coded packet in a decoding matrix and reducing the decoding matrix to a row echelon form. After reducing the decoding matrix to a row echelon form, the method further includes determining if the decoding matrix is decodable up to a number of rows, reducing the decoding matrix up to the number of rows by backward substitution so a part of the first matrix becomes an identity matrix and a corresponding part of the second matrix comprise source packets, and extracting the source packets from the padded packets.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: December 4, 2018
    Assignee: QUANTA COMPUTER, INC.
    Inventors: Matteo Frigo, Lawrence Colm Stewart
  • Patent number: 10108624
    Abstract: A metadata manager of a file system receives a directory move request, indicating a source directory (SD) and a proposed parent directory (PPD). Each directory in the directory tree is assigned a respective move rank (MR) in accordance with a rank-order preserving rule. The metadata manager checks whether the MR of the SD or the PPD is to be changed to avoid violating the rule. If an MR change is required, one or more directory-pair operations are implemented to determine whether the move can be successfully completed. In each directory-pair operation, the MRs of a pair of directories is examined and an attempt is made to modify one of the MRs of the pair in accordance with the rule. If enough MRs can be changed, the move is completed by adding the SD as a child of the PPD.
    Type: Grant
    Filed: February 4, 2015
    Date of Patent: October 23, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Allan Henry Vermeulen, Matteo Frigo
  • Publication number: 20180041572
    Abstract: A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machine-shards. The replicated state machine-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine usable in block allocation operations.
    Type: Application
    Filed: October 13, 2017
    Publication date: February 8, 2018
    Inventors: Michael Robert Frasca, Matteo Frigo, Jacob A. Strauss
  • Patent number: 9794331
    Abstract: A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machines-shards. The replicated state machines-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine useable in block allocation operations.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: October 17, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Michael Robert Frasca, Matteo Frigo, Jacob A. Strauss
  • Patent number: 9779015
    Abstract: In response to receiving a write request directed to a particular logical block of a storage object, a page of free space (sufficient to accommodate the payload of the write request, but smaller in size than the logical block) of a particular extent that has been selected to store contents of the logical block is allocated. The current size of the extent is smaller than the combined sizes of logical blocks that are mapped to the extent. The page is modified in accordance with a payload indicated in the write request. In response to a subsequent write request directed to the particular extent, a determination is made that the particular extent would violate a free space threshold criterion if the payload of the write request were accommodated, and an extent expansion operation is initiated.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: October 3, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Matti Juhani Oikarinen, Pradeep Vincent, Matteo Frigo
  • Patent number: 9772787
    Abstract: A write request directed to a storage object is received at a distributed file storage service. Based on a variable stripe size selection policy, a size of a particular stripe of storage space to be allocated for the storage object is determined, which differs from the size of another stripe allocated earlier for the same storage object. Allocation of storage for the particular stripe at a particular storage device is requested, and if the allocation succeeds, the contents of the storage device are modified in accordance with the write request.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: September 26, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Matti Juhani Oikarinen, Matteo Frigo, Pradeep Vincent
  • Patent number: 9753807
    Abstract: Erasure encoded fragments are generated by an erasure encoding scheme, represented by an erasure encoding matrix, operating on a data file. A new erasure encoded fragment may be generated from previously-generated erasure encoded fragments without reconstructing the original data file. Available and valid erasure encoded fragments are identified and a set of those fragments is selected. A composite encoding matrix is generated based upon the selected fragments and the fragment specified to be generated. The composite matrix is applied to the selected fragments to produce a plurality of partial sums. The partial sums are then combined to generate the specified fragment. The partial sums may be produced by different devices so as to distribute the computational workload and/or to reduce network traffic. The integrity of a generated fragment may be verified by generating the specified fragment twice, using two different sets of fragments, and then comparing the two results.
    Type: Grant
    Filed: June 17, 2014
    Date of Patent: September 5, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Bryan James Donlan, Matteo Frigo, Colin Laird Lazier
  • Patent number: 9710407
    Abstract: An I/O request directed to a portion of a storage object managed at a distributed storage service is received. A congestion control parameter value to be used to schedule a storage operation corresponding to the I/O request is determined. The congestion control parameter is based at least in part on an offset within the storage object to which the I/O request is directed. The storage operation is scheduled in accordance with the congestion control parameter at a selected physical storage device to which the portion of the storage object is mapped.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: July 18, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Matti Juhani Oikarinen, Matteo Frigo, Michael Anthony Nuss, Wayne William Duso
  • Publication number: 20170201346
    Abstract: An example method to decode an error-correcting code includes receiving a tuple including a seed and a coded packet over a communication channel, and based on the seed, reconstructing a set of pseudorandom coefficients used by an encoder to create the coded packet. The method also includes entering the set of pseudorandom coefficients and the coded packet in a decoding matrix and reducing the decoding matrix to a row echelon form. After reducing the decoding matrix to a row echelon form, the method further includes determining if the decoding matrix is decodable up to a number of rows, reducing the decoding matrix up to the number of rows by backward substitution so a part of the first matrix becomes an identity matrix and a corresponding part of the second matrix comprise source packets, and extracting the source packets from the padded packets.
    Type: Application
    Filed: March 29, 2017
    Publication date: July 13, 2017
    Applicant: QUANTA COMPUTER, INC.
    Inventors: Matteo FRIGO, Lawrence Colm STEWART
  • Patent number: 9673841
    Abstract: A method is provided to transmit an error-correcting code. The method includes receiving a source packet, advancing a sliding encoder window after receiving the source packet, and generating coded packets by, when the padded packet is encoded for a first time, encoding the source packet alone, and, when the source packet is encoded for a number of times after the first time, encoding the source packet with older source packets in the sliding window.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: June 6, 2017
    Assignee: QUANTA COMPUTER, INC.
    Inventors: Matteo Frigo, Lawrence Colm Stewart
  • Patent number: 9602424
    Abstract: A connection request from a client is received at an access subsystem node of a distributed storage service. The connection request includes an attempt count parameter indicative of a number of times an establishment of a connection on behalf of the client has been attempted. A workload threshold level based on the attempt count parameter is identified for use in an acceptance decision for the connection request. In response to a determination that a local workload metric of the access subsystem node is below the workload threshold level, the connection is accepted.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: March 21, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Vincent, Matti Juhani Oikarinen, Douglas Stewart Laurence, Matteo Frigo
  • Patent number: 9569459
    Abstract: A node of a distributed storage service receives a read request from a client, directed to a particular physical page storing at least a portion of a file store object. The node transmits, to the client, a particular operation sequence number (OSN), obtained from a replicated state machine, indicative of an order in which the read request was processed at the node relative to other requests directed to the file store object. The node receives a write request from the client directed to the page. The write request includes the particular OSN. The node determines whether the page has been modified after the particular OSN was obtained. If the page has not been modified since the OSN was obtained, a modification indicated in the write request is performed; otherwise, the write request is rejected.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: February 14, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Jacob A. Strauss, Pradeep Vincent, Michael Robert Frasca, Matteo Frigo, Matti Juhani Oikarinen
  • Patent number: 9542315
    Abstract: A tiled storage array provides reduction in access latency for frequently-accessed values by re-organizing to always move a requested value to a front-most storage element of array. The previous occupant of the front-most location is moved backward according to a systolic pulse, and the new occupant is moved forward according to the systolic pulse, preserving the uniqueness of the stored values within the array, and providing for multiple in-flight access requests within the array. The placement heuristic that moves the values according to the systolic pulse can be implemented by control logic within identical tiles, so that the placement heuristic moves the values according to the position of the tiles within the array. The movement of the values can be performed via only next-neighbor connections of adjacent tiles within the array.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: January 10, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Volker Strumpen, Matteo Frigo
  • Patent number: 9519510
    Abstract: A node of a storage service is selected as a coordinator of a distributed transaction involving multiple page-level modifications. The coordinator identifies other nodes as members of a node chain collectively storing physical data pages at which proposed modifications are to be performed, including a decider node responsible for a decision to commit the transaction. The coordinator generates a transaction preparation message comprising a representation of an order of respective commit decisions associated with the proposed modifications, and transmits the message to a selected node of the chain for a sequential propagation along the chain. Each chain node performs a local commit analysis for its changes and stores a record of its intent to commit. If a decision to commit is reached at the decider, the proposed modifications are completed.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: December 13, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Jacob A. Strauss, Matteo Frigo, Alex Haugland, Matti Juhani Oikarinen, Pradeep Vincent, Joshua Samuel Hendrickson
  • Patent number: 9495478
    Abstract: A directed acyclic graph (DAG) is generated to represent a namespace of a directory. In response to a request to create a new object with a specified name, a hash value bit sequence is computed for the name. A plurality of levels of the DAG are navigated using successive subsequences of the bit sequence to identify a candidate node for storing a new entry corresponding to the specified name. If the candidate node meets a split criterion, the new entry and at least a selected subset of entries of the candidate node's list of entries are distributed among a plurality of DAG nodes, including at least one new DAG node, using respective bit sequences obtained by applying the hash function for each distributed entry.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: November 15, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Joshua Samuel Hendrickson, Matti Juhani Oikarinen, Alex Haugland, Pradeep Vincent, Matteo Frigo, Xiaobin Wu