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: 9910540Abstract: 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: GrantFiled: April 13, 2015Date of Patent: March 6, 2018Assignee: International Business Machines CorporationInventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
-
Patent number: 9910710Abstract: 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: GrantFiled: June 16, 2016Date of Patent: March 6, 2018Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20180054403Abstract: 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: ApplicationFiled: November 1, 2017Publication date: February 22, 2018Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9887968Abstract: 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: GrantFiled: October 26, 2015Date of Patent: February 6, 2018Assignee: International Business Machines CorporationInventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
-
Patent number: 9882844Abstract: 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: GrantFiled: October 11, 2014Date of Patent: January 30, 2018Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20180006980Abstract: 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: ApplicationFiled: August 31, 2017Publication date: January 4, 2018Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9843550Abstract: 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: GrantFiled: November 29, 2015Date of Patent: December 12, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
-
Publication number: 20170272349Abstract: 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: ApplicationFiled: March 21, 2016Publication date: September 21, 2017Inventors: Graham David Hopkins, Timothy Jonathan Quigly, Luke David Charles Saker, Craig H. Stirling, Matthew B. White
-
Publication number: 20170262309Abstract: 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: ApplicationFiled: March 14, 2016Publication date: September 14, 2017Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
-
Publication number: 20170257429Abstract: 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: ApplicationFiled: March 2, 2016Publication date: September 7, 2017Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
-
Publication number: 20170228256Abstract: 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: ApplicationFiled: February 5, 2016Publication date: August 10, 2017Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20170208121Abstract: 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: ApplicationFiled: January 20, 2016Publication date: July 20, 2017Inventors: David Granshaw, Daniel J. McGinnes, Samuel T. Massey, Martin A. Ross, Richard Graham Schofield, Craig H. Stirling
-
Patent number: 9674069Abstract: 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: GrantFiled: October 7, 2014Date of Patent: June 6, 2017Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20170155610Abstract: 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: ApplicationFiled: November 29, 2015Publication date: June 1, 2017Inventors: JOHN HOSIE, MARTIN A. ROSS, CRAIG H. STIRLING, DOMINIC J. STOREY
-
Publication number: 20170149705Abstract: 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: ApplicationFiled: February 8, 2017Publication date: May 25, 2017Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20170149641Abstract: 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: ApplicationFiled: November 20, 2015Publication date: May 25, 2017Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
-
Publication number: 20170132184Abstract: 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: ApplicationFiled: January 25, 2017Publication date: May 11, 2017Inventors: Michelle S. Matthew, John J.P. McNamara, Craig H. Stirling, Ian T. Stirling
-
Patent number: 9600567Abstract: 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: GrantFiled: May 4, 2016Date of Patent: March 21, 2017Assignee: International Business Machines CorporationInventors: Elizabeth J. Maple, Richard W. Pilot, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
-
Patent number: 9596128Abstract: 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: GrantFiled: June 4, 2013Date of Patent: March 14, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling
-
Patent number: 9594554Abstract: 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: GrantFiled: July 30, 2015Date of Patent: March 14, 2017Assignee: International Buisness Machines CorporationInventors: Michelle S. Matthew, John J. P. McNamara, Craig H. Stirling, Ian T. Stirling