Patents by Inventor Kacheong Poon

Kacheong Poon 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: 7839875
    Abstract: A method for data transfer using a TCP loopback connection, involving establishing a TCP connection between a first endpoint and a second endpoint, determining whether fusing of the first endpoint with the second endpoint is permitted, if fusing of the first endpoint with the second endpoint is permitted assigning the first endpoint to a serialization queue, allocating the serialization queue for the second endpoint, fusing the first endpoint with the second endpoint, and transferring data from the first endpoint to the second endpoint.
    Type: Grant
    Filed: July 12, 2005
    Date of Patent: November 23, 2010
    Assignee: Oracle America Inc.
    Inventors: Cahya Adiansyah Masputra, Kacheong Poon, Thirumalai Srinivasan
  • Patent number: 7571256
    Abstract: Embodiments of the present invention provide for reliable receipt of data packets by a network device. The present invention also provides a receive thread for receiving data packets. The present invention also provides a drainer thread for processing packets according to an applicable protocol. As a result, the network device is capable of receiving and processing data packets at an increased rate.
    Type: Grant
    Filed: September 24, 2002
    Date of Patent: August 4, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Kacheong Poon, Cahya Adi Masputra
  • Patent number: 7444432
    Abstract: A kernel data transfer optimizing system for dynamically subdividing data blocks which are presented by application programs to be transferred to the kernel's network subsystem for processing into blocks of data in accordance with data transfer parameters set by the application program. The data transfer optimizing system includes logic that allows a programmer to dynamically adjust the size of data buffers that store the data blocks of the application program data in the kernel according to the application program parameters prior to transmitting the data blocks in the transport layer of the network subsystem. The data transfer optimizer allows the kernel to process data in large chunks thereby reducing the processing time of data presented to the network subsystem.
    Type: Grant
    Filed: June 11, 2002
    Date of Patent: October 28, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Patent number: 7400581
    Abstract: Embodiments of the present invention provide a novel method of implementing a network communication protocol. In one embodiment, the state of the network communication process is determined based upon one or more conditions. The protocol stack is then executed as a single thread of execution if the network communication process is in a first state. Alternatively, the protocol stack is executed as a receive thread of execution and a drainer thread of execution if the network communication process is in a second state.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: July 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Patent number: 7308000
    Abstract: Methods and systems consistent with the present invention provide a mechanism for accepting extended amounts of data in a layered network protocol. The methods and systems thus allow the network protocol to more efficiently receive data and forward the data to the correct entity. As a result, the programs experience greater network data throughput. The methods and systems may be implemented in widely accepted Internet Protocol (IP) and Transmission Control Protocol (TCP) networks.
    Type: Grant
    Filed: November 7, 2002
    Date of Patent: December 11, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Cahya A. Masputra, Kacheong Poon
  • Patent number: 7269171
    Abstract: Embodiments of the present invention provide for multi-data receiving and processing by a network communication protocol. The present invention aggregates multiple data packets destined for the same application. The present invention also provides for header/payload splitting. The present invention also provides for the separate processing of aggregated headers and aggregated payloads. As a result, per-packet processing costs are reduced and data locality is increased.
    Type: Grant
    Filed: September 24, 2002
    Date of Patent: September 11, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Kacheong Poon, Cahya Adi Masputra
  • Patent number: 7257633
    Abstract: Embodiments of the present invention provide for execution of a protocol in a multi-processor network device. In one embodiment, a hash function is applied to one or more fields of the data packet header to determine a unique index. A hash table is then queried, whereby data indicating one or more threads corresponding to said unique index is extracted. An available thread of execution, which has previously handled packet in the same receive stream, may thus be selected from a pool of threads. The selected thread of execution is then dispatched to provide for receive processing of the present data packet.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: August 14, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Publication number: 20040174877
    Abstract: Embodiments of the present invention provide a novel method of implementing a network communication protocol. In one embodiment, the state of the network communication process is determined based upon one or more conditions. The protocol stack is then executed as a single thread of execution if the network communication process is in a first state. Alternatively, the protocol stack is executed as a receive thread of execution and a drainer thread of execution if the network communication process is in a second state.
    Type: Application
    Filed: March 3, 2003
    Publication date: September 9, 2004
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Publication number: 20040177165
    Abstract: Embodiments of the present invention provide for execution of a protocol in a multi-processor network device. In one embodiment, a hash function is applied to one or more fields of the data packet header to determine a unique index. A hash table is then queried, whereby data indicating one or more threads corresponding to said unique index is extracted. An available thread of execution, which has previously handled packet in the same receive stream, may thus be selected from a pool of threads. The selected thread of execution is then dispatched to provide for receive processing of the present data packet.
    Type: Application
    Filed: March 3, 2003
    Publication date: September 9, 2004
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Publication number: 20040090988
    Abstract: Methods and systems consistent with the present invention provide a mechanism for accepting extended amounts of data in a layered network protocol. The methods and systems thus allow the network protocol to more efficiently receive data and forward the data to the correct entity. As a result, the programs experience greater network data throughput. The methods and systems may be implemented in widely accepted Internet Protocol (IP) and Transmission Control Protocol (TCP) networks.
    Type: Application
    Filed: November 7, 2002
    Publication date: May 13, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Cahya A. Masputra, Kacheong Poon
  • Publication number: 20040057418
    Abstract: Embodiments of the present invention provide for reliable receipt of data packets by a network device. The present invention also provides a receive thread for receiving data packets. The present invention also provides a drainer thread for processing packets according to an applicable protocol. As a result, the network device is capable of receiving and processing data packets at an increased rate.
    Type: Application
    Filed: September 24, 2002
    Publication date: March 25, 2004
    Inventors: Kacheong Poon, Cahya Adi Masputra
  • Publication number: 20040057434
    Abstract: Embodiments of the present invention provide for multi-data receiving and processing by a network communication protocol. The present invention aggregates multiple data packets destined for the same application. The present invention also provides for header/payload splitting. The present invention also provides for the separate processing of aggregated headers and aggregated payloads. As a result, per-packet processing costs are reduced and data locality is increased.
    Type: Application
    Filed: September 24, 2002
    Publication date: March 25, 2004
    Inventors: Kacheong Poon, Cahya Adi Masputra
  • Publication number: 20040003147
    Abstract: A kernel data transfer optimizing system for dynamically subdividing data blocks which are presented by application programs to be transferred to the kernel's network subsystem for processing into blocks of data in accordance with data transfer parameters set by the application program. The data transfer optimizing system includes logic that allows a programmer to dynamically adjust the size of data buffers that store the data blocks of the application program data in the kernel according to the application program parameters prior to transmitting the data blocks in the transport layer of the network subsystem. The data transfer optimizer allows the kernel to process data in large chunks thereby reducing the processing time of data presented to the network subsystem.
    Type: Application
    Filed: June 11, 2002
    Publication date: January 1, 2004
    Inventors: Cahya Adi Masputra, Kacheong Poon
  • Publication number: 20030231657
    Abstract: A kernel data transfer method and system for transmitting multiple packets of data in a single block of data presented by application programs to the kernel's network subsystem for processing in accordance with data transfer parameters set by the application program. The multi-data transmit system includes logic that allows header information of the multiple packets of data to be generated in a single buffer and appended to a second buffer containing the data packets to be transmitted through the network stack. The multi-data transmit system allows a device driver to amortize the input/output memory management related overhead across a number of packets. With some assistance from the network stack, the device driver needs to only perform the necessary IOMMU operations on two contiguous memory blocks representing the header information and the data payload of multiple packets during each transmit call.
    Type: Application
    Filed: June 12, 2002
    Publication date: December 18, 2003
    Inventors: Kacheong Poon, Cahya Adi Masputra