Patents by Inventor Graham C. Charters
Graham C. Charters 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: 20230108209Abstract: In a service mesh, back-pressure is applied and relieved as needed by a control mechanism which is applied between pairs of services to control the rate at which service requests are made from one of service to the other via monitoring hardware and/or software metrics. A proxy of one service is monitored to observe the rate at which it receives service requests from the other service. If it is observed that the monitored metrics have breached allowable limits, back-pressure is applied to reduce the rate at which the other proxy transmits these service requests. Through continued monitoring of the proxy, the back-pressure can be later relieved when appropriate by increasing the permitted request rate.Type: ApplicationFiled: October 5, 2021Publication date: April 6, 2023Inventors: Adam John Pilkington, GORDON DOUGLAS HUTCHISON, Timothy J. MITCHELL, Graham C. Charters
-
Patent number: 11621919Abstract: A computer system hosting (micro)services that uses a service mesh to govern communication between the services. The services include consumer services and an event stream service, the latter directing an event stream from a producer service to the individual consumer services. The control plane of the service mesh has the role of creating and removing service instances. Based on a specified event capacity that is to be provided by the consumer services collectively, the control plane manages service provisioning by estimating the current event capacity of the system. This is done by measuring the event capacities of each consumer service instance and summing them, from which any shortfall or excess of the current event capacity in relation to the specified event capacity can be determined. Consumer service instances are then added in case of a shortfall or removed in case of an excess as needed to avoid over or under-provisioning.Type: GrantFiled: September 2, 2021Date of Patent: April 4, 2023Assignee: International Business Machines CorporationInventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
-
Publication number: 20230069598Abstract: A computer system hosting (micro)services that uses a service mesh to govern communication between the services. The services include consumer services and an event stream service, the latter directing an event stream from a producer service to the individual consumer services. The control plane of the service mesh has the role of creating and removing service instances. Based on a specified event capacity that is to be provided by the consumer services collectively, the control plane manages service provisioning by estimating the current event capacity of the system. This is done by measuring the event capacities of each consumer service instance and summing them, from which any shortfall or excess of the current event capacity in relation to the specified event capacity can be determined. Consumer service instances are then added in case of a shortfall or removed in case of an excess as needed to avoid over or under-provisioning.Type: ApplicationFiled: September 2, 2021Publication date: March 2, 2023Inventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
-
Patent number: 11082526Abstract: A computer-implemented method, apparatus, system and computer program product for optimizing parameter data passing between services in a service mesh, the method including receiving, at a first service, a request for the first service, the request including parameter data; storing the parameter data in a request parameter store, retrieving the parameter data from the request parameter store; the first service initiating a request for a second service, the parameter data in the request being replaced by a unique token identifying the parameter data in the request parameter store; and responsive to the second service using the parameter data, retrieving the parameter data from the request parameter store.Type: GrantFiled: August 19, 2019Date of Patent: August 3, 2021Assignee: International Business Machines CorporationInventors: Adam John Pilkington, Gordon Douglas Hutchison, Timothy J. Mitchell, Graham C. Charters
-
Patent number: 11074154Abstract: Method and system are provided for identifying a source file for use in debugging compiled code. The method includes referencing a compiled file for debugging and searching for potential source files of the compiled file from configured repositories. The method obtains the potential source files from the configured repositories and iterates over the obtained potential source files to compile and compare each potential source file to the compiled file. One or more matching source files are identified for use in debugging the compiled file.Type: GrantFiled: June 6, 2018Date of Patent: July 27, 2021Assignee: International Business Machines CorporationInventors: Timothy J. Mitchell, Graham C. Charters, Lewis Evans, Adam J. Pilkington
-
Patent number: 11023325Abstract: A method to resolve or prevent a computer system failure is provided. The method may include capturing a plurality of snapshots associated with a computer system installation environment during a plurality of key times. The method may also include measuring each snapshot within the captured plurality of snapshots according to a measure of system health. The method may further include using each measured snapshot to develop a plurality of learned patterns of good and bad software installations. The method may additionally include providing a probability associated with a proposed installation operation based on the developed plurality of learned patterns of good and bad software installations. The method may also include providing at least one installation recommendation in response to a recovery from a system failure, whereby the provided at least one installation recommendation is based on the developed plurality of learned patterns of good and bad software installations.Type: GrantFiled: May 29, 2019Date of Patent: June 1, 2021Assignee: International Business Machines CorporationInventors: Graham C. Charters, Travis J. Kirke, Alexander H. Poga, Mark A. Shewell
-
Patent number: 10999363Abstract: An indication to determine a device to host at least one shared content found on a first device is received. The first device is connected to a network. The network includes two or more devices. To each device of the two or more devices connected to the network, a request to host the at least one shared content found on the first device is transmitted. Responsive to transmitting the request, a response to host from at least one device of the two or more devices connected to the network is received. An optimal device of the at least one device to host the at least one shared content is determined. The at least one shared content is transmitted to the optimal device.Type: GrantFiled: March 22, 2016Date of Patent: May 4, 2021Assignee: International Business Machines CorporationInventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
-
Publication number: 20210058484Abstract: A computer-implemented method, apparatus, system and computer program product for optimizing parameter data passing between services in a service mesh, the method including receiving, at a first service, a request for the first service, the request including parameter data; storing the parameter data in a request parameter store, retrieving the parameter data from the request parameter store; the first service initiating a request for a second service, the parameter data in the request being replaced by a unique token identifying the parameter data in the request parameter store; and responsive to the second service using the parameter data, retrieving the parameter data from the request parameter store.Type: ApplicationFiled: August 19, 2019Publication date: February 25, 2021Inventors: Adam John Pilkington, GORDON DOUGLAS HUTCHISON, Timothy J. MITCHELL, Graham C. Charters
-
Patent number: 10901774Abstract: A virtual runtime module that omits an internal functional implementation of an associated executable module and that includes a runtime-resolvable public interface of the associated executable module is obtained using a processor within a module-based system. The virtual runtime module within the module-based system is resolved, using the runtime-resolvable public interface of the virtual runtime module, to satisfy dependencies associated with the executable module within the module-based system. At least a portion of the internal functional implementation of the associated executable module within the module-based system is installed during runtime using the resolved virtual runtime module.Type: GrantFiled: April 26, 2019Date of Patent: January 26, 2021Assignee: International Business Machines CorporationInventors: Graham C. Charters, David J. Vines, Timothy J. Ward
-
Publication number: 20210019155Abstract: A method, computer system, and computer program product for generating an optimized managed runtime application is provided. Method invocation statistics for a managed runtime application are received. The managed runtime application comprises code defining a plurality of classes, each class including bytecode for one or more methods associated with the class. The method invocation statistics identify the methods invoked during at least one previous execution of the managed runtime application. An optimized version of the managed runtime application is generated based on the method invocation statistics. The managed runtime application is retrieved, and bytecode for at least one method of a class of the managed runtime application is selectively replaced with proxy code based on the method invocation statistics. The proxy code is configured for retrieving the replaced code.Type: ApplicationFiled: July 18, 2019Publication date: January 21, 2021Inventors: Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell, Gordon Douglas Hutchison
-
Patent number: 10884764Abstract: A method, computer system, and computer program product for generating an optimized managed runtime application is provided. Method invocation statistics for a managed runtime application are received. The managed runtime application comprises code defining a plurality of classes, each class including bytecode for one or more methods associated with the class. The method invocation statistics identify the methods invoked during at least one previous execution of the managed runtime application. An optimized version of the managed runtime application is generated based on the method invocation statistics. The managed runtime application is retrieved, and bytecode for at least one method of a class of the managed runtime application is selectively replaced with proxy code based on the method invocation statistics. The proxy code is configured for retrieving the replaced code.Type: GrantFiled: July 18, 2019Date of Patent: January 5, 2021Assignee: International Business Machines CorporationInventors: Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell, Gordon Douglas Hutchison
-
Patent number: 10887202Abstract: A method and system for which a service call is referred to as an event and processing the service call is referred to as an action. Traversal of a directed graph is monitored for an application during execution of the application. Traversal probabilities for events in the directed graph which may still occur during the execution of the application are continually revised. Decision logic is applied during the execution of the application to decide whether to pre-start one service in the directed graph that may still be called prior to an event in the directed graph calling the one service. The one service decided upon by the decision logic is pre-started.Type: GrantFiled: November 11, 2019Date of Patent: January 5, 2021Assignee: International Business Machines CorporationInventors: Gordon Hutchison, Adam Pilkington, Graham C. Charters, Tim Mitchell
-
Patent number: 10805213Abstract: In a cluster of microservice nodes, each microservice node comprises a microservice and microservices form a service mesh. Data communications across the service mesh are controlled to prioritize sequence in which various data parameters are sent to destination nodes, so that data needs of a destination microservice are met as quickly as possible. An originator program receives, from a destination, data usage information relating to access of the data parameters received by a destination program from the originator program. The originator program determines, for the destination microservice, a priority order of the data parameters based on the historic data usage information, and transmits input data in the priority order to the destination program.Type: GrantFiled: November 19, 2018Date of Patent: October 13, 2020Assignee: International Business Machines CorporationInventors: Adam J. Pilkington, Graham C. Charters, Gordon Hutchison, Timothy J. Mitchell
-
Patent number: 10715318Abstract: A method for a cryptographic service facilitating asymmetric encryption is provided. The cryptographic service is implemented on one or more computer systems. The method includes receiving, by the cryptographic service, one or more unique identifiers. The method also includes determining, by the cryptographic service, whether each of the one or more unique identifiers is valid. The method includes generating, by the cryptographic service, a key pair per unique identifier of the one or more unique identifiers based on whether the corresponding unique identifier is valid. The method includes sending, by the cryptographic service, a success reply including a public key for each key pair generation.Type: GrantFiled: January 23, 2018Date of Patent: July 14, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
-
Publication number: 20200162380Abstract: In a cluster of microservice nodes, each microservice node comprises a microservice and microservices form a service mesh. Data communications across the service mesh are controlled to prioritize sequence in which various data parameters are sent to destination nodes, so that data needs of a destination microservice are met as quickly as possible. An originator program receives, from a destination, data usage information relating to access of the data parameters received by a destination program from the originator program. The originator program determines, for the destination microservice, a priority order of the data parameters based on the historic data usage information, and transmits input data in the priority order to the destination program.Type: ApplicationFiled: November 19, 2018Publication date: May 21, 2020Inventors: Adam J. Pilkington, Graham C. Charters, Gordon Hutchison, Timothy J. Mitchell
-
Patent number: 10636320Abstract: A computer system may generate acoustical recommendations for a user. A set of actual acoustical data input may be received and compared with a set of expected acoustical data accessed from memory. The set of actual and expected acoustical data may be corresponding. A set of actual acoustical data vectors may be generated and analyzed against a set of expected acoustical vectors. Deviating portions between the actual and expected may be determined and a set of performance rating vectors may be generated based on each deviating portion. Based on these vectors, and by applying the performance rating vectors to a list of reference ratings, the system can generate a set of acoustical recommendations.Type: GrantFiled: November 20, 2017Date of Patent: April 28, 2020Assignee: International Business Machines CorporationInventors: Graham C. Charters, Benjamin T. Horwood, Mark A. Shewell, Bret W. Dixon, Alexander H. Poga
-
Patent number: 10628183Abstract: Embodiments of the present invention provide systems and methods for interactive software demonstrations. While a presenter demonstrates software to the participants, the demonstration may be “paused” and “resumed.” When paused, the participants are able to interact with the demonstrated software program. When “resumed,” the participants are not able to interact with the demonstrated software program. Spawned virtual machines, wherein the virtual machines control access to the software program being demonstrated, permit participant interaction.Type: GrantFiled: January 18, 2017Date of Patent: April 21, 2020Assignee: International Business Machines CorporationInventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
-
Patent number: 10613880Abstract: Embodiments of the present invention provide systems and methods for interactive software demonstrations. While a presenter demonstrates software to the participants, the demonstration may be “paused” and “resumed.” When paused, the participants are able to interact with the demonstrated software program. When “resumed,” the participants are not able to interact with the demonstrated software program. Spawned virtual machines, wherein the virtual machines control access to the software program being demonstrated, permit participant interaction.Type: GrantFiled: May 31, 2016Date of Patent: April 7, 2020Assignee: International Business Machines CorporationInventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
-
Patent number: 10606685Abstract: Diagnostic information for a program execution is provided, where the program is executable in a machine having a program stack for individual program elements. At least one program element is saved from the program stack into an event buffer as the at least one program element is executed. A historical event buffer associated with at least one runtime error is loaded, and a similarity between the event buffer and the historical event buffer is determined. It is requested that at least one type of diagnostic information be provided with the execution of the program in the event buffer when the determined similarity exceeds a threshold similarity.Type: GrantFiled: March 23, 2018Date of Patent: March 31, 2020Assignee: International Business Machines CorporationInventors: Graham C Charters, Lewis Evans, Timothy Mitchell, Adam Pilkington
-
Publication number: 20200076712Abstract: A method and system for which a service call is referred to as an event and processing the service call is referred to as an action. Traversal of a directed graph is monitored for an application during execution of the application. Traversal probabilities for events in the directed graph which may still occur during the execution of the application are continually revised. Decision logic is applied during the execution of the application to decide whether to pre-start one service in the directed graph that may still be called prior to an event in the directed graph calling the one service. The one service decided upon by the decision logic is pre-started.Type: ApplicationFiled: November 11, 2019Publication date: March 5, 2020Inventors: Gordon Hutchison, Adam Pilkington, Graham C. Charters, Tim Mitchell