Patents by Inventor IAN C. EDWARDS

IAN C. EDWARDS 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
  • 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: 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
  • 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
  • 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
  • Patent number: 8874667
    Abstract: Topics are linked in a publish/subscribe messaging environment. A first topic is linked to at least a second topic, and a message on the first topic is published to subscribers to the first topic. In the same transaction, any reference to the topics linked to the first topic are published in the message to subscribers of the topics linked to the first topic. A tree of topics is defined with topic nodes for each topic. A topic string is provided in a path through the tree of topics to a topic node, wherein the first topic and the at least a second topic have no commonality of topic string.
    Type: Grant
    Filed: May 4, 2011
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ian C. Edwards, David J. McCann, David Postlethwaite
  • 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
  • Publication number: 20110289163
    Abstract: Topics are linked in a publish/subscribe messaging environment. A first topic is linked to at least a second topic, and a message on the first topic is published to subscribers to the first topic. In the same transaction, any reference to the topics linked to the first topic are published in the message to subscribers of the topics linked to the first topic. A tree of topics is defined with topic nodes for each topic. A topic string is provided in a path through the tree of topics to a topic node, wherein the first topic and the at least a second topic have no commonality of topic string.
    Type: Application
    Filed: May 4, 2011
    Publication date: November 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: IAN C. EDWARDS, DAVID J. MCCANN, DAVID POSTLETHWAITE