Page 1 of 2
Four-Way Asynchronous I/O Using Dual Paired Buffers for Java-Based Intermediate/Proxy HTTP Nodes in a Communications Network
Disclosed is an invention that demonstrates using asynchronous I/O in conjunction with a four-way dual-buffering technique to proxy data VIA an intermediate node in a communications network. Traditional methods of proxing data are replaced so as to manage and use system resources in a more efficient manner.
Communications across a proxy/intermediate node for bidirectional communications requires four I/O operations, which can be paired together as:
Request Processing
1) reading of data from original client
2) writing of data to origin server
Response Processing
3) reading response from origin server
4) writing response to original client
.....(Repeat at Step 1)
Traditionally, these operations are executed in a linear fashion with each step dependent on completion of the prior step. A direct benefit of this technique is being able to provide support for the processing 'pipelined' data', or the grouping of requests into a larger request for serial processing.
Dual-Buffering
Our invention suggests that each pair of methods work in a more parallel manner. This is primarily achieved by associating two buffers with each pair of processing operations for a total of four buffers.
Request Path
A
D
B
G
C
F
Asynchronous Reader
Buffer 1
Buffer 2
Asynchronous Writer
H
E
Asynchronous Writer
Buffer 1
Buffer 2
Asynchronous Reader
Response Path
Proxy Node
Inbound Request
Outbound Response
Outbound
Request
Inbound Response
1
[This page contains 6 pictures or other non-text objects]
Page 2 of 2
Figure 1: Simplified Proxy Node Diagram
The processing flow for requests and responses is comprised of a respective pathway, which can...