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: 10348660
    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 4, 2018
    Date of Patent: July 9, 2019
    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: 10338745
    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: November 21, 2017
    Date of Patent: July 2, 2019
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Publication number: 20190196656
    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: Application
    Filed: March 6, 2019
    Publication date: June 27, 2019
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Patent number: 10318141
    Abstract: A computer-implemented method includes a display. The display is for displaying a document, including a plurality of document parts. The method includes an image capture device. The method categorizes each of the plurality of document parts based on a content of each of the plurality of document parts. The method captures images of a user using the image capture device. The method determines a plurality of reading speeds for each of the plurality of document parts. The plurality of reading speeds based on the images of the user for each of the plurality of document parts. The scrolling speed for each of the plurality of document parts is based on the plurality of reading speeds and the content for each of the plurality of document parts. The method scrolls the document via the display based on the plurality of scrolling speeds for each of the plurality of document parts.
    Type: Grant
    Filed: November 6, 2015
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10320733
    Abstract: Aspects of the present invention disclose a method, computer program product, and system for prioritization of lock allocation. The method includes one or more computer processors receiving a first message in a queue of messages. The method further includes one or more computer processors determining whether the received first message is related to one or more messages in the queue. The method further includes one or more computer processors responsive to determining that the first message is related to one or more messages in the queue, assigning a priority value to the first message. The method further includes one or more computer processors assigning a priority order to the first message, wherein the priority order indicates a position in which the first message is granted access to a resource lock.
    Type: Grant
    Filed: March 27, 2018
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20190166028
    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: January 16, 2019
    Publication date: May 30, 2019
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10289295
    Abstract: A computer-implemented method includes a display. The display is for displaying a document, including a plurality of document parts. The method includes an image capture device. The method categorizes each of the plurality of document parts based on a content of each of the plurality of document parts. The method captures images of a user using the image capture device. The method determines a plurality of reading speeds for each of the plurality of document parts. The plurality of reading speeds based on the images of the user for each of the plurality of document parts. The scrolling speed for each of the plurality of document parts is based on the plurality of reading speeds and the content for each of the plurality of document parts. The method scrolls the document via the display based on the plurality of scrolling speeds for each of the plurality of document parts.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: May 14, 2019
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10277489
    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: September 20, 2018
    Date of Patent: April 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10254957
    Abstract: A method is provided for deforming one or more touch screen activation targets associated with respective representations of items displayed on a display of a touch screen device. The method includes: displaying one or more representations corresponding to each of the one or more items displayed on a display of a touch screen device; providing, for each displayed representation, an activation target defining boundaries within which a touch input is processed as corresponding to selection of the corresponding item; receiving information indicating the orientation or movement of the touch screen device; and responsive to the received orientation or movement information, deforming the activation target of the item with respect to the representation of the item. The items may be a plurality of keys forming a virtual keyboard; and each of the representations may be one of the plurality of keys on the display of the touch screen device.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10250533
    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: August 31, 2017
    Date of Patent: April 2, 2019
    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: 10235224
    Abstract: The present disclosure relates to techniques for processing messages at an enterprise service bus in a distributed computing system. An example method generally includes receiving, at an enterprise service bus, a first message. The enterprise service bus uses a preprocessing agent to identify a message fragment, compute a hash value of the message fragment, and using the hash value as a key, to receive an existing parse tree from a cache. A parsing agent generates a message parse tree representing the first message, where the message parse tree incorporates the existing parse tree to represent the message fragment portion of the first message. A transforming agent generates a second message from the message parse tree where the second message has different format from the first message, the transforming agent transmits the second message to a receiving system.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: March 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20190075086
    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: Application
    Filed: November 5, 2018
    Publication date: March 7, 2019
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20190068480
    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: October 25, 2018
    Publication date: February 28, 2019
    Inventors: Graham David Hopkins, Timothy Jonathan Quigly, Luke David Charles Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20190020560
    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: September 20, 2018
    Publication date: January 17, 2019
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10171431
    Abstract: A method and system for secure message handling of an application across deployment locations. The application is divided into multiple processing nodes which process messages and can be deployed in multiple different locations. The application is analyzed to identify processing nodes referencing given data aspects having deployment constraints. It is ascertained whether one or more data aspects of the given data aspects are accessed by an identified processing node. If so, a restriction is determined for the identified processing node based on the deployment constraints of the accessed one or more data aspects and the identified processing node of the application 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: September 21, 2016
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 10171572
    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: Grant
    Filed: January 20, 2016
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Daniel J. McGinnes, Samuel T. Massey, Martin A. Ross, Richard Graham Schofield, Craig H. Stirling
  • Patent number: 10164854
    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: November 20, 2015
    Date of Patent: December 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20180337689
    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: Application
    Filed: July 13, 2018
    Publication date: November 22, 2018
    Inventors: Fiona M. CROWTHER, Geza GELEJI, Christopher J. POOLE, Martin A. ROSS, Craig H. STIRLING
  • Patent number: 10129130
    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: March 21, 2016
    Date of Patent: November 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Graham David Hopkins, Timothy Jonathan Quigly, Luke David Charles Saker, Craig H. Stirling, Matthew B. White
  • Patent number: 10102036
    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: Grant
    Filed: February 5, 2016
    Date of Patent: October 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling