P
US7475154B2ExpiredUtilityPatentIndex 58

Splicing proxied web requests with callback for subsequent requests

Assignee: IBMPriority: Feb 24, 2005Filed: Feb 24, 2005Granted: Jan 6, 2009
Est. expiryFeb 24, 2025(expired)· nominal 20-yr term from priority
Inventors:CHETUPARAMBIL MADHU KMICKLEY JAKOB LVENKATSUBRA VENKATWANG YING
H04L 67/563H04L 69/163H04L 69/162H04L 69/16
58
PatentIndex Score
4
Cited by
11
References
3
Claims

Abstract

The present invention provides a method, system, and computer program product for splicing proxied web requests with callback for subsequent requests. The method comprises: initiating by a proxy a Transmission Control Protocol (TCP) splice between first and second socket connections in order to service a request; and returning control of the first and second socket connections to the proxy in response to a completion event associated with the TCP splice.

Claims

exact text as granted — not AI-modified
1. A method for Transmission Control Protocol (TCP) splicing, comprising:
 initiating by a proxy a TCP splice between first and second socket connections in order to service a request; 
 returning control of the first and second socket connections to the proxy in response to a completion event associated with the TCP splice; 
 generating the completion event in response to a transfer of a specified amount of data between the first and second socket connections during the TCP splice, in response to an expiration of a timeout value during the TCP splice, or in response to an occurrence of an exception during the TCP splice; 
 associating a completion port with the TCP splice initiated by the proxy; 
 associating a unique completion key with each TCP splice initiated by the proxy, placing the TCP splice in a splice queue with all other pending TCP splices initiated by the proxy, and generating a completion event upon completion of any of the TCP splices in the splice queue; 
 identifying the completed TCP splice using its associated completion key; and 
 monitoring the completion port to determine whether the completion event associated with the TCP splice has been generated; 
 wherein the proxy can service a subsequent request on at least one of the first and second socket connections after regaining control; and 
 wherein a same completion port is associated with all TCP splices initiated by the proxy. 
 
   
   
     2. A system for Transmission Control Protocol (TCP) splicing, comprising:
 at least one computer, including: 
 a system for initiating by a proxy a TCP splice between first and second socket connections in order to service a request; 
 a system for returning control of the first and second socket connections to the proxy in response to a completion event associated with the TCP splice; 
 a system for generating the completion event in response to a transfer of a specified amount of data between the first and second socket connections during the TCP splice, in response to an expiration of a timeout value during the TCP splice, or in response to an occurrence of an exception during the TCP splice; 
 a system for associating a completion port with the TCP splice initiated by the proxy; 
 a system for associating a unique completion key with each TCP splice initiated by the proxy, placing the TCP splice in a splice queue with all other pending TCP splices initiated by the proxy, and generating a completion event upon completion of any of the TCP splices in the splice queue; 
 a system for identifying the completed TCP splice using its associated completion key; and 
 a system for monitoring the completion port to determine whether the completion event associated with the TCP splice has been generated; 
 wherein the proxy can service a subsequent request on at least one of the first and second socket connections after regaining control; and 
 wherein a same completion port is associated with all TCP splices initiated by the proxy. 
 
   
   
     3. A program product stored on a computer readable medium for Transmission Control Protocol (TCP) splicing, the computer readable medium comprising program code for:
 initiating by a proxy a TCP splice between first and second socket connections in order to service a request; 
 returning control of the first and second socket connections to the proxy in response to a completion event associated with the TCP splice; 
 generating the completion event in response to a transfer of a specified amount of data between the first and second socket connections during the TCP splice, in response to an expiration of a timeout value during the TCP splice, or in response to an occurrence of an exception during the TCP splice; 
 associating a completion port with the TCP splice initiated by the proxy; 
 associating a unique completion key with each TCP splice initiated by the proxy, placing the TCP splice in a splice queue with all other pending TCP splices initiated by the proxy, and generating a completion event upon completion of any of the TCP splices in the splice queue; 
 identifying the completed TCP splice using its associated completion key; and 
 monitoring the completion port to determine whether the completion event associated with the TCP splice has been generated; 
 wherein the proxy can service a subsequent request on at least one of the first and second socket connections after regaining control; and 
 wherein a same completion port is associated with all TCP splices initiated by the proxy.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.