Patents by Inventor Keqiang He
Keqiang He 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: 9985890Abstract: 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: GrantFiled: March 14, 2016Date of Patent: May 29, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Patent number: 9985889Abstract: 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: GrantFiled: March 14, 2016Date of Patent: May 29, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Patent number: 9942151Abstract: 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 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. The modified response packet is sent from the vSwitch to the VM.Type: GrantFiled: March 14, 2016Date of Patent: April 10, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Publication number: 20170264549Abstract: 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: ApplicationFiled: March 14, 2016Publication date: September 14, 2017Applicant: International Business Machines CorporationInventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Publication number: 20170264546Abstract: 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: ApplicationFiled: March 14, 2016Publication date: September 14, 2017Applicant: International Business Machines CorporationInventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Publication number: 20170264548Abstract: 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: ApplicationFiled: March 14, 2016Publication date: September 14, 2017Applicant: International Business Machines CorporationInventors: KANAK B. AGARWAL, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Publication number: 20170264547Abstract: 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 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. The modified response packet is sent from the vSwitch to the VM.Type: ApplicationFiled: March 14, 2016Publication date: September 14, 2017Applicant: International Business Machines CorporationInventors: KANAK B. AGARWAL, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
-
Patent number: 9729448Abstract: A method, system, and computer program product for determining a congestion value in a networking component in a data network are provided in the illustrative embodiments. A first packet is set to use a first priority level and a second packet is set to use a second priority level. The second priority level is lower than the first priority level. The second packet is transmitted after the first packet to the networking component, causing the networking component to transmit the first and the second packets after they are received at the networking component. A function is applied to an arrival delay to compute the congestion value of the networking component, wherein the arrival delay comprises a length of an elapsed period between receiving a transmission of the first packet from the networking component and receiving a transmission of the second packet from the networking component.Type: GrantFiled: January 22, 2015Date of Patent: August 8, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kanak B. Agarwal, Wesley M. Felter, Keqiang He, Eric J. Rozner
-
Patent number: 9674297Abstract: A network adapter for handling packet reordering receives a set of packets. The network adapter is configured to aggregate a subset of in-sequence packets from the set of packets into at least one segment before passing the at least one segment from the network adapter to a next layer in a protocol stack. An in-sequence packet from the set of packets is stored into a first segment. Responsive to receiving an out of sequence packet in the set of packets, the out of sequence packet is stored in a second segment. An adaptive timeout timer is activated responsive to receiving the out of sequence packet, and the first segment is held at the network adapter while the adaptive timeout timer runs. Prior to the adaptive timeout timer expiring, a missing packet is received and included in the first segment. The network adapter sends the first segment to the next layer.Type: GrantFiled: February 9, 2015Date of Patent: June 6, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kanak B. Agarwal, Wesley M. Felter, Keqiang He, Eric J. Rozner
-
Publication number: 20160234127Abstract: A network adapter for handling packet reordering receives a set of packets. The network adapter is configured to aggregate a subset of in-sequence packets from the set of packets into at least one segment before passing the at least one segment from the network adapter to a next layer in a protocol stack. An in-sequence packet from the set of packets is stored into a first segment. Responsive to receiving an out of sequence packet in the set of packets, the out of sequence packet is stored in a second segment. An adaptive timeout timer is activated responsive to receiving the out of sequence packet, and the first segment is held at the network adapter while the adaptive timeout timer runs. Prior to the adaptive timeout timer expiring, a missing packet is received and included in the first segment. The network adapter sends the first segment to the next layer.Type: ApplicationFiled: February 9, 2015Publication date: August 11, 2016Applicant: International Business Machines CorporationInventors: KANAK B. AGARWAL, Wesley M. Felter, Keqiang He, Eric J. Rozner
-
Publication number: 20160218976Abstract: A method, system, and computer program product for determining a congestion value in a networking component in a data network are provided in the illustrative embodiments. A first packet is set to use a first priority level and a second packet is set to use a second priority level. The second priority level is lower than the first priority level. The second packet is transmitted after the first packet to the networking component, causing the networking component to transmit the first and the second packets after they are received at the networking component. A function is applied to an arrival delay to compute the congestion value of the networking component, wherein the arrival delay comprises a length of an elapsed period between receiving a transmission of the first packet from the networking component and receiving a transmission of the second packet from the networking component.Type: ApplicationFiled: January 22, 2015Publication date: July 28, 2016Applicant: International Business Machines CorporationInventors: Kanak B. Agarwal, Wesley M. Felter, Keqiang He, Eric J. Rozner
-
Publication number: 20160212055Abstract: At an application at a sender system, when an amount of data to be transmitted from the sender exceeds a flow size threshold, the data is divided into a set of chunks of a size. According to a mapping selection rule, a subset is selected from a set of selected label mappings, wherein each label mapping in the subset maps an original label in the data to a different virtual label. For a chunk, when by routing the chunk to a first networking component corresponding to a first virtual label a fraction of the amount of data that will have been routed to the first component will exceed a mapping threshold, the original label in the chunk is replaced with a second virtual label from a second label mapping in the subset. The chunk is routed to a second networking component corresponding to the second virtual label.Type: ApplicationFiled: January 21, 2015Publication date: July 21, 2016Applicant: International Business Machines CorporationInventors: KANAK B. AGARWAL, John B. Carter, Wesley M. Felter, Keqiang He, Eric J. Rozner