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: 20230108209
    Abstract: 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: Application
    Filed: October 5, 2021
    Publication date: April 6, 2023
    Inventors: Adam John Pilkington, GORDON DOUGLAS HUTCHISON, Timothy J. MITCHELL, Graham C. Charters
  • Patent number: 11621919
    Abstract: 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: Grant
    Filed: September 2, 2021
    Date of Patent: April 4, 2023
    Assignee: International Business Machines Corporation
    Inventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
  • Publication number: 20230069598
    Abstract: 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: Application
    Filed: September 2, 2021
    Publication date: March 2, 2023
    Inventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
  • Patent number: 11082526
    Abstract: 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: Grant
    Filed: August 19, 2019
    Date of Patent: August 3, 2021
    Assignee: International Business Machines Corporation
    Inventors: Adam John Pilkington, Gordon Douglas Hutchison, Timothy J. Mitchell, Graham C. Charters
  • Patent number: 11074154
    Abstract: 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: Grant
    Filed: June 6, 2018
    Date of Patent: July 27, 2021
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Mitchell, Graham C. Charters, Lewis Evans, Adam J. Pilkington
  • Patent number: 11023325
    Abstract: 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: Grant
    Filed: May 29, 2019
    Date of Patent: June 1, 2021
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, Travis J. Kirke, Alexander H. Poga, Mark A. Shewell
  • Patent number: 10999363
    Abstract: 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: Grant
    Filed: March 22, 2016
    Date of Patent: May 4, 2021
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
  • Publication number: 20210058484
    Abstract: 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: Application
    Filed: August 19, 2019
    Publication date: February 25, 2021
    Inventors: Adam John Pilkington, GORDON DOUGLAS HUTCHISON, Timothy J. MITCHELL, Graham C. Charters
  • Patent number: 10901774
    Abstract: 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: Grant
    Filed: April 26, 2019
    Date of Patent: January 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, David J. Vines, Timothy J. Ward
  • Publication number: 20210019155
    Abstract: 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: Application
    Filed: July 18, 2019
    Publication date: January 21, 2021
    Inventors: Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell, Gordon Douglas Hutchison
  • Patent number: 10884764
    Abstract: 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: Grant
    Filed: July 18, 2019
    Date of Patent: January 5, 2021
    Assignee: International Business Machines Corporation
    Inventors: Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell, Gordon Douglas Hutchison
  • Patent number: 10887202
    Abstract: 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: Grant
    Filed: November 11, 2019
    Date of Patent: January 5, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gordon Hutchison, Adam Pilkington, Graham C. Charters, Tim Mitchell
  • Patent number: 10805213
    Abstract: 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: Grant
    Filed: November 19, 2018
    Date of Patent: October 13, 2020
    Assignee: International Business Machines Corporation
    Inventors: Adam J. Pilkington, Graham C. Charters, Gordon Hutchison, Timothy J. Mitchell
  • Patent number: 10715318
    Abstract: 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: Grant
    Filed: January 23, 2018
    Date of Patent: July 14, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
  • Publication number: 20200162380
    Abstract: 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: Application
    Filed: November 19, 2018
    Publication date: May 21, 2020
    Inventors: Adam J. Pilkington, Graham C. Charters, Gordon Hutchison, Timothy J. Mitchell
  • Patent number: 10636320
    Abstract: 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: Grant
    Filed: November 20, 2017
    Date of Patent: April 28, 2020
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, Benjamin T. Horwood, Mark A. Shewell, Bret W. Dixon, Alexander H. Poga
  • Patent number: 10628183
    Abstract: 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: Grant
    Filed: January 18, 2017
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
  • Patent number: 10613880
    Abstract: 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: Grant
    Filed: May 31, 2016
    Date of Patent: April 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Graham C. Charters, Bret W. Dixon, Benjamin T. Horwood, Alexander H. Poga, Mark A. Shewell
  • Patent number: 10606685
    Abstract: 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: Grant
    Filed: March 23, 2018
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: Graham C Charters, Lewis Evans, Timothy Mitchell, Adam Pilkington
  • Publication number: 20200076712
    Abstract: 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: Application
    Filed: November 11, 2019
    Publication date: March 5, 2020
    Inventors: Gordon Hutchison, Adam Pilkington, Graham C. Charters, Tim Mitchell