Patents by Inventor Eric T. Cheng

Eric T. Cheng 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: 9934057
    Abstract: A method for controlling a network interface controller (NIC). The method includes receiving, by a host operating system (OS) executing on a computer system, an instruction to map the NIC virtual function (VF) to a first virtual machine executing on the computer system. The method further includes allocating, according to the NIC VF, first NIC resources on a physical NIC operatively connected to the computer system, mapping the NIC VF to the first virtual machine, creating, in the host OS, a shadow virtual NIC for the first NIC resources allocated to the NIC VF, assigning the shadow virtual NIC to the first virtual machine, receiving, by the physical NIC, a first packet targeting the first virtual machine, and sending the first packet directly to the first virtual machine.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: April 3, 2018
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
  • Publication number: 20150301844
    Abstract: A method for controlling a network interface controller (NIC). The method includes receiving, by a host operating system (OS) executing on a computer system, an instruction to map the NIC virtual function (VF) to a first virtual machine executing on the computer system. The method further includes allocating, according to the NIC VF, first NIC resources on a physical NIC operatively connected to the computer system, mapping the NIC VF to the first virtual machine, creating, in the host OS, a shadow virtual NIC for the first NIC resources allocated to the NIC VF, assigning the shadow virtual NIC to the first virtual machine, receiving, by the physical NIC, a first packet targeting the first virtual machine, and sending the first packet directly to the first virtual machine.
    Type: Application
    Filed: April 21, 2014
    Publication date: October 22, 2015
    Applicant: Oracle International Corporation
    Inventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
  • Patent number: 9059965
    Abstract: A computer readable medium that includes computer readable program code embodied therein. The computer readable medium causes the computer system to receive, by a data link rule enforcer, a packet from a packet source of the packets, and obtain a data link rule applying to a data link. The data link is operatively connected to the packet source, and the data link is associated with a media access control (MAC) address. The computer readable medium further causes the computer system to determine, by the data link rule enforcer, whether the packet complies with the data link rule, and drop, by the data link rule enforcer, the packet when the packet fails to comply with the data link rule.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: June 16, 2015
    Assignee: Oracle America, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
  • Publication number: 20100333189
    Abstract: A computer readable medium that includes computer readable program code embodied therein. The computer readable medium causes the computer system to receive, by a data link rule enforcer, a packet from a packet source of the packets, and obtain a data link rule applying to a data link. The data link is operatively connected to the packet source, and the data link is associated with a media access control (MAC) address. The computer readable medium further causes the computer system to determine, by the data link rule enforcer, whether the packet complies with the data link rule, and drop, by the data link rule enforcer, the packet when the packet fails to comply with the data link rule.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
  • Patent number: 7843821
    Abstract: Apparatus, methods and computer program products are disclosed for specifying a MAC identifier for a network-interface-device that includes multiple universally administered MAC identifiers and connects to a network through a port. The network-interface-device accepts data packets received through the port if the data packets contain a destination address that matches any active MAC identifier. The method includes reserving a first and second universally administered MAC identifiers from the available universally administered MAC identifiers. The first universally administered MAC identifier and the second universally administered MAC identifier are respectively associated with a first and second resource of the network-interface-device. The MAC identifier is assigned to one of the first or second resource and activated. Other aspects include apparatus logics and program products that perform the method.
    Type: Grant
    Filed: December 21, 2006
    Date of Patent: November 30, 2010
    Assignee: Oracle America, Inc.
    Inventors: Rajagopal Kunhappan, Kais Belgaied, Eric T. Cheng
  • Patent number: 7779132
    Abstract: One embodiment of the present invention provides a system for communicating data using a socket interface with multiple transport layer implementations. During operation the system creates a socket which can be used with a set of transport layer implementations. Next, the system binds the socket to a local port without specifying a particular transport layer implementation. The system then receives a request to connect to a target port that is associated with a target address. Next, the system selects a protocol implementation from the set of transport layer implementations using the target port and the target address. The system then sends a connection request to the target port using the selected protocol implementation. Note that the present invention does not require changing a networking application because the transport layer implementation is selected automatically by the system, instead of requiring the application to possess the knowledge to select the appropriate transport layer implementation.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: August 17, 2010
    Assignee: Oracle America, Inc.
    Inventors: Hsiao-Keng J. Chu, Darrin P. Johnson, Eric T. Cheng
  • Patent number: 7675920
    Abstract: A system that includes a network interface for receiving a packets from a network, a classifier operatively connected to the network interface that analyzes each of the packets and determines to which temporary data structure to forward each of packets, wherein the classifier analyzes each packet to determine with which of a plurality of protocols the packet is associated with. Each temporary data structure within the system is configured to receive packets from the classifier, wherein each of the temporary data structures is associated with at least one virtual serialization queue and wherein each of the temporary data structures is configured to store packets associated with at least one of the plurality of protocols. The at least one virtual serialization queue is configured to queue packets from the one of the temporary data structures associated with the at least one virtual serialization queue.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: March 9, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
  • Patent number: 7591011
    Abstract: A computing system is configured to receive incoming packets at a first priority designated for use when receiving packets that are not associated with specific subscription levels. Incoming packets are examined to determine whether they are associated with a particular subscription level. Responsive to a determination that a given packet received over a particular connection is associated with a particular subscription level, the computing system is reconfigured to process packets subsequently received over the same connection at a different priority associated with the particular subscription level.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: September 15, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
  • Patent number: 7515596
    Abstract: A system for processing a packet, including a network interface card (NIC), including a plurality of hardware receive rings, a classifier configured to classify the packet and send the packet to one of the plurality of hardware receive rings, and a host, operatively connected to the NIC, including a virtual network stack including a virtual serialization queue, a virtual network interface card (VNIC) associated with the virtual serialization queue, a device driver associated with the VNIC and configured to store a function pointer and a token associated with one of the plurality of hardware receive rings, where the VNIC is configured to perform at least one selected from a group consisting of enabling bypass mode and disabling bypass mode by changing the function pointer stored in the device driver, where the function pointer is used to send the packet to the virtual serialization queue if the bypass mode is enabled.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: April 7, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng
  • Patent number: 7472311
    Abstract: One embodiment of the present invention provides a system that can test an interface between a TCP (Transmission Control Protocol) Offload Engine (TOE) and an OS (Operating System) that has a TCP software stack. Note that the TOE is a specialized integrated circuit which allows TCP-related computations to be offloaded from the processor that executes the OS. During operation, the system receives a request from the OS to perform a TCP-related computation on the TOE, wherein the TCP-related computation is associated with a portion of the TCP software stack. The system then performs the TCP-related computation by executing the portion of the TCP software stack on a processor, which can either be the same as the one that is executing the OS, or it can be a different processor. Note that performing the TCP-related computation on a processor, instead of the TOE, allows the interface between the TOE and the OS to be tested without requiring an actual TOE chip.
    Type: Grant
    Filed: October 14, 2005
    Date of Patent: December 30, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Hsiao-Keng J. Chu, Eric T. Cheng, Sunay Tripathi
  • Publication number: 20080155069
    Abstract: Apparatus, methods and computer program products are disclosed for specifying a MAC identifier for a network-interface-device that includes multiple universally administered MAC identifiers and connects to a network through a port. The network-interface-device accepts data packets received through the port if the data packets contain a destination address that matches any active MAC identifier. The method includes reserving a first and second universally administered MAC identifiers from the available universally administered MAC identifiers. The first universally administered MAC identifier and the second universally administered MAC identifier are respectively associated with a first and second resource of the network-interface-device. The MAC identifier is assigned to one of the first or second resource and activated. Other aspects include apparatus logics and program products that perform the method.
    Type: Application
    Filed: December 21, 2006
    Publication date: June 26, 2008
    Inventors: Rajagopal Kunhappan, Kais Belgaied, Eric T. Cheng
  • Publication number: 20080002731
    Abstract: A system for processing a packet, including a network interface card (NIC), including a plurality of hardware receive rings, a classifier configured to classify the packet and send the packet to one of the plurality of hardware receive rings, and a host, operatively connected to the NIC, including a virtual network stack including a virtual serialization queue, a virtual network interface card (VNIC) associated with the virtual serialization queue, a device driver associated with the VNIC and configured to store a function pointer and a token associated with one of the plurality of hardware receive rings, where the VNIC is configured to perform at least one selected from a group consisting of enabling bypass mode and disabling bypass mode by changing the function pointer stored in the device driver, where the function pointer is used to send the packet to the virtual serialization queue if the bypass mode is enabled.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng