Patents by Inventor Samuel James McKelvie

Samuel James McKelvie 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).

  • Publication number: 20160077930
    Abstract: Application program data stored in system memory may be selectively persisted. An indication may be provided to an application program that an application data object or a range of application data stored in system memory may be treated as persistent. Data backup may be enabled for the application data object or range of application data in the event of a system failure, copying the application data object or range of application data from system memory to non-volatile data storage. Upon recovery from a system failure, further data backup for the application data object or the range of application data may be disabled. In some embodiments, at least some of the application data object or range of application data may be recovered for the application program to access. Data backup for the application data object or the range of application data may also be re-enabled.
    Type: Application
    Filed: November 23, 2015
    Publication date: March 17, 2016
    Inventors: SAMUEL JAMES MCKELVIE, YAN VALERIE LESHINSKY, IAN P. NOWLAND, DARIN LEE FRINK, ANURAG WINDLASS GUPTA, ADAM DOUGLAS MORLEY, CHRISTOPHER NATHAN WATSON, MICHAEL DAVID MARR
  • Patent number: 9251047
    Abstract: Approaches for automatically backing up data from volatile memory to persistent storage in the event of a power outage, blackout or other such failure are described. The approaches can be implemented on a computing device that includes a motherboard, central processing unit (CPU) a main power source, volatile memory (e.g., random access memory (RAM)), an alternate power source and circuitry (e.g., a specialized application-specific integrated circuit (ASIC)) for performing the backup of volatile memory to a persistent storage device. In the event of a power failure of the main power source, the alternate power source is configured to supply power to the specialized ASIC for backing up the data in the volatile memory. For example, when power failure is detected, the ASIC can read the data from the DIMM socket using power supplied from the alternate power source and write that data to a persistent storage device.
    Type: Grant
    Filed: May 13, 2013
    Date of Patent: February 2, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Samuel James McKelvie, Michael David Marr
  • Patent number: 9223843
    Abstract: A log-structured data store may implement optimized log storage for asynchronous log updates. In some embodiments, log records may be received indicating updates to data stored for a storage client and indicating positions in a log record sequence. The log records themselves may not be guaranteed to be received according to the log record sequence. Received log records may be stored in a hot log portion of a block-based storage device according to an order in which they are received. Log records in the hot log portion may then be identified to be moved to a cold log portion of the block-based storage device in order to complete a next portion of the log record sequence. Log records may be modified, such as compressed, or coalesced, before being stored together in a data block of the cold log portion according to the log record sequence.
    Type: Grant
    Filed: December 2, 2013
    Date of Patent: December 29, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Jnana Madhavarapu, Raman Mittal, Benjamin Tobler, James McClellan Corey, Yan Valerie Leshinsky, Samuel James McKelvie, Anurag Windlass Gupta
  • Patent number: 9208032
    Abstract: A network-based services provider may reserve and provision primary resource instance capacity for a given service (e.g., enough compute instances, storage instances, or other virtual resource instances to implement the service) in one or more availability zones, and may designate contingency resource instance capacity for the service in another availability zone (without provisioning or reserving the contingency instances for the exclusive use of the service). For example, the service provider may provision resource instance(s) for a database engine head node in one availability zone and designate resource instance capacity for another database engine head node in another availability zone without instantiating the other database engine head node. While the service operates as expected using the primary resource instance capacity, the contingency resource capacity may be leased to other entities on a spot market. Leases for contingency instance capacity may be revoked when needed for the given service (e.g.
    Type: Grant
    Filed: May 15, 2013
    Date of Patent: December 8, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Grant Alexander MacDonald McAlister, Samuel James McKelvie, Anurag Windlass Gupta
  • Patent number: 9195542
    Abstract: Application program data stored in system memory may be selectively persisted. An indication may be provided to an application program that an application data object or a range of application data stored in system memory may be treated as persistent. Data backup may be enabled for the application data object or range of application data in the event of a system failure, copying the application data object or range of application data from system memory to non-volatile data storage. Upon recovery from a system failure, further data backup for the application data object or the range of application data may be disabled. In some embodiments, at least some of the application data object or range of application data may be recovered for the application program to access. Data backup for the application data object or the range of application data may also be re-enabled.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: November 24, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Samuel James McKelvie, Yan Valerie Leshinsky, Ian P. Nowland, Darin Lee Frink, Anurag Windlass Gupta, Adam Douglas Morley, Christopher Nathan Watson, Michael David Marr
  • Patent number: 9172640
    Abstract: High-speed processing of packets to, and from, a virtualization environment can be provided while utilizing hardware-based segmentation offload and other such functionality. A hardware vendor such as a network interface card (NIC) manufacturer can enable the hardware to support open and proprietary stateless tunneling in conjunction with a protocol such as single root I/O virtualization (SR-IOV) in order to implement a virtualized overlay network. The hardware can utilize various rules, for example, that can be used by the NIC to perform certain actions, such as to encapsulate egress packets and decapsulate packets.
    Type: Grant
    Filed: July 1, 2014
    Date of Patent: October 27, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
  • Publication number: 20150261610
    Abstract: Self-describing data blocks of a minimum atomic write size may be stored for a data store. Data may be received for storage in a data block of a plurality of data blocks at a persistent storage device that are equivalent to a minimum atomic write size for the persistent storage device. Metadata may be generated for the data that includes an error detection code which is generated for the data and the metadata together. The data and the metadata are sent to the persistent storage device to store together in the data block. An individual atomic write operation may write together the data and the metadata in the data block. When accessed, the error detection code is applicable to detect errors. The metadata may also be applicable to determine whether the data is stored for a currently assigned purpose or a previously assigned purpose of the data block.
    Type: Application
    Filed: June 1, 2015
    Publication date: September 17, 2015
    Inventors: ANURAG WINDLASS GUPTA, JAMES MCCLELLAN COREY, YAN VALERIE LESHINSKY, PRADEEP JNANA MADHAVARAPU, SAMUEL JAMES MCKELVIE
  • Patent number: 9047189
    Abstract: Self-describing data blocks of a minimum atomic write size may be stored for a data store. Data may be received for storage in a data block of a plurality of data blocks at a persistent storage device that are equivalent to a minimum atomic write size for the persistent storage device. Metadata may be generated for the data that includes an error detection code which is generated for the data and the metadata together. The data and the metadata are sent to the persistent storage device to store together in the data block. An individual atomic write operation may write together the data and the metadata in the data block. When accessed, the error detection code is applicable to detect errors. The metadata may also be applicable to determine whether the data is stored for a currently assigned purpose or a previously assigned purpose of the data block.
    Type: Grant
    Filed: May 28, 2013
    Date of Patent: June 2, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Anurag Windlass Gupta, James McClellan Corey, Yan Valerie Leshinsky, Pradeep Jnana Madhavarapu, Samuel James McKelvie
  • Patent number: 9042403
    Abstract: High-speed processing of packets to, and from, a virtualization environment can be provided while utilizing hardware-based segmentation offload and other such functionality. A hardware vendor of an offload device can enable the hardware to support open and proprietary stateless tunneling in conjunction with a protocol such as single root I/O virtualization (SR-IOV) in order to implement a virtualized overlay network. The hardware can utilize various rules, for example, that can be used by the offload device to perform certain actions, such as to encapsulate egress packets and decapsulate packets.
    Type: Grant
    Filed: May 28, 2013
    Date of Patent: May 26, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
  • Publication number: 20140314091
    Abstract: High-speed processing of packets to, and from, a virtualization environment can be provided while utilizing hardware-based segmentation offload and other such functionality. A hardware vendor such as a network interface card (NIC) manufacturer can enable the hardware to support open and proprietary stateless tunneling in conjunction with a protocol such as single root I/O virtualization (SR-IOV) in order to implement a virtualized overlay network. The hardware can utilize various rules, for example, that can be used by the NIC to perform certain actions, such as to encapsulate egress packets and decapsulate packets.
    Type: Application
    Filed: July 1, 2014
    Publication date: October 23, 2014
    Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
  • Publication number: 20140279929
    Abstract: A database system may include a database service and a separate distributed storage service. The database service (or a database engine head node thereof) may be responsible for query parsing, optimization, and execution, transactionality, and consistency, while the storage service may be responsible for generating data pages from redo log records and for durability of those data pages. For example, in response to a write request directed to a particular data page, the database engine head node may generate a redo log record and send it, but not the data page, to a storage service node. The storage service node may store the redo log record and return a write acknowledgement to the database service prior to applying the redo log record. The server node may apply the redo log record and other redo log records to a previously stored version of the data page to create a current version.
    Type: Application
    Filed: March 7, 2014
    Publication date: September 18, 2014
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: ANURAG WINDLASS GUPTA, NEAL FACHAN, SAMUEL JAMES MCKELVIE, LAURION DARRELL BURCHALL, CHRISTOPHER RICHARD NEWCOMBE, PRADEEP JNANA MADHAVARAPU, BENJAMIN TOBLER, JAMES MCCLELLAN COREY
  • Publication number: 20140279900
    Abstract: A database system may maintain a plurality of log records at a distributed storage system. Each of the plurality of log records may be associated with a respective change to a data page. A snapshot may be generated that is usable to read the data as of a state corresponding to the snapshot. Generating the snapshot may include generating metadata that is indicative of a particular log identifier of a particular one of the log records. Generating the snapshot may be performed without additional reading, copying, or writing of the data.
    Type: Application
    Filed: March 7, 2014
    Publication date: September 18, 2014
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: ANURAG WINDLASS GUPTA, PRADEEP JNANA MADHAVARAPU, SAMUEL JAMES MCKELVIE, NEAL FACHAN
  • Publication number: 20140279920
    Abstract: A database system may maintain a plurality of log records at a distributed storage system. Each of the plurality of log records may be associated with a respective change to a data page. The plurality of log records may be transformed (e.g., cropped, prune, reduce, fused, deleted, merged, added, etc.).
    Type: Application
    Filed: March 7, 2014
    Publication date: September 18, 2014
    Applicant: Amazon Technologies, Inc.
    Inventors: Pradeep Jnana MADHAVARAPU, Neal FACHAN, Anurag Windlass GUPTA, Samuel James MCKELVIE
  • Publication number: 20140059533
    Abstract: Systems, methods, and computer storage media for upgrading a domain in a distributed computing environment are provided. Upgrading of the domain includes preparing for the upgrade, upgrading, and finalizing the upgrade. The preparation of the domain includes ensuring predefined quantities of role instances are available in domains other than the upgrade domain. The preparation also includes ensuring that a predefined number of extent replicas are available in domains other than the upgrade domain. The preparation may also include checkpointing partitions within the upgrade domain to facilitate faster loading once transferred to a domain other than the upgrade domain. The finalization may include allowing nodes within the upgrade domain to resume functionality that was suspended during the upgrade.
    Type: Application
    Filed: October 28, 2013
    Publication date: February 27, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: BRADLEY GENE CALDER, SAMUEL JAMES McKELVIE, AARON W. OGUS, ARLID E. SKJOLSVOLD, HAKON GABRIEL VERESPEJ, JU WANG
  • Patent number: 8589535
    Abstract: Systems, methods, and computer storage media for upgrading a domain in a distributed computing environment are provided. Upgrading of the domain includes preparing for the upgrade, upgrading, and finalizing the upgrade. The preparation of the domain includes ensuring predefined quantities of role instances are available in domains other than the upgrade domain. The preparation also includes ensuring that a predefined number of extent replicas are available in domains other than the upgrade domain. The preparation may also include checkpointing partitions within the upgrade domain to facilitate faster loading once transferred to a domain other than the upgrade domain. The finalization may include allowing nodes within the upgrade domain to resume functionality that was suspended during the upgrade.
    Type: Grant
    Filed: October 26, 2009
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arild E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
  • Patent number: 8255373
    Abstract: Atomic multiple modifications of streams is provided. Streams are selected for the application of an atomic multiple modification. A lock is acquired on the meta-data associated with the streams. Each stream is de-coupled from its name. Multiple modifications are applied to the selected streams. After performing the modifications, names are coupled to the streams. The lock on the meta-data associated with each stream is released.
    Type: Grant
    Filed: October 24, 2008
    Date of Patent: August 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Samuel James McKelvie, Bradley Gene Calder, Ju Wang, Xinran Wu
  • Patent number: 8010648
    Abstract: Replica placement in a network of nodes is provided. Nodes are selected for replica placement to satisfy location-based preferences. Additionally, nodes are selected for replica placement to spread replicas of the same data over different fault domains and upgrade domains. In some instances, nodes may be selected for replica placement based on load-based information for the nodes.
    Type: Grant
    Filed: October 24, 2008
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Aaron William Ogus, Samuel James McKelvie, Bradley Gene Calder
  • Publication number: 20110099266
    Abstract: Systems, methods, and computer storage media for upgrading a domain in a distributed computing environment are provided. Upgrading of the domain includes preparing for the upgrade, upgrading, and finalizing the upgrade. The preparation of the domain includes ensuring predefined quantities of role instances are available in domains other than the upgrade domain. The preparation also includes ensuring that a predefined number of extent replicas are available in domains other than the upgrade domain. The preparation may also include checkpointing partitions within the upgrade domain to facilitate faster loading once transferred to a domain other than the upgrade domain. The finalization may include allowing nodes within the upgrade domain to resume functionality that was suspended during the upgrade.
    Type: Application
    Filed: October 26, 2009
    Publication date: April 28, 2011
    Applicant: Microsoft Corporation
    Inventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arild E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
  • Publication number: 20100312809
    Abstract: Embodiments of the present invention relate to systems, methods, and computer storage media for geographically organizing the storage of data and hosted services in a distributed computing environment. An allocation constraint is utilized to identify and select a geo-region in which an affinity group that is comprised of a hosted service and/or data is to be physically stored. Additionally, a geo-domain within the geo-region is identified for hosting the hosted service and/or data of the affinity group. A stamp, such as a storage stamp or a computation stamp, is identified on the geo-domain for storing the hosted service and/or the data. The hosted service is stored in an identified computation stamp and the data is stored in an identified storage stamp. In an additional exemplary embodiment, the identification of a geo-domain involves analyzing resource information related to potential geo-domains within a geo-region.
    Type: Application
    Filed: June 5, 2009
    Publication date: December 9, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Vikram Dhaneshwar, Sriram Krishnan, Ju Wang, Samuel James McKelvie, Zhe Yang
  • Publication number: 20100114848
    Abstract: Atomic multiple modifications of streams is provided. Streams are selected for the application of an atomic multiple modification. A lock is acquired on the meta-data associated with the streams. Each stream is de-coupled from its name. Multiple modifications are applied to the selected streams. After performing the modifications, names are coupled to the streams. The lock on the meta-data associated with each stream is released.
    Type: Application
    Filed: October 24, 2008
    Publication date: May 6, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: SAMUEL JAMES MCKELVIE, BRADLEY GENE CALDER, JU WANG, XINRAN WU