Patents by Inventor Timothy Andrew Rath

Timothy Andrew Rath 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: 9052831
    Abstract: A system that implements a scalable data storage service may maintain tables in a data store on behalf of storage service clients. The service may maintain table data in multiple replicas of partitions that are stored on respective computing nodes in the system. In response to detecting an anomaly in the system, detecting a change in data volume on a partition or service request traffic directed to a partition, or receiving a service request from a client to split a partition, the data storage service may create additional copies of a partition replica using a physical copy mechanism. The data storage service may issue a split command defined in an API for the data store to divide the original and additional replicas into multiple replica groups, and to configure each replica group to maintain a respective portion of the table data that was stored in the partition before the split.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: June 9, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Stefano Stefani, Timothy Andrew Rath, Chiranjeeb Buragahain, Yan V. Leshinsky, David A. Lutz, Jakub Kulesza, Wei Xiao, Jai Vasanth
  • Publication number: 20150156123
    Abstract: A system that provides services to clients may receive and service requests, various ones of which may require different amounts of work. An admission control mechanism may manage requests based on tokens, each of which represents a fixed amount of work. The tokens may be added to a token bucket at rate that is dependent on a target work throughput rate while the number of tokens in the bucket does not exceed its maximum capacity. If at least a pre-determined minimum number of tokens is present in the bucket when a service request is received, it may be serviced. Servicing a request may include deducting an initial number of tokens from the bucket, determining that the amount of work performed in servicing the request is different than that represented by the initially deducted tokens, and deducting additional tokens from or replacing tokens in the bucket to reflect the difference.
    Type: Application
    Filed: February 9, 2015
    Publication date: June 4, 2015
    Applicant: Amazon Technologies, Inc.
    Inventors: WEI XIAO, DAVID ALAN LUTZ, TIMOTHY ANDREW RATH, MAXIMILIANO MACCANTI, MIGUEL MASCARENHAS FILIPE, DAVID CRAIG YANACEK
  • Publication number: 20150120658
    Abstract: A system that implements a data storage service may store data on behalf of storage service clients. The system may maintain data in multiple replicas of partitions that are stored on respective computing nodes in the system. The system may split a data partition into two new partitions, and may split the replica group that stored the original partitions into two new replica groups, each storing one of the new partitions. To split the replica group, the master replica may propagate membership changes to the other members of the replica group for adding members to the original replica group and for splitting the expanded replica group into two new replica groups. Subsequent to the split, replicas may attempt to become the master for the original replica group or for a new replica group. If an attempt to become master replica for the original replica group succeeds, the split may fail.
    Type: Application
    Filed: January 5, 2015
    Publication date: April 30, 2015
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: TIMOTHY ANDREW RATH, JAKUB KULESZA, DAVID ALAN LUTZ
  • Publication number: 20150112999
    Abstract: A system that implements a scalable data storage service may maintain tables in a non-relational data store on behalf of clients. The system may provide a Web services interface through which service requests are received, and an API usable to request that a table be created, deleted, or described; that an item be stored, retrieved, deleted, or its attributes modified; or that a table be queried (or scanned) with filtered items and/or their attributes returned. An asynchronous workflow may be invoked to create or delete a table. Items stored in tables may be partitioned and indexed using a simple or composite primary key. The system may not impose pre-defined limits on table size, and may employ a flexible schema. The service may provide a best-effort or committed throughput model. The system may automatically scale and/or re-partition tables in response to detecting workload changes, node failures, or other conditions or anomalies.
    Type: Application
    Filed: December 22, 2014
    Publication date: April 23, 2015
    Inventors: SWAMINATHAN SIVASUBRAMANIAN, STEFANO STEFANI, CHIRANJEEB BURAGAHAIN, RANDE A. BLACKMAN, TIMOTHY ANDREW RATH, RAYMOND S. BRADFORD, GRANT ALEXANDER MACDONALD MCALISTER, JAKUB KULESZA, JAMES R. HAMILTON, LUIS FELIPE CABRERA
  • Publication number: 20150100630
    Abstract: A system that provides services to clients may receive and service requests, various ones of which may require different amounts of work. The system may determine whether it is operating in an overloaded or underloaded state based on a current work throughput rate, a target work throughput rate, a maximum request rate, or an actual request rate, and may dynamically adjust the maximum request rate in response. For example, if the maximum request rate is being exceeded, the maximum request rate may be raised or lowered, dependent on the current work throughput rate. If the target or committed work throughput rate is being exceeded, but the maximum request rate is not being exceeded, a lower maximum request rate may be proposed. Adjustments to the maximum request rate may be made using multiple incremental adjustments. Service request tokens may be added to a leaky token bucket at the maximum request rate.
    Type: Application
    Filed: December 15, 2014
    Publication date: April 9, 2015
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: WEI XIAO, DAVID ALAN LUTZ, TIMOTHY ANDREW RATH, MAXIMILIANO MACCANTI, MIGUEL MASCARENHAS FILIPE, DAVID CRAIG YANACEK
  • Publication number: 20150046395
    Abstract: A system that implements a data storage service may store data on behalf of clients in multiple replicas on respective computing nodes. The system may employ an external service to select a master replica for a replica group. The master replica may service consistent read operations and/or write operations that are directed to the replica group (or to a data partition stored by the replica group). The master replica may employ a quorum based mechanism for performing replicated write operations, and a local lease mechanism for determining the replica authorized to perform consistent reads, even when the external service is unavailable. The master replica may propagate local leases to replica group members as replicated writes. If another replica assumes mastership for the replica group, it may not begin servicing consistent read operations that are directed to the replica group until the lease period for a current local lease expires.
    Type: Application
    Filed: September 19, 2014
    Publication date: February 12, 2015
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: TIMOTHY ANDREW RATH, DAVID ALAN LUTZ
  • Patent number: 8953453
    Abstract: A system that provides services to clients may receive and service requests, various ones of which may require different amounts of work. An admission control mechanism may manage requests based on tokens, each of which represents a fixed amount of work. The tokens may be added to a token bucket at rate that is dependent on a target work throughput rate while the number of tokens in the bucket does not exceed its maximum capacity. If at least a pre-determined minimum number of tokens is present in the bucket when a service request is received, it may be serviced. Servicing a request may include deducting an initial number of tokens from the bucket, determining that the amount of work performed in servicing the request is different than that represented by the initially deducted tokens, and deducting additional tokens from or replacing tokens in the bucket to reflect the difference.
    Type: Grant
    Filed: December 15, 2011
    Date of Patent: February 10, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Wei Xiao, David A. Lutz, Timothy Andrew Rath, Maximiliano Maccanti, Miguel Mascarenhas Filipe, David C. Yanacek
  • Patent number: 8930312
    Abstract: A system that implements a data storage service may store data on behalf of storage service clients. The system may maintain data in multiple replicas of partitions that are stored on respective computing nodes in the system. The system may split a data partition into two new partitions, and may split the replica group that stored the original partitions into two new replica groups, each storing one of the new partitions. To split the replica group, the master replica may propagate membership changes to the other members of the replica group for adding members to the original replica group and for splitting the expanded replica group into two new replica groups. Subsequent to the split, replicas may attempt to become the master for the original replica group or for a new replica group. If an attempt to become master replica for the original replica group succeeds, the split may fail.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: January 6, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Timothy Andrew Rath, Jakub Kulesza, David A. Lutz
  • Publication number: 20140379921
    Abstract: Methods and apparatus for resource silos at network-accessible services are disclosed. A subset of resources used for a database service, including at least one resource from each of a plurality of data centers, is selected for membership in a resource silo based on grouping criteria. A silo routing layer node identifies the resource silo as the target silo to which a client work request is to be directed. The client work request is sent to a front-end resource of the target silo either by the client, or by the silo routing layer node on behalf of the client. The front-end resource of the target silo transmits a representation of the work request to a back-end resource of the target silo, where a work operation corresponding to request is performed.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventors: ADAM DOUGLAS MORLEY, VINCENT ANTHONY BRANCATO, STEFANO STEFANI, JAI VASANTH, WEI XIAO, MAXIMILIANO MACCANTI, SWAMINATHAN SIVASUBRAMANIAN, RANDE A. BLACKMAN, TIMOTHY ANDREW RATH
  • Patent number: 8918435
    Abstract: A system that implements a scalable data storage service may maintain tables in a non-relational data store on behalf of clients. The system may provide a Web services interface through which service requests are received, and an API usable to request that a table be created, deleted, or described; that an item be stored, retrieved, deleted, or its attributes modified; or that a table be queried (or scanned) with filtered items and/or their attributes returned. An asynchronous workflow may be invoked to create or delete a table. Items stored in tables may be partitioned and indexed using a simple or composite primary key. The system may not impose pre-defined limits on table size, and may employ a flexible schema. The service may provide a best-effort or committed throughput model. The system may automatically scale and/or re-partition tables in response to detecting workload changes, node failures, or other conditions or anomalies.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: December 23, 2014
    Assignee: Amazon Technology, Inc.
    Inventors: Swaminathan Sivasubramanian, Stefano Stefani, Chiranjeeb Buragahain, Rande A. Blackman, Timothy Andrew Rath, Raymond S. Bradford, Grant Alexander MacDonald McAlister, Jakub Kulesza, James R. Hamilton, Luis Felipe Cabrera
  • Patent number: 8914497
    Abstract: A system that provides services to clients may receive and service requests, various ones of which may require different amounts of work. The system may determine whether it is operating in an overloaded or underloaded state based on a current work throughput rate, a target work throughput rate, a maximum request rate, or an actual request rate, and may dynamically adjust the maximum request rate in response. For example, if the maximum request rate is being exceeded, the maximum request rate may be raised or lowered, dependent on the current work throughput rate. If the target or committed work throughput rate is being exceeded, but the maximum request rate is not being exceeded, a lower maximum request rate may be proposed. Adjustments to the maximum request rate may be made using multiple incremental adjustments. Service request tokens may be added to a leaky token bucket at the maximum request rate.
    Type: Grant
    Filed: December 15, 2011
    Date of Patent: December 16, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Wei Xiao, David A. Lutz, Timothy Andrew Rath, Maximiliano Maccanti, Miguel Mascarenhas Filipe, David C. Yanacek
  • Publication number: 20140359341
    Abstract: Disclosed are various embodiments for distributing data items within a plurality of nodes. A data item that is subject to a data item update request is updated from a master node to a plurality of slave notes. The update of the data item is determined to be locality-based durable based at least in part on acknowledgements received from the slave nodes. Upon detection that the master node has failed, a new master candidate is determined via an election among the plurality of slave nodes.
    Type: Application
    Filed: August 15, 2014
    Publication date: December 4, 2014
    Inventors: Michael T. Helmick, Jakub Kulesza, Timothy Andrew Rath, Stefano Stefani, David Alan Lutz
  • Publication number: 20140344236
    Abstract: Distributed database management systems may maintain collections of items spanning multiple partitions. Index structures may correspond to items on one partition or to items on multiple partitions. Item collections and indexes may be replicated. Changes to the data maintained by the distributed database management system may result in updates to multiple index structures. The changes may be compiled into an instruction set applicable to the index structures. In-memory buffers may contain the instructions prior to transmission to affected partitions. Replication logs may be combined with an acknowledgment mechanism for reliable transmission of the instructions to the affected partitions.
    Type: Application
    Filed: May 20, 2013
    Publication date: November 20, 2014
    Inventors: Wei Xiao, Clarence Wing Yin Ng, Medhavi Dhawan, Timothy Andrew Rath, Stefano Stefani
  • Patent number: 8843441
    Abstract: A system that implements a data storage service may store data on behalf of clients in multiple replicas on respective computing nodes. The system may employ an external service to select a master replica for a replica group. The master replica may service consistent read operations and/or write operations that are directed to the replica group (or to a data partition stored by the replica group). The master replica may employ a quorum based mechanism for performing replicated write operations, and a local lease mechanism for determining the replica authorized to perform consistent reads, even when the external service is unavailable. The master replica may propagate local leases to replica group members as replicated writes. If another replica assumes mastership for the replica group, it may not begin servicing consistent read operations that are directed to the replica group until the lease period for a current local lease expires.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: September 23, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Timothy Andrew Rath, David A. Lutz
  • Publication number: 20140258232
    Abstract: A system that implements a data storage service may maintain tables in a data store on behalf of clients. The service may maintain table data in multiple replicas of partitions of the data that are stored on respective computing nodes in the system. In response to detecting a failure or fault condition, or receiving a service request from a client to move or copy a partition replica, the data store may copy a partition replica to another computing node using a physical copy mechanism. The physical copy mechanism may copy table data from physical storage locations in which it is stored to physical storage locations allocated to a destination replica on the other computing node. During copying, service requests to modify table data may be logged and applied to the replica being copied. A catch-up operation may be performed to apply modification requests received during copying to the destination replica.
    Type: Application
    Filed: May 19, 2014
    Publication date: September 11, 2014
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: STEFANO STEFANI, TIMOTHY ANDREW RATH, JAKUB KULESZA, WEI XIAO
  • Publication number: 20140244581
    Abstract: A system that implements a data storage service may store data on behalf of storage service clients. The system may maintain data in multiple replicas that are stored on respective computing nodes in the system. Updates to the stored data and to the membership of replica groups are propagated as replicated log records. A replica receiving a log record may compare metadata in the received log record to corresponding metadata in a log record that was previously appended to its log to determine a response. The metadata may include a sequence number, a lock generation identifier, an epoch identifier, or an indication of an epoch change. The replica may append the received log record to its log, drop the received log record, or cache the received log record for future use. If a log conflict indicates an invalid log stream branch, one or more log records may be deleted.
    Type: Application
    Filed: May 5, 2014
    Publication date: August 28, 2014
    Applicant: Amazon Technologies, Inc.
    Inventor: TIMOTHY ANDREW RATH
  • Patent number: 8819027
    Abstract: A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of service clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. The system may provide an API through which clients can query tables maintained by the service. Items may be partitioned and indexed in a table according to a simple or composite primary key contained in all items in the table. A composite primary key may include a hash key attribute, and a range key attribute. The range key attribute may be usable to order items having the same hash key attribute value, and to partition them dependent on a range of range key attribute values. A query request may specify a logical or mathematical expression dependent on range key attribute values and may be directed to multiple partitions.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: August 26, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Swaminathan Sivasubramanian, Stefano Stefani, Chiranjeeb Buragohain, Rande A. Blackman, Timothy Andrew Rath, Grant A. M. McAlister, Jakub Kulesza, Wei Xiao, Raymond S. Bradford
  • Patent number: 8812897
    Abstract: Disclosed are various embodiments for distributing data items within a plurality of nodes. A data item update request is replicated from a master node in a plurality of nodes to a plurality of slave nodes within the plurality of nodes. The replicated data item update request is determined to be locality-based durable. Responsive to the determination that the replicated data item update request is locality-based durable, the data item update request is confirmed to a client, wherein the client had originated the data item update request. Upon failover of the master node to another node within the plurality of nodes, a fault-tolerant failover quorum ensures that all previously confirmed updates are found and recognized by the new master node.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: August 19, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Michael T. Helmick, Jakub Kulesza, Timothy Andrew Rath, Stefano Stefani, David Alan Lutz
  • Patent number: 8732517
    Abstract: A system that implements a data storage service may maintain tables in a data store on behalf of clients. The service may maintain table data in multiple replicas of partitions of the data that are stored on respective computing nodes in the system. In response to detecting a failure or fault condition, or receiving a service request from a client to move or copy a partition replica, the data store may copy a partition replica to another computing node using a physical copy mechanism. The physical copy mechanism may copy table data from physical storage locations in which it is stored to physical storage locations allocated to a destination replica on the other computing node. During copying, service requests to modify table data may be logged and applied to the replica being copied. A catch-up operation may be performed to apply modification requests received during copying to the destination replica.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: May 20, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Stefano Stefani, Timothy Andrew Rath, Jakub Kulesza, Wei Xiao
  • Patent number: 8719432
    Abstract: A method and system are disclosed for implementing a client of a distributed lock manager comprising a plurality of nodes. The client is configured to send a request to the distributed lock manager, the request including a local time of the client. The client receives a response to the request from a node of the distributed lock manager where the request includes an echo of the local time included in the request. The response also indicates that a lock corresponding to a given resource has been granted to the client and the client subsequently utilizes the resource. The client subsequently determines that a safe period of time has elapsed for using the resource. This determination is dependent at least on a client staleness corresponding to a difference between the echoed time and current local time at the client.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: May 6, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Allan H. Vermeulen, Timothy Andrew Rath