Patents by Inventor Terry L. Nelms, II

Terry L. Nelms, II 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: 8532129
    Abstract: Assigning work, such as data packets, from a plurality of sources, such as data queues in a network processing device, to a plurality of sinks, such as processor threads in the network processing device is provided. In a given processing period, sinks that are available to receive work are identified and sources qualified to send work to the available sinks are determined taking into account any assignment constraints. A single source is selected from an overlap of the qualified sources and sources having work available. This selection may be made using a hierarchical source scheduler for processing subsets of supported sources simultaneously in parallel. A sink to which work from the selected source may be assigned is selected from available sinks qualified to receive work from the selected source.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: September 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Jean L. Calvignac, Chih-Jen Chang, Hubertus Franke, Terry L. Nelms, II, Fabrice Jean Verplanken
  • Publication number: 20120224486
    Abstract: A method, switch, and/or computer program product routes IP packet flows. An Ethernet switch receives an IP packet flow. Each of the packets in the IP packet flow has a header that contains a same 5-tuple. A load balancing control engine determines whether servers in a group of servers are balanced in their utilization according to 5-tuple redirection rules contained in the load balancing control engine. In response to the load balancing control engine determining, according to the 5-tuple redirection rules, that the servers are balanced, the Ethernet switch routes the IP packet flow to the servers. In response to the load balancing control engine determining that the servers are unbalanced, the load balancing control engine instructs the Ethernet switch to redirect the IP packet flow to a server that is relatively less busy than other servers.
    Type: Application
    Filed: May 10, 2012
    Publication date: September 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: TZVETELINA B. BATTESTILLI, STEVEN W. HUNTER, TERRY L. NELMS, II, GARY R. SHIPPY
  • Publication number: 20120224581
    Abstract: A method, system, and/or computer program product steers Internet Protocol (IP) packet fragments. A switch receives a first IP packet fragment that contains a 3-tuple in its header. In response to determining that the first IP packet fragment is not a lead packet fragment in the series of IP packet fragments, the first IP packet fragment is pushed onto a data stack. The switch subsequently receives a second IP packet fragment that contains a 5-tuple, which includes the 3-tuple from the first IP packet fragment plus a source port and destination port used by the second IP packet fragment. The 3-tuple is mapped to the 5-tuple in a fragmentation table, thus enabling both the first IP packet fragment and the second IP packet fragment to be steered to the destination port to which the second IP packet fragment is being sent.
    Type: Application
    Filed: May 11, 2012
    Publication date: September 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Tzvetelina B. BATTESTILLI, Steven W. HUNTER, Terry L. NELMS, II, Gary R. SHIPPY
  • Patent number: 8243618
    Abstract: A method, system and/or computer program steer internet protocol (IP) packet fragments that are components of a series of IP packet fragments. A switch receives an IP packet fragment. In response to determining that the fragment is not a lead packet fragment in a series of IP packet fragments that make up an original IP packet, the IP packet fragment is pushed onto a data stack. The switch then receives an IP packet fragment which is determined to be the lead packet fragment in a series of IP packet fragments. The IP 5-tuple from the lead packet fragment is parsed to steer all fragments in the series to a destination port.
    Type: Grant
    Filed: April 26, 2010
    Date of Patent: August 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Tzvetelina B. Battestilli, Steven W. Hunter, Terry L. Nelms, II, Gary R. Shippy
  • Patent number: 8243598
    Abstract: A method, system and/or computer program product route IP packet flows. An Ethernet switch is coupled to a load balancing control engine, which contains load balancing logic that is logically isolated from the Ethernet switch. The Ethernet switch, which routes IP packet flows to servers, receives an IP packet flow. The load balancing control engine determines if the servers are balanced in their workloads. In response to the load balancing control engine determining that the servers are balanced, the Ethernet switch routes the IP packet flow to the servers without the Ethernet switch directly receiving any feedback from the servers regarding their workloads. In response to the load balancing control engine determining that the servers are unbalanced, the load balancing control engine instructs the Ethernet switch to redirect the IP packet flow to a server that is relatively less busy than other servers.
    Type: Grant
    Filed: April 26, 2010
    Date of Patent: August 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Tzvetelina B. Battestilli, Steven W. Hunter, Terry L. Nelms, II, Gary R. Shippy
  • Publication number: 20110261811
    Abstract: A method, system and/or computer program product route IP packet flows. An Ethernet switch is coupled to a load balancing control engine, which contains load balancing logic that is logically isolated from the Ethernet switch. The Ethernet switch, which routes IP packet flows to servers, receives an IP packet flow. The load balancing control engine determines if the servers are balanced in their workloads. In response to the load balancing control engine determining that the servers are balanced, the Ethernet switch routes the IP packet flow to the servers without the Ethernet switch directly receiving any feedback from the servers regarding their workloads. In response to the load balancing control engine determining that the servers are unbalanced, the load balancing control engine instructs the Ethernet switch to redirect the IP packet flow to a server that is relatively less busy than other servers.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: TZVETELINA B. BATTESTILLI, STEVEN W. HUNTER, TERRY L. NELMS, II, GARY R. SHIPPY
  • Publication number: 20110261822
    Abstract: A method, system and/or computer program steer internet protocol (IP) packet fragments that are components of a series of IP packet fragments. A switch receives an IP packet fragment. In response to determining that the fragment is not a lead packet fragment in a series of IP packet fragments that make up an original IP packet, the IP packet fragment is pushed onto a data stack. The switch then receives an IP packet fragment which is determined to be the lead packet fragment in a series of IP packet fragments. The IP 5-tuple from the lead packet fragment is parsed to steer all fragments in the series to a destination port.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: TZVETELINA B. BATTESTILLI, STEVEN W. HUNTER, TERRY L. NELMS, II, GARY R. SHIPPY
  • Publication number: 20110158250
    Abstract: A method and apparatus for assigning work, such as data packets, from a plurality of sources, such as data queues in a network processing device, to a plurality of sinks, such as processor threads in the network processing device. In a given processing period, sinks that are available to receive work are identified and sources qualified to send work to the available sinks are determined taking into account any assignment constraints. A single source is selected from an overlap of the qualified sources and sources having work available. This selection may be made using a hierarchical source scheduler for processing subsets of supported sources simultaneously in parallel. A sink to which work from the selected source may be assigned is selected from available sinks qualified to receive work from the selected source.
    Type: Application
    Filed: December 30, 2009
    Publication date: June 30, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Claude Basso, Jean L. Calvignac, Chih-Jen Chang, Hubertus Franke, Terry L. Nelms, II, Fabrice Jean Verplanken
  • Publication number: 20110072247
    Abstract: Methods, systems, and computer program products for implementing fast application programmable timers are provided. A computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a request to set a user accessible timer, the request received from an application thread. The user accessible timer is set in response to receiving the request, the setting including initializing a counter. The counter is decremented until an interrupt threshold has been reached. An interrupt signal is transmitted to the application thread in response to detecting that the interrupt threshold has been reached.
    Type: Application
    Filed: September 21, 2009
    Publication date: March 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Hubertus Franke, James Xenidis, Terry L. Nelms, II, Hollis R. Blanchard