Gunavardhan Kakulapati - Bellevue WA, US Jason G. McHugh - Seattle WA, US Allan H. Vermeulen - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 12/00 G06F 9/44
US Classification:
711113, 719315
Abstract:
Systems and methods for managing mapping information for objects maintained in a distributed storage system are provided. The distributed storage system can include a keymap subsystem that manages the mapping information according to object keys. Requests for specific object mapping information are directed to specific keymap coordinators within the keymap subsystem. Each keymap coordinator can maintain a cache for caching mapping information maintained at various information sources. To manage the cache, the keymap system can utilize information placeholders that replace previously cached keymap information while a request to modify keymap information is being processed by the information sources. Each keymap coordinator can process subsequently received keymap information read requests in the event an information placeholder is cached as the current cached keymap information.
Management Of Object Mapping Information Corresponding To A Distributed Storage System
Gunavardhan Kakulapati - Bellevue WA, US Jason G. McHugh - Seattle WA, US Allan H. Vermeulen - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F /12
US Classification:
711216
Abstract:
Systems and methods for managing mapping information for objects maintained in a distributed storage system are provided. The distributed storage system can include a keymap subsystem that manages the mapping information according to object keys. Requests for specific object mapping information are directed to specific keymap coordinators within the keymap subsystem based on a consistency based hashing schema. The hashing schema is updated and distributed to other components within the distributed storage system based on a defined distribution model.
System And Method For Damping Overload State Oscillations
Sohel R. Ahuja - Bellevue WA, US Jason G. McHugh - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 15/173
US Classification:
709225, 709223, 709224, 709229
Abstract:
A computer system that provides services to clients may be configured to adaptively throttle incoming service requests. It may modify throttle parameters to aggressively increase throttling in response to detecting that the system is in an overloaded state. For example, a throttle multiplier value may be increased by a large amount in an attempt to quickly exit the overloaded state. The throttle multiplier value may be increased multiple times before the system exits the overloaded state. The percentage of incoming requests that are throttled and/or the particular requests that are throttled may be dependent on the throttle multiplier value and/or on a request priority rank. Some time after the system returns to a non-overloaded state, the system may gradually reduce throttling by iteratively decreasing the throttle multiplier value until it is zero. Gradually reducing throttling may allow the system to avoid oscillating between an overloaded state and a non-overloaded state.
System And Method For Determining Overload State For Service Requests
Sohel R. Ahuja - Bellevue WA, US Jason G. McHugh - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 15/173
US Classification:
709224, 709223, 709225, 709227, 709228
Abstract:
A computer system that provides services to clients may be configured to determine whether it is operating in an overloaded state based on the percentage of client-specified quality of service (QoS) expectations that are not met. For example, if the percentage of service requests in a group of recently serviced requests for which client-specified expectations of a maximum response time were not met is greater than a pre-determined overload threshold, the system may be considered to be in an overloaded state. The overload threshold may be configurable. The overload state may be determined periodically by determining the percentage of service requests in a moving window of time for which client-specified QoS expectations were not met. In response to determining that the system is operating in an overloaded state, it may be configured to throttle at least a portion of incoming service requests in an attempt to exit the overloaded state.
System And Method For Targeted Consistency Improvement In A Distributed Storage System
Jason G. McHugh - Seattle WA, US Eric Yves Theriault - Seattle WA, US Seth W. Markle - Seattle WA, US Michael A. Uhlar - Sammamish WA, US Alyssa H. Henry - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 17/30
US Classification:
707690, 707689
Abstract:
Embodiments may include a consistency measurement component that utilizes memory-efficient sets (e. g. , Bloom filters) to generate consistency metrics for read operations performed on different replicated data objects of distributed storage system. Based on the consistency metrics, the consistency measurement component may identify a subset of replicated data objects associated with low levels of consistency. The consistency measurement component may target this subset for consistency improvement by generating instructions to improve the consistency of the subset. In other cases, the consistency measurement component may notify a consistency improvement component about the targeted subset. In response, the consistency improvement component may generate instructions to improve the consistency of the targeted subset.
System And Method For Avoiding System Overload By Maintaining An Ideal Request Rate
Sohel R. Ahuja - Bellevue WA, US Jason G. McHugh - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 15/16
US Classification:
709229, 709224, 709225, 709226, 709219
Abstract:
A computer system that provides services to clients may adaptively throttle incoming service requests in order to reach and then maintain operation at an ideal request rate. An ideal request rate may be a maximum rate at which incoming service requests can be serviced such that client-specified quality of service (QoS) expectations are met for most or all incoming service requests, or a rate within a range of rates defined by that maximum rate. Determining whether the system is operating at an ideal request rate may include determining the minimum difference between the expected and actual QoS for a group of recently serviced requests. The system may gradually modify a throttle multiplier value in order to reach or maintain an ideal request rate. Maintaining operation at an ideal request rate may allow the system to avoid entering an overloaded state, and/or oscillating between an overloaded state and a non-overloaded state.
System And Method For Measuring Consistency Within A Distributed Storage System
Jason G. McHugh - Seattle WA, US Eric Yves Theriault - Seattle WA, US Seth W. Markle - Seattle WA, US
Assignee:
Amazon Technology, Inc. - Reno NV
International Classification:
G06F 17/30
US Classification:
707638, 707688, 707704
Abstract:
Embodiments may include a consistency measurement component that utilizes memory-efficient sets (e. g. , Bloom filters) assigned to different time periods for tracking when different write operations are performed on replicated data objects within a distributed data store. The consistency measurement component may evaluate whether read operations directed to the distributed data store are inconsistent. To do so, the consistency measurement component may determine, for a given read operation, the age of the value read from a given replicated data object (e. g. , by evaluating a “last-modified” timestamp). The consistency measurement component may identify a memory-efficient set that includes the key of that replicated data object in order to determine when the replicated data object was last written to. If the age of the value read is older than the time at which the replicated data object was last written to, the consistency measurement component may determine that the read operation was inconsistent.
System And Method For Logical Deletion Of Stored Data Objects
Jason G. McHugh - Seattle WA, US Praveen K. Gattu - Redmond WA, US Michael A. Ten-Pow - Seattle WA, US
Assignee:
Amazon Technologies, Inc. - Reno NV
International Classification:
G06F 13/00 G06F 7/00
US Classification:
711100, 711154, 707638
Abstract:
Systems and methods for providing object versioning in a storage system may support the logical deletion of stored objects. In response to a delete operation specifying both a user key and a version identifier, the storage system may permanently delete the specified version of an object having the specified key. In response to a delete operation specifying a user key, but not a version identifier, the storage system may create a delete marker object that does not contain object data, and may generate a new version identifier for the delete marker. The delete marker may be stored as the latest object version of the user key, and may be addressable in the storage system using a composite key comprising the user key and the new version identifier. Subsequent attempts to retrieve the user key without specifying a version identifier may return an error, although the object was not actually deleted.
Dr. Mchugh graduated from the Michigan State University College of Osteopathic Medicine in 2007. He works in Chesapeake, VA and 1 other location and specializes in Family Medicine and Sports Medicine. Dr. Mchugh is affiliated with Bon Secours Maryview Medical Center.