Patents by Inventor Craig H. Stirling

Craig H. Stirling 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: 11190459
    Abstract: A method, system, and computer program product that includes a processor assigning a network connection to an application, based upon the application requesting the network connection from a pool of network connections for connecting applications to a network resource, the assigned network connection for communicating a message with the network resource. The processor replaces the assigned network connection in the pool with a placeholder comprising configuration data of the assigned connection. The processor determined a period of inactivity of the assigned network connection, and the processor returns the assigned network connection to the pool, based upon the period reaching a defined threshold of inactivity.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: November 30, 2021
    Assignee: International Business Machines Corporation
    Inventors: Adrian D. Dick, Brian C. Homewood, Christopher Matthewson, Craig H. Stirling
  • Patent number: 11146285
    Abstract: Batch compression management of messages. A message being sent to a batch for transmission is intercepted. The message is assigned to a batch pool, in which multiple batch pools are provided as sub-sets of the batch. The assigning of the message to the batch pool is based on a similarity of properties of the message with other messages and determined by looking up the properties in a batch pool mapping database. The message is added to the batch pool or a new batch pool is created for the message. A batch pool of messages is compressed using a dictionary of the properties common to at least some of the messages in the batch pool. The compressed batch pools are transmitted over an input/output channel.
    Type: Grant
    Filed: July 13, 2018
    Date of Patent: October 12, 2021
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 11032360
    Abstract: An integration flow is monitored to determine a processing location of a message. The integration flow includes a route, one or more nodes, and one or more secure connectors. A first message is received by the integration flow. A central processing unit serialization load is received including a serialization of the first message on a first secure connector and a deserialization of the first message on a second secure connector. A processing load of the first message running on a first node of the one or more nodes is received. A first threshold of a processing load of the first message is received. The first threshold is determined to have been reached. Based on the first threshold being reached, a processing location of the integration flow is altered such that the first message is processed on a second node of the one or more nodes.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: June 8, 2021
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10929554
    Abstract: A method and system for handling sensitive data required by an application in a secure computer system. The secure computer system transforms sensitive data in a request message from a data format required by the application into a data format required by a service in an external computer system. The secure computer system tokenizes the sensitive data by replacing the sensitive data with tokenized data and stores a mapping between the sensitive data and the tokenized data in the secure computer system. The secure computer system sends the request message to an external computer system and receives, from the external computer system, a response message that includes annotations for the tokenized data with transform instructions for transforming the transformed sensitive data from the data format required by the service into the data format required by the application. The secure computer system replaces the tokenized data with the sensitive data.
    Type: Grant
    Filed: June 13, 2019
    Date of Patent: February 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10922428
    Abstract: A method and system for handling sensitive data required by an application in a secure computer system. An external computer system that is external to the secure computer system receives a transformed request message that includes one or more data aspects having tokenized data that has replaced transformed sensitive data after sensitive data in the one or more aspects had been transformed from a data format required by a service in the external computer system into a data format required by the application. The external computer system generates a response message from the transformed request message by including, in the response message, annotations with transform instructions for transforming the transformed sensitive data, from the data format required by the service into the data format required by the application, after the tokenized data has been replaced by the transformed sensitive data in the one or more data aspects.
    Type: Grant
    Filed: June 13, 2019
    Date of Patent: February 16, 2021
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10834059
    Abstract: A method and system for secure message handling of an application across deployment locations. The application is analyzed to identify processing nodes referencing one or more data aspects having deployment constraints on locations in which aspect data in the one or more data aspects may be deployed. It is ascertained whether the one or more data aspects are accessed by an identified processing node of the application. If so, a restriction is determined for the identified processing node based on deployment constraints included in the accessed one or more data aspects and the identified processing node is deployed according to the determined restriction for the identified processing node. If not, the identified processing node or a preceding processing node is marked to indicate a required tokenization of the one or more data aspects, wherein the tokenization removes the deployment constraints for the identified processing node.
    Type: Grant
    Filed: November 5, 2018
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10740538
    Abstract: A computer-implemented method includes receiving a content artifact. The content artifact includes information content and functional content. Extracting the functional content includes creating a functional content artifact. The computer-implemented method further includes extracting the functional content into a functional content artifact based on one or more decision criteria. The computer-implemented method further includes presenting the functional content artifact to a functional content artifact application. Optionally, the computer-implemented method further includes transferring the functional content artifact to an operational environment. Optionally, the computer-implemented method further includes modifying the functional content artifact into a modified functional content artifact. Optionally, the computer-implemented method further includes making available the modified functional content artifact available to an operational environment.
    Type: Grant
    Filed: January 25, 2017
    Date of Patent: August 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michelle S. Matthew, John J. P. McNamara, Craig H. Stirling, Ian T. Stirling
  • Patent number: 10735299
    Abstract: Managing connections for execution of a client software application. A client software application is analyzed before execution of the application using code analysis and, optionally non-functional metadata analysis, of the application to determine one or more classifications of operations of the application. A mapping of application operation classifications to server characteristics suited to the application operation classifications is maintained. Multiple servers currently available to process at least a portion of the client software application may be monitored, and each of the multiple servers may be characterized according to their performance and resources. The classifications of operations of the analyzed application may be compared to the characteristics of the multiple servers currently available using the mapping, and a server may be selected based on the comparison.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: August 4, 2020
    Assignee: International Business Machines Corporation
    Inventors: Graham David Hopkins, Timothy Jonathan Quigly, Luke David Charles Saker, Craig H. Stirling, Matthew B. White
  • Patent number: 10735362
    Abstract: Publish/subscribe messaging using a message structure carried out at a messaging intermediary system is provided. A plurality of lists to which publishing entities can publish messages and to which subscribing entities can subscribe to messages is maintained. A list for messages conforming, at least partly, to a common message structure is provided. A request from a publishing entity or a subscribing entity is matched to one or more provided lists by comparing a message having a message structure or an abstract representation of one or more messages to the provided lists. Messages conforming, at least partly, to the common message structure via the list are shared.
    Type: Grant
    Filed: November 16, 2015
    Date of Patent: August 4, 2020
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10659407
    Abstract: A messaging system comprises a plurality of connected components and including a schema defining fields for messages, at least one field defined as non-essential. A mechanism for operating the messaging system comprises the steps of collecting one or more performance metrics for one or more components of the messaging system, determining that at least one performance metric has crossed a predetermined threshold, informing one or more components of the messaging system that a surge in workload has occurred, and the informed components removing non-essential fields from transmitted messages and/or not processing non-essential fields from received messages.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: May 19, 2020
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 10630614
    Abstract: A computer-implemented method of parsing a message comprising a sequence of data fields, the method comprising evaluating program code for processing the parsed message to identify a first set of data fields of the message that are referenced in said program code; identifying the boundaries of the data fields in a schema defining the format of said message; identifying a second set of data fields in said schema related to the first set of data fields by reference, said second set further including the first set; and sequentially parsing the message using the identified data field boundaries, wherein said parsing step comprises skipping data fields in said sequence that precede the first data field belonging to the second set. A computer program product comprising program code for implementing this method and a data processing system adapted to implement this method are also disclosed.
    Type: Grant
    Filed: November 1, 2017
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 10620751
    Abstract: Method and system are provided for management of a touchscreen interface of a device. The method includes monitoring touchscreen interface function by logging data relating to user interaction with locations of the touchscreen interface. The logged data is then analyzed to identify one or more areas of the touchscreen interface which are inactive. The remaining active areas of the touchscreen interface are modeled to form a modified touchscreen interface. An original touchscreen interface is then mapped to the modified touchscreen interface resulting in only use of the remaining active areas.
    Type: Grant
    Filed: March 6, 2019
    Date of Patent: April 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Patent number: 10608915
    Abstract: Providing dynamic latency in an integration flow. An integration flow connecting multiple integration nodes and including at least one repeat node is managed, wherein a repeat node repeats by sending a message, a variation of a message, or an element of a message to multiple paths or to a single path multiple times. A repeat node is registered with a workload manager component for monitoring. Data relating to the effect on performance by the integration flow including the monitored repeat node is collected. Required latencies or variations of latencies between firing of repeats of the repeat node based on the collected data are determined. The latencies or variations of latencies between firing of the repeats of the repeat node are instructed to influence dynamically a flow of elements through the repeat node.
    Type: Grant
    Filed: January 16, 2019
    Date of Patent: March 31, 2020
    Assignee: International Business Machine Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10601871
    Abstract: Method and system are provided for reconfiguration of security requirements for deployed components of applications. The method includes referencing a deployed application wherein the application is divided into processing components, which can be deployed in different locations. The method adds one or more application resources for the deployed application to a central repository with references to the processing components of the deployed application utilizing the resources. The method further involves: receiving an update to an application resource to modify a security requirement for the resource; checking the deployment locations of the processing components of deployed applications referenced to the updated application resource to ensure the processing components conform to the modified security requirement; and taking an action for each referenced processing component of the deployed application that does not conform to the modified security requirement.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: March 24, 2020
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20190356734
    Abstract: An integration flow is monitored to determine a processing location of a message. The integration flow includes a route, one or more nodes, and one or more secure connectors. A first message is received by the integration flow. A central processing unit serialization load is received including a serialization of the first message on a first secure connector and a deserialization of the first message on a second secure connector. A processing load of the first message running on a first node of the one or more nodes is received. A first threshold of a processing load of the first message is received. The first threshold is determined to have been reached. Based on the first threshold being reached, a processing location of the integration flow is altered such that the first message is processed on a second node of the one or more nodes.
    Type: Application
    Filed: July 30, 2019
    Publication date: November 21, 2019
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20190349312
    Abstract: A method, system, and computer program product that includes a processor assigning a network connection to an application, based upon the application requesting the network connection from a pool of network connections for connecting applications to a network resource, the assigned network connection for communicating a message with the network resource. The processor replaces the assigned network connection in the pool with a placeholder comprising configuration data of the assigned connection. The processor determined a period of inactivity of the assigned network connection, and the processor returns the assigned network connection to the pool, based upon the period reaching a defined threshold of inactivity.
    Type: Application
    Filed: July 10, 2019
    Publication date: November 14, 2019
    Inventors: Adrian D. Dick, Brian C. Homewood, Christopher Matthewson, Craig H. Stirling
  • Patent number: 10452428
    Abstract: Method and system are provided for software application execution including switching between optimized code for use profiles. The method includes: accessing an application having multiple executables for the same function for multiple use profiles. The method includes: executing code for a first use profile; receiving a prompt to change to a second use profile; suspending the execution of the code for the first use profile; retrieving switching code from a pre-computed data structure, wherein the switching code is for carrying out operations to transfer from executing code for a first use profile to executing code for a second use profile; performing the operations of the switching code; and resuming executing the application by executing code for the second use profile.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: October 22, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10432707
    Abstract: An integration flow is monitored to determine a processing location of a message. The integration flow includes a route, one or more nodes, and one or more secure connectors. A first message is received by the integration flow. A central processing unit serialization load is received including a serialization of the first message on a first secure connector and a deserialization of the first message on a second secure connector. A processing load of the first message running on a first node of the one or more nodes is received. A first threshold of a processing load of the first message is received. The first threshold is determined to have been reached. Based on the first threshold being reached, a processing location of the integration flow is altered such that the first message is processed on a second node of the one or more nodes.
    Type: Grant
    Filed: March 2, 2016
    Date of Patent: October 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20190294813
    Abstract: A method and system for handling sensitive data required by an application in a secure computer system. An external computer system that is external to the secure computer system receives a transformed request message that includes one or more data aspects having tokenized data that has replaced transformed sensitive data after sensitive data in the one or more aspects had been transformed from a data format required by a service in the external computer system into a data format required by the application. The external computer system generates a response message from the transformed request message by including, in the response message, annotations with transform instructions for transforming the transformed sensitive data, from the data format required by the service into the data format required by the application, after the tokenized data has been replaced by the transformed sensitive data in the one or more data aspects.
    Type: Application
    Filed: June 13, 2019
    Publication date: September 26, 2019
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20190294812
    Abstract: A method and system for handling sensitive data required by an application in a secure computer system. The secure computer system transforms sensitive data in a request message from a data format required by the application into a data format required by a service in an external computer system. The secure computer system tokenizes the sensitive data by replacing the sensitive data with tokenized data and stores a mapping between the sensitive data and the tokenized data in the secure computer system. The secure computer system sends the request message to an external computer system and receives, from the external computer system, a response message that includes annotations for the tokenized data with transform instructions for transforming the transformed sensitive data from the data format required by the service into the data format required by the application. The secure computer system replaces the tokenized data with the sensitive data.
    Type: Application
    Filed: June 13, 2019
    Publication date: September 26, 2019
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey