Patents by Inventor Jeffrey C. Hanscom

Jeffrey C. Hanscom 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: 8516177
    Abstract: Processing within a device is controlled in order to avoid a deadlock situation. A local request engine of the device determines prior to making a request whether the port of the device that is to service the request is making forward progress in processing other requests. If forward progress is being made, then the request is forwarded to the port. Otherwise, the request is held. This avoids a deadlock situation and allows the device to remain operative even in partial recovery situations.
    Type: Grant
    Filed: April 20, 2012
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Carl A. Bender, Jeffrey C. Hanscom, Thomas D. Needham
  • Patent number: 8495265
    Abstract: Processing within a device is controlled in order to avoid a deadlock situation. A local request engine of the device determines prior to making a request whether the port of the device that is to service the request is making forward progress in processing other requests. If forward progress is being made, then the request is forwarded to the port. Otherwise, the request is held. This avoids a deadlock situation and allows the device to remain operative even in partial recovery situations.
    Type: Grant
    Filed: June 1, 2011
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Carl A. Bender, Jeffrey C. Hanscom, Thomas D. Needham
  • Publication number: 20120311112
    Abstract: Programmable hardware devices are re-programmed without system downtime. To re-program the device, the device is quiesced, state associated with the device is saved, updates are loaded, the state is restored and operations are resumed, all transparent to the system, except for a possible delay in the system.
    Type: Application
    Filed: April 28, 2012
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carl A. Bender, Nihad Hadzic, Jeffrey C. Hanscom, Howard M. Haynie, Jeffrey M. Turner
  • Publication number: 20120311110
    Abstract: Programmable hardware devices are re-programmed without system downtime. To re-program the device, the device is quiesced, state associated with the device is saved, updates are loaded, the state is restored and operations are resumed, all transparent to the system, except for a possible delay in the system.
    Type: Application
    Filed: June 1, 2011
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carl A. Bender, Nihad Hadzic, Jeffrey C. Hanscom, Howard M. Haynie, Jeffrey M. Turner
  • Publication number: 20120311212
    Abstract: Processing within a device is controlled in order to avoid a deadlock situation. A local request engine of the device determines prior to making a request whether the port of the device that is to service the request is making forward progress in processing other requests. If forward progress is being made, then the request is forwarded to the port. Otherwise, the request is held. This avoids a deadlock situation and allows the device to remain operative even in partial recovery situations.
    Type: Application
    Filed: June 1, 2011
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carl A. Bender, Jeffrey C. Hanscom, Thomas D. Needham
  • Publication number: 20120311213
    Abstract: Processing within a device is controlled in order to avoid a deadlock situation. A local request engine of the device determines prior to making a request whether the port of the device that is to service the request is making forward progress in processing other requests. If forward progress is being made, then the request is forwarded to the port. Otherwise, the request is held. This avoids a deadlock situation and allows the device to remain operative even in partial recovery situations.
    Type: Application
    Filed: April 20, 2012
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carl A. Bender, Jeffrey C. Hanscom, Thomas D. Needham
  • Patent number: 8122221
    Abstract: A method of combining scattered buffer addresses into a contiguous virtual address space comprises; receiving a plurality of read completion data portions corresponding to a single read request, storing the plurality of read completion data portions in a memory device such that an individual read completion data portion is stored in an individual address of the memory device, storing a valid indicator for a memory device address which contains the individual read completion data portion in an external storage location, storing a tag indicator associated with the read request for the individual read completion portion in an external storage location associated with the memory device address containing the individual read completion data portion, storing a sequence number associated with an individual read completion data portion in an external storage location associated with the memory device address containing the individual read completion data portion; and outputting an individual read completion data port
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: February 21, 2012
    Assignee: International Business Machines Corporation
    Inventor: Jeffrey C. Hanscom
  • Patent number: 7856027
    Abstract: An incoming LAN traffic management system comprising: an I/O adapter configured to receive incoming packets from an Ethernet; a plurality of hosts coupled to the I/O adapter and each having a host buffer; a data router configured to block information received by the I/O adapter into memory locations from an SBAL associated with at least one of the plurality of hosts and in accordance with blocking parameters for the at least one of the plurality of hosts, the data router including an expiration engine configured to expire the SBAL before it is full if at least one predetermined threshold is exceeded.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: December 21, 2010
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey C. Hanscom, Howard M. Haynie, Bruce H. Ratcliff, Jeffrey M. Turner
  • Patent number: 7760736
    Abstract: A packet that represents unknown traffic for a virtual host is received. A test is performed to ascertain whether or not a destination connection can be determined for the received packet wherein it is discovered the packet is a broadcast (or multicast) packet. Since such packets have multiple destinations in a virtualized environment, the broadcast (or multicast) packet requires special handling and is passed to a store engine. The store engine obtains a free packet buffer from an elastic FIFO memory, moves the packet into the free packet buffer, and submits the free packet buffer back to the elastic FIFO memory. An assist engine determines and assigns connections to packets submitted to the elastic FIFO without known connections, such as broadcast (or multicast) packets. The assist engine efficiently performs this task through the use of indirect buffers, which are also obtained from and submitted back to the elastic FIFO.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: July 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: Howard M. Haynie, Jeffrey C. Hanscom, Jeffrey M. Turner
  • Patent number: 7751400
    Abstract: A packet that represents unknown traffic for a virtual host is received. A first test is performed to ascertain whether or not a destination connection can be determined for the received packet wherein, if a destination connection can be determined, a second test is performed to ascertain whether or not one or more connection-specific resources required to send the packet to a virtual host memory corresponding to the destination connection are available. If a destination connection for the packet cannot be determined, the packet is passed to a store engine. If the one or more connection-specific resources are not available, the packet is passed to the store engine. The store engine obtains a free packet buffer from a FIFO memory. The store engine moves the packet into the free packet buffer and submits the free packet buffer to the elastic FIFO memory.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: July 6, 2010
    Assignee: International Business Machines Coproration
    Inventors: Howard M. Haynie, Jeffrey C. Hanscom, Jeffrey M. Turner
  • Patent number: 7747809
    Abstract: A PCI Express system comprising: a PCI Express adapter; and a PCI Express root complex coupled to the PCI Express adapter, the PCI root complex including: a protocol stack coupled to the PCI express adapter and configured to transmit information to and receive information from the PCI express adapter; an application specific logic module; and a fencing module coupled between the application specific logic module and the protocol stack and configured to, when in operation, block all signals from the application specific logic module from reaching the protocol stack.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventor: Jeffrey C. Hanscom
  • Publication number: 20090225665
    Abstract: A packet that represents unknown traffic for a virtual host is received. A first test is performed to ascertain whether or not a destination connection can be determined for the received packet wherein, if a destination connection can be determined, a second test is performed to ascertain whether or not one or more connection-specific resources required to send the packet to a virtual host memory corresponding to the destination connection are available. If a destination connection for the packet cannot be determined, the packet is passed to a store engine. If the one or more connection-specific resources are not available, the packet is passed to the store engine. The store engine obtains a free packet buffer from a FIFO memory. The store engine moves the packet into the free packet buffer and submits the free packet buffer to the elastic FIFO memory.
    Type: Application
    Filed: February 25, 2008
    Publication date: September 10, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Howard M. Haynie, Jeffrey C. Hanscom, Jeffrey M. Turner
  • Publication number: 20090213857
    Abstract: A packet that represents unknown traffic for a virtual host is received. A test is performed to ascertain whether or not a destination connection can be determined for the received packet wherein it is discovered the packet is a broadcast (or multicast) packet. Since such packets have multiple destinations in a virtualized environment, the broadcast (or multicast) packet requires special handling and is passed to a store engine. The store engine obtains a free packet buffer from an elastic FIFO memory, moves the packet into the free packet buffer, and submits the free packet buffer back to the elastic FIFO memory. An assist engine determines and assigns connections to packets submitted to the elastic FIFO without known connections, such as broadcast (or multicast) packets. The assist engine efficiently performs this task through the use of indirect buffers, which are also obtained from and submitted back to the elastic FIFO.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Howard M. Haynie, Jeffrey C. Hanscom, Jeffrey M. Turner
  • Publication number: 20090216991
    Abstract: A method of combining scattered buffer addresses into a contiguous virtual address space comprises; receiving a plurality of read completion data portions corresponding to a single read request, storing the plurality of read completion data portions in a memory device such that an individual read completion data portion is stored in an individual address of the memory device, storing a valid indicator for a memory device address which contains the individual read completion data portion in an external storage location, storing a tag indicator associated with the read request for the individual read completion portion in an external storage location associated with the memory device address containing the individual read completion data portion, storing a sequence number associated with an individual read completion data portion in an external storage location associated with the memory device address containing the individual read completion data portion; and outputting an individual read completion data port
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Jeffrey C. Hanscom
  • Publication number: 20090213864
    Abstract: An incoming LAN traffic management system comprising: an I/O adapter configured to receive incoming packets from an Ethernet; a plurality of hosts coupled to the I/O adapter and each having a host buffer; a data router configured to block information received by the I/O adapter into memory locations from an SBAL associated with at least one of the plurality of hosts and in accordance with blocking parameters for the at least one of the plurality of hosts, the data router including an expiration engine configured to expire the SBAL before it is full if at least one predetermined threshold is exceeded.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jeffrey C. Hanscom, Howard M. Haynie, Bruce H. Ratcliff, Jeffrey M. Turner
  • Publication number: 20090210607
    Abstract: A PCI Express system comprising: a PCI Express adapter; and a PCI Express root complex coupled to the PCI Express adapter, the PCI root complex including: a protocol stack coupled to the PCI express adapter and configured to transmit information to and receive information from the PCI express adapter; an application specific logic module; and a fencing module coupled between the application specific logic module and the protocol stack and configured to, when in operation, block all signals from the application specific logic module from reaching the protocol stack.
    Type: Application
    Filed: February 19, 2008
    Publication date: August 20, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Jeffrey C. Hanscom