Patents by Inventor Douglas M. Freimuth

Douglas M. Freimuth 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: 20080147937
    Abstract: A system and method for hot-plug/remove of a new component in a running communication fabric, such as a PCIe fabric, are provided. With the system and method, the addition of a new component in the fabric is detected and an event is sent to a multiple root fabric configuration manager. The multiple root fabric configuration manager gathers information about the new component and updates its I/O component tree structure in its configuration data structure to include the new component. The new component may then be utilized via the updated configuration data structure. When a component is to be removed, the multiple root fabric configuration manager receives an event indicating the component to be removed, determines which branches of the tree structure are affected by the removal, and updates its configuration data structure accordingly to remove the component and its associated components from the virtual plane of the removed component.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147959
    Abstract: A system and method for initializing shared memories for sharing endpoints across a plurality of root complexes is provided. In one illustrative embodiment, a multi-root PCIe manager (MR-PCIM) initializes the shared memory between root complexes and endpoints by discovering the PCIe switch fabric by traversing all the links accessible through the interconnected switches of the PCIe switch fabric. As the links are traversed, the MR-PCIM compares information obtained for each of the root complexes and endpoints to determine which endpoints and root complexes reside on the same blade. A virtual PCIe tree data structure is then generated that ties the endpoints available on the PCIe switch fabric to each root complex. The MR-PCIM, or a single-root PCIe manager (SR-PCIM), may then assign each endpoint and root complex a base and limit within the PCIe memory address space the endpoint belongs to.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147904
    Abstract: A system and method for communication between host systems using a socket connection and shared memories are provided. With such socket-based communication, a work queue in the host systems may be used to listen for incoming socket initialization requests. A first host system that wishes to establish a socket communication connection with a second host system may generate a socket initialization request work queue element in its work queue and may inform the second host system that the socket initialization request work queue element is available for processing. The second host system may then accept or deny the request. If the second host system accepts the request, it returns the second half of the socket's parameters for use by the first host system in performing socket based communications between the first and second host systems.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147943
    Abstract: A system and method for migration of a virtual endpoint from one virtual plane to another are provided. With the system and method, when a management application requests migration of a virtual endpoint (VE) from one virtual plane (VP) to another, a fabric manager provides an input/output virtualization intermediary (IOVI) with an interrupt to perform a stateless migration. The IOVI quiesces outstanding requests to the virtual functions (VFs) of the VE, causes a function level reset of the VFs, deconfigures addresses in intermediary switches corresponding to the VP, and informs the fabric manager that a destination migration is requested. The fabric manager sends an interrupt to the destination IOVI which performs a function level reset of the destination VFs and reprograms the intermediary switches with the addresses of the destination VP. The destination VFs may then be placed in an active state.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080148032
    Abstract: A system and method for communication between host systems using a queuing system and shared memories are provided. Memory address spaces of the host systems are initialized such that endpoints may be accessible by root complexes across host systems. These memory address spaces may then be used to allow system images, and their corresponding applications, associated with these root complexes to communicate with the endpoints using a queuing system. Such a queuing system may comprise queue structures having doorbell structures for providing information about the queue entries in the queue structures. Queue elements may be generated and added to the queue structures, and the doorbell structure may be written to, in order to thereby inform an endpoint or root complex that queue elements are available for processing. DMA operations may be performed to retrieve the queue elements and the data corresponding to the queue elements.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • 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: 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: 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
  • 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