Patents by Inventor Alexandre Drobychev

Alexandre Drobychev 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: 11943290
    Abstract: A method is performed by a device of a group of devices in a distributed data replication system. The method includes storing an index of objects in the distributed data replication system, the index being replicated while the objects are stored locally by the plurality of devices in the distributed data replication system. The method also includes conducting a scan of at least a portion of the index and identifying a redundant replica(s) of the at least one of the objects based on the scan of the index. The method further includes de-duplicating the redundant replica(s), and updating the index to reflect the status of the redundant replica.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: March 26, 2024
    Assignee: Google LLC
    Inventors: Gia Datuashvili, Alexander Kesselman, Alexandre Drobychev
  • Patent number: 11394780
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for facilitating deduplication of operations to be performed is presented. An operation to be performed is received. A mapping function is applied to at least one parameter of the operation to produce a mapping value in a target mapping space, the target mapping space being partitioned between target servers in a set of target servers proportional to resource capacities of the target servers in the set of target servers. A target server in the set of target servers whose portion of the target mapping space includes the mapping value is identified. The operation is issued to the target server.
    Type: Grant
    Filed: February 9, 2021
    Date of Patent: July 19, 2022
    Assignee: Google LLC
    Inventors: Alexander Kesselman, Alexandre Drobychev
  • Publication number: 20210168208
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for facilitating deduplication of operations to be performed is presented. An operation to be performed is received. A mapping function is applied to at least one parameter of the operation to produce a mapping value in a target mapping space, the target mapping space being partitioned between target servers in a set of target servers proportional to resource capacities of the target servers in the set of target servers. A target server in the set of target servers whose portion of the target mapping space includes the mapping value is identified. The operation is issued to the target server.
    Type: Application
    Filed: February 9, 2021
    Publication date: June 3, 2021
    Applicant: Google LLC
    Inventors: Alexander Kesselman, Alexandre Drobychev
  • Patent number: 10938903
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for facilitating deduplication of operations to be performed is presented. An operation to be performed is received. A mapping function is applied to at least one parameter of the operation to produce a mapping value in a target mapping space, the target mapping space being partitioned between target servers in a set of target servers proportional to resource capacities of the target servers in the set of target servers. A target server in the set of target servers whose portion of the target mapping space includes the mapping value is identified. The operation is issued to the target server.
    Type: Grant
    Filed: October 16, 2017
    Date of Patent: March 2, 2021
    Assignee: Google LLC
    Inventors: Alex Kesselman, Alexandre Drobychev
  • Publication number: 20190268411
    Abstract: A method is performed by a device of a group of devices in a distributed data replication system. The method includes storing an index of objects in the distributed data replication system, the index being replicated while the objects are stored locally by the plurality of devices in the distributed data replication system. The method also includes conducting a scan of at least a portion of the index and identifying a redundant replica(s) of the at least one of the objects based on the scan of the index. The method further includes de-duplicating the redundant replica(s), and updating the index to reflect the status of the redundant replica.
    Type: Application
    Filed: April 22, 2019
    Publication date: August 29, 2019
    Inventors: Gia Datuashvili, Alexander Kesselman, Alexandre Drobychev
  • Patent number: 10291699
    Abstract: A method is performed by a device of a group of devices in a distributed data replication system. The method includes storing an index of objects in the distributed data replication system, the index being replicated while the objects are stored locally by the plurality of devices in the distributed data replication system. The method also includes conducting a scan of at least a portion of the index and identifying a redundant replica(s) of the at least one of the objects based on the scan of the index. The method further includes de-duplicating the redundant replica(s), and updating the index to reflect the status of the redundant replica.
    Type: Grant
    Filed: January 13, 2016
    Date of Patent: May 14, 2019
    Assignee: Google LLC
    Inventors: Gia Datuashvili, Alexander Kesselman, Alexandre Drobychev
  • Patent number: 10009250
    Abstract: The various embodiments described herein include methods, systems, and devices for managing load in a distributed storage system. In one aspect, a method is performed at a first instance server in the distributed storage system, the first instance server having memory and at least one processor coupled to the memory. The method includes: (i) issuing a first plurality of requests to a second instance server; (ii) obtaining one or more messages from the second instance server in response to the first plurality of requests, the messages indicating a utilization rate of the second instance server; (iii) determining a transaction rate limit for the second instance server based on the utilization rate of the second instance server; and (iv) issuing a second plurality of requests to the second instance server, where the second plurality of requests are issued at a rate no greater than the transaction rate limit.
    Type: Grant
    Filed: May 27, 2016
    Date of Patent: June 26, 2018
    Assignee: GOOGLE LLC
    Inventors: Alexandre Drobychev, Alexander Kesselman, George Datuashvili
  • Publication number: 20180097871
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for facilitating deduplication of operations to be performed is presented. An operation to be performed is received. A mapping function is applied to at least one parameter of the operation to produce a mapping value in a target mapping space, the target mapping space being partitioned between target servers in a set of target servers proportional to resource capacities of the target servers in the set of target servers. A target server in the set of target servers whose portion of the target mapping space includes the mapping value is identified. The operation is issued to the target server.
    Type: Application
    Filed: October 16, 2017
    Publication date: April 5, 2018
    Inventors: Alex Kesselman, Alexandre Drobychev
  • Patent number: 9819728
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for facilitating deduplication of operations to be performed is presented. An operation to be performed is received. A mapping function is applied to at least one parameter of the operation to produce a mapping value in a target mapping space, the target mapping space being partitioned between target servers in a set of target servers proportional to resource capacities of the target servers in the set of target servers. A target server in the set of target servers whose portion of the target mapping space includes the mapping value is identified. The operation is issued to the target server.
    Type: Grant
    Filed: April 30, 2013
    Date of Patent: November 14, 2017
    Assignee: GOOGLE INC.
    Inventors: Alex Kesselman, Alexandre Drobychev
  • Patent number: 9747322
    Abstract: A distributed storage system has multiple instances. There is a plurality of local instances, and at least some of the local instances are at physically distinct geographic locations. Each local instance is configured to store data for a non-empty set of blobs in a plurality of data stores having a plurality of distinct data store types. In addition, each local instance stores metadata for the respective set of blobs in a metadata store distinct from the data stores. There is also a plurality of global instances. Each global instance is configured to store data for zero or more blobs in zero or more data stores and store metadata for all blobs stored at any local or global instance. The system selects one global instance to run a replication module that replicates blobs between instances according to blob policies. Some systems also include dynamic replication based on user needs.
    Type: Grant
    Filed: October 3, 2014
    Date of Patent: August 29, 2017
    Assignee: GOOGLE INC.
    Inventors: Alexandre Drobychev, Alexander Kesselman, Rebekah C. Vickrey, Frank C. Dachille, George Datuashvili
  • Publication number: 20170208120
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for throttling data probabilistically. One of the methods includes receiving, from a client device for a particular entity, a request to process data, determining a size of data to be processed, providing, to a throttler system, a bandwidth assignment request indicating the particular entity and the size of data to be processed, receiving, from the throttler system, a bandwidth assignment for the particular entity to use when serving the request, and probabilistically determining whether to currently serve the request based on the bandwidth assignment, the size of the data to be processed, and an accrued quantity of tokens for the particular entity.
    Type: Application
    Filed: January 15, 2016
    Publication date: July 20, 2017
    Inventors: Alexandre Drobychev, Alexander Kesselman, Arun Subbiah
  • Patent number: 9659031
    Abstract: A distributed storage system has a plurality of instances. A computer system simulates the state of the distributed storage system. The system obtains a current state of the distributed storage system and replication policies for objects in the distributed storage system. Each replication policy specifies criteria for placing copies of the relevant objects among the plurality of instances. The system receives proposed modifications to the state of the distributed storage system and simulates the state of the distributed storage system over time based on the current state of the distributed storage system, current statistical trends in the state of the distributed storage system, the replication policies for the objects in the distributed storage system, and the proposed modifications to the state of the distributed storage system. One or more reports are generated relating to time evolution of the state of the distributed storage system based on the simulation.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: May 23, 2017
    Assignee: GOOGLE INC.
    Inventors: Yonatan Zunger, Alexandre Drobychev, Alexander Kesselman, Rebekah C. Vickrey, Frank Clare Dachille, George Datuashvili
  • Patent number: 9659080
    Abstract: A location assignment daemon (LAD) manages placement of object replicas in a distributed storage system. The distributed storage system may include a plurality of instances, which may be at distinct geographic locations. The LAD determines placement categories for objects stored in the distributed storage system. A placement category for an object corresponds to the object's placement policy and current replica locations. There are substantially fewer placement categories than objects. The LAD determines an action plan for each placement category whose associated objects require either creation or removal of object replicas. Each action plan includes either creating or removing an object replica. The LAD prioritizes the action plans and implements at least a subset of the action plans in priority order in accordance with available resources in the distributed storage system. Each action plan is applied to objects in the placement category corresponding to the action plan.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: May 23, 2017
    Assignee: GOOGLE INC.
    Inventors: Alexandre Drobychev, Michael O'Reilly, Mark Waldron
  • Patent number: 9600558
    Abstract: Managing placement of object replicas is performed at a first instance of a distributed storage system. One or more journals are opened for storage of object chunks. Each journal is associated with a single placement policy. A first object is received comprising at least a first object chunk. The first object is associated with a first placement policy. The first object chunk is stored in a first journal whose associated placement policy matches the first placement policy. The first journal stores only object chunks for objects whose placement policies match the first placement policy. For the first journal, the receiving and storing operations are repeated for multiple objects whose associated placement policies match the first placement policy, until a first termination condition occurs. Then, the first journal is closed. Subsequently, the first journal is replicated to a second instance of the distributed storage system according to the first placement policy.
    Type: Grant
    Filed: June 25, 2013
    Date of Patent: March 21, 2017
    Assignee: GOOGLE INC.
    Inventors: Alexander Kesselman, Alexandre Drobychev, George Datuashvili
  • Publication number: 20160275125
    Abstract: A distributed storage system stores data for files. A first blob (binary large object) of data is received. The first blob is split into one or more first chunks of data. Content fingerprints for the first chunks of data are computed. The first chunks of data are stored in a chunk store while and their content fingerprints are stored in a store distinct from the chunk store. A second blob of data is received. The second blob is split into one or more second chunks of data. Content fingerprints for the second chunks of data are computed. Then for a second chunk of data whose content fingerprint matches a content fingerprint of a first chunk of data, a second reference to the corresponding first chunk of data that has a matching content fingerprint is stored, but the second chunk of data is not stored.
    Type: Application
    Filed: May 2, 2016
    Publication date: September 22, 2016
    Inventors: Alexandre Drobychev, Alexander Kesselman, Rebekah C. Vickrey, Frank C. Dachille, George Datuashvili
  • Publication number: 20160277275
    Abstract: The various embodiments described herein include methods, systems, and devices for managing load in a distributed storage system. In one aspect, a method is performed at a first instance server in the distributed storage system, the first instance server having memory and at least one processor coupled to the memory. The method includes: (i) issuing a first plurality of requests to a second instance server; (ii) obtaining one or more messages from the second instance server in response to the first plurality of requests, the messages indicating a utilization rate of the second instance server; (iii) determining a transaction rate limit for the second instance server based on the utilization rate of the second instance server; and (iv) issuing a second plurality of requests to the second instance server, where the second plurality of requests are issued at a rate no greater than the transaction rate limit.
    Type: Application
    Filed: May 27, 2016
    Publication date: September 22, 2016
    Inventors: Alexandre Drobychev, Alexander Kesselman, George Datuashvili
  • Patent number: 9400828
    Abstract: Placement of object replicas in a distributed storage system includes, at a first instance, opening a journal for storage of object chunks. An object is received, which comprises one or more chunks. Each chunk comprises one or more storage blocks. The blocks for a single chunk are stored in a single journal. Global metadata for the object is stored, which includes a list of chunks for the object. Local metadata for the chunk is stored, which includes a block list identifying each block of the plurality of blocks. The local metadata is associated with the journal. The journal is later closed. The journal is subsequently replicated to a second instance. The global metadata is updated to reflect the replication, whereas the local metadata is unchanged by the replication.
    Type: Grant
    Filed: October 13, 2015
    Date of Patent: July 26, 2016
    Assignee: GOOGLE INC.
    Inventors: Alexander Kesselman, Michael O'Reilly, George Datuashvili, Alexandre Drobychev
  • Patent number: 9396202
    Abstract: Managing consistency of object replicas is performed at a first instance of a distributed storage system. The first instance performs garbage collection on a shard that includes a first plurality of object chunks, thereby removing a second plurality of object chunks from the shard. This leaves a third plurality of object chunks in the shard, where the first plurality of object chunks is the union of the second and third pluralities of object chunks. The first instance sends a first list of identifiers to a second instance of the distributed storage system. The second instance has a replica of the shard. The first list of identifiers specifies the object chunks in the third plurality of object chunks. The second instance removes all object chunks from the replica of the shard that are not included in the first list.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: July 19, 2016
    Assignee: GOOGLE INC.
    Inventors: Alexandre Drobychev, Alexander Kesselman
  • Patent number: 9356793
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for managing load on a downstream server in a distributed storage system is presented. Messages received from the downstream server in response to transactions issued by the upstream server to the downstream server are monitored, where the transactions are issued to the downstream server at a rate no greater than a transaction rate limit, the transaction rate limit being based at least in part on a maximum transaction processing rate of the downstream server. The transaction rate limit is adjusted based at least in part on a number of messages that include a pushback signal received over at least one predetermined time interval, where the pushback signal indicates that a utilization rate of the downstream server has exceeded a predetermined utilization rate.
    Type: Grant
    Filed: February 6, 2013
    Date of Patent: May 31, 2016
    Assignee: GOOGLE INC.
    Inventors: Alexandre Drobychev, Alexander Kesselman, George Datuashvili
  • Publication number: 20160134696
    Abstract: A method is performed by a device of a group of devices in a distributed data replication system. The method includes storing an index of objects in the distributed data replication system, the index being replicated while the objects are stored locally by the plurality of devices in the distributed data replication system. The method also includes conducting a scan of at least a portion of the index and identifying a redundant replica(s) of the at least one of the objects based on the scan of the index. The method further includes de-duplicating the redundant replica(s), and updating the index to reflect the status of the redundant replica.
    Type: Application
    Filed: January 13, 2016
    Publication date: May 12, 2016
    Inventors: Gia Datuashvili, Alexander Kesselman, Alexandre Drobychev