Patents by Inventor Jason G. McHugh

Jason G. McHugh 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: 8639724
    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 generation identifiers that identify the component within the distributed storage system that last updated information sources. Each keymap coordinator can determine whether cached version of keymap information is valid based on an analysis of generation identifiers.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: January 28, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
  • Patent number: 8621182
    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. Additionally, the keymap coordinators can optimize cache entries by maintaining selected mapping information while identifying object sources that correspond to differences from the selected mapping information.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: December 31, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh
  • Patent number: 8533170
    Abstract: Systems and methods that provide versioning in a storage system may automatically determine the latest version of a stored object when a version identifier is not specified for an access operation. For example, retrieve type operations may behave differently when they specify a version identifier than when they do not. The system may determine and fill in the version identifier of the latest stored version of an object having a specified key for a retrieve type operation if a version identifier is not specified. Key map elements representing each object stored in the system may include an indication of the time at which the object was created or modified. The latest version of an object may be ascertained by locating the first element among ordered elements in the key map with the specified user key, or an adjacent element with the specified key that has a more recent creation/modification date.
    Type: Grant
    Filed: September 21, 2010
    Date of Patent: September 10, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Jason G. McHugh, Praveen K. Gattu, Michael A. Ten-Pow, Derek E. Denny-Brown, II
  • Patent number: 8521771
    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 generation identifiers that identify the component within the distributed storage system that last updated information sources. Additionally, the keymap subsystem can utilize multiple generation identifiers to manage different classes of data. Each keymap coordinator can determine whether cached version of a class of keymap information is valid based on an analysis of generation identifiers.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: August 27, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh
  • Patent number: 8504758
    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.
    Type: Grant
    Filed: September 21, 2010
    Date of Patent: August 6, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Jason G. McHugh, Praveen K. Gattu, Michael A. Ten-Pow, Derek E. Denny-Brown, II
  • Patent number: 8468134
    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.
    Type: Grant
    Filed: September 21, 2010
    Date of Patent: June 18, 2013
    Assignee: Amazon Technology, Inc.
    Inventors: Jason G. McHugh, Eric Yves Theriault, Seth W. Markle
  • Patent number: 8429282
    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.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: April 23, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Sohel R. Ahuja, Jason G. McHugh
  • Patent number: 8396840
    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.
    Type: Grant
    Filed: September 22, 2010
    Date of Patent: March 12, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Jason G. McHugh, Eric Yves Theriault, Seth W. Markle, Michael A. Uhlar, Alyssa H. Henry
  • Patent number: 8392558
    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.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: March 5, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Sohel R. Ahuja, Jason G. McHugh
  • Patent number: 8380850
    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.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: February 19, 2013
    Assignee: Amazon Technologies, Inc.
    Inventors: Sohel R. Ahuja, Jason G. McHugh
  • Publication number: 20130013571
    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.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 10, 2013
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
  • Patent number: 8316213
    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.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: November 20, 2012
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
  • Patent number: 8285925
    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.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: October 9, 2012
    Assignee: Amazon Technologies, Inc.
    Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
  • Patent number: 6784901
    Abstract: A chat system, method and computer program product for delivering a message between a sender and a recipient in a three-dimensional (3D) multi-user environment, wherein the 3D multi-user environment maintains respective digital representations of the sender and the recipient, uses a recipient interface to receive a message, map the message to a texture to generate a textured message, and render the textured message in the 3D multi-user environment so as to permit the recipient to visually ascertain the location of the digital representation of the sender in the 3D world. Received messages are mantained as two-dimensional elements on a recipient viewport.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: August 31, 2004
    Assignee: There
    Inventors: William D. Harvey, Jason G. McHugh, Fernando J. Paiz, Jeffrey J. Ventrella
  • Publication number: 20020138607
    Abstract: A data mining system, method and computer program product is provided for tracking user behavior in a three-dimensional (3D) multi-user environment. The system includes server side components that simulate the 3D multi-user environment and objects therein, and a plurality of clients connected to the server side components via a network. The server side components maintain data mining pylons that generate data mining facts concerning the location of objects in the 3D multi-user environment, as well as objects with usage triggers that detect when an avatar interacts with an object and generate a data mining fact in response. The server side components data also generate data mining facts related to user login and registration, commerce, communication, world and object state, user relationships, surveys, advertising, and customer-submitted content. Data mining facts are stored in one or more data warehousing files and may be analyzed to discover, predict or confirm trends in user behavior and preferences.
    Type: Application
    Filed: March 22, 2001
    Publication date: September 26, 2002
    Applicant: THERE
    Inventors: Kristen P. O' Rourke, Douglas S. Banks, Jason G. McHugh