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: 20160077930Abstract: 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: ApplicationFiled: November 23, 2015Publication date: March 17, 2016Inventors: 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: 9251047Abstract: 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: GrantFiled: May 13, 2013Date of Patent: February 2, 2016Assignee: Amazon Technologies, Inc.Inventors: Samuel James McKelvie, Michael David Marr
-
Patent number: 9223843Abstract: 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: GrantFiled: December 2, 2013Date of Patent: December 29, 2015Assignee: 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: 9208032Abstract: 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: GrantFiled: May 15, 2013Date of Patent: December 8, 2015Assignee: Amazon Technologies, Inc.Inventors: Grant Alexander MacDonald McAlister, Samuel James McKelvie, Anurag Windlass Gupta
-
Patent number: 9195542Abstract: 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: GrantFiled: April 29, 2013Date of Patent: November 24, 2015Assignee: 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: 9172640Abstract: 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: GrantFiled: July 1, 2014Date of Patent: October 27, 2015Assignee: Amazon Technologies, Inc.Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
-
Publication number: 20150261610Abstract: 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: ApplicationFiled: June 1, 2015Publication date: September 17, 2015Inventors: ANURAG WINDLASS GUPTA, JAMES MCCLELLAN COREY, YAN VALERIE LESHINSKY, PRADEEP JNANA MADHAVARAPU, SAMUEL JAMES MCKELVIE
-
Patent number: 9047189Abstract: 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: GrantFiled: May 28, 2013Date of Patent: June 2, 2015Assignee: Amazon Technologies, Inc.Inventors: Anurag Windlass Gupta, James McClellan Corey, Yan Valerie Leshinsky, Pradeep Jnana Madhavarapu, Samuel James McKelvie
-
Patent number: 9042403Abstract: 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: GrantFiled: May 28, 2013Date of Patent: May 26, 2015Assignee: Amazon Technologies, Inc.Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
-
Publication number: 20140314091Abstract: 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: ApplicationFiled: July 1, 2014Publication date: October 23, 2014Inventors: Pradeep Vincent, Matthew David Klein, Samuel James McKelvie
-
Publication number: 20140279929Abstract: 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: ApplicationFiled: March 7, 2014Publication date: September 18, 2014Applicant: 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: 20140279900Abstract: 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: ApplicationFiled: March 7, 2014Publication date: September 18, 2014Applicant: AMAZON TECHNOLOGIES, INC.Inventors: ANURAG WINDLASS GUPTA, PRADEEP JNANA MADHAVARAPU, SAMUEL JAMES MCKELVIE, NEAL FACHAN
-
Publication number: 20140279920Abstract: 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: ApplicationFiled: March 7, 2014Publication date: September 18, 2014Applicant: Amazon Technologies, Inc.Inventors: Pradeep Jnana MADHAVARAPU, Neal FACHAN, Anurag Windlass GUPTA, Samuel James MCKELVIE
-
Publication number: 20140059533Abstract: 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: ApplicationFiled: October 28, 2013Publication date: February 27, 2014Applicant: MICROSOFT CORPORATIONInventors: BRADLEY GENE CALDER, SAMUEL JAMES McKELVIE, AARON W. OGUS, ARLID E. SKJOLSVOLD, HAKON GABRIEL VERESPEJ, JU WANG
-
Patent number: 8589535Abstract: 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: GrantFiled: October 26, 2009Date of Patent: November 19, 2013Assignee: Microsoft CorporationInventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arild E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
-
Patent number: 8255373Abstract: 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: GrantFiled: October 24, 2008Date of Patent: August 28, 2012Assignee: Microsoft CorporationInventors: Samuel James McKelvie, Bradley Gene Calder, Ju Wang, Xinran Wu
-
Patent number: 8010648Abstract: 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: GrantFiled: October 24, 2008Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Aaron William Ogus, Samuel James McKelvie, Bradley Gene Calder
-
Publication number: 20110099266Abstract: 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: ApplicationFiled: October 26, 2009Publication date: April 28, 2011Applicant: Microsoft CorporationInventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arild E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
-
Publication number: 20100312809Abstract: 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: ApplicationFiled: June 5, 2009Publication date: December 9, 2010Applicant: MICROSOFT CORPORATIONInventors: Bradley Gene Calder, Vikram Dhaneshwar, Sriram Krishnan, Ju Wang, Samuel James McKelvie, Zhe Yang
-
Publication number: 20100114848Abstract: 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: ApplicationFiled: October 24, 2008Publication date: May 6, 2010Applicant: MICROSOFT CORPORATIONInventors: SAMUEL JAMES MCKELVIE, BRADLEY GENE CALDER, JU WANG, XINRAN WU