Patents by Inventor Allan H. Vermeulen
Allan H. Vermeulen 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: 10789237Abstract: Techniques are described for providing a storage service that stores information about large numbers of transactions in a persistent manner, such as with a high degree of reliability, availability and scalability based at least in part on use of a distributed computing and storage system. In some situations, the transaction information storage service stores various information about transactions that each include at least one monetary payment (e.g., a micro-payment) between financial accounts of two or more of numerous users having accounts with one or more entities. The transaction information storage service may be provided by or otherwise affiliated with a merchant, and customers of the merchant may purchase usage of the storage service for programs executed by or otherwise affiliated with the customers, with the storage service available to remote executing programs via a defined API of the storage service, such as a Web services-based API.Type: GrantFiled: August 9, 2017Date of Patent: September 29, 2020Assignee: Amazon Technologies, Inc.Inventors: Vikas Gupta, Allan H. Vermeulen, Rahul Singh, Duane J. Krause, Nipoon Malhotra
-
Patent number: 10754710Abstract: Methods and apparatus for a transactional watch mechanism are disclosed. A distributed system includes a state manager coordinating access to a registry. In response to a watch establishment request specifying target elements of the registry for which update notifications are to be provided and an indication of a notification destination, the state manager determines a watch establishment timestamp, and initiates a sequence of asynchronous update notifications to the destination, corresponding to each update to a target element completed after the watch is established. The notifications are provided in the order in which the corresponding updates are applied. The sequence includes exactly one update notification for a given update and excludes update notifications for elements of the registry other than the specified target elements.Type: GrantFiled: June 20, 2012Date of Patent: August 25, 2020Assignee: Amazon Technologies, Inc.Inventors: Long X. Nguyen, Allan H. Vermeulen
-
Patent number: 10652076Abstract: Dynamic application instance discovery and state management within a distributed system. A distributed system may implement application instances configured to perform one or more application functions within the distributed system, and discovery and failure detection daemon (DFDD) instances, each configured to store an indication of a respective operational state of each member of a respective group of the number of application instances. Each of the DFDD instances may repeatedly execute a gossip-based synchronization protocol with another one of the DFDD instances, where execution of the protocol between DFDD instances includes reconciling differences among membership of the respective groups of application instances. A new application instance may be configured to notify a particular DFDD instance of its availability to perform an application function.Type: GrantFiled: December 4, 2017Date of Patent: May 12, 2020Assignee: Amazon Technologies, Inc.Inventors: John David Cormie, Ami K. Fischman, Allan H. Vermeulen
-
Patent number: 10191959Abstract: Methods and apparatus for versioned read-only snapshots of shared state for distributed applications are disclosed. A distributed system includes a state manager implementing programmatic interfaces defining caching operations. In response to a cache setup request from a process of a distributed client application, the state manager designates elements of a registry as a cache data set, and provides the client process a reference to an asynchronously updated cache object. The state manager initiates a sequence of asynchronous update notifications to the cache object, wherein each notification includes (a) updated contents of an element of the cache data set, and (b) a cache version identifier based at least in part on a registry logical timestamp value indicative of a time at which the element was updated.Type: GrantFiled: June 20, 2012Date of Patent: January 29, 2019Assignee: Amazon Technologies, Inc.Inventors: Long X. Nguyen, Allan H. Vermeulen
-
Patent number: 10187458Abstract: Techniques are described for providing client computing nodes with enhanced access to remote network-accessible services, such as by providing local capabilities specific to the remote services. In at least some situations, access to remote services by a client computing node may be enhanced by automatically locally performing some activities of the remote services, such as to improve the efficiency of communications that are sent between the client computing node and the remote service and/or to improve the efficiency by the remote service of processing communications from the client computing node. As one example, a node manager system local to a client computing node may perform authentication of communications sent by the client computing node to a remote service and/or may perform other activities specific to the remote service, so that the remote service does not need to perform the authentication and/or other performed activities for the communications.Type: GrantFiled: September 15, 2016Date of Patent: January 22, 2019Assignee: Amazon Technologies, Inc.Inventors: Luis Felipe Cabrera, Allan H. Vermeulen, Peter N. DeSantis
-
Publication number: 20180159717Abstract: Dynamic application instance discovery and state management within a distributed system. A distributed system may implement application instances configured to perform one or more application functions within the distributed system, and discovery and failure detection daemon (DFDD) instances, each configured to store an indication of a respective operational state of each member of a respective group of the number of application instances. Each of the DFDD instances may repeatedly execute a gossip-based synchronization protocol with another one of the DFDD instances, where execution of the protocol between DFDD instances includes reconciling differences among membership of the respective groups of application instances. A new application instance may be configured to notify a particular DFDD instance of its availability to perform an application function.Type: ApplicationFiled: December 4, 2017Publication date: June 7, 2018Applicant: Amazon Technologies, Inc.Inventors: JOHN DAVID CORMIE, AMI K. FISCHMAN, ALLAN H. VERMEULEN
-
Patent number: 9961143Abstract: Techniques are described for providing client computing nodes with enhanced access to data from remote locations, such as by providing and using local capabilities specific to the remote locations. In at least some situations, the access of a client computing node to data from a remote location may be enhanced by automatically performing activities local to the client computing node that improve the efficiency of communications sent between the client computing node and the remote location. As one example, access to data from a remote service may be enhanced by locally performing activities specific to the remote service, such as by using information about the remote service's internal mechanisms to cause the desired data to be provided from internal storage devices of the remote service without passing through front-end or other intermediate devices of the remote service while traveling to the client computing node.Type: GrantFiled: November 14, 2014Date of Patent: May 1, 2018Assignee: Amazon Technologies, Inc.Inventors: Allan H. Vermeulen, Luis Felipe Cabrera, Peter N. DeSantis
-
Patent number: 9875212Abstract: Systems and methods for managing cached information maintained in a distributed storage system are provided. Requests for information within the distributed storage system are directed to specific coordinators. Each coordinator can maintain cached version of information maintained at various information sources within the distributed storage system. To manage the cache, the system can utilize generation identifiers that identify the component within the distributed storage system that last updated information sources. Each coordinator can determine whether cached version of information is valid based on an analysis of generation identifiers.Type: GrantFiled: January 27, 2014Date of Patent: January 23, 2018Assignee: AMAZON TECHNOLOGIES, INC.Inventors: James Christopher Sorenson, III, Gunavardhan Kakulapati, Jason G. McHugh, Allan H. Vermeulen
-
Publication number: 20170364543Abstract: Techniques are described for providing a storage service that stores information about large numbers of transactions in a persistent manner, such as with a high degree of reliability, availability and scalability based at least in part on use of a distributed computing and storage system. In some situations, the transaction information storage service stores various information about transactions that each include at least one monetary payment (e.g., a micro-payment) between financial accounts of two or more of numerous users having accounts with one or more entities. The transaction information storage service may be provided by or otherwise affiliated with a merchant, and customers of the merchant may purchase usage of the storage service for programs executed by or otherwise affiliated with the customers, with the storage service available to remote executing programs via a defined API of the storage service, such as a Web services-based API.Type: ApplicationFiled: August 9, 2017Publication date: December 21, 2017Inventors: Vikas Gupta, Allan H. Vermeulen, Rahul Singh, Duane J. Krause, Nipoon Malhotra
-
Patent number: 9838240Abstract: Dynamic application instance discovery and state management within a distributed system. A distributed system may implement application instances configured to perform one or more application functions within the distributed system, and discovery and failure detection daemon (DFDD) instances, each configured to store an indication of a respective operational state of each member of a respective group of the number of application instances. Each of the DFDD instances may repeatedly execute a gossip-based synchronization protocol with another one of the DFDD instances, where execution of the protocol between DFDD instances includes reconciling differences among membership of the respective groups of application instances. A new application instance may be configured to notify a particular DFDD instance of its availability to perform an application function.Type: GrantFiled: November 18, 2013Date of Patent: December 5, 2017Assignee: Amazon Technologies, Inc.Inventors: John David Cormie, Ami K. Fischman, Allan H. Vermeulen
-
Patent number: 9753966Abstract: Techniques are described for providing a storage service that stores information about large numbers of transactions in a persistent manner, such as with a high degree of reliability, availability and scalability based at least in part on use of a distributed computing and storage system. In some situations, the transaction information storage service stores various information about transactions that each include at least one monetary payment (e.g., a micro-payment) between financial accounts of two or more of numerous users having accounts with one or more entities. The transaction information storage service may be provided by or otherwise affiliated with a merchant, and customers of the merchant may purchase usage of the storage service for programs executed by or otherwise affiliated with the customers, with the storage service available to remote executing programs via a defined API of the storage service, such as a Web services-based API.Type: GrantFiled: May 25, 2012Date of Patent: September 5, 2017Assignee: Amazon Technologies, Inc.Inventors: Vikas Gupta, Allan H. Vermeulen, Rahul Singh, Duane J. Krause, Nipoon Malhotra
-
Patent number: 9710830Abstract: A method and system for dynamic pricing of web services utilization. According to one embodiment, a method may include dynamically predicting utilization of a web services computing resource that is expected to occur during a given interval of time, and dependent upon the dynamically predicted utilization, setting a price associated with utilization of the web services computing resource occurring during the given interval of time. The method may further include providing the price to a customer.Type: GrantFiled: September 2, 2012Date of Patent: July 18, 2017Assignee: Amazon Technologies, Inc.Inventors: Allan H. Vermeulen, Jeffrey P. Bezos
-
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
-
Patent number: 9632828Abstract: Distributed systems that maintain data items or state on multiple server nodes (e.g., a storage system or lock service) may receive transaction requests from clients that include read requests and/or write requests. If a transaction request includes a read request, a server node may determine a node staleness value for the requested data from the server's perspective, and may return a transaction response to the client that includes the requested data and the node staleness value. The client may compute a client staleness value for the requested data dependent on the node staleness value in the transaction response, rather than on a separate heartbeat process. If the transaction also includes a write request, the server may return the transaction response for the read request before the write commits. In this case, the client may not use the requested data until it receives another response indicating that the write committed.Type: GrantFiled: September 24, 2012Date of Patent: April 25, 2017Assignee: Amazon Technologies, Inc.Inventors: Nirmal Mehta, Allan H. Vermeulen
-
Patent number: 9578080Abstract: Resource management techniques for shared resources in a distributed system are described. Clients and servers may exchange messages according to an asynchronous messaging protocol that does not guarantee delivery or ordering of messages. A client may send a resource request message including a client timestamp and a measure of client resource demand. The server may allocate a grant of the resource to the client in a manner that prevents resource overload, and indicate the grant to the client via a message including a logical timestamp, the amount of resource granted, the client's original timestamp, and a grant expiration time. The server may acknowledge the grant and cooperatively use the resource in accordance with the grant's terms.Type: GrantFiled: March 24, 2014Date of Patent: February 21, 2017Assignee: Amazon Technologies, Inc.Inventors: Allan H. Vermeulen, Timothy Andrew Rath
-
Publication number: 20170006091Abstract: Techniques are described for providing client computing nodes with enhanced access to remote network-accessible services, such as by providing local capabilities specific to the remote services. In at least some situations, access to remote services by a client computing node may be enhanced by automatically locally performing some activities of the remote services, such as to improve the efficiency of communications that are sent between the client computing node and the remote service and/or to improve the efficiency by the remote service of processing communications from the client computing node. As one example, a node manager system local to a client computing node may perform authentication of communications sent by the client computing node to a remote service and/or may perform other activities specific to the remote service, so that the remote service does not need to perform the authentication and/or other performed activities for the communications.Type: ApplicationFiled: September 15, 2016Publication date: January 5, 2017Inventors: Luis Felipe Cabrera, Allan H. Vermeulen, Peter N. DeSantis
-
Patent number: 9455969Abstract: Techniques are described for providing client computing nodes with enhanced access to remote network-accessible services, such as by providing local capabilities specific to the remote services. In at least some situations, access to remote services by a client computing node may be enhanced by automatically locally performing some activities of the remote services, such as to improve the efficiency of communications that are sent between the client computing node and the remote service and/or to improve the efficiency by the remote service of processing communications from the client computing node. As one example, a node manager system local to a client computing node may perform authentication of communications sent by the client computing node to a remote service and/or may perform other activities specific to the remote service, so that the remote service does not need to perform the authentication and/or other performed activities for the communications.Type: GrantFiled: September 14, 2012Date of Patent: September 27, 2016Assignee: Amazon Technologies, Inc.Inventors: Luis Felipe Cabrera, Allan H. Vermeulen, Peter N. DeSantis
-
Publication number: 20160247151Abstract: Techniques are described for facilitating interactions between computing systems, such as by performing transactions between parties that are automatically authorized via a third-party transaction authorization system. In some situations, the transactions are programmatic transactions involving the use of fee-based Web services by executing application programs, with the transaction authorization system authorizing and/or providing payments in accordance with private authorization instructions previously specified by the parties. The authorization instructions may include predefined instruction rule sets that regulate conditions under which a potential transaction can be authorized, with the instruction rule sets each referenced by an associated reference token.Type: ApplicationFiled: April 28, 2016Publication date: August 25, 2016Inventors: Vikas Gupta, Allan H. Vermeulen, Eugene Wei, Andrew R. Jassy, Jeffrey P. Bezos, Duane J. Krause, David A. Schappell
-
Patent number: 9203715Abstract: Systems and methods are disclosed which facilitate the management of host computing devices through the utilization of a host computing device control component. The host computing device control component includes a state monitoring component that monitors operating states of the control component and a group of associated host computing devices. The state monitoring component includes a power supply separate from the control component power supply, a state processing component, a visual indicator interface, and a separate communication component to facilitate communication with other state monitoring components. Utilizing consensus type algorithms, the state monitoring components can decide information related to the set of host computing devices, such as a state monitoring component authoritative for the grouping of the host computing devices.Type: GrantFiled: September 29, 2014Date of Patent: December 1, 2015Assignee: Amazon Technologies, Inc.Inventors: Jacob Gabrielson, Marvin M. Theimer, Allan H. Vermeulen
-
Patent number: 9166863Abstract: A distributed, web-services based storage system. A system may include a web services interface configured to receive, according to a web services protocol, a given client request for access to a given data object, the request including a key value corresponding to the object. The system may also include storage nodes configured to store replicas of the objects, where each replica is accessible via a respective unique locator value, and a keymap instance configured to store a respective keymap entry for each object. For the given object, the respective keymap entry includes the key value and each locator value corresponding to replicas of the object. A coordinator may receive the given client request from the web services interface, responsively access the keymap instance to identify locator values corresponding to the key value and, for a particular locator value, retrieve a corresponding replica from a corresponding storage node.Type: GrantFiled: March 8, 2013Date of Patent: October 20, 2015Assignee: Amazon Technologies, Inc.Inventors: Allan H. Vermeulen, Alan B. Atlas, David M. Barth, John David Cormie, Ami K. Fischman, James Christopher Sorenson, III, Eric M. Wagner