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).

  • 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
  • Patent number: 10084740
    Abstract: Methods and systems are provided for processing messages for retrieval from a message queuing system. The method may be carried out at a message sending component, and may include: receiving requests from multiple clients, where a request includes at least one required record; forming a union of requests, such that a common record of multiple requests is handled once; providing the common record with an associated reference count of requests requiring the record, and associated metadata listing the client requests in the record; sending a record response to a queuing system when processed including the reference count and the metadata listing the client requests; determining when all records in a request have been sent; and notifying a client that the request can be retrieved from the message queuing system, including a response list indicating to the client the identifier of the requested records retained at the message queuing system.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: September 25, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 10056918
    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: August 11, 2015
    Date of Patent: August 21, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20180227252
    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: April 4, 2018
    Publication date: August 9, 2018
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 10044651
    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: February 8, 2017
    Date of Patent: August 7, 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: 20180219826
    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: Application
    Filed: March 27, 2018
    Publication date: August 2, 2018
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20180203748
    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: Application
    Filed: January 18, 2017
    Publication date: July 19, 2018
    Inventors: Fiona M. CROWTHER, Geza GELEJI, Christopher J. POOLE, Martin A. ROSS, Craig H. STIRLING
  • Publication number: 20180204130
    Abstract: This invention relates to a message choice model trainer, method and computer program product for training a choice model for use by a parser when parsing message model choices, said method comprising: determining a selected choice element for a message model and message during parsing; determining that a message has the same set of message properties as a saved set of message properties, said saved set of message properties having an associated choice probability for at least one of the choice elements; and updating the choice probability associated with the saved set of message properties based on the determined choice element.
    Type: Application
    Filed: January 13, 2017
    Publication date: July 19, 2018
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20180205759
    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: Application
    Filed: January 18, 2017
    Publication date: July 19, 2018
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 9961034
    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: June 1, 2015
    Date of Patent: May 1, 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: 9940163
    Abstract: A queue of transactions is managed. A sort order for the queue of transaction is determined. A first batch of transactions is sorted according to the determined sort order and a further batch of transactions is also sorted according to the determined sort order. A notifying is performed that the first batch of transactions is ready for processing and that the further batch of transactions is ready for processing. The sorting and notifying for further batches of the transactions continues until all the transactions in the queue have been sorted and notified as ready for processing.
    Type: Grant
    Filed: September 8, 2015
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 9942203
    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: March 30, 2015
    Date of Patent: April 10, 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: 9942353
    Abstract: In one embodiment, a method for managing execution of software operations is provided. The method includes a computer processor determining that a software program executing on a computing device utilizes a server to execute at least one software operation. The method further includes identifying a first server from a plurality of servers that are capable of executing the at least one software operation of the software program based, at least in part, on a responsiveness associated with the first server and responsiveness associated with the plurality of servers. The method further includes executing the at least one software operation of the software program on the identified first server. The method further includes updating the responsiveness of the first server based, at least in part, on one or more responsiveness values attributed to the execution of the at least one software operation of the software program on the first server.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20180095603
    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: Application
    Filed: November 21, 2017
    Publication date: April 5, 2018
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Patent number: 9928089
    Abstract: A method of optimizing software source code, where the source code is for execution as compiled bytecode using a just-in-time compiler. The source code is compiled to generate corresponding compiled bytecode. The bytecode is then executed using a just-in-time compiler. Run-time optimization actions performed by the just-in-time compiler during execution of the bytecode are determined, and analyzed to determine corresponding optimization data for the source code.
    Type: Grant
    Filed: June 10, 2015
    Date of Patent: March 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20180082072
    Abstract: Methods and associated data processing system for handling sensitive data required by an application in a secure computer system. The secure computer identifies sensitive data in one or more data aspects of a request message. The secure computer system tokenizes the sensitive data in the one or more data aspects 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. After the request message is sent to the external computer system, the secure computer system receives a response message from the external computer system. The response message includes annotations for the tokenized data with transform instructions for the tokenized data. The secure computer system replaces the tokenized data with the sensitive data and performs the transform instructions on the sensitive data.
    Type: Application
    Filed: September 21, 2016
    Publication date: March 22, 2018
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20180083924
    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: Application
    Filed: September 21, 2016
    Publication date: March 22, 2018
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 9921893
    Abstract: Disclosed is a method for selecting one of a plurality of versions of a software component of a message queuing software product to perform a task. One or more rules describing one or more characteristics of the plurality of versions of the software component is provided. Responsive to a determination that the rule applies to the task to be performed: a list of the plurality of versions of the message queuing software product is obtained, it is checked whether the software component of the one of the plurality of versions of the message queuing software product is available for use; and the most preferred version of the message queuing software component available is used to perform the task. Responsive to a determination that none of the rules apply to the task to be performed, the task is performed with the most preferred version of the message queuing software component.
    Type: Grant
    Filed: July 24, 2013
    Date of Patent: March 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Elizabeth J. Maple, Richard W. Pilot, Martin A. Ross, Craig H. Stirling, Ian T. Stirling