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: 8050266Abstract: 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: GrantFiled: July 20, 2006Date of Patent: November 1, 2011Assignee: Oracle America, Inc.Inventors: Sunay Tripathi, Bruce W. Curtis, Hsiao-Keng Jerry Chu
-
Patent number: 7924719Abstract: 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: GrantFiled: October 10, 2007Date of Patent: April 12, 2011Assignee: Oracle America, Inc.Inventors: Bruce W. Curtis, Darrin P. Johnson, James P. Hughes
-
Patent number: 7649902Abstract: 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: GrantFiled: November 22, 2006Date of Patent: January 19, 2010Assignee: Sun Microsystems, Inc.Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
-
Publication number: 20090097480Abstract: 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: ApplicationFiled: October 10, 2007Publication date: April 16, 2009Applicant: SUN MICROSYSTEMS, INC.Inventors: Bruce W. Curtis, Darrin P. Johnson, James P. Hughes
-
Patent number: 7447789Abstract: 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: GrantFiled: March 24, 2006Date of Patent: November 4, 2008Assignee: Sun Microsystems, Inc.Inventors: Bruce W. Curtis, Darrin P. Johnson, Hsiao-Keng J. Chu
-
Publication number: 20080117925Abstract: 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: ApplicationFiled: November 22, 2006Publication date: May 22, 2008Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
-
Patent number: 7363383Abstract: 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: GrantFiled: October 10, 2003Date of Patent: April 22, 2008Assignee: Sun Microsytems, Inc.Inventors: Sunay Tripathi, Bruce W. Curtis
-
Publication number: 20080043632Abstract: 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: ApplicationFiled: July 20, 2006Publication date: February 21, 2008Applicant: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Bruce W. Curtis, Hsiao-Keng Jerry Chu
-
Patent number: 7330484Abstract: 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: GrantFiled: October 10, 2003Date of Patent: February 12, 2008Assignee: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Cahya A. Masputra, Bruce W. Curtis
-
Patent number: 7313148Abstract: 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: GrantFiled: November 18, 2002Date of Patent: December 25, 2007Assignee: Sun Microsystems, Inc.Inventors: Hsiao-keng J. Chu, Bruce W. Curtis
-
Patent number: 7028091Abstract: 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: GrantFiled: August 31, 2000Date of Patent: April 11, 2006Assignee: Sun Microsystems, Inc.Inventors: Sunay Tripathi, Bruce W. Curtis
-
Patent number: 6934761Abstract: 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: GrantFiled: February 25, 2000Date of Patent: August 23, 2005Assignee: Sun Microsystems, Inc.Inventor: Bruce W. Curtis
-
Publication number: 20040095883Abstract: 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: ApplicationFiled: November 18, 2002Publication date: May 20, 2004Inventors: Hsiao-Keng J. Chu, Bruce W. Curtis
-
Patent number: 6668279Abstract: 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: GrantFiled: February 25, 2000Date of Patent: December 23, 2003Assignee: Sun Microsystems, Inc.Inventor: Bruce W. Curtis