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: 9934057Abstract: 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: GrantFiled: April 21, 2014Date of Patent: April 3, 2018Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
-
Publication number: 20150301844Abstract: 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: ApplicationFiled: April 21, 2014Publication date: October 22, 2015Applicant: Oracle International CorporationInventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
-
Patent number: 9059965Abstract: 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: GrantFiled: June 30, 2009Date of Patent: June 16, 2015Assignee: Oracle America, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
-
Publication number: 20100333189Abstract: 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: ApplicationFiled: June 30, 2009Publication date: December 30, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
-
Method, apparatus and program product to use factory-defined multiple MAC addresses for virtual NICS
Patent number: 7843821Abstract: 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: GrantFiled: December 21, 2006Date of Patent: November 30, 2010Assignee: Oracle America, Inc.Inventors: Rajagopal Kunhappan, Kais Belgaied, Eric T. Cheng -
Patent number: 7779132Abstract: 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: GrantFiled: November 14, 2005Date of Patent: August 17, 2010Assignee: Oracle America, Inc.Inventors: Hsiao-Keng J. Chu, Darrin P. Johnson, Eric T. Cheng
-
Patent number: 7675920Abstract: 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: GrantFiled: April 22, 2005Date of Patent: March 9, 2010Assignee: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
-
Patent number: 7591011Abstract: 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: GrantFiled: April 22, 2005Date of Patent: September 15, 2009Assignee: Sun Microsystems, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
-
Patent number: 7515596Abstract: 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: GrantFiled: June 30, 2006Date of Patent: April 7, 2009Assignee: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng
-
Patent number: 7472311Abstract: 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: GrantFiled: October 14, 2005Date of Patent: December 30, 2008Assignee: Sun Microsystems, Inc.Inventors: Hsiao-Keng J. Chu, Eric T. Cheng, Sunay Tripathi
-
Method, apparatus and program product to use factory-defined multiple MAC addresses for virtual NICS
Publication number: 20080155069Abstract: 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: ApplicationFiled: December 21, 2006Publication date: June 26, 2008Inventors: Rajagopal Kunhappan, Kais Belgaied, Eric T. Cheng -
Publication number: 20080002731Abstract: 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: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Nicolas G. Droux, Eric T. Cheng