Patents by Inventor Cahya Adi Masputra

Cahya Adi Masputra 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: 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: 7512128
    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-packet 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: Grant
    Filed: May 9, 2003
    Date of Patent: March 31, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Francesco R. DiMambro, 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: 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: 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
  • Publication number: 20030231659
    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-packet 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: May 9, 2003
    Publication date: December 18, 2003
    Inventors: Francesco R. DiMambro, Cahya Adi Masputra