Patents by Inventor Norman K. Chen

Norman K. Chen 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: 8687503
    Abstract: A method for identifying a failed network interface card in a system having two NICs configured as a team includes the steps of transmitting a first data packet from the first NIC to a third NIC, wherein the third NIC is not a member of the team, and transmitting a second data packet from the first NIC to the second NIC or from the second NIC to the third NIC, depending on whether the third NIC responds to the transmission of the first data packet. One advantage of the disclosed method is that it specifically identifies which NIC within the team has failed, which is something that cannot be determined by simply exchanging packets between the two NICs.
    Type: Grant
    Filed: February 28, 2012
    Date of Patent: April 1, 2014
    Assignee: Nvidia Corporation
    Inventors: Hemamalini Manickavasagam, Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Thomas A. Maufer, Sameer Nanda
  • Patent number: 8432788
    Abstract: One embodiment of the present invention sets forth a method for failing back network connections to a network interface card (NIC) within a computing device. The method includes the steps of monitoring a failed or unreliable NIC within the computing device, determining that the failed or unreliable NIC has recovered, determining that a functional NIC within the computing device is overloaded, selecting a first connection set communicating through the overloaded NIC, and transferring the first connection set to the recovered NIC. With this approach, intelligent decisions can be advantageously made regarding whether to fail back a network connection set to a recovered NIC based on the traffic loads on the overloaded NIC and the recovered NIC. Such an approach to balancing network traffic across the functional NICs within a computing device may substantially improve overall performance relative to prior art techniques.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: April 30, 2013
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 8300647
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: October 30, 2012
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 8284783
    Abstract: A method of avoiding cache corruption when establishing a network connection includes the steps of transmitting a request to a computing device, where the request includes a masquerade layer-3 address, and receiving a reply transmitted by the computing device in response to the request, where the reply includes a MAC address associated with the computing device. Since the masquerade layer-3 address is unique relative to the computer network, computing devices within the network do no overwrite existing layer-3-to-MAC relationships in their respective caches with the layer-3-to-MAC relationship reflected in the request. Thus, the method enables a network connection to be initiated between two computing devices in the same computer network while avoiding neighbor cache pollution on other computing devices in that network.
    Type: Grant
    Filed: December 9, 2005
    Date of Patent: October 9, 2012
    Assignee: NVIDIA Corporation
    Inventors: Thomas A. Maufer, Ayaz Abdulla, Norman K. Chen, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda, Anand Rajagopalan
  • Patent number: 8284782
    Abstract: A method for establishing a network connection between two computing devices within the same computer network includes the steps of generating a masquerade IP address request, where the masquerade IP address request includes a masquerade MAC address, transmitting the masquerade IP address request to a DHCP server, and receiving a masquerade IP address from the DHCP server. The masquerade IP address is then used as the sender's IP address in an ARP broadcast request transmitted to set up the network connection. Since the masquerade IP address is unique relative to the computer network, computing devices within the network do no overwrite existing IP-to-MAC relationships in their respective ARP caches with the IP-to-MAC relationship reflected in the ARP broadcast request. Thus, the method enables a network connection to be initiated between two computing devices in the same computer network while avoiding ARP cache pollution on other computing devices in that network.
    Type: Grant
    Filed: November 15, 2005
    Date of Patent: October 9, 2012
    Assignee: NVIDIA Corporation
    Inventors: Thomas A. Maufer, Ayaz Abdulla, Norman K. Chen, Ashutosh K. Jha, Hemamalinl Manickavasagam, Sameer Nanda, Anand Rajagopalan
  • Publication number: 20120155249
    Abstract: A method for identifying a failed network interface card in a system having two NICs configured as a team includes the steps of transmitting a first data packet from the first NIC to a third NIC, wherein the third NIC is not a member of the team, and transmitting a second data packet from the first NIC to the second NIC or from the second NIC to the third NIC, depending on whether the third NIC responds to the transmission of the first data packet. One advantage of the disclosed method is that it specifically identifies which NIC within the team has failed, which is something that cannot be determined by simply exchanging packets between the two NICs.
    Type: Application
    Filed: February 28, 2012
    Publication date: June 21, 2012
    Inventors: Hemamalini Manickavasagam, Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Thomas A. Maufer, Sameer Nanda
  • Patent number: 8134928
    Abstract: A method for identifying a failed network interface card in a system having two NICs configured as a team includes the steps of transmitting a first data packet from the first NIC to a third NIC, wherein the third NIC is not a member of the team, and transmitting a second data packet from the first NIC to the second NIC or from the second NIC to the third NIC, depending on whether the third NIC responds to the transmission of the first data packet. One advantage of the disclosed method is that it specifically identifies which NIC within the team has failed, which is something that cannot be determined by simply exchanging packets between the two NICs.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: March 13, 2012
    Assignee: NVIDIA Corporation
    Inventors: Hemamalini Manickavasagam, Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Thomas A. Maufer, Sameer Nanda
  • Patent number: 7995465
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: August 9, 2011
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 7792018
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: September 7, 2010
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 7760619
    Abstract: A hash table in the network device driver maintains data on the traffic characteristics for each network interface (“NIC”) within a computing device. If one of the NICs in the computing device becomes unreliable, the cost function in the hash engine allows the software driver to initiate network traffic redistribution among the remaining reliable NICs in the computing device. Using this hash engine, the software driver is able to intelligently redirect each of the network connections on an unreliable NIC to a reliable NIC within the computing device, in a way that optimizes the distribution of network traffic across the remaining reliable NICs. Alternatively, if a connection is moved from an old NIC to a new NIC, the software driver can detect the moved connection and offload the moved connection to a hardware offload engine on the new NIC.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: July 20, 2010
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 7756012
    Abstract: A hash table in the network device driver maintains data on the traffic characteristics for each network interface (“NIC”) within a computing device. If one of the NICs in the computing device becomes unreliable, the cost function in the hash engine allows the software driver to initiate network traffic redistribution among the remaining reliable NICs in the computing device. Using this hash engine, the software driver is able to intelligently redirect each of the network connections on an unreliable NIC to a reliable NIC within the computing device, in a way that optimizes the distribution of network traffic across the remaining reliable NICs. Alternatively, if a connection is moved from an old NIC to a new NIC, the software driver can detect the moved connection and offload the moved connection to a hardware offload engine on the new NIC.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: July 13, 2010
    Assignee: NVIDIA Corporation
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Patent number: 7545741
    Abstract: One embodiment of the present invention is a method for identifying a faulty NIC in a team of NICs using a minimum number of packets transmitted in a round-robin scheme. Relative to prior art schemes, the disclosed method advantageously reduces the number of keep-alive packets necessary to monitor the NICs within a team and, to the extent there is a failure, enables the faulty NIC to be identified.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: June 9, 2009
    Assignee: NVIDIA Corporation
    Inventors: Hemamalini Manickavasagam, Ayaz Abdulla, Norman K. Chen, Ashutosh K. Jha, Thomas A. Maufer, Sameer Nanda, Anand Rajagopalan
  • Publication number: 20080285441
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Publication number: 20080285435
    Abstract: One embodiment of the present invention sets forth a method for failing back network connections to a network interface card (NIC) within a computing device. The method includes the steps of monitoring a failed or unreliable NIC within the computing device, determining that the failed or unreliable NIC has recovered, determining that a functional NIC within the computing device is overloaded, selecting a first connection set communicating through the overloaded NIC, and transferring the first connection set to the recovered NIC. With this approach, intelligent decisions can be advantageously made regarding whether to fail back a network connection set to a recovered NIC based on the traffic loads on the overloaded NIC and the recovered NIC. Such an approach to balancing network traffic across the functional NICs within a computing device may substantially improve overall performance relative to prior art techniques.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Publication number: 20080285472
    Abstract: A hash table in the network device driver maintains data on the traffic characteristics for each network interface (“NIC”) within a computing device. If one of the NICs in the computing device becomes unreliable, the cost function in the hash engine allows the software driver to initiate network traffic redistribution among the remaining reliable NICs in the computing device. Using this hash engine, the software driver is able to intelligently redirect each of the network connections on an unreliable NIC to a reliable NIC within the computing device, in a way that optimizes the distribution of network traffic across the remaining reliable NICs. Alternatively, if a connection is moved from an old NIC to a new NIC, the software driver can detect the moved connection and offload the moved connection to a hardware offload engine on the new NIC.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Publication number: 20080285553
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Publication number: 20080285448
    Abstract: A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda
  • Publication number: 20080285552
    Abstract: A hash table in the network device driver maintains data on the traffic characteristics for each network interface (“NIC”) within a computing device. If one of the NICs in the computing device becomes unreliable, the cost function in the hash engine allows the software driver to initiate network traffic redistribution among the remaining reliable NICs in the computing device. Using this hash engine, the software driver is able to intelligently redirect each of the network connections on an unreliable NIC to a reliable NIC within the computing device, in a way that optimizes the distribution of network traffic across the remaining reliable NICs. Alternatively, if a connection is moved from an old NIC to a new NIC, the software driver can detect the moved connection and offload the moved connection to a hardware offload engine on the new NIC.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Inventors: Ayaz Abdulla, Norman K. Chen, Anand Rajagopalan, Ashutosh K. Jha, Hemamalini Manickavasagam, Sameer Nanda