Patents by Inventor Andrew J Schofield

Andrew J Schofield 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: 10608970
    Abstract: A messaging system having a cluster of receiving applications for handling received messages, and a cluster of messaging engines for receiving messages from one or more message sources and forwarding the received messages to one of the receiving applications is provided. Each messaging engine is operable to transmit load balancing information, the load balancing information comprising an indication of the current loading on the messaging engine. The receiving applications are instructed to establish a connection to receive messages from a particular messaging engine within the cluster based on the load balancing information. Accordingly, applications are able to receive messages in such a way that the messages do not build up unprocessed on a particular messaging engine for too long, and such that messages are routed to messaging engines where messages are being consumed, and so that the receiving applications receive messages from every messaging engine where messages are arriving.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: March 31, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Leo J. Davison, Ian C. Edwards, Jonathan Levell, Andrew J. Schofield
  • Patent number: 10013293
    Abstract: In a messaging and queuing system that supports a cluster of logically associated messaging servers for controlling queues of messages, messages are processed. In response to an application program command to a first messaging server, a queue is opened, the queue having multiple instances on further messaging servers of the cluster. Responding to first messaging server putting messages on the queue, messages are distributed among the multiple instances of the queue on their respective messaging servers so as to balance. For the first message of an affinity set, access information for the particular queue instance to which it is put is obtained and stored. The access information may be used in order to send the further message to the particular queue instance and, if said further message is not part of the affinity set, it is put to an instance of the queue as determined by said predetermined rules.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Andrew J. Schofield, Philip G. Willoughby
  • Publication number: 20170289084
    Abstract: A messaging system having a cluster of receiving applications for handling received messages, and a cluster of messaging engines for receiving messages from one or more message sources and forwarding the received messages to one of the receiving applications is provided. Each messaging engine is operable to transmit load balancing information, the load balancing information comprising an indication of the current loading on the messaging engine. The receiving applications are instructed to establish a connection to receive messages from a particular messaging engine within the cluster based on the load balancing information. Accordingly, applications are able to receive messages in such a way that the messages do not build up unprocessed on a particular messaging engine for too long, and such that messages are routed to messaging engines where messages are being consumed, and so that the receiving applications receive messages from every messaging engine where messages are arriving.
    Type: Application
    Filed: April 1, 2016
    Publication date: October 5, 2017
    Inventors: LEO J. DAVISON, IAN C. EDWARDS, JONATHAN LEVELL, ANDREW J. SCHOFIELD
  • Patent number: 9519579
    Abstract: Technique for analyzing memory areas based on local copies of a global counter by: (i) determining a plurality of currently-executing fast threads and a plurality of currently executed slow threads; (ii) intermittently incrementing a global counter variable to have a current global counter value; (iii) intermittently setting the local counter of the data set for each fast thread of the plurality of fast threads to be equal to the current global counter value; (iv) determining that no slow threads of the plurality of slow threads reference the first memory region; (v) assigning a free-after value to the first memory region; (vi) determining whether the free-after value of the first memory region is less than or equal to all of the local counters of the fast thread data sets of the plurality of fast threads; and (vii) de-allocating the first memory region.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: December 13, 2016
    Assignee: International Business Machines Corporation
    Inventors: Ian C. Edwards, Jonathan Levell, Andrew J. Schofield
  • Patent number: 9513812
    Abstract: Technique for analyzing memory areas based on local copies of a global counter by: (i) determining a plurality of currently-executing fast threads and a plurality of currently executed slow threads; (ii) intermittently incrementing a global counter variable to have a current global counter value; (iii) intermittently setting the local counter of the data set for each fast thread of the plurality of fast threads to be equal to the current global counter value; (iv) determining that no slow threads of the plurality of slow threads reference the first memory region; (v) assigning a free-after value to the first memory region; (vi) determining whether the free-after value of the first memory region is less than or equal to all of the local counters of the fast thread data sets of the plurality of fast threads; and (vii) de-allocating the first memory region.
    Type: Grant
    Filed: November 12, 2015
    Date of Patent: December 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Ian C. Edwards, Jonathan Levell, Andrew J. Schofield
  • Publication number: 20160292072
    Abstract: Technique for analyzing memory areas based on local copies of a global counter by: (i) determining a plurality of currently-executing fast threads and a plurality of currently executed slow threads; (ii) intermittently incrementing a global counter variable to have a current global counter value; (iii) intermittently setting the local counter of the data set for each fast thread of the plurality of fast threads to be equal to the current global counter value; (iv) determining that no slow threads of the plurality of slow threads reference the first memory region; (v) assigning a free-after value to the first memory region; (vi) determining whether the free-after value of the first memory region is less than or equal to all of the local counters of the fast thread data sets of the plurality of fast threads; and (vii) de-allocating the first memory region.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Inventors: Ian C. Edwards, Jonathan Levell, Andrew J. Schofield
  • Publication number: 20160291880
    Abstract: Technique for analyzing memory areas based on local copies of a global counter by: (i) determining a plurality of currently-executing fast threads and a plurality of currently executed slow threads; (ii) intermittently incrementing a global counter variable to have a current global counter value; (iii) intermittently setting the local counter of the data set for each fast thread of the plurality of fast threads to be equal to the current global counter value; (iv) determining that no slow threads of the plurality of slow threads reference the first memory region; (v) assigning a free-after value to the first memory region; (vi) determining whether the free-after value of the first memory region is less than or equal to all of the local counters of the fast thread data sets of the plurality of fast threads; and (vii) de-allocating the first memory region.
    Type: Application
    Filed: November 12, 2015
    Publication date: October 6, 2016
    Inventors: Ian C. Edwards, Jonathan Levell, Andrew J. Schofield
  • Patent number: 9009730
    Abstract: Transactional capable queuing is provided. A queue having an ordered list of messages is provided. A get cursor operation is provided within the queue to point to a current starting place for a getting application to start searching for a message to retrieve. A first lock is provided for putting operations, in response to there being more than one putting application, to ensure only one application is putting to the queue at a time. A second lock is provided for getting operations, in response to there being more than one getting application, to ensure that only one application is getting from the queue at a time. Putting applications and getting applications are synchronized to check and update the get cursor operation.
    Type: Grant
    Filed: January 30, 2014
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ian C. Edwards, Jonathan Levell, Trevor Lobban, Andrew J. Schofield
  • Publication number: 20140289744
    Abstract: Transactional capable queuing is provided. A queue having an ordered list of messages is provided. A get cursor operation is provided within the queue to point to a current starting place for a getting application to start searching for a message to retrieve. A first lock is provided for putting operations, in response to there being more than one putting application, to ensure only one application is putting to the queue at a time. A second lock is provided for getting operations, in response to there being more than one getting application, to ensure that only one application is getting from the queue at a time. Putting applications and getting applications are synchronized to check and update the get cursor operation.
    Type: Application
    Filed: January 30, 2014
    Publication date: September 25, 2014
    Applicant: International Business Machines Corporation
    Inventors: Ian C. Edwards, Jonathan Levell, Trevor Lobban, Andrew J. Schofield
  • Patent number: 8577981
    Abstract: A system receives an identifier for a temporary destination in response to messaging software at a client requesting that a messaging server create the temporary destination. The messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software. The identifier is logged. A disconnection from the messaging server is detected. A second request for a temporary destination is created. The identifier is indicated in the second request. The second request indicating the identifier is transmitted to the messaging server to preserve a messaging service in a highly available environment.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: November 5, 2013
    Assignee: International Business Machines Corporation
    Inventor: Andrew J. Schofield
  • Publication number: 20120290639
    Abstract: In a messaging and queuing system that supports a cluster of logically associated messaging servers for controlling queues of messages, messages are processed. In response to an application program command to a first messaging server, a queue is opened, the queue having multiple instances on further messaging servers of the cluster. Responding to first messaging server putting messages on the queue, messages are distributed among the multiple instances of the queue on their respective messaging servers so as to balance. For the first message of an affinity set, access information for the particular queue instance to which it is put is obtained and stored. The access information may be used in order to send the further message to the particular queue instance and, if said further message is not part of the affinity set, it is put to an instance of the queue as determined by said predetermined rules.
    Type: Application
    Filed: April 23, 2012
    Publication date: November 15, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew J. Schofield, Philip G. Willoughby
  • Publication number: 20120254336
    Abstract: A system receives an identifier for a temporary destination in response to messaging software at a client requesting that a messaging server create the temporary destination. The messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software. The identifier is logged. A disconnection from the messaging server is detected. A second request for a temporary destination is created. The identifier is indicated in the second request. The second request indicating the identifier is transmitted to the messaging server to preserve a messaging service in a highly available environment.
    Type: Application
    Filed: June 18, 2012
    Publication date: October 4, 2012
    Applicant: International Business Machines Corporation
    Inventor: Andrew J. Schofield
  • Patent number: 8234345
    Abstract: A system receives an identifier for a temporary destination in response to messaging software at a client requesting that a messaging server create the temporary destination. The messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software. The identifier is logged. A disconnection from the messaging server is detected. A second request for a temporary destination is created. The identifier is indicated in the second request. The second request indicating the identifier is transmitted to the messaging server to preserve a messaging service in a highly available environment.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: July 31, 2012
    Assignee: International Business Machines Corporation
    Inventor: Andrew J. Schofield
  • Patent number: 8095766
    Abstract: A method and system for increasing a system's performance and achieving improved memory utilization by approximating the memory sizes that will be required for data objects that can be deserialized and constructed in a memory cache. The method and system may use accurate calculations or measurements of similar objects to calibrate the approximate memory sizes.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: January 10, 2012
    Assignee: International Business Machines Corporation
    Inventors: Tian Cheng Liu, Susan P Paice, Andrew J Schofield, Qi Ming Teng
  • Publication number: 20100325640
    Abstract: In a messaging and queuing system that supports a cluster of logically associated messaging servers for controlling queues of messages, messages are processed. In response to an application program command to a first messaging server, a queue is opened, the queue having multiple instances on further messaging servers of the cluster. Responding to first messaging server putting messages on the queue, messages are distributed among the multiple instances of the queue on their respective messaging servers so as to balance. For the first message of an affinity set, access information for the particular queue instance to which it is put is obtained and stored. The access information may be used in order to send the further message to the particular queue instance and, if said further message is not part of the affinity set, it is put to an instance of the queue as determined by said predetermined rules.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 23, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew J. Schofield, Philip G. Willoughby
  • Publication number: 20100268781
    Abstract: A system receives an identifier for a temporary destination in response to messaging software at a client requesting that a messaging server create the temporary destination. The messaging software uses the identifier to indicate the temporary destination as a destination for responses to messages from the messaging software. The identifier is logged. A disconnection from the messaging server is disconnected. A second request for a temporary destination is created. The identifier is indicated in the second request. The second request indicating the identifier is transmitted to the messaging server to preserve a messaging service in a highly available environment.
    Type: Application
    Filed: November 30, 2009
    Publication date: October 21, 2010
    Applicant: International Business Machines Corporation
    Inventor: Andrew J. Schofield
  • Publication number: 20090254706
    Abstract: A method and system for increasing a system's performance and achieving improved memory utilization by approximating the memory sizes that will be required for data objects that can be deserialized and constructed in a memory cache. The method and system may use accurate calculations or measurements of similar objects to calibrate the approximate memory sizes.
    Type: Application
    Filed: April 7, 2008
    Publication date: October 8, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Tian Cheng Liu, Qi Ming Teng, Susan P. Paice, Andrew J Schofield