Patents by Inventor Howard M. Haynie

Howard M. Haynie 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: 10623255
    Abstract: A method for updating a descriptor engine for a network interface card (NIT) can include quiescing, by a processing device, a transmit stream to the NIC. The method can further include stopping, by the processing device, a descriptor engine from providing new receive descriptors to the NIC. The method can further include setting, by the processing device, a controller to redirect inbound traffic to the memory. The method can further include restoring, by the processing device, a transmit configuration and a transmit state of the descriptor engine subsequent to updating the descriptor engine.
    Type: Grant
    Filed: July 20, 2018
    Date of Patent: April 14, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Howard M. Haynie, Donald Jung, Jeffrey M. Turner, Jie Zheng
  • Patent number: 10346311
    Abstract: A system for managing one or more queues in a multi-processor environment includes a shared memory configured to be accessed by a plurality of processing elements, and a queue manager configured to control a queue in the shared memory, the queue manager storing dynamically configurable queue parameters including an operation address associated with the queue, a number of queue elements and a size of each queue element. The queue manager is configured to intercept a message from a processing element, the message directed to the shared memory and specifying the operation address, calculate an address of a location in the shared memory corresponding to one or more available queue elements, the calculating performed based on the operation address, the number of queue elements, and the size of each queue element, and perform one or more queuing operations on the queue based on the calculated address.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: July 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Patent number: 10310996
    Abstract: A system for managing one or more queues in a multi-processor environment includes a memory configured to be accessed by a plurality of processing elements, and a queue manager disposed in communication with a plurality of processors and with the memory, the queue manager configured to control a queue in the memory, the queue including a plurality of queue elements, the queue manager configured to intercept a message from a processing element of the plurality of processing elements and perform one or more queuing operations on the queue based on the message. The system also includes a dynamically configurable queue full value maintained by the queue manager, the queue full value being a threshold value that specifies a maximum number of the queue elements that can be written to before a queue full condition is detected, the maximum number based on a number of processing elements.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: June 4, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Kirk Pospesel
  • Patent number: 10303627
    Abstract: A system for managing one or more queues in a multi-processor environment includes a memory configured to be accessed by a plurality of processing elements, and a queue manager disposed in communication with a plurality of processors and with the memory, the queue manager configured to control a queue in the memory, the queue including a plurality of queue elements, the queue manager configured to intercept a message from a processing element of the plurality of processing elements and perform one or more queuing operations on the queue based on the message. The system also includes a dynamically configurable queue full value maintained by the queue manager, the queue full value being a threshold value that specifies a maximum number of the queue elements that can be written to before a queue full condition is detected, the maximum number based on a number of processing elements.
    Type: Grant
    Filed: November 2, 2017
    Date of Patent: May 28, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Kirk Pospesel
  • Patent number: 10210095
    Abstract: A system for managing one or more queues in a multi-processor environment includes a shared memory configured to be accessed by a plurality of processing elements, and a queue manager configured to control a queue in the shared memory, the queue manager storing dynamically configurable queue parameters including an operation address associated with the queue, a number of queue elements and a size of each queue element. The queue manager is configured to intercept a message from a processing element, the message directed to the shared memory and specifying the operation address, calculate an address of a location in the shared memory corresponding to one or more available queue elements, the calculating performed based on the operation address, the number of queue elements, and the size of each queue element, and perform one or more queuing operations on the queue based on the calculated address.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: February 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Patent number: 10210106
    Abstract: A system for managing one or more queues in a multi-processor environment includes a queue manager disposed in communication with a plurality of processors and a memory shared by the plurality of processors, and a queue configured to be controlled by the queue manager, the queue including independent and discrete queue elements and having a starting location specified by a base address, the queue manager having one or more dynamically configurable parameters, the one or more dynamically configurable parameters including a size of each of the queue elements. The queue manager is configured to perform receiving a message from a processor of the plurality of processors, the message including an operation address specifying a fixed storage location in the memory and a request related to accessing the memory, selecting the queue based on the operation address, and performing a queuing operation on the queue based on the request.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: February 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven G. Aden, Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Publication number: 20190012269
    Abstract: A system for managing one or more queues in a multi-processor environment includes a shared memory configured to be accessed by a plurality of processing elements, and a queue manager configured to control a queue in the shared memory, the queue manager storing dynamically configurable queue parameters including an operation address associated with the queue, a number of queue elements and a size of each queue element. The queue manager is configured to intercept a message from a processing element, the message directed to the shared memory and specifying the operation address, calculate an address of a location in the shared memory corresponding to one or more available queue elements, the calculating performed based on the operation address, the number of queue elements, and the size of each queue element, and perform one or more queuing operations on the queue based on the calculated address.
    Type: Application
    Filed: November 7, 2017
    Publication date: January 10, 2019
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Publication number: 20190012268
    Abstract: A system for managing one or more queues in a multi-processor environment includes a shared memory configured to be accessed by a plurality of processing elements, and a queue manager configured to control a queue in the shared memory, the queue manager storing dynamically configurable queue parameters including an operation address associated with the queue, a number of queue elements and a size of each queue element. The queue manager is configured to intercept a message from a processing element, the message directed to the shared memory and specifying the operation address, calculate an address of a location in the shared memory corresponding to one or more available queue elements, the calculating performed based on the operation address, the number of queue elements, and the size of each queue element, and perform one or more queuing operations on the queue based on the calculated address.
    Type: Application
    Filed: July 6, 2017
    Publication date: January 10, 2019
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Publication number: 20180349299
    Abstract: A system for managing one or more queues in a multi-processor environment includes a memory configured to be accessed by a plurality of processing elements, and a queue manager disposed in communication with a plurality of processors and with the memory, the queue manager configured to control a queue in the memory, the queue including a plurality of queue elements, the queue manager configured to intercept a message from a processing element of the plurality of processing elements and perform one or more queuing operations on the queue based on the message. The system also includes a dynamically configurable queue full value maintained by the queue manager, the queue full value being a threshold value that specifies a maximum number of the queue elements that can be written to before a queue full condition is detected, the maximum number based on a number of processing elements.
    Type: Application
    Filed: May 31, 2017
    Publication date: December 6, 2018
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Kirk Pospesel
  • Publication number: 20180349300
    Abstract: A system for managing one or more queues in a multi-processor environment includes a memory configured to be accessed by a plurality of processing elements, and a queue manager disposed in communication with a plurality of processors and with the memory, the queue manager configured to control a queue in the memory, the queue including a plurality of queue elements, the queue manager configured to intercept a message from a processing element of the plurality of processing elements and perform one or more queuing operations on the queue based on the message. The system also includes a dynamically configurable queue full value maintained by the queue manager, the queue full value being a threshold value that specifies a maximum number of the queue elements that can be written to before a queue full condition is detected, the maximum number based on a number of processing elements.
    Type: Application
    Filed: November 2, 2017
    Publication date: December 6, 2018
    Inventors: Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Kirk Pospesel
  • Publication number: 20180331893
    Abstract: A method for updating a descriptor engine for a network interface card (NIT) can include quiescing, by a processing device, a transmit stream to the NIC. The method can further include stopping, by the processing device, a descriptor engine from providing new receive descriptors to the NIC. The method can further include setting, by the processing device, a controller to redirect inbound traffic to the memory. The method can further include restoring, by the processing device, a transmit configuration and a transmit state of the descriptor engine subsequent to updating the descriptor engine.
    Type: Application
    Filed: July 20, 2018
    Publication date: November 15, 2018
    Inventors: Howard M. Haynie, Donald Jung, Jeffrey M. Turner, Jie Zheng
  • Patent number: 10084646
    Abstract: A method for updating a descriptor engine for a network interface card (NIC) may include quiescing a transmit stream to the NIC. The method may further include stopping a descriptor engine from providing new receive descriptors to the NIC. The method may further include creating a copy in a memory of any receive descriptors already available to the NIC prior to the stopping the descriptor engine. The method may further include setting a controller to redirect inbound traffic to the memory. The method may further include restoring a transmit configuration and a transmit state of the descriptor engine subsequent to updating the descriptor engine.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: September 25, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Howard M. Haynie, Donald Jung, Jeffrey M. Turner, Jie Zheng
  • Publication number: 20180267909
    Abstract: A system for managing one or more queues in a multi-processor environment includes a queue manager disposed in communication with a plurality of processors and a memory shared by the plurality of processors, and a queue configured to be controlled by the queue manager, the queue including independent and discrete queue elements and having a starting location specified by a base address, the queue manager having one or more dynamically configurable parameters, the one or more dynamically configurable parameters including a size of each of the queue elements. The queue manager is configured to perform receiving a message from a processor of the plurality of processors, the message including an operation address specifying a fixed storage location in the memory and a request related to accessing the memory, selecting the queue based on the operation address, and performing a queuing operation on the queue based on the request.
    Type: Application
    Filed: March 15, 2017
    Publication date: September 20, 2018
    Inventors: Steven G. Aden, Clinton E. Bubb, Michael Grassi, Howard M. Haynie, Raymond M. Higgs, Luke M. Hopkins, Kirk Pospesel, Gabriel M. Tarr
  • Publication number: 20180091363
    Abstract: Examples of techniques for upgrading a descriptor engine for a network interface card (NIC) are disclosed. An example method may include: quiescing a transmit stream to the NIC; stopping a descriptor engine from providing new receive descriptors to the NIC; creating a copy in a memory of any receive descriptors already available to the NIC prior to the stopping the descriptor engine; setting a controller to redirect inbound traffic to the memory; logging a current configuration, state, and receive pointers of the descriptor engine; updating the descriptor engine; restoring a transmit configuration and a transmit state of the descriptor engine; and enabling a transmit stream of a data router such that transmit packets are created by the descriptor engine for transmission by the NIC.
    Type: Application
    Filed: February 14, 2017
    Publication date: March 29, 2018
    Inventors: Howard M. Haynie, Donald Jung, Jeffrey M. Turner, Jie Zheng
  • Patent number: 9747233
    Abstract: A method for facilitation of aggregation of contiguous data packets, such as contiguous I/O adapter stores, is disclosed. Commensurate with receiving data packets to be written to a memory, multiple contiguous data units of the data packets are aggregated into an aggregated data block. The aggregated data block is validated for writing to memory responsive to either the aggregated data block reaching a size which with inclusion of a next contiguous data unit in the aggregated data block would result in the aggregated data block exceeding a configurable size limit, or a next data unit of the plurality of data units to be written to memory being non-contiguous with the multiple contiguous data units.
    Type: Grant
    Filed: October 31, 2012
    Date of Patent: August 29, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kathy S. Barkey, Howard M. Haynie, Jeffrey M. Turner
  • Patent number: 9648137
    Abstract: Examples of techniques for upgrading a descriptor engine for a network interface card (NIC) are disclosed. An example method may include: quiescing a transmit stream to the NIC; stopping a descriptor engine from providing new receive descriptors to the NIC; creating a copy in a memory of any receive descriptors already available to the NIC prior to the stopping the descriptor engine; setting a controller to redirect inbound traffic to the memory; logging a current configuration, state, and receive pointers of the descriptor engine; updating the descriptor engine; restoring a transmit configuration and a transmit state of the descriptor engine; and enabling a transmit stream of a data router such that transmit packets are created by the descriptor engine for transmission by the NIC.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: May 9, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Howard M. Haynie, Donald Jung, Jeffrey M. Turner, Jie Zheng
  • Patent number: 9477501
    Abstract: Embodiments relate to a method for encapsulating a hardware application for virtualization. The method surrounds the hardware application with a service layer controller and ring interfaces. The ring interfaces dictates a virtual function that the hardware application is running. The method controls the hardware application so that the hardware application is reset in between each of a plurality of running jobs. The method tags, by the ring interfaces, each of a plurality of requests with an identifier signifying a virtual function that the respective request belongs to. The method ensures that there are not any outstanding requests following a quiesce of the hardware application.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: October 25, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Cadigan, Jr., Howard M. Haynie, Scot H. Rider, Mushfiq U. Saleheen, Donald W. Schmidt
  • Patent number: 9298484
    Abstract: Embodiments relate to a computer system comprising a service layer controller. The computer system comprises a ring interface unit configured to provide access to a host system that enables access to a plurality of virtual machines (VMs). The computer system comprises a hardware application configured to be encapsulated by the service layer controller such that the hardware application communicates to the host system via interfaces controlled by the ring interface unit and service layer controller.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 29, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Cadigan, Jr., Howard M. Haynie, Scot H. Rider, Mushfiq U. Saleheen, Donald W. Schmidt
  • Patent number: 9214957
    Abstract: A calculation, prediction and validation method can include receiving a portion of a data packet in a data buffer, computing, in a processor, information related to the checksum of the data packet based on the portion of the data packet and processing the data packet in the processor.
    Type: Grant
    Filed: October 17, 2012
    Date of Patent: December 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Carl A. Bender, Michael J. Cadigan, Jr., Nihad Hadzic, Howard M Haynie, Jeffrey M. Turner, Raymond Wong
  • Patent number: 9146817
    Abstract: Embodiments relate to collecting extended error data from units within a programmable device. A pointer is accessed that points to a region of memory that contains a list of entries that references the extended error data. The list of entries is walked by adjusting a read pointer to obtain the extended error data. The referenced extended error data is moved to an event log.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: September 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael C. Cadigan, Jr., Howard M. Haynie, Scot H. Rider, Mushfiq U. Saleheen