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: 8576861
    Abstract: 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: Grant
    Filed: May 21, 2007
    Date of Patent: November 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jeffrey Paul Messing
  • Patent number: 8295290
    Abstract: 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: Grant
    Filed: September 3, 2009
    Date of Patent: October 23, 2012
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jorge Rafael Nogueras
  • Patent number: 8139595
    Abstract: 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: Grant
    Filed: January 11, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
  • Patent number: 7961606
    Abstract: 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: Grant
    Filed: August 19, 2008
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventor: James Brian Cunningham
  • Publication number: 20110051734
    Abstract: 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: Application
    Filed: September 3, 2009
    Publication date: March 3, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Jorge Rafael Nogueras
  • Patent number: 7835373
    Abstract: 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: Grant
    Filed: March 30, 2007
    Date of Patent: November 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
  • Publication number: 20100223419
    Abstract: 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: Application
    Filed: March 2, 2009
    Publication date: September 2, 2010
    Applicant: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar DeLeon, III, Matthew Ryan Ochs
  • Patent number: 7715321
    Abstract: 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: Grant
    Filed: January 30, 2007
    Date of Patent: May 11, 2010
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Venkat Venkatsubra
  • Publication number: 20090249371
    Abstract: 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: Application
    Filed: March 28, 2008
    Publication date: October 1, 2009
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Matthew Ryan Ochs
  • Publication number: 20090182967
    Abstract: 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: Application
    Filed: January 11, 2008
    Publication date: July 16, 2009
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III
  • Publication number: 20080304415
    Abstract: 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: Application
    Filed: August 19, 2008
    Publication date: December 11, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINESS CORPORATION
    Inventor: JAMES BRIAN CUNNINGHAM
  • Publication number: 20080291835
    Abstract: 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: Application
    Filed: May 21, 2007
    Publication date: November 27, 2008
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, III, Paul Nguyen
  • Publication number: 20080295098
    Abstract: 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: Application
    Filed: August 8, 2008
    Publication date: November 27, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Omar Cardona, James Brian Cunningham
  • Publication number: 20080291933
    Abstract: 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: Application
    Filed: May 21, 2007
    Publication date: November 27, 2008
    Inventors: OMAR CARDONA, James Brian Cunningham, Baltazar De Leon, III, Jeffrey Paul Messing
  • Publication number: 20080259951
    Abstract: 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: Application
    Filed: April 23, 2007
    Publication date: October 23, 2008
    Inventors: OMAR CARDONA, James Brian Cunningham, Baltazar De Leon, Jorge Rafael Nogueras
  • Patent number: 7436773
    Abstract: 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: Grant
    Filed: December 7, 2004
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventor: James Brian Cunningham
  • Publication number: 20080240127
    Abstract: 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: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Inventors: Omar CARDONA, James Brian CUNNINGHAM, Baltazar DE LEON
  • Patent number: 7430220
    Abstract: 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: Grant
    Filed: July 29, 2005
    Date of Patent: September 30, 2008
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James Brian Cunningham
  • Publication number: 20080191872
    Abstract: 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: Application
    Filed: February 14, 2007
    Publication date: August 14, 2008
    Inventors: OMAR CARDONA, JAMES BRIAN CUNNINGHAM, BALTAZAR DE LEON
  • Publication number: 20080183901
    Abstract: 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: Application
    Filed: January 30, 2007
    Publication date: July 31, 2008
    Inventors: Omar Cardona, James Brian Cunningham, Baltazar De Leon, Venkat Venkatsubra