Patents by Inventor Bruce W. Curtis

Bruce W. Curtis 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: 8050266
    Abstract: A method for debugging network connections that involves receiving a packet for a first destination by a network interface card (NIC), classifying the packet, sending the packet to a first receive ring associated with the NIC, and sending the packet from the first receive ring to a first virtual NIC, where the first virtual NIC is associated with a second destination, and where the second destination is used to debug the first destination.
    Type: Grant
    Filed: July 20, 2006
    Date of Patent: November 1, 2011
    Assignee: Oracle America, Inc.
    Inventors: Sunay Tripathi, Bruce W. Curtis, Hsiao-Keng Jerry Chu
  • Patent number: 7924719
    Abstract: One embodiment of the present invention provides a system that parallelizes the TCP-related actions of a network connection between two computer systems during a data transfer between the two computer systems. During operation, the first computer system partitions the data into two or more data segments, and assigns the data segments to multiple processing elements. These multiple processing elements subsequently prepare and send their assigned data segments to the second computer system in parallel using TCP.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: April 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Bruce W. Curtis, Darrin P. Johnson, James P. Hughes
  • Patent number: 7649902
    Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.
    Type: Grant
    Filed: November 22, 2006
    Date of Patent: January 19, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
  • Publication number: 20090097480
    Abstract: One embodiment of the present invention provides a system that parallelizes the TCP-related actions of a network connection between two computer systems during a data transfer between the two computer systems. During operation, the first computer system partitions the data into two or more data segments, and assigns the data segments to multiple processing elements. These multiple processing elements subsequently prepare and send their assigned data segments to the second computer system in parallel using TCP.
    Type: Application
    Filed: October 10, 2007
    Publication date: April 16, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Bruce W. Curtis, Darrin P. Johnson, James P. Hughes
  • Patent number: 7447789
    Abstract: One embodiment of the present invention provides a system that buffers data inside of a byte-stream protocol at a transport layer on a client, which is receiving the data from an external source. The system operates by receiving a configuration parameter at the transport layer from an application executing on the client, wherein the configuration parameter specifies a condition upon which data buffered at the transport layer is to be sent to the application. The system then buffers data destined for the application at the transport layer on the client, and sends the buffered data to the application when the condition specified by the configuration parameter is met. Buffering data at the transport layer on the client facilitates more efficient processing of system calls.
    Type: Grant
    Filed: March 24, 2006
    Date of Patent: November 4, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Bruce W. Curtis, Darrin P. Johnson, Hsiao-Keng J. Chu
  • Publication number: 20080117925
    Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.
    Type: Application
    Filed: November 22, 2006
    Publication date: May 22, 2008
    Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
  • Patent number: 7363383
    Abstract: One embodiment of the invention relates to processing communication packets. A communication packet belongs to a communication data structure (called “conn”) which is unique to a connection including the communication packet. The conn also contains an event list which is a sequential list of functions necessary to process the packet. An event list is selected from a database based on the protocol layers necessary to process the packet and typically contains as many functions as there are layers in between. Therefore, each layer has a functional entry point as an event in the event list. The event list identifies a plurality of communication modules specific for the connection and an ordering thereof. The packet is processed through the plurality of modules based on the ordering. The event list is manipulated to enable a module of the plurality of communication modules to enter one of a plurality of its operational states.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: April 22, 2008
    Assignee: Sun Microsytems, Inc.
    Inventors: Sunay Tripathi, Bruce W. Curtis
  • Publication number: 20080043632
    Abstract: A method for debugging network connections that involves receiving a packet for a first destination by a network interface card (NIC), classifying the packet, sending the packet to a first receive ring associated with the NIC, and sending the packet from the first receive ring to a first virtual NIC, where the first virtual NIC is associated with a second destination, and where the second destination is used to debug the first destination.
    Type: Application
    Filed: July 20, 2006
    Publication date: February 21, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Bruce W. Curtis, Hsiao-Keng Jerry Chu
  • Patent number: 7330484
    Abstract: Embodiments of the present invention are directed to a method and system for processing data to be transmitted in a transmission medium, including storing in memory a segment of data to be transmitted where the segment of data is larger than the largest size data packet allowed for transmission by the transmission medium. A socket layer batch processes the segment to produce an array of linked data blocks where each data block is smaller than the largest transmission size of the TCP layer. A TCP layer batch processes the array to add a first header to each block of the array of linked data blocks. An IP layer batch processes the array to add a second header to each block of the array of linked data blocks. The socket layer then identifies blocks of the array to a communication subsystem for individual packet communication over the transmission medium.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: February 12, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Cahya A. Masputra, Bruce W. Curtis
  • Patent number: 7313148
    Abstract: A method and system for offloading the transmission of large blocks of data from Transmission Control Protocol residing on a transmitting host computer to an intelligent network interface card (NIC) that schedules and performs transmittals. The NIC receives a pointer to the location of data to be transmitted, partitions the data into packets and writes sequence numbers in the headers of the packets. The NIC receives acknowledgements (ACKs) from the recipient system which contain a window size and beginning sequence number for the next transmittal. Provided the ACK indicates appropriate forward progress, the NIC continues to transmit until its buffer is empty. By allowing the NIC to process many packets in this fashion, significant burden is taken off the host computer system. In case of no forward progress, as evidenced by a duplicate ACK, or of an empty buffer, NIC returns control to the transmitting host computer for further action.
    Type: Grant
    Filed: November 18, 2002
    Date of Patent: December 25, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Hsiao-keng J. Chu, Bruce W. Curtis
  • Patent number: 7028091
    Abstract: A HTTP request is sent to a web server. A HTTP request including HTTP request data is received. A connection identifier is associated with the HTTP request. The receiving and associating steps are repeated for one or more HTTP requests. The connection identifier and the associated HTTP request data for the one or more HTTP requests are then sent in a single stream to the web server (e.g., HTTP process). When a HTTP request including HTTP request data are processed by a web server, the HTTP request data and an associated connection identifier are received. HTTP response data associated with the HTTP request data is obtained. The HTTP response data and the connection identifier are then sent.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Bruce W. Curtis
  • Patent number: 6934761
    Abstract: Methods and apparatus for managing a HTTP cache in a web server. A HTTP daemon in a web server may provide response data as well as one or more cache control indicators to a cache manager. The cache control indicators are adapted for managing information that is stored in the HTTP cache and/or controlling transmission of the response data. When the cache manager receives the response data and the cache control indicators from the HTTP daemon, the cache manager can modify the information stored in the HTTP cache as well as control the transmission of the response data in accordance with the cache control indicators.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: August 23, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Bruce W. Curtis
  • Publication number: 20040095883
    Abstract: A method and system for offloading the transmission of large blocks of data from Transmission Control Protocol residing on a transmitting host computer to an intelligent network interface card (NIC) that schedules and performs transmittals. The NIC receives a pointer to the location of data to be transmitted, partitions the data into packets and writes sequence numbers in the headers of the packets. The NIC receives acknowledgements (ACKs) from the recipient system which contain a window size and beginning sequence number for the next transmittal. Provided the ACK indicates appropriate forward progress, the NIC continues to transmit until its buffer is empty. By allowing the NIC to process many packets in this fashion, significant burden is taken off the host computer system. In case of no forward progress, as evidenced by a duplicate ACK, or of an empty buffer, NIC returns control to the transmitting host computer for further action.
    Type: Application
    Filed: November 18, 2002
    Publication date: May 20, 2004
    Inventors: Hsiao-Keng J. Chu, Bruce W. Curtis
  • Patent number: 6668279
    Abstract: Methods and apparatus for transporting data in a web server are disclosed. A HTTP request including HTTP request data is received by a data transport module from a client. The HTTP request data may be sent with a preempt indicator from the data transport module to a HTTP daemon. The preempt indicator indicates whether processing is preempted from the data transport module to the HTTP daemon. Similarly, when a HTTP response is returned from the HTTP daemon to the data transport module, HTTP response data may be sent with a preempt indicator from the HTTP daemon to the data transport module indicating whether processing is preempted from the HTTP daemon to the data transport module. In addition, an identifier identifying the HTTP response data may be returned to the data transport module which identifies the response and enables the data transport module to independently access the response for transmission to a client.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: December 23, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Bruce W. Curtis