Patents by Inventor Yu Kwong Ng

Yu Kwong Ng 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: 8904513
    Abstract: The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, wherein the Ethernet frame comprises a Transmission Control Protocol (TCP) header, wherein the TCP header comprises a TCP header length value. When the Ethernet frame is received, the TCP header length value is compared to a predetermined value.
    Type: Grant
    Filed: April 4, 2003
    Date of Patent: December 2, 2014
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Patent number: 8296452
    Abstract: Disclosed is a method and apparatus for checking link layer protocol frames such as Ethernet frames. The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, and counting data bytes of the Ethernet frame to generate a total number of counted bytes. The total number of counted bytes can be used to calculate a data length of a datagram of the Ethernet frame. Once calculated, the datagram data length can be compared to a predetermined value. If the datagram length does not fall within an acceptable range of the predetermined value, the Ethernet frame may be dropped so that the Ethernet frame does not reach its final destination.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: October 23, 2012
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Patent number: 7623468
    Abstract: The present invention provides a packet processing device and method. A parsing processor provides instruction-driven content inspection of network packets at 10-Gbps and above with a parsing engine that executes parsing instructions. A flow state unit maintains statefulness of packet flows to allow content inspection across several related network packets. A state-graph unit traces state-graph nodes to keyword indications and/or parsing instructions. The parsing instructions can be derived from a high-level application to emulate user-friendly parsing logic. The parsing processor sends parsed packets to a network processor unit for further processing.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: November 24, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Rina Panigrahy, Jackie Liu, Daniel Yu-Kwong Ng, Sanjay Jain, Nagaraj A. Bagepalli, Abhijit Patra
  • Patent number: 7586851
    Abstract: The present invention provides a packet processing device and method. A parsing processor provides instruction-driven content inspection of network packets at 10-Gbps and above with a parsing engine that executes parsing instructions. A flow state unit maintains statefulness of packet flows to allow content inspection across several related network packets. A state-graph unit traces state-graph nodes to keyword indications and/or parsing instructions. The parsing instructions can be derived from a high-level application to emulate user-friendly parsing logic. The parsing processor sends parsed packets to a network processor unit for further processing.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: September 8, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Rina Panigrahy, Jackie Liu, Daniel Yu-Kwong Ng, Sanjay Jain, Nagaraj A. Bagepalli, Abhijit Patra
  • Patent number: 7409526
    Abstract: A method and apparatus wherein only a partial key is stored in a hashing table is disclosed. By storing a partial key as opposed to storing the entire original key, less data is required to be stored in the hash table. This reduces the attendant memory costs. The reduction in memory requirement does not degrade the hash functionalities whatsoever. Hashing conflicts can be fully resolved by consulting the partial key.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: August 5, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Daniel Yu-Kwong Ng, Yung-Chin Chen
  • Patent number: 7359968
    Abstract: A method for sampling n-out-of-N packets in a network. Initially, the packet index corresponding to the N packets is pseudo-randomly shuffled. The shuffle function rearranges a set of numbers pseudo-randomly with a one-to-one mapping and no overlap. One way to perform the pseudo-random shuffle function is to use a linear feedback shift register (LFSR). The LFSR supports N being a power of two. However, the LFSR approach can be adapted to support N being any positive integer value. Based on the results of the shuffle function, sampling points are pseudo-randomly selected. By pseudo-randomly selecting the sample points, n-out-of-N sampling greatly minimizes biases.
    Type: Grant
    Filed: January 23, 2004
    Date of Patent: April 15, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Daniel Yu-Kwong Ng, Simon Wai-Ming Hsu
  • Patent number: 6952402
    Abstract: A data exchange system includes at least one transmitting agent, at least one receiving agent, and a plurality of data links each having a crossbar coupling respective transmitting agents and receiving agents. A stream of data packets including at least one Order Critical Flow of data packets having a critical order to be sent from the transmitting agent to the receiving agent is divided for transmission among the plurality of data links. Multiple Order Critical Flows between the transmitting agent and the receiving agent are possible and the packets within such Order Critical Flows can be intermixed for transmission (along with packets from other Non-Order Critical Flows).
    Type: Grant
    Filed: August 28, 2001
    Date of Patent: October 4, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Daniel W. Crocker, Daniel Yu Kwong Ng
  • Patent number: 6886118
    Abstract: The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, wherein the Ethernet frame comprises an IP datagram, wherein the IP datagram comprises an IP header and an IP payload, wherein the IP payload comprises a User Datagram Protocol (UDP) header. When the Ethernet frame is received, a length in bytes of the IP payload of the IP datagram is calculated.
    Type: Grant
    Filed: April 4, 2003
    Date of Patent: April 26, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Publication number: 20040205228
    Abstract: Disclosed is a method and apparatus for checking link layer protocol frames such as Ethernet frames. The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, and counting data bytes of the Ethernet frame to generate a total number of counted bytes. The total number of counted bytes can be used to calculate a data length of a datagram of the Ethernet frame. Once calculated, the datagram data length can be compared to a predetermined value. If the datagram length does not fall within an acceptable range of the predetermined value, the Ethernet frame may be dropped so that the Ethernet frame does not reach its final destination.
    Type: Application
    Filed: March 6, 2003
    Publication date: October 14, 2004
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Publication number: 20040177106
    Abstract: The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, wherein the Ethernet frame comprises an IP datagram, wherein the IP datagram comprises an IP header and an IP payload, wherein the IP payload comprises a User Datagram Protocol (UDP) header. When the Ethernet frame is received, a length in bytes of the IP payload of the IP datagram is calculated.
    Type: Application
    Filed: April 4, 2003
    Publication date: September 9, 2004
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Publication number: 20040177275
    Abstract: The method can be implemented on a processor executing software instructions stored in memory. In one embodiment of the invention, the method includes receiving an Ethernet frame, wherein the Ethernet frame comprises a Transmission Control Protocol (TCP) header, wherein the TCP header comprises a TCP header length value. When the Ethernet frame is received, the TCP header length value is compared to a predetermined value.
    Type: Application
    Filed: April 4, 2003
    Publication date: September 9, 2004
    Inventors: Kenneth M. Rose, Venkateshwar R. Pullela, David S. Walker, Kevin C. Wong, Kaichuan He, Yu Kwong Ng
  • Patent number: 6609225
    Abstract: Methods and apparatus are disclosed for generating and checking CRC values using a multi-byte CRC generator on a variable number of bytes. These methods and apparatus could used in an unlimited number of applications and environments, such as part of computer or communications device (e.g., router or switch). A CRC generator is used to calculate a preliminary CRC value on a block of information. This CRC generator may be a balanced XOR tree or some other implementation, which calculates the preliminary CRC value on groups of n bytes of data at a time, where n is typically some value such as 2, 4, 8, 16, 32, 64 etc. For example, when data is transferred over a 512 wide bit bus, typically the value of n would be 64 (i.e., 512 bits divided by 8 bits per byte).
    Type: Grant
    Filed: December 21, 2000
    Date of Patent: August 19, 2003
    Assignee: Cisco Technology, Inc.
    Inventor: Yu Kwong Ng
  • Patent number: 6351454
    Abstract: A data exchange system includes at least one transmitting agent, at least one receiving agent, and a plurality of data links each having a crossbar coupling respective transmitting agents and receiving agents. A stream of data packets including at least one Order Critical Flow of data packets having a critical order to be sent from the transmitting agent to the receiving agent is divided for transmission among the plurality of data links. Multiple Order Critical Flows between the transmitting agent and the receiving agent are possible and the packets within such Order Critical Flows can be intermixed for transmission (along with packets from other Non-Order Critical Flows).
    Type: Grant
    Filed: July 24, 1998
    Date of Patent: February 26, 2002
    Assignee: Cisco Technology, Inc.
    Inventors: Daniel W. Crocker, Daniel Yu Kwong Ng
  • Patent number: 5751952
    Abstract: An apparatus for interfacing a plurality of nodes to a network includes a plurality of working ports coupled to the nodes, an attachment port coupled to the network, an address table for storing addresses associated with the working ports, an incoming packet controller, and an outgoing packet controller. The incoming packet controller receives an incoming information packet from the network via the attachment port, and determines whether a destination address contained in the incoming packet matches one of the addresses stored in the address table. If a destination address match is found, then it is concluded that the incoming packet is intended for one of the working ports. Consequently, the incoming packet is sent to the working ports. If no destination address match is found, the incoming packet controller prevents the packet from being sent to the working ports, thereby eliminating unnecessary signal traffic to the ports.
    Type: Grant
    Filed: November 22, 1996
    Date of Patent: May 12, 1998
    Assignee: Allied Telesyn Int'l Corp.
    Inventors: Wei William Dai, Yu Kwong Ng