Patents by Inventor Wesley M. Felter

Wesley M. Felter 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: 10896059
    Abstract: Dynamically allocating cache in a multi-tenant infrastructure includes monitoring cache usage for multiple workloads in a multi-tenant processing infrastructure to determine a workload phase. A baseline performance level per workload is determined. The baseline performance level is dependent upon the workload phase. The workloads for each tenant are categorized based on cache utilization and the cache is allocated to each workload based on the baseline performance level, cache utilization, and system wide cache capacity.
    Type: Grant
    Filed: March 13, 2017
    Date of Patent: January 19, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wesley M. Felter, Alexandre P. Ferreira, Karthick Rajamani, Juan C. Rubio, Cong Xu
  • Patent number: 10833996
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.
    Type: Grant
    Filed: January 4, 2019
    Date of Patent: November 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 10810038
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers receiving data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment. Processor packet receipt time is determined for receiving and processing of a packet or a batch of packets via a network stack associated with the computing device. An updated total container time remaining is calculated for the first container accounting for the processor packet receipt time. The updated total container time remaining is enforced by dropping a subsequent packet or batch of packets received at the network stack if the updated total container time remaining is insufficient.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: October 20, 2020
    Assignee: International Business Machines Corporation
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Patent number: 10768997
    Abstract: A type of a request that is currently being processed at a system is determined. A distribution is selected from a set of processing time distributions, the distribution forming a model that is applicable to the type. A threshold point is computed for the model. A processing time that exceeds a threshold point processing time is regarded as exhibiting tail latency. Tail latency includes a delay in processing of the request due to a reason other than a utilization of a resource of the system exceeding a threshold utilization and a size of a queue in the system exceeding a threshold size. An evaluation is made that the request will experience tail latency during processing at the system and the processing of the request at the system is aborted. The request is offloaded for processing at a peer system in a load-balanced group of systems.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: September 8, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, Wenzhi Cui, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Patent number: 10700978
    Abstract: A determination is made at an application executing in conjunction with a switch that a request packet sent to a virtualized computing entity (VCE) connected to the switch should be offloaded to a second VCE. A destination of the request packet is changed from the VCE to the second VCE, to form a first modified request packet. An evaluation is made whether a response packet from the second VCE, which is responsive to the request packet, is usable in the data communication with a sender of the request packet. When the evaluating is affirmative, the first modified request packet is caused to be transmitted from the switch to the second VCE.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: June 30, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, Wenzhi Cui, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Patent number: 10545786
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: January 28, 2020
    Assignee: International Business Machines Corporation
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Patent number: 10531332
    Abstract: At an application executing in conjunction with a vSwitch a determination is made that a first flow from a first VM is experiencing congestion. The first flow is selected for throttling. a second flow is also selected for throttling, the second flow using a portion of a network path used by the first flow in a data network. At the application, a total CWND adjustment is distributed between the first flow and the second flow. A first CWND value associated with the first flow is adjusted by a first portion of the total CWND window, and a second CWND value associated with the second flow is adjusted by a second portion of the total CWND window.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: January 7, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Eric J. Rozner, Keqiang He
  • Patent number: 10425338
    Abstract: A timer is associated with a packet of a flow from a VM at an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system. At the application, using a counter, a number of packets of the flow that are received and acknowledged in response packets is counted, the response packets being received from a receiver of the flow. At the application, using a period measured by the timer and the number of received packets acknowledged as counted by the counter, a CWND value is computed. The CWND value is applied to the flow at the vSwitch such that the vSwitch transmits, from the flow to a network, only a number of packets up to the CWND value.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: September 24, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20190158404
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.
    Type: Application
    Filed: January 4, 2019
    Publication date: May 23, 2019
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20190095237
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Application
    Filed: April 19, 2018
    Publication date: March 28, 2019
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Publication number: 20190095238
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Application
    Filed: April 19, 2018
    Publication date: March 28, 2019
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Publication number: 20190095236
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers receiving data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment. Processor packet receipt time is determined for receiving and processing of a packet or a batch of packets via a network stack associated with the computing device. An updated total container time remaining is calculated for the first container accounting for the processor packet receipt time. The updated total container time remaining is enforced by dropping a subsequent packet or batch of packets received at the network stack if the updated total container time remaining is insufficient.
    Type: Application
    Filed: September 22, 2017
    Publication date: March 28, 2019
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Publication number: 20190095235
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Application
    Filed: September 22, 2017
    Publication date: March 28, 2019
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Patent number: 10241827
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Grant
    Filed: April 19, 2018
    Date of Patent: March 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Patent number: 10237186
    Abstract: At an application executing in conjunction with a vSwitch in a host system, a CWND value is computed corresponding to a flow from a VM using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. The CWND value is stored in a field in a response packet received from a receiver of the flow, the field being designated for carrying a RWND value, the response packet corresponding to a packet in the flow. The storing forms a modified response packet.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: March 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 10230640
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a CWND value corresponding to a flow from a VM is computed using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. A set of flow parameters is extracted, at the application, from the flow. At the application, a normalized value corresponding to the flow is computed. At the application, the CWND value is reduced according to the normalized value of the flow to form a reduced CWND value. The reduced CWND value is applied to the flow at the vSwitch such that the vSwitch transmits, from the flow to a network, only a number of packets up to the reduced CWND value.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: March 12, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 10225192
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: March 5, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 10223153
    Abstract: Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.
    Type: Grant
    Filed: April 19, 2018
    Date of Patent: March 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Wesley M. Felter, Junaid Khalid, Karthick Rajamani, Eric Rozner, Cong Xu
  • Patent number: 10182005
    Abstract: In one embodiment, a system includes a switch controller in communication with a plurality of switches in a switch cluster via a communication protocol. The switch controller includes a processor and logic integrated with and/or executable by the processor. The logic is configured to cause the processor to receive an address resolution protocol (ARP) request packet as a unicast packet from an entry switch in the switch cluster, the entry switch being connected to a first host. The logic is also configured to cause the processor to send an ARP response packet as a unicast packet to the entry switch. The ARP response packet indicates a media access control (MAC) address of the switch controller as a source MAC (SMAC) for the ARP response packet, and an internet protocol (IP) address of a virtual router of the switch controller as being a source of the ARP response packet.
    Type: Grant
    Filed: July 27, 2016
    Date of Patent: January 15, 2019
    Assignee: International Business Machines Corporation
    Inventors: Colin K. Dixon, Wesley M. Felter, Sriharsha Jayanarayana, Dayavanti G. Kamath, Abhijit P. Kumbhare, Anees A. Shaikh
  • Publication number: 20180260330
    Abstract: Dynamically allocating cache in a multi-tenant infrastructure includes monitoring cache usage for multiple workloads in a multi-tenant processing infrastructure to determine a workload phase. A baseline performance level per workload is determined. The baseline performance level is dependent upon the workload phase. The workloads for each tenant are categorized based on cache utilization and the cache is allocated to each workload based on the baseline performance level, cache utilization, and system wide cache capacity.
    Type: Application
    Filed: March 13, 2017
    Publication date: September 13, 2018
    Inventors: Wesley M. Felter, Alexandre P. Ferreira, Karthick Rajamani, Juan C. Rubio, Cong Xu