Patents by Inventor David Granshaw
David Granshaw 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: 9736103Abstract: Embodiments of the present invention provide a method, system and computer program product for dynamic, granular messaging persistence in a messaging system. In an embodiment of the invention, a method for dynamic, granular messaging persistence in a messaging system is provided. The method includes monitoring operational performance of a message broker and receiving a message for queuing in a message queue of the message broker. The method also includes parsing the message to extract different fields and corresponding priorities and selectively storing in fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities and the monitored operational performance. Finally, the method includes queuing the message in the message queue.Type: GrantFiled: January 8, 2016Date of Patent: August 15, 2017Assignee: International Business Machines CorporationInventors: David Granshaw, Sam T. Massey, Daniel McGinnes, Martin Ross, Richard Schofield, Craig Stirling
-
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: 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
-
Patent number: 9569285Abstract: A method and system for message handling wherein a structured message is transmitted as a reduced message with the structure removed. The method includes: monitoring messages to be transmitted, the step of monitoring comprising: for each message, identifying one or more elements within the message and identifying the format of content and/or structure encapsulated by those elements; determining the probability that a message will conform to a previously identified format; and using the determined probability to decide when to transmit a format template for the message, wherein the format template is for use by a destination to add the structure removed by a message source back into the message.Type: GrantFiled: February 14, 2011Date of Patent: February 14, 2017Assignee: International Business Machines CorporationInventors: William Bittles, David Granshaw, John B. Pickering
-
Patent number: 9524747Abstract: 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: GrantFiled: July 10, 2013Date of Patent: December 20, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9477576Abstract: 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: GrantFiled: April 11, 2013Date of Patent: October 25, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20160299788Abstract: 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: ApplicationFiled: June 16, 2016Publication date: October 13, 2016Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9424546Abstract: 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 5, 2014Date of Patent: August 23, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9386087Abstract: 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: GrantFiled: March 20, 2014Date of Patent: July 5, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20160127300Abstract: Embodiments of the present invention provide a method, system and computer program product for dynamic, granular messaging persistence in a messaging system. In an embodiment of the invention, a method for dynamic, granular messaging persistence in a messaging system is provided. The method includes monitoring operational performance of a message broker and receiving a message for queuing in a message queue of the message broker. The method also includes parsing the message to extract different fields and corresponding priorities and selectively storing in fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities and the monitored operational performance. Finally, the method includes queuing the message in the message queue.Type: ApplicationFiled: January 8, 2016Publication date: May 5, 2016Inventors: David Granshaw, Sam T. Massey, Daniel McGinnes, Martin Ross, Richard Schofield, Craig Stirling
-
Patent number: 9264310Abstract: A method for event processing within a complex event processing environment. The method includes monitoring a plurality of event processing paths of the complex event processing environment. The method includes determining that utilization of server resources in the complex event processing environment has exceeded a threshold value and identifying one or more event processing paths responsible for the high utilization of server resources. The method includes determining that the one or more event processing paths contain an independent rule, wherein an independent rule includes a rule or a rule subset where data for processing of the rule or rule subset is accessible by a client computing device. The method then includes determining the client computing device can perform processing of the independent rule and transferring processing of the independent rule to the client computing device.Type: GrantFiled: April 12, 2013Date of Patent: February 16, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9258263Abstract: Embodiments of the present invention provide a method, system and computer program product for dynamic, granular messaging persistence in a messaging system. In an embodiment of the invention, a method for dynamic, granular messaging persistence in a messaging system is provided. The method includes monitoring operational performance of a message broker and receiving a message for queuing in a message queue of the message broker. The method also includes parsing the message to extract different fields and corresponding priorities and selectively storing in fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities and the monitored operational performance. Finally, the method includes queuing the message in the message queue.Type: GrantFiled: November 29, 2012Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Sam T. Massey, Daniel McGinnes, Martin Ross, Richard Schofield, Craig Stirling
-
Patent number: 9244813Abstract: Software is traced using Extensible Markup Language (XML) messages. A trace command, which includes one or more specified fields to be traced and a trace output file location, is defined. A determination is made as to whether the trace command is for a full trace or a differential trace, where the full trace traces all the one or more specified fields, and the differential trace traces specified fields only in response to the specified fields having a value that has changed during processing. The trace command is added to an XML input message for propagation through one or more products. Trace data is collected from the full trace or the differential trace for defined fields at each product, and then stored at the trace output file location.Type: GrantFiled: January 8, 2015Date of Patent: January 26, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20150212925Abstract: Software is traced using Extensible Markup Language (XML) messages. A trace command, which includes one or more specified fields to be traced and a trace output file location, is defined. A determination is made as to whether the trace command is for a full trace or a differential trace, where the full trace traces all the one or more specified fields, and the differential trace traces specified fields only in response to the specified fields having a value that has changed during processing. The trace command is added to an XML input message for propagation through one or more products. Trace data is collected from the full trace or the differential trace for defined fields at each product, and then stored at the trace output file location.Type: ApplicationFiled: January 8, 2015Publication date: July 30, 2015Inventors: DAVID GRANSHAW, SAMUEL T. MASSEY, DANIEL J. MCGINNES, MARTIN A. ROSS, RICHARD G. SCHOFIELD, CRAIG H. STIRLING
-
Publication number: 20150163122Abstract: 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: October 7, 2014Publication date: June 11, 2015Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20150161098Abstract: 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: October 11, 2014Publication date: June 11, 2015Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 8924932Abstract: A computer accesses a stack data and a source code of a program. The computer searches for a first change made to the program, wherein the first change is one of a change to a method of the program, a change to a class of the program, a change to a method that is invoked by the program, or a change to a class containing a method that is invoked by the program. The computer identifies the first change that was made to the program and determines the probability that the identified first change caused one or both of an error and a regression. The computer generates a ranked list of identified changes based, at least in part, on the probability that the identified first change caused one or both of an error and a regression.Type: GrantFiled: April 11, 2013Date of Patent: December 30, 2014Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Publication number: 20140366032Abstract: 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: ApplicationFiled: June 5, 2014Publication date: December 11, 2014Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling