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: 9910540
    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 interface. An original touchscreen interface is then mapped to the modified interface resulting in only use of the remaining active areas.
    Type: Grant
    Filed: April 13, 2015
    Date of Patent: March 6, 2018
    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: 9910710
    Abstract: Event processing is prioritized based on system workload. A time constraint attribute is defined in an event rule. The event rule uses one or more events. An event processing system is monitored to determine when the system is under a predefined level of stress. If the system is determined to be under the predefined level of stress, the time constraint attribute in the event rule is used to establish when the processing of a received event used in an event rule must be carried out.
    Type: Grant
    Filed: June 16, 2016
    Date of Patent: March 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20180054403
    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: Application
    Filed: November 1, 2017
    Publication date: February 22, 2018
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 9887968
    Abstract: According to one exemplary embodiment, a method for increasing security when sending a plurality of messages over a network connection is provided. The method may include determining if the plurality of messages on a staging queue satisfies a batch threshold value. The method may also include determining a security key with a message destination based on determining that the plurality of messages on the staging queue satisfies the batch threshold value. The method may then include encrypting the plurality of messages based on the determined security key. The method may further include sending the encrypted plurality of messages to the message destination over the network connection.
    Type: Grant
    Filed: October 26, 2015
    Date of Patent: February 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Patent number: 9882844
    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: October 11, 2014
    Date of Patent: January 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20180006980
    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: Application
    Filed: August 31, 2017
    Publication date: January 4, 2018
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 9843550
    Abstract: A data messaging system includes a plurality of processing nodes. Each message processed by the data messaging system has associated with it a priority level. A first message is received for processing at a processing node of the plurality of processing nodes. It is determined if the processing node has an associated message staging area, and if a second message received by the data messaging system has a higher priority value than the first message. Based on a determination that the second message has a higher priority value than the first message, the processing of the first message by the processing node is delayed, and the second message is processed using the processing node instead.
    Type: Grant
    Filed: November 29, 2015
    Date of Patent: December 12, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20170272349
    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: Application
    Filed: March 21, 2016
    Publication date: September 21, 2017
    Inventors: Graham David Hopkins, Timothy Jonathan Quigly, Luke David Charles Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20170262309
    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: Application
    Filed: March 14, 2016
    Publication date: September 14, 2017
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20170257429
    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: March 2, 2016
    Publication date: September 7, 2017
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20170228256
    Abstract: Allocating threads to processors based, at least in part, on identifiers for thread sets and applications. A thread is paired with an application and, using the identifier for the application, an ID pairing is allocated to a processor.
    Type: Application
    Filed: February 5, 2016
    Publication date: August 10, 2017
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20170208121
    Abstract: Managing a system comprising a pool of servers including a number of active servers. Utilization of the system capacity is monitored, in which the utilization results from a workload of the number of active servers. Upon detecting a critical utilization of the system capacity during the monitoring of the utilization of the system capacity, a duration of the detected critical utilization of the system capacity is predicted from a monitoring history of the utilization of the system capacity. Further, the number of active servers is increased, if the predicted duration exceeds a defined threshold. Tuning measures may also be deployed to handle surges in capacity utilization.
    Type: Application
    Filed: January 20, 2016
    Publication date: July 20, 2017
    Inventors: David Granshaw, Daniel J. McGinnes, Samuel T. Massey, Martin A. Ross, Richard Graham Schofield, Craig H. Stirling
  • Patent number: 9674069
    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: October 7, 2014
    Date of Patent: June 6, 2017
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20170155610
    Abstract: A data messaging system includes a plurality of processing nodes. Each message processed by the data messaging system has associated with it a priority level. A first message is received for processing at a processing node of the plurality of processing nodes. It is determined if the processing node has an associated message staging area, and if a second message received by the data messaging system has a higher priority value than the first message. Based on a determination that the second message has a higher priority value than the first message, the processing of the first message by the processing node is delayed, and the second message is processed using the processing node instead.
    Type: Application
    Filed: November 29, 2015
    Publication date: June 1, 2017
    Inventors: JOHN HOSIE, MARTIN A. ROSS, CRAIG H. STIRLING, DOMINIC J. STOREY
  • Publication number: 20170149705
    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: Application
    Filed: February 8, 2017
    Publication date: May 25, 2017
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20170149641
    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: Application
    Filed: November 20, 2015
    Publication date: May 25, 2017
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20170132184
    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: Application
    Filed: January 25, 2017
    Publication date: May 11, 2017
    Inventors: Michelle S. Matthew, John J.P. McNamara, Craig H. Stirling, Ian T. Stirling
  • Patent number: 9600567
    Abstract: A method, system, and/or computer program product handles a query generated by a user of one of multiple local network devices that are coupled to a network. Multiple system queries request states of the local network devices. Query statements, responsive to the system queries and being sent to a wide area network search engine, are intercepted. A natural language query, which is a logical query that is answered by one of the multiple query statements, is generated from one of the multiple query statements. An unstructured query, from a user, about a state of a particular device is received. The unstructured query from the user is compared with the natural language query in order to determine if a match between the query from the user with the natural language query exceeds a predetermined threshold value.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Elizabeth J. Maple, Richard W. Pilot, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Patent number: 9596128
    Abstract: Processing events for use with a complex event processing system that includes a server computer system and a client application executable on a client computer system. The processing includes analyzing content of the events and assigning a plurality of attributes to associated event processing logic. A first attribute is associated with event processing logic that is operable to be applied at the client computer system and a second attribute is associated with event processing logic that is operable to be applied at a server computer system. The processing also includes using, in response to receiving a first event, assigned attributes to determine whether event processing logic associated with the first event is operable to be applied at the client computer system. The first event is forwarded to the server computer system based on determining that the event processing logic associated with the first event is not operable to be applied at the client computer system.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: March 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling
  • Patent number: 9594554
    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: July 30, 2015
    Date of Patent: March 14, 2017
    Assignee: International Buisness Machines Corporation
    Inventors: Michelle S. Matthew, John J. P. McNamara, Craig H. Stirling, Ian T. Stirling