[ 
https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553615#comment-13553615
 ] 

Shashank Gupta commented on SLING-2707:
---------------------------------------

>Also, what you cite about TCP speed limits doesn't seem to be relevant for the 
>question about why using multiple connections would help.
The primary reason of single tcp cannot acquire full bandwidth of pipe is 
Head-of-line blocking(http://en.wikipedia.org/wiki/Head-of-line_blocking) i.e. 
sender stop sending data packets till it receives acknowledgement of first 
packet sent and using multiple connection is a workaround the problem. 

Quote from http://www.eecis.udel.edu/~nataraja/papers/MultTCPTR.pdf
"The current workaround to improve an end user’s perceived WWW performance is 
to download an HTTP transfer over multiple TCP connections. An application
employing multiple TCP senders exhibits an aggressive sending rate, and 
consumes a higher share of the bottleneck bandwidth than an application using 
fewer or single TCP connection(s) [12, 5]. Therefore, multiple TCP connections 
not only reduce HOL blocking, but are also expected to improve HTTP throughput. 
As a result, multiple TCP connections have remained an attractive option to 
improve web response times."

Quote from 
http://stackoverflow.com/questions/259553/tcp-is-it-possible-to-achieve-higher-transfer-rate-with-multiple-connections
"A brief summary: in high-latency, high-bandwidth environments, reliable 
communications such as TCP are often limited by the amount of data in flight at 
any given time. Multiple connections are one way around this, as the bandwidth 
delay product applies to each connection individually."

"This will vary depending on the TCP stack of your OS, but a not-uncommon value 
for TCP receive window size is 64Kbytes. This is obviously far too small to 
allow you to make full use of the end to end bandwidth; once 64kbytes 
(512kbits) of data have been sent, your sending process will wait for a window 
update from the receiver indicating that some data has been consumed before 
putting any more data on the wire."

"Having multiple TCP sessions open gets around this by virtue of the fact that 
each TCP session will have its own send/receive buffers"
                
> Support of chunked file upload into Sling
> -----------------------------------------
>
>                 Key: SLING-2707
>                 URL: https://issues.apache.org/jira/browse/SLING-2707
>             Project: Sling
>          Issue Type: New Feature
>          Components: General
>            Reporter: Shashank Gupta
>         Attachments: uploadclient.jar
>
>
> Use cases: 
> 1. Large file upload - With high speed internet connections, advent of cloud 
> and HD going mainstream, Sling should support large files (> 2GB) upload.
> 2. Fault tolerant uploads - Sling should provide capability to resume upload 
> from failure point. It should not require client to restart the complete 
> upload process. 
> 3. Faster upload: Sling should support its clients to initiate multiple 
> connection and upload file chunks in parallel. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to