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: 9667569Abstract: A distributed system comprises one or more computers implementing a downstream server configured to determine whether it is overloaded and in response, to indicate to one or more upstream servers that the downstream server is in a hotspot situation. The system comprises one or more computers implementing one or more upstream servers configured to respond to receiving the indication of the hotspot situation by shielding the downstream server from subsequent requests, the shielding including serving one or more client requests without requesting service from the downstream server and reporting one or more measures of the shielded requests to the downstream server. The downstream server is further configured to determine whether the hotspot situation still exists, dependent on one or more of the reported measures.Type: GrantFiled: April 29, 2010Date of Patent: May 30, 2017Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Sohel R. Ahuja, James Christopher Sorenson, III, Allan H. Vermeulen, John David Cormie
-
Publication number: 20170147512Abstract: 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: ApplicationFiled: February 6, 2017Publication date: May 25, 2017Applicant: Amazon Technologies, Inc.Inventors: JASON G. MCHUGH, PRAVEEN KUMAR GATTU, MICHAEL A. TEN-POW, DEREK ERNEST DENNY-BROWN, II
-
Patent number: 9563578Abstract: 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: GrantFiled: January 11, 2016Date of Patent: February 7, 2017Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Patent number: 9356804Abstract: The present disclosure introduces a layer of abstraction in the form of connection policies for applications to specify their needs for connections without having to worry about the specific details and particulars of requesting and receiving the connections. The various embodiments disclosed attempt to provide a connection in response to a request from an application wherein the application's request comprises a specified connection policy. Depending on the current state of the system/device, it can be determined whether to provide a connection that satisfies the specified connection policy or another available connection compliant with the current state of the system/device. In this way, a global optimization of the system/device and network resources can be achieved.Type: GrantFiled: June 12, 2012Date of Patent: May 31, 2016Assignee: Amazon Technologies, Inc.Inventors: Abraham M. Passaglia, Ravi R. Subramanian, Jason G. McHugh, Hao Zhu, Paul F. Ferraro, Franklin Munoz Garcia
-
Patent number: 9350763Abstract: Conventional messages sent by sources such as applications executing on a computing device can be intercepted by a message converter module, or other such component, and converted to raw data, binary data, or another appropriate format that is able to be sent using a websocket connection. A websocket connection can provide greater efficiencies in at least some situations, and the intercepting of a message independent of, and transparent to, an application or other such component or module enables the websocket connections to be implemented without knowledge of the connections or conversion by applications at either endpoint.Type: GrantFiled: April 17, 2012Date of Patent: May 24, 2016Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Abraham M. Passaglia, Ravi R. Subramanian
-
Publication number: 20160124870Abstract: 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: ApplicationFiled: January 11, 2016Publication date: May 5, 2016Applicant: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Patent number: 9235476Abstract: 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: GrantFiled: March 30, 2015Date of Patent: January 12, 2016Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Patent number: 9223902Abstract: A user can capture various types of information concurrently using multiple sensors of an electronic device. This “scene” data can be provided to a service for processing, which is able to identify various types of potential matches and aggregate information to be returned to the client device. In at least some embodiments, matching information can be sent with the results such that the electronic device can match an element in the scene the next time that element is encountered, without having to contact the service again. In some embodiments, an attempt can be made to predict elements that the user might attempt to identify, and one or more corpora of data can be sent to the electronic device such that the client device can perform any matching on the device for elements in those corpora.Type: GrantFiled: November 29, 2011Date of Patent: December 29, 2015Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Beryl Tomay, Daniel Bibireata
-
Publication number: 20150269199Abstract: A distributed storage system may store data object instances in persistent storage and may cache keymap information for those data object instances. The system may cache a latest symbolic key entry for some user keys of the data object instances. When a request is made for the latest version of stored data object instances having a specified user key, the latest version may be determined dependent on whether a latest symbolic key entry exists for the specified user key, and keymap information for the latest version may be returned. When storing keymap information, a flag may be set to indicate that a corresponding latest symbolic key entry should be updated. The system may delete a latest symbolic key entry for a particular user key from the cache in response to determining that no other requests involving the keymap information for data object instances having the particular user key are pending.Type: ApplicationFiled: June 8, 2015Publication date: September 24, 2015Applicant: AMAZON TECHNOLOGIES, INC.Inventors: JASON G. MCHUGH, PRAVEEN KUMAR GATTU, MICHAEL A. TEN-POW, DEREK ERNEST DENNY-BROWN, II
-
Publication number: 20150261749Abstract: Systems and methods for providing object versioning in a storage system may support the logical deletion of stored objects through the use of delete marker objects. In response to a delete operation specifying a key, but not a version identifier, the storage system may create a delete marker object that is stored as the latest object version of the key. In response to performing a subsequent mutating operation, or at pre-determined time intervals, the storage system may perform a local and/or a global analysis of the delete marker objects stored in the system (and/or metadata associated with those delete marker objects) to determine whether any of them are no longer needed to ensure correct operation of the system. The analysis may apply one or more reap conditions to delete marker objects and/or metadata to identify extraneous delete marker objects, removing those that meet one or more reap conditions from storage.Type: ApplicationFiled: June 1, 2015Publication date: September 17, 2015Applicant: AMAZON TECHNOLOGIES, INC.Inventors: MICHAEL A. TEN-POW, DEREK ERNEST DENNYBROWN, II, JASON G. MCHUGH, PRAVEEN KUMAR GATTU
-
Publication number: 20150205677Abstract: 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: ApplicationFiled: March 30, 2015Publication date: July 23, 2015Applicant: Amazon Technologies, Inc.Inventors: Jason G. MCHUGH, Praveen Kumar GATTU, Michael A. TEN-POW, Derek Ernest DENNY-BROWN, II
-
Patent number: 9053054Abstract: A distributed storage system may store data object instances in persistent storage and may cache keymap information for those data object instances. The system may cache a latest symbolic key entry for some user keys of the data object instances. When a request is made for the latest version of stored data object instances having a specified user key, the latest version may be determined dependent on whether a latest symbolic key entry exists for the specified user key, and keymap information for the latest version may be returned. When storing keymap information, a flag may be set to indicate that a corresponding latest symbolic key entry should be updated. The system may delete a latest symbolic key entry for a particular user key from the cache in response to determining that no other requests involving the keymap information for data object instances having the particular user key are pending.Type: GrantFiled: February 10, 2014Date of Patent: June 9, 2015Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Patent number: 9047312Abstract: Systems and methods for providing object versioning in a storage system may support the logical deletion of stored objects through the use of delete marker objects. In response to a delete operation specifying a key, but not a version identifier, the storage system may create a delete marker object that is stored as the latest object version of the key. In response to performing a subsequent mutating operation, or at pre-determined time intervals, the storage system may perform a local and/or a global analysis of the delete marker objects stored in the system (and/or metadata associated with those delete marker objects) to determine whether any of them are no longer needed to ensure correct operation of the system. The analysis may apply one or more reap conditions to delete marker objects and/or metadata to identify extraneous delete marker objects, removing those that meet one or more reap conditions from storage.Type: GrantFiled: March 30, 2011Date of Patent: June 2, 2015Assignee: Amazon Technologies, Inc.Inventors: Michael A. Ten-Pow, Derek E. Denny-Brown, II, Jason G. McHugh, Praveen K. Gattu
-
Patent number: 8996831Abstract: 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: GrantFiled: July 29, 2013Date of Patent: March 31, 2015Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Patent number: 8943279Abstract: Systems and methods providing a versioning feature in a storage system may allow the versioning feature to be toggled on and/or off during operation. Access operations targeting data objects stored in the system (e.g., delete and store type operations) may behave differently depending on whether versioning is (or has ever been) enabled for the storage system or a storage bucket thereof, or is not (or has never been) enabled for the storage system or storage bucket. For example, if versioning is off or suspended, a store operation may overwrite existing data. However, if versioning is enabled, a store type operation may create and store a new, unique object. If versioning has never been enabled, a delete operation may delete a stored object. However, if versioning has ever been enabled, a delete operation may create a new, unique delete marker object and may or may not delete any objects or data.Type: GrantFiled: March 14, 2014Date of Patent: January 27, 2015Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen Kumar Gattu, Michael A. Ten-Pow, Derek Ernest Denny-Brown, II
-
Publication number: 20150012539Abstract: A distributed storage system may store data object instances in persistent storage and may store keymap information for those data object instances in a distributed hash table on multiple computing nodes. Each data object instance may include a composite key containing a user key. The keymap information for each data object instance may map the user key to a locator and the locator to the data object instance. A request to store or retrieve keymap information for a data object instance may be routed to a particular computing node based on a consistent hashing scheme in which a hash function is applied to a portion of the composite key of the data object instance. Thus, related entries may be clustered on the same computing nodes. The portion of the key to which the hash function is applied may include a pre-determined number of bits or be identified using a delimiter.Type: ApplicationFiled: September 29, 2014Publication date: January 8, 2015Applicant: AMAZON TECHNOLOGIES, INC.Inventors: JASON G. MCHUGH, PRAVEEN KUMAR GATTU, MICHAEL A. TEN-POW, DEREK ERNEST DENNY-BROWN, II
-
Patent number: 8849825Abstract: A distributed storage system may store data object instances in persistent storage and may store keymap information for those data object instances in a distributed hash table on multiple computing nodes. Each data object instance may include a composite key containing a user key. The keymap information for each data object instance may map the user key to a locator and the locator to the data object instance. A request to store or retrieve keymap information for a data object instance may be routed to a particular computing node based on a consistent hashing scheme in which a hash function is applied to a portion of the composite key of the data object instance. Thus, related entries may be clustered on the same computing nodes. The portion of the key to which the hash function is applied may include a pre-determined number of bits or be identified using a delimiter.Type: GrantFiled: December 23, 2010Date of Patent: September 30, 2014Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen K. Gattu, Michael A. Ten-Pow, Derek E. Denny-Brown, II
-
Patent number: 8688912Abstract: 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: GrantFiled: September 15, 2012Date of Patent: April 1, 2014Assignee: Amazon Technologies, Inc.Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
-
Patent number: 8677083Abstract: Systems and methods providing a versioning feature in a storage system may allow the versioning feature to be toggled on and/or off during operation. Access operations targeting data objects stored in the system (e.g., delete and store type operations) may behave differently depending on whether versioning is (or has ever been) enabled for the storage system or a storage bucket thereof, or is not (or has never been) enabled for the storage system or storage bucket. For example, if versioning is off or suspended, a store operation may overwrite existing data. However, if versioning is enabled, a store type operation may create and store a new, unique object. If versioning has never been enabled, a delete operation may delete a stored object. However, if versioning has ever been enabled, a delete operation may create a new, unique delete marker object and may or may not delete any objects or data.Type: GrantFiled: September 21, 2010Date of Patent: March 18, 2014Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen K. Gattu, Michael A. Ten-Pow, Derek E. Denny-Brown, II
-
Patent number: 8650156Abstract: A distributed storage system may store data object instances in persistent storage and may cache keymap information for those data object instances. The system may cache a latest symbolic key entry for some user keys of the data object instances. When a request is made for the latest version of stored data object instances having a specified user key, the latest version may be determined dependent on whether a latest symbolic key entry exists for the specified user key, and keymap information for the latest version may be returned. When storing keymap information, a flag may be set to indicate that a corresponding latest symbolic key entry should be updated. The system may delete a latest symbolic key entry for a particular user key from the cache in response to determining that no other requests involving the keymap information for data object instances having the particular user key are pending.Type: GrantFiled: December 23, 2010Date of Patent: February 11, 2014Assignee: Amazon Technologies, Inc.Inventors: Jason G. McHugh, Praveen K. Gattu, Michael A. Ten-Pow, Derek E. Denny-Brown, II