Patents by Inventor James Brian Cunningham
James Brian Cunningham 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: 8576861Abstract: A computer implemented method, apparatus, and computer usable program code for processing packets for transmission. A set of interface specific network buffers is identified from a plurality of buffers containing data for a packet received for transmission. A data structure describing the set of interface specific network buffers within the plurality of buffers is created, wherein a section in the data structure for an interface specific network buffer in the set of interface specific network buffers includes information about a piece of data in interface specific network buffer, wherein the data structure is used to process the packet for transmission.Type: GrantFiled: May 21, 2007Date of Patent: November 5, 2013Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jeffrey Paul Messing
-
Patent number: 8295290Abstract: Where parallel links between network devices are aggregated into link groups to support the transport of associated data streams, the link groups can be managed in an energy efficient manner by defining each link group as consisting of a primary link and one or more secondary links. The primary link in a link group remains enabled at all times but the secondary links are enabled only when needed and are disabled when no longer needed, minimizing power consumption for the secondary links (and the link group).Type: GrantFiled: September 3, 2009Date of Patent: October 23, 2012Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jorge Rafael Nogueras
-
Patent number: 8139595Abstract: A computer implemented method, computer product code, and data processing system are provided for transferring data between virtual partitions. A request is received to transfer a packet from a first partition to a second partition. A free buffer is identified from a buffer pool of the second partition, and a receive descriptor is written. A bit within the receive descriptor is set to identify a receive descriptor ring of second partition. A first interrupt is generated to the second partition. The packet is then copied to the free buffer, and the receive descriptor is updated.Type: GrantFiled: January 11, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
-
Patent number: 7961606Abstract: A method, system, and computer program product for controlling data packet traffic flow into a link partner device such as an ethernet adapter. In one embodiment, an occupancy level of an adapter receive queue is monitored to detect a receive queue overrun or underrun condition or event. The detected overrun or underrun condition or event is utilized as the criteria for adjusting a pause time value within a pause time flow control frame. The pause time flow control frame is transmitted from the link partner device to a corresponding remote link partner device to pause data packet transmission in accordance with the adjusted pause time value.Type: GrantFiled: August 19, 2008Date of Patent: June 14, 2011Assignee: International Business Machines CorporationInventor: James Brian Cunningham
-
Publication number: 20110051734Abstract: Where parallel links between network devices are aggregated into link groups to support the transport of associated data streams, the link groups can be managed in an energy efficient manner by defining each link group as consisting of a primary link and one or more secondary links. The primary link in a link group remains enabled at all times but the secondary links are enabled only when needed and are disabled when no longer needed, minimizing power consumption for the secondary links (and the link group).Type: ApplicationFiled: September 3, 2009Publication date: March 3, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jorge Rafael Nogueras
-
Patent number: 7835373Abstract: A computer implemented method and apparatus are provided for transferring data in a logical partitioned data processing system. A receiving adapter receives data from a network. The receiving adapter transfers the data to a pre-mapped buffer if the data is to be sent to a target adapter. A virtual bridge receives the pre-mapped buffer from the receiving adapter and transfers the pre-mapped buffer to the target adapter. The target adapter receives the pre-mapped buffer from the virtual bridge and determines that the received buffer is pre-mapped. The target adapter accesses the pre-mapped buffer using pre-mapped mapping, and transmits the data contained therein.Type: GrantFiled: March 30, 2007Date of Patent: November 16, 2010Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
-
Publication number: 20100223419Abstract: A method, system, and computer program product for circumventing data copy operations in a virtual network environment. The method includes copying a data packet from a user space to a first kernel space of a first logical partition (LPAR). Using a hypervisor, a mapped address of a receiving virtual Ethernet driver in a second LPAR is requested. The first mapped address is associated with a buffer of the receiving virtual Ethernet driver. The data packet is copied directly from the first kernel space of the first LPAR to a destination in a second kernel space of the second LPAR. The destination is determined utilizing the mapped address. The direct copying to the destination bypasses (i) a data packet copy operation from the first kernel space to a transmitting virtual Ethernet driver of the first LPAR, and (ii) a data packet copy operation via the hypervisor. The receiving virtual Ethernet driver is notified that the data packet has been successfully copied to the destination in the second LPAR.Type: ApplicationFiled: March 2, 2009Publication date: September 2, 2010Applicant: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar DeLeon, III, Matthew Ryan Ochs
-
Patent number: 7715321Abstract: A computer implemented method and data processing system for the detection and recovery of a network interface card TCP acceleration offload failure. Responsive to a failure to receive an acknowledgement of a transmission control protocol segment containing a request for a transmission control protocol offload function in a network interface card, the transmission control protocol segment is retransmitted without the request for a transmission control protocol offload function. When an acknowledgement of the retransmitted transmission control protocol segment without the request for a transmission control protocol offload function is received, a counter is incremented which indicates a failure of the transmission control protocol offload function. Responsive to the counter exceeding a predefined number of allowed failures, all requests to the transmission control protocol offload function for the network interface card are stopped.Type: GrantFiled: January 30, 2007Date of Patent: May 11, 2010Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Venkat Venkatsubra
-
Publication number: 20090249371Abstract: The present invention provides a computer implemented method and apparatus for allocating communication buffers in a data processing system. The method comprises a streamlined mbuf pool service receiving a call from an I/O device driver, then determining if at least one mbuf linked list is empty. In response to a determination that at least one mbuf linked list is empty, the streamlined mbuf pool service calls an OS mbuf allocator to provide all mbufs in a second mbuf linked list, wherein the second mbuf linked list comprises a head of the second mbuf linked list. The streamlined mbuf pool service repopulates the second mbuf linked list, obtains a requested mbuf from the second mbuf linked list, and advances the head of the second mbuf linked list by at least one mbuf. The streamlined mbuf pool service then returns the requested mbuf to the I/O device driver, wherein the OS mbuf allocator allocates all mbufs in the second mbuf linked list.Type: ApplicationFiled: March 28, 2008Publication date: October 1, 2009Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Matthew Ryan Ochs
-
Publication number: 20090182967Abstract: A computer implemented method, computer product code, and data processing system are provided for transferring data between virtual partitions. A request is received to transfer a packet from a first partition to a second partition. A free buffer is identified from a buffer pool of the second partition, and a receive descriptor is written. A bit within the receive descriptor is set to identify a receive descriptor ring of second partition. A first interrupt is generated to the second partition. The packet is then copied to the free buffer, and the receive descriptor is updated.Type: ApplicationFiled: January 11, 2008Publication date: July 16, 2009Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
-
Publication number: 20080304415Abstract: A method, system, and computer program product for controlling data packet traffic flow into a link partner device such as an ethernet adapter. In one embodiment, an occupancy level of an adapter receive queue is monitored to detect a receive queue overrun or underrun condition or event. The detected overrun or underrun condition or event is utilized as the criteria for adjusting a pause time value within a pause time flow control frame. The pause time flow control frame is transmitted from the link partner device to a corresponding remote link partner device to pause data packet transmission in accordance with the adjusted pause time value.Type: ApplicationFiled: August 19, 2008Publication date: December 11, 2008Applicant: INTERNATIONAL BUSINESS MACHINESS CORPORATIONInventor: JAMES BRIAN CUNNINGHAM
-
Publication number: 20080291835Abstract: A computer implemented method, apparatus, and computer usable program code for managing buffers. A number of buffers present in a pool of buffers assigned to a network device driver are monitored, wherein the buffers in the pool of buffers are used to process packets of data for transmission onto a network. A request is denied from a transport layer for a buffer from the pool of buffers if the number of buffers falls below a threshold level, wherein at least one buffer is present in a buffer pool if the number of buffers falls below the threshold level.Type: ApplicationFiled: May 21, 2007Publication date: November 27, 2008Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Paul Nguyen
-
Publication number: 20080295098Abstract: The present invention provides a computer implemented method, system, and computer program product of dynamic segmentation based on processor load using various steps. If a network interface card is enabled for segmentation, a determination is made as to whether a processor utilization value is greater than a threshold. If processor utilization value is above the threshold, segments are offloaded to the network interface card, wherein segments are sent to the network interface card.Type: ApplicationFiled: August 8, 2008Publication date: November 27, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Omar Cardona, James Brian Cunningham
-
Publication number: 20080291933Abstract: A computer implemented method, apparatus, and computer usable program code for processing packets for transmission. A set of interface specific network buffers is identified from a plurality of buffers containing data for a packet received for transmission. A data structure describing the set of interface specific network buffers within the plurality of buffers is created, wherein a section in the data structure for an interface specific network buffer in the set of interface specific network buffers includes information about a piece of data in interface specific network buffer, wherein the data structure is used to process the packet for transmission.Type: ApplicationFiled: May 21, 2007Publication date: November 27, 2008Inventors: OMAR CARDONA, James Brian Cunningham, Baltazar De Leon, III, Jeffrey Paul Messing
-
Publication number: 20080259951Abstract: A computer implemented method, data processing system, and computer program product for dynamically replacing a network adapter with minimal or no communications downtime. When a notification to replace a first network adapter is received, the process in the illustrative embodiments detects a replacement network adapter and a network interface corresponding to the replacement network adapter. The process configures a replacement network adapter, and pauses all communications to the first network adapter by dropping all incoming data packets to the first network adapter. The network interface corresponding to the first network adapter is redirected to point to the replacement network adapter. The first network adapter and the network interface corresponding to the replacement network adapter are then removed. Communication flow to the replacement network adapter is restored.Type: ApplicationFiled: April 23, 2007Publication date: October 23, 2008Inventors: OMAR CARDONA, James Brian Cunningham, Baltazar De Leon, Jorge Rafael Nogueras
-
Patent number: 7436773Abstract: A method, system, and computer program product for controlling data packet traffic flow into a link partner device such as an ethernet adapter. In one embodiment, an occupancy level of an adapter receive queue is monitored to detect a receive queue overrun or underrun condition or event. The detected overrun or underrun condition or event is utilized as the criteria for adjusting a pause time value within a pause time flow control frame. The pause time flow control frame is transmitted from the link partner device to a corresponding remote link partner device to pause data packet transmission in accordance with the adjusted pause time value.Type: GrantFiled: December 7, 2004Date of Patent: October 14, 2008Assignee: International Business Machines CorporationInventor: James Brian Cunningham
-
Publication number: 20080240127Abstract: A computer implemented method and apparatus are provided for transferring data in a logical partitioned data processing system. A receiving adapter receives data from a network. The receiving adapter transfers the data to a pre-mapped buffer if the data is to be sent to a target adapter. A virtual bridge receives the pre-mapped buffer from the receiving adapter and transfers the pre-mapped buffer to the target adapter. The target adapter receives the pre-mapped buffer from the virtual bridge and determines that the received buffer is pre-mapped. The target adapter accesses the pre-mapped buffer using pre-mapped mapping, and transmits the data contained therein.Type: ApplicationFiled: March 30, 2007Publication date: October 2, 2008Inventors: Omar CARDONA, James Brian CUNNINGHAM, Baltazar DE LEON
-
Patent number: 7430220Abstract: The present invention provides a computer implemented method, system, and computer program product of dynamic segmentation based on processor load using various steps. If a network interface card is enabled for segmentation, a determination is made as to whether a processor utilization value is greater than a threshold. If processor utilization value is above the threshold, segments are offloaded to the network interface card, wherein segments are sent to the network interface card.Type: GrantFiled: July 29, 2005Date of Patent: September 30, 2008Assignee: International Business Machines CorporationInventors: Omar Cardona, James Brian Cunningham
-
Publication number: 20080191872Abstract: A computer implemented method, apparatus, and computer usable program product for securing an electronic device is provided. The process withholds power to an electronic device in response to a failure to detect a presence of a trusted zone signal.Type: ApplicationFiled: February 14, 2007Publication date: August 14, 2008Inventors: OMAR CARDONA, JAMES BRIAN CUNNINGHAM, BALTAZAR DE LEON
-
Publication number: 20080183901Abstract: A computer implemented method and data processing system for the detection and recovery of a network interface card TCP acceleration offload failure. Responsive to a failure to receive an acknowledgement of a transmission control protocol segment containing a request for a transmission control protocol offload function in a network interface card, the transmission control protocol segment is retransmitted without the request for a transmission control protocol offload function. When an acknowledgement of the retransmitted transmission control protocol segment without the request for a transmission control protocol offload function is received, a counter is incremented which indicates a failure of the transmission control protocol offload function. Responsive to the counter exceeding a predefined number of allowed failures, all requests to the transmission control protocol offload function for the network interface card are stopped.Type: ApplicationFiled: January 30, 2007Publication date: July 31, 2008Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, Venkat Venkatsubra