Patents by Inventor Aaron C. Brown
Aaron C. Brown 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: 7941568Abstract: Registering memory space within a data processing system is performed. One or more open calls are received from an application to access one or more input/output (I/O) devices. Responsive to receiving the one or more open calls, one or more I/O map and pin calls are sent in order to register memory space for the one or more I/O devices within at least one storage area that will be accessed by the application. At least one virtual I/O bus address is received for each registered memory space of the one or more I/O devices. At least one I/O command is executed using the at least one virtual I/O bus address without intervention by an operating system or operating system image.Type: GrantFiled: May 5, 2008Date of Patent: May 10, 2011Assignee: International Business Machines CorporationInventors: Richard L. Arndt, Aaron C. Brown, Gregory F. Pfister, Renato J. Recio, Steven M. Thurber
-
Patent number: 7913024Abstract: Mechanisms for differentiating traffic types in a multi-root PCI Express environment are provided. The mechanisms generate a first mapping data structure that, for each single-root virtual hierarchy in the multi-root data processing system, associates a plurality of traffic classes with a plurality of priority groups and maps each traffic class in the plurality of traffic classes to a corresponding virtual channel in a plurality of virtual channels. Moreover, a second mapping data structure is generated that maps each virtual channel in the plurality of virtual channels to corresponding virtual link in a plurality of virtual links of the multi-root data processing system. Traffic of a particular priority group is routed from a single-root virtual hierarchy to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure.Type: GrantFiled: December 9, 2008Date of Patent: March 22, 2011Assignee: International Business Machines CorporationInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Patent number: 7908457Abstract: Registering memory space for an application is performed. One or more open calls are received from an application to access one or more input/output (I/O) devices. Responsive to receiving the one or more open calls, one or more I/O map and pin calls are sent in order to register memory space for the one or more I/O devices within at least one storage area that will be accessed by the application. A verification is made as to whether the memory space to be registered is associated with the application. Responsive to the memory space being associated with the application, at least one virtual I/O bus address is received for each registered memory space of the one or more I/O devices. At least one I/O command is executed using the at least one virtual I/O bus address without intervention by an operating system or operating system image.Type: GrantFiled: May 5, 2008Date of Patent: March 15, 2011Assignee: International Business Machines CorporationInventors: Richard L. Arndt, Aaron C. Brown, Bradly G. Frey, Gregory F. Pfister, Renato J. Recio, Steven M. Thurber
-
Publication number: 20100165874Abstract: Mechanisms for differentiating traffic types per host system blade in a multi-root PCI Express environment are provided. The mechanisms generate a first mapping data structure that, for each single-root virtual hierarchy in the multi-root data processing system, associates a plurality of traffic classes with a plurality of priority groups and maps each traffic class in the plurality of traffic classes to a corresponding virtual channel in a plurality of virtual channels. Moreover, a second mapping data structure is generated that maps each virtual channel in the plurality of virtual channels to corresponding per host system blade virtual links in a plurality of virtual links of the multi-root data processing system. Traffic of a particular priority group is routed from a single-root virtual hierarchy to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure.Type: ApplicationFiled: December 30, 2008Publication date: July 1, 2010Applicant: International Business Machines CorporationInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Patent number: 7743189Abstract: A hypervisor, during device discovery, has code which can examine the south-side management data structure in an adapter's configuration space and determine the type of device which is being configured. The hypervisor may copy the south-side management data structure to a hardware management console (HMC) and the HMC can populate the data structure with south-side data and then pass the structure to the hypervisor to replace the data structure on the adapter. In another embodiment the hypervisor may copy the data structure to the HMC and the HMC can instruct the hypervisor to fill-in the data structure, a virtual function at a time, with south-side management data associations. The administrator can assign south-side data, such as a MAC address for a virtual instance of an Ethernet device, to LPARs sharing the adapter. Thus, a standard way to manage the south-side data of virtual functions is provided.Type: GrantFiled: May 5, 2008Date of Patent: June 22, 2010Assignee: International Business Machines CorporationInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20100146170Abstract: Mechanisms for differentiating traffic types in a multi-root PCI Express environment are provided. The mechanisms generate a first mapping data structure that, for each single-root virtual hierarchy in the multi-root data processing system, associates a plurality of traffic classes with a plurality of priority groups and maps each traffic class in the plurality of traffic classes to a corresponding virtual channel in a plurality of virtual channels. Moreover, a second mapping data structure is generated that maps each virtual channel in the plurality of virtual channels to corresponding virtual link in a plurality of virtual links of the multi-root data processing system. Traffic of a particular priority group is routed from a single-root virtual hierarchy to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure.Type: ApplicationFiled: December 9, 2008Publication date: June 10, 2010Applicant: International Business Machines CorporationInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20100017497Abstract: A network system supports multiple network communication protocols. An Ethernet component gateway in a Fibre Channel over Ethernet (FCoE) initiator system converts FCoE data packets from host devices to Fibre Channel over Internet Protocol (FCIP) data packets for transmission to a Storage Area Network (SAN) target system. The SAN target system may include a target Fibre Channel (FC) storage device and a SAN component gateway. The SAN component gateway converts FCIP data packets to SAN data packets for use by the target FC storage device. The SAN data packets may be either FC protocol data packets or FCoE protocol data packets. The SAN target system may provide for discovery of target FC storage device adapter information.Type: ApplicationFiled: July 15, 2008Publication date: January 21, 2010Applicant: International Business Machines CorporationInventors: Aaron C. Brown, Scott M. Carlson, Daniel G. Eisenhauer, Roger G. Hathorn, Jeffrey W. Palm, Renato J. Recio, Gregory J. Tevis
-
Publication number: 20090276773Abstract: Mechanisms are provided for implementing a multi-root PCI manager (MR-PCIM) in a multi-root I/O virtualization management partition (MR-IMP) to control the shared functionality of an multi-root I/O virtualization (IOV) enabled switch fabric and multi-root IOV enabled I/O adapter (IOA) through the base functions (BF) of the switches and IOAs. A hypervisor provides device-independent facilities to the code running in the I/O Virtualization Management Partition (IMP), Multi-Root (MR)-IMP and client partitions. The MR-IMP may include device specific code without the hypervisor needing to sacrifice its size, robustness, and upgradeability. The hypervisor provides the virtual intermediary functionally for the sharing and control of the switch and IOA's control functions.Type: ApplicationFiled: May 5, 2008Publication date: November 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090276544Abstract: Registering memory space within a data processing system is performed. One or more open calls are received from an application to access one or more input/output (I/O) devices. Responsive to receiving the one or more open calls, one or more I/O map and pin calls are sent in order to register memory space for the one or more I/O devices within at least one storage area that will be accessed by the application. At least one virtual I/O bus address is received for each registered memory space of the one or more I/O devices. At least one I/O command is executed using the at least one virtual I/O bus address without intervention by an operating system or operating system image.Type: ApplicationFiled: May 5, 2008Publication date: November 5, 2009Applicant: International Business Machines CorporationInventors: Richard L. Arndt, Aaron C. Brown, Gregory F. Pfister, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090276605Abstract: Registering memory space for an application is performed. One or more open calls are received from an application to access one or more input/output (I/O) devices. Responsive to receiving the one or more open calls, one or more I/O map and pin calls are sent in order to register memory space for the one or more I/O devices within at least one storage area that will be accessed by the application. A verification is made as to whether the memory space to be registered is associated with the application. Responsive to the memory space being associated with the application, at least one virtual I/O bus address is received for each registered memory space of the one or more I/O devices. At least one I/O command is executed using the at least one virtual I/O bus address without intervention by an operating system or operating system image.Type: ApplicationFiled: May 5, 2008Publication date: November 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Richard L. Arndt, Aaron C. Brown, Bradly G. Frey, Gregory F. Pfister, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090276551Abstract: Mechanisms for enabling both native and non-native input/output virtualization (IOV) in a single I/O adapter are provided. The mechanisms allow a system with a large number of logical partitions (LPARs) and system images to use IOV to share a native IOV enabled I/O adapter or endpoint that does not implement the necessary number of virtual functions (VFs) for each LPAR and system image. A number of VFs supported by the I/O adapter, less one, are assigned to LPARs and system images so that they may make use of native IOV using these VFs. The remaining VF is associated with a virtual intermediary (VI) which handles non-native IOV of the I/O adapter. Any remaining LPARs and system images share the I/O adapter using the non-native IOV via the VI. Thus, any number of LPARs and system images may share the same I/O adapter or endpoint.Type: ApplicationFiled: May 5, 2008Publication date: November 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090276775Abstract: A hypervisor, during device discovery, has code which can examine the south-side management data structure in an adapter's configuration space and determine the type of device which is being configured. The hypervisor may copy the south-side management data structure to a hardware management console (HMC) and the HMC can populate the data structure with south-side data and then pass the structure to the hypervisor to replace the data structure on the adapter. In another embodiment the hypervisor may copy the data structure to the HMC and the HMC can instruct the hypervisor to fill-in the data structure, a virtual function at a time, with south-side management data associations. The administrator can assign south-side data, such as a MAC address for a virtual instance of an Ethernet device, to LPARs sharing the adapter. Thus, a standard way to manage the south-side data of virtual functions is provided.Type: ApplicationFiled: May 5, 2008Publication date: November 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090271494Abstract: When a hypervisor in a computer server receives input/output (I/O) data traffic, the hypervisor sends the I/O data traffic to a security sensor application shared by multiple operating system (OS) partitions. If the security sensor application indicates that the I/O data traffic meets pre-defined security standards in the security sensor application, and the I/O data traffic is addressed to one of the OS partitions in the computer server, the hypervisor sends the I/O data traffic to the applicable OS partition. If the I/O data traffic meets the pre-defined security standards, and the I/O data traffic is not addressed to one of the OS partitions, the hypervisor sends the I/O data traffic to an external destination in a network coupled to the computer server.Type: ApplicationFiled: April 25, 2008Publication date: October 29, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David K. Abercrombie, Aaron C. Brown, Robert G. Kovacs, Renato J. Recio
-
Publication number: 20090249330Abstract: Disclosed is a computer implemented method, apparatus, and computer program product for regulating received data in a multiple operating system environment on an I/O adapter. The method includes a hypervisor for determining that the I/O adapter indicated a receive completion. The hypervisor, responsive to retrieving the receive completion, determines that the receive completion is associated with a successful status. The hypervisor, determines in hypervisor space whether an at least one data packet satisfies a security criterion. The hypervisor, routes the data packet to at least one selected from a group consisting of an operating system partition of the multiple operating system environment and a network address on a local area network.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Inventors: David K. Abercrombie, Aaron C. Brown, Robert G. Kovacs, Renato J. Recio
-
Publication number: 20090144731Abstract: The system and method address the situation where an input/output (I/O) fabric is shared by more than one logical partition (LPAR) and where each LPAR can share with the other LPARs an I/O adapter (IOA). In particular, each LPAR is assigned its own separate address space to access a virtual function (VF) assigned to it such that each LPAR's perception is that it has its own independent IOA. Each VF may be shared across multiple LPARs. Facilities are provided for management of the shared resources of the IOA via a Physical Function (PF) of the IOA by assignment of that PF to an I/O Virtualization Management Partition (IMP). The code running in the IMP acts as a virtual intermediary to the VFs for fully managing the VF error handling, VF reset, and configuration operations. The IMP also acts as an interface to the PF for accessing common VF functionality.Type: ApplicationFiled: December 3, 2007Publication date: June 4, 2009Inventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090141728Abstract: A method of providing visibility of Ethernet components to a subnet manager in a converged InfiniBand over Ethernet (IBOE) network. If a port of an IBOE gateway corresponds to one or more InfiniBand devices, the subnet manager sends fabric management packets (FMPs) to discover the InfiniBand network and assigns physical local identifiers (LIDs) to the InfiniBand devices. If a port of the IBOE gateway corresponds to one or more Ethernet devices, the subnet manager sends FMPs to discover the Ethernet network. The subnet manager adds the Ethernet Media Access Control (MAC) addresses of any responding devices to an LID routing table and assigns LIDs to the Ethernet devices. The subnet manager configures one or more virtual Host Channel Adapters (HCAs) corresponding to the one or more Ethernet MAC addresses in the LID routing table.Type: ApplicationFiled: December 4, 2007Publication date: June 4, 2009Inventors: Aaron C. Brown, Jimmy R. Hill, Gregory F. Pfister, Renato J. Recio
-
Publication number: 20090141727Abstract: A method of providing a converged InfiniBand over Ethernet (IBOE) network. An IBOE switch receives a data packet. If the data packet is received by the IBOE switch from the InfiniBand network, a translation utility generates an Ethernet media access control (MAC) address corresponding to an InfiniBand Local Identifier (LID) of said data packet. The translation utility generates an Ethernet packet and encapsulates an InfiniBand link layer packet before sending the packet. If the data packet is received by the IBOE switch from the Ethernet network, the translation utility removes the Ethernet header from the packet and looks up a LID corresponding to the MAC address. The translation utility calculates an outbound port number and sends the packet.Type: ApplicationFiled: November 30, 2007Publication date: June 4, 2009Inventors: Aaron C. Brown, Jimmy R. Hill, Gregory F. Pfister, Renato J. Recio
-
Publication number: 20090141734Abstract: A method of providing a converged InfiniBand over Ethernet (IBOE) network. An IBOE switch receives a data packet. If the data packet is received by the IBOE switch from the InfiniBand network, a translation utility looks up an Ethernet media access control (MAC) address corresponding to an LID of the packet in a translation table. The translation utility generates an Ethernet packet and encapsulates an InfiniBand link layer packet before sending the packet. If the data packet is received by the IBOE switch from the Ethernet network, the translation utility removes the Ethernet header from the packet and looks up a LID corresponding to the MAC address. The translation utility calculates an outbound port number and sends the packet.Type: ApplicationFiled: December 4, 2007Publication date: June 4, 2009Inventors: Aaron C. Brown, Jimmy R. Hill, Gregory F. Pfister, Renato J. Recio
-
Publication number: 20090133016Abstract: The system and method address the situation where an input/output (I/O) fabric is shared by more than one logical partition (LPAR) and where each LPAR can share with the other LPARs an I/O adapter (IOA). In particular, each LPAR is assigned its own separate address space to access a virtual function (VF) assigned to it such that each LPAR's perception is that it has its own independent IOA. Each VF may be shared across multiple LPARs. Facilities are provided for management of the shared resources of the IOA via a Physical Function (PF) of the IOA by assignment of that PF to an I/O Virtualization Management Partition (IMP). The code running in the IMP acts as a virtual intermediary to the VFs for fully managing the VF error handling, VF reset, and configuration operations. The IMP also acts as an interface to the PF for accessing common VF functionality.Type: ApplicationFiled: November 15, 2007Publication date: May 21, 2009Inventors: Aaron C. Brown, Douglas M. Freimuth, Renato J. Recio, Steven M. Thurber
-
Publication number: 20090133028Abstract: A system and method which provide a mechanism for an I/O virtualization management partition (IMP) to control the shared functionality of an I/O virtualization (IOV) enabled I/O adapter (IOA) through a physical function (PF) of the IOA while the virtual functions (VFs) are assigned to client partitions for normal I/O operations directly. A hypervisor provides device-independent facilities to the code running in the IMP and client partitions. The IMP may include device specific code without the hypervisor needing to sacrifice its size, robustness, and upgradeability. The hypervisor provides the virtual intermediary functionally for the sharing and control of the IOA's control functions.Type: ApplicationFiled: November 15, 2007Publication date: May 21, 2009Inventors: Aaron C. Brown, Douglas M. Freimuth, James A. Pafumi, Renato J. Recio, Steven M. Thurber