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: 20170068566
    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: Application
    Filed: September 8, 2015
    Publication date: March 9, 2017
    Inventors: John Hosie, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Publication number: 20170031679
    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: July 30, 2015
    Publication date: February 2, 2017
    Inventors: Michelle S. Matthew, John J.P. McNamara, Craig H. Stirling, Ian T. Stirling
  • Patent number: 9524747
    Abstract: Embodiments relate to controlling persisting of data to disk for use with a messaging system including an application operable for generating and sending a message to a destination. An aspect is an apparatus, which includes a comparator operable to determine whether the message includes common data, and an extractor, responsive to a determination that the message includes common data, configured to extract the common data and non-common data from the message. The apparatus also includes a persistor operable to determine whether the common data have already been persisted to disk. The persistor is operable, in response to a determination that the common data have not already been persisted to disk, to separately persist the common data and the non-common data to disk. The persistor is operable, in response to a determination that the common data have already been persisted to disk, to persist the non-common data to disk.
    Type: Grant
    Filed: July 10, 2013
    Date of Patent: December 20, 2016
    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: 20160360006
    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: Application
    Filed: June 2, 2015
    Publication date: December 8, 2016
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D.C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20160352663
    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: June 1, 2015
    Publication date: December 1, 2016
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Patent number: 9477576
    Abstract: A computer captures a thread state data of a first program. The computer generates a second program by applying a first program patch to the first program. The computer inserts additional code into a source code of the second program. The computer executes a first performance test using the second program and the inserted additional code. The computer monitors a first status of the second program and the inserted additional code that are under the first performance test. The computer determines a degree that a first deadlock state was prevented during the first performance test. The computer generates a first message based, at least in part, on the determined degree that the first deadlock state was prevented during the first performance test.
    Type: Grant
    Filed: April 11, 2013
    Date of Patent: October 25, 2016
    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: 20160299616
    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: April 13, 2015
    Publication date: October 13, 2016
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Publication number: 20160299788
    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: Application
    Filed: June 16, 2016
    Publication date: October 13, 2016
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Publication number: 20160294784
    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: Application
    Filed: October 26, 2015
    Publication date: October 6, 2016
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20160294782
    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: Application
    Filed: March 30, 2015
    Publication date: October 6, 2016
    Inventors: Graham D. Hopkins, Timothy J. Quigly, Luke D. C. Saker, Craig H. Stirling, Matthew B. White
  • Publication number: 20160246877
    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: Application
    Filed: May 4, 2016
    Publication date: August 25, 2016
    Inventors: ELIZABETH J. MAPLE, RICHARD W. PILOT, MARTIN A. ROSS, CRAIG H. STIRLING, IAN T. STIRLING
  • Patent number: 9424546
    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 5, 2014
    Date of Patent: August 23, 2016
    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: 9398087
    Abstract: Methods and systems are provided for secure deployment of an application across deployment locations. Aspects include providing an application for analysis wherein the application is capable of being divided into processing nodes which can be deployed in different locations. The application processes messages based on message models having annotations defining constraints on the deployment of data in given data aspects. The data aspects include the entire message or data fields, data elements or data structures of the message. Aspects also includes analyzing the application to identify processing nodes that reference the given data aspects having deployment constraints and determining a restriction for a processing node based on the deployment constraints of the referenced data aspects. Aspects further include deploying each processing node of the application according to the determined restriction.
    Type: Grant
    Filed: November 29, 2015
    Date of Patent: July 19, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Hosie, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling, Dominic J. Storey
  • Patent number: 9386087
    Abstract: A system for workflow placement in a computer system wherein the performance of a system processing a workflow is monitored against one or more performance measures. One or more logic elements from the workflow are delegated for subsequent processing to other systems in the computer system in response to one or more of the one or more performance measures being within a predetermined range.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: July 5, 2016
    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: 20160179321
    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: Application
    Filed: November 6, 2015
    Publication date: June 23, 2016
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20160179320
    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: Application
    Filed: October 7, 2015
    Publication date: June 23, 2016
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Publication number: 20160182401
    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: December 18, 2015
    Publication date: June 23, 2016
    Inventors: Adrian D. DICK, Brian C. HOMEWOOD, Christopher MATTHEWSON, Craig H. STIRLING
  • Patent number: 9367620
    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 are autonomously issued, by a computer that is coupled to the network, requesting 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: October 9, 2013
    Date of Patent: June 14, 2016
    Assignee: International Business Machines Corporation
    Inventors: Elizabeth J. Maple, Richard W. Pilot, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Publication number: 20160149846
    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: Application
    Filed: November 16, 2015
    Publication date: May 26, 2016
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 9325808
    Abstract: An exemplary embodiment of this disclosure is a method for operating a data processing system, where the data processing system includes a service bus connected between a client and a server. The service bus includes one or more applications configured to mediate message flow between the client and the server. The method includes receiving a message from the client at the service bus, and mediating the message at a message-mediating application of the service bus. The mediation includes adding a header to the message, the header defining a source and a predetermined condition under which a target can respond directly to the source. The source is either the client or an application of the service bus, and the target is either an application of the service bus or the server.
    Type: Grant
    Filed: April 25, 2013
    Date of Patent: April 26, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Craig H. Stirling