Patents by Inventor William G. Holland

William G. Holland 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).

  • Publication number: 20080307116
    Abstract: Method and system for address routing in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A destination identifier is provided to identify a physical or virtual host or end point. When a physical or virtual host or end point receives a PCI data packet it compares a list of source identifiers with destination identifiers to determine if a source identifier included in the transaction packet is associated with a destination identifier included in the transaction packet to determine if the transaction packet has a valid association. If the transaction packet has a valid association, it is routed to the target device. The present invention enables each host that attaches to PCI bridges or switches and shares a set of common PCI devices to have its own PCI 64-bit address space and enables the routing of PCI transaction packets between multiple hosts and adapters, through a PCI switched-fabric bus using a destination identifier.
    Type: Application
    Filed: August 25, 2008
    Publication date: December 11, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080270853
    Abstract: A method and apparatus is provided for routing error messages in a distributed computer system comprising multiple root nodes, and further comprising one or more PCI switches and one or more I/O adapters, wherein each root node includes one or more system images. In one useful embodiment, a method is provided for routing I/O error messages to root nodes respectively associated with the errors contained in the messages. The method includes detecting occurrence of an error at a specified one of the adapters, wherein the error affects one of the system images, and generating an error message at the specified adapter. The method further comprises routing the error message from the specified adapter to the particular root node that includes the affected system image. The error message is then selectively processed at the particular root node, in order to identify the affected system image.
    Type: Application
    Filed: June 6, 2008
    Publication date: October 30, 2008
    Applicant: International Business Machines Corporation
    Inventors: Bryan Christopher Chagoly, Kirk Malcolm Sexton, William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Patent number: 7430630
    Abstract: Method and system for address routing in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A destination identifier is provided to identify a physical or virtual host or end point. When a physical or virtual host or end point receives a PCI data packet it compares a list of source identifiers with destination identifiers to determine if a source identifier included in the transaction packet is associated with a destination identifier included in the transaction packet to determine if the transaction packet has a valid association. If the transaction packet has a valid association, it is routed to the target device. The present invention enables each host that attaches to PCI bridges or switches and shares a set of common PCI devices to have its own PCI 64-bit address space and enables the routing of PCI transaction packets between multiple hosts and adapters, through a PCI switched-fabric bus using a destination identifier.
    Type: Grant
    Filed: October 27, 2005
    Date of Patent: September 30, 2008
    Assignee: International Business Machines Corporation
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080235785
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed in a data processing environment that includes host computer systems that are coupled to adapters utilizing a switched fabric for routing packets between the host computer systems and the adapters. A unique destination identifier is assigned to one of the host computer systems. A portion of a standard format packet destination address is selected. Within a particular packet, the portion is set equal to the unique identifier that is assigned to the host computer system. The particular packet is then routed through the fabric to the host computer system using the unique destination identifier.
    Type: Application
    Filed: May 1, 2008
    Publication date: September 25, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080235431
    Abstract: A method is directed to use of a master root node, in a distributed computer system provided with multiple root nodes, to control the configuration of routings through an I/O switched-fabric. One of the root nodes is designated as the master root node or PCI Configuration Manager (PCM), and is operable to carry out the configuration while each of the other root nodes remains in a quiescent or inactive state. In one useful embodiment pertaining to a system of the above type, that includes multiple root nodes, PCI switches, and PCI adapters available for sharing by different root nodes, a method is provided wherein the master root node is operated to configure routings through the PCI switches. Respective routings are configured between respective root nodes and the PCI adapters, wherein each of the configured routings corresponds to only one of the root nodes.
    Type: Application
    Filed: June 9, 2008
    Publication date: September 25, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080235430
    Abstract: A method is provided for creating and managing tables for routing packets through an environment that includes multiple hosts and shared PCI switches and adapters. A Destination Identification (DID) field in the PBA is appended to a transaction packet dispatched through the PCI switches, wherein a particular DID is associated with a particular host or system image, and thus identifies the physical or virtual end point of its packet. In one embodiment, packets are routed through PCI switches in a distributed computer system comprising multiple root nodes, wherein each root node includes one or more hosts. The embodiment includes the step of creating a table or like data structure in a specified one of the switches. When a particular host of one of the root nodes becomes connected to the specified switch, a PCI Configuration Master (PCM), residing in one of the root nodes, is operated to enter a destination identifier or DID into the table.
    Type: Application
    Filed: June 6, 2008
    Publication date: September 25, 2008
    Applicant: International Business Machines Corporation
    Inventors: William T. Boyd, Douglas M. Fremiuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Patent number: 7395367
    Abstract: A method is directed to use of a master root node, in a distributed computer system provided with multiple root nodes, to control the configuration of routings through an I/O switched-fabric. One of the root nodes is designated as the master root node or PCI Configuration Manager (PCM), and is operable to carry out the configuration while each of the other root nodes remains in a quiescent or inactive state. In one useful embodiment pertaining to a system of the above type, that includes multiple root nodes, PCI switches, and PCI adapters available for sharing by different root nodes, a method is provided wherein the master root node is operated to configure routings through the PCI switches. Respective routings are configured between respective root nodes and the PCI adapters, wherein each of the configured routings corresponds to only one of the root nodes.
    Type: Grant
    Filed: October 27, 2005
    Date of Patent: July 1, 2008
    Assignee: International Business Machines Corporation
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080137676
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed for bus/device/function (BDF) translation and routing of communication packets through a fabric that utilizes a single multi-root PCI switch. A data processing environment includes multiple host computer systems that are coupled to and share I/O adapters using a PCI switched-fabric bus fabric. The processing environment includes an apparatus that receives a communications packet, from one of the host computer systems, that is intended to be delivered to a particular one of the adapters. The apparatus analyzes the packet to determine a non-unique host-assigned destination device functional identifier that is included in the packet. The apparatus translates the host-assigned destination device functional identifier into a unique virtual destination device functional identifier.
    Type: Application
    Filed: December 6, 2006
    Publication date: June 12, 2008
    Inventors: William T Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080140839
    Abstract: System and method for managing routing of data in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A physical tree that is indicative of a physical configuration of the distributed computing system is determined, and a virtual tree is created from the physical tree. The virtual tree is then modified to change an association between at least one source device and at least one target device in the virtual tree. A validation mechanism validates the changed association between the at least one source device and the at least one target device to enable routing of data from the at least one source device to the at least one target device.
    Type: Application
    Filed: February 18, 2008
    Publication date: June 12, 2008
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080137677
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed for bus/device/function (BDF) translation and routing of communications packets through a fabric that utilizes PCI switches. Identifiers are included in communications packets that are routed between a host and an I/O adapter using a PCI fabric to which the host and the I/O adapter are coupled. Destination identifiers that are included in first communications packets that are received by edge switches, which are connected directly to said host or directly connected to said I/O adapter, are translated before routing the communications packets out of the edge switches. Second communications packets that are received by internal switches, which are not directly connected to the host or directly connected to the I/O adapter, are routed without translating destination identifiers that are included in the second communications packets.
    Type: Application
    Filed: December 6, 2006
    Publication date: June 12, 2008
    Inventors: William T Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Publication number: 20080130669
    Abstract: An improved solution for limiting the transmission rate of data over a network is provided according to an aspect of the invention. In particular, the transmission rate for a port is limited by rate limiting one of a plurality of queues (e.g., class/quality of service queues) for the port, and directing all data (e.g., packets) for transmission through the port to the single rate limited queue. In this manner, the transmission rate for the port can be effectively limited to accommodate, for example, a lower transmission rate for a port on a destination node.
    Type: Application
    Filed: December 4, 2006
    Publication date: June 5, 2008
    Inventors: Mitchell L. Loeb, Harry Cheselka, William G. Holland, Norman C. Strole, Edward S. Suffern
  • Patent number: 7380046
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed in a data processing environment that includes host computer systems that are coupled to adapters utilizing a switched fabric for routing packets between the host computer systems and the adapters. A unique destination identifier is assigned to one of the host computer systems. A portion of a standard format packet destination address is selected. Within a particular packet, the portion is set equal to the unique identifier that is assigned to the host computer system. The particular packet is then routed through the fabric to the host computer system using the unique destination identifier.
    Type: Grant
    Filed: February 7, 2006
    Date of Patent: May 27, 2008
    Assignee: International Business Machines Corporation
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Patent number: 7363404
    Abstract: System and method for managing routing of data in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A physical tree that is indicative of a physical configuration of the distributed computing system is determined, and a virtual tree is created from the physical tree. The virtual tree is then modified to change an association between at least one source device and at least one target device in the virtual tree. A validation mechanism validates the changed association between the at least one source device and the at least one target device to enable routing of data from the at least one source device to the at least one target device.
    Type: Grant
    Filed: October 27, 2005
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: William T. Boyd, Douglas M. Freimuth, William G. Holland, Steven W. Hunter, Renato J. Recio, Steven M. Thurber, Madeline Vega
  • Patent number: 7356638
    Abstract: A system provides communication between components of a computer data storage system using out-of-band (OOB) signaling. The system includes a plurality of data storage devices having a local controller for directing data flow to each of the plurality of data storage devices. A switch is coupled to the local controller to direct data to the set of the plurality of data storage devices. First and second initiators are coupled to the switch. The first initiator communicates the OOB signals through the switch alternatively to the local controller or to the second initiator.
    Type: Grant
    Filed: October 12, 2005
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: William G. Holland, Shah Mohammad Rezaul Islam, Greg S. Lucas, Yoshihiko Terashita
  • Patent number: 7295446
    Abstract: A computer system includes a plurality of blade servers, a midplane, a supplemental midplane, and a peripheral device separate from the blade servers. The midplane includes a plurality of connectors connecting the midplane to the plurality of blade servers. The supplemental midplane is separate from the midplane and includes a body, a plurality of connectors, and a peripheral connector. The plurality of connectors are attached to the body and connect the supplemental midplane to the plurality of blade servers. The peripheral connector is attached to the body and connects the supplemental midplane to the peripheral device. The plurality of connectors of the supplemental midplane communicate with the peripheral connector of the supplemental midplane. The plurality of connectors of the supplemental midplane are configured to be removably connectable to the midplane.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: November 13, 2007
    Assignee: International Business Machines Corporation
    Inventors: Martin J. Crippen, William G. Holland, James E. Hughes, David J. Jensen
  • Patent number: 6338102
    Abstract: A method for transferring data between non-contiguous buffers in a memory and an I/O device via a system I/O bus uses a descriptor queue stored in memory. Each descriptor points to a buffer and includes the length of the buffer. The I/O device is provided with the base address of the queue, the length of the queue and a current address which at initialization is the same as the base address. When data is to be transferred a device driver located in the processor sends the number of available descriptors (DescrEnq) to the I/O device which accesses the descriptors individually or in burst mode to gain access to the data buffers identified by the descriptors.
    Type: Grant
    Filed: October 19, 1999
    Date of Patent: January 8, 2002
    Assignee: International Business Machines Corporation
    Inventors: Henry Michael Garrett, William G. Holland, Joseph Franklin Logan, Joseph Gerald McDonald, John Kenneth Stacy
  • Patent number: 6334162
    Abstract: A method for transferring data between non-contiguous buffers in a memory and an I/O device via a system I/O bus uses a descriptor queue stored in memory. Each descriptor points to a buffer and includes the length of the buffer. The I/O device is provided with the base address of the queue, the length of the queue and a current address which at initialization is the same as the base address. When data is to be transferred a device driver located in the processor sends the number of available descriptors (DescrEnq) to the I/O device which accesses the descriptors individually or in burst mode to gain access to the data buffers identified by the descriptors.
    Type: Grant
    Filed: September 1, 2000
    Date of Patent: December 25, 2001
    Assignee: International Business Machines Corporation
    Inventors: Henry Michael Garrett, William G. Holland, Joseph Franklin Logan, Joseph Gerald McDonald, John Kenneth Stacy
  • Patent number: 6272564
    Abstract: A method for transferring data between non-contiguous buffers in a memory and an I/O device via a system I/O bus uses a descriptor queue stored in memory. Each descriptor points to a buffer and includes the length of the buffer. The I/O device is provided with the base address of the queue, the length of the queue and a current address which at initialization is the same as the base address. When data is to be transferred a device driver located in the processor sends the number of available descriptors (DescrEnq) to the I/O device which accesses the descriptors individually or in burst mode to gain access to the data buffers identified by the descriptors.
    Type: Grant
    Filed: October 19, 1999
    Date of Patent: August 7, 2001
    Assignee: International Business Machines Corporation
    Inventors: Henry Michael Garrett, William G. Holland, Joseph Franklin Logan, Joseph Gerald McDonald, John Kenneth Stacy
  • Patent number: 6163820
    Abstract: A method for transferring data between non-contiguous buffers in a memory and an I/O device via a system I/O bus uses a descriptor queue stored in memory. Each descriptor points to a buffer and includes the length of the buffer. The I/O device is provided with the base address of the queue, the length of the queue and a current address which at initialization is the same as the base address. When data is to be transferred a device driver located in the processor sends the number of available descriptors (DescrEnq) to the I/O device which accesses the descriptors individually or in burst mode to gain access to the data buffers identified by the descriptors.
    Type: Grant
    Filed: October 19, 1999
    Date of Patent: December 19, 2000
    Assignee: International Business Machines Corporation
    Inventors: Henry Michael Garrett, William G. Holland, Joseph Franklin Logan, Joseph Gerald McDonald, John Kenneth Stacy
  • Patent number: 6073181
    Abstract: A LAN adapter for transferring data frames from a LAN to memory buffers in a processor in which the LAN driver follows either the ODI or the NDIS specification. The adapter accumulates the frame length and compares this to the storage capacity of the buffer. If the frame length does not exceed the buffer capacity and the LAN driver implements the ODI specification, the adapter will indicate good status to the driver. If the frame length exceeds the buffer capacity the adapter will either send bad status to the ODI driver or reuse the buffer and send no status. If the driver follows NDIS, status is sent at the end of the frame.
    Type: Grant
    Filed: June 3, 1997
    Date of Patent: June 6, 2000
    Assignee: International Business Machines Corporation
    Inventors: William G. Holland, Joseph Franklin Logan, Joseph Gerald McDonald, Gregory Francis Paussa