Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have two computers on a LAN. The first computer with a speed of 128Mbs and a second computer with Internet connection speed is 256Mbs. I tried downloading a 250MB file. If the first computer to download about 48 000 seconds long and the second computer if you think it takes about 24 000 seconds. Is there a way that first computer downloaded a part of the file and second computer downloaded other part?

share|improve this question
    
what operating system are you on? –  user1055604 Apr 29 '12 at 11:51
    
OS 1 : Windows 7 and OS 2 : Windows XP ISPs are both one –  M R Jafari Apr 29 '12 at 14:12
    
are the two computers on the same network? –  user1055604 Apr 29 '12 at 15:49
    
What you're looking for is essentially link aggregation. You can set this up in a multitude of ways, but with Windows it can be rather difficult. Here is a good guide for several scenarios if you wish to use Unix: gouloum.fr/doc/multilink.html –  MaQleod Apr 29 '12 at 18:10
    
I also think you are getting some of your units mixed up. 128 Mbps and 256 Mbps are insanely fast connections to the outside world. Can you better explain how the internet connection(s) are coming in, how your computers are hooked up in relation to the internet connection(s) and how they are hooked up in relation to themselves? Also, please explain in more detail how you want the computers to interact with each other, the internet connection(s) and the files you donwload. –  MaQleod Apr 29 '12 at 18:21

3 Answers 3

If you have two computers, each with it's own independent connection to the internet (i.e. two ISP connections) not one shared connection then, in theory, by using something like FTP servers that support resumption of interrupted downloads, each computer could simultaneously download half of the file.

However I don't know of any software that does this (though perhaps wget or curl can be made to perform the appropriate offset fetch)

If the bottleneck is the ftp-server (or equivalent protocol server) then having two connection won't help.


Update: The sort of thing I had in mind was

Computer 1

      dd if=/dev/zero bs=10000 count=5 > name-of-big.file
      wget -continue http://www.example.com/name-of-big.file

Computer 2 (concurrently via separate Internet connection)

      wget http://www.example.com/name-of-big.file

Stop this when it reaches the size of the chunk skipped on Computer 1. I did think you could get wget to stop by piping output to a dd statement that breaks the pipe but this turns out to not work

      wget -O - $URL | dd bs=10000 count=5

Wget does stop when dd breaks the pipe but the resulting file isn't the right size. So maybe just let it run, manually stop it and cut the part you need (e.g. using dd)

Finally you can chop the non-zero part of the file on computer 1 (e.g. using dd) copy to computer 2 and cat the pieces together.


This seems messy to me, I'd rather find or write a distributed HTTP client :-)

share|improve this answer
    
I want download as concurrent –  M R Jafari Apr 29 '12 at 14:18
    
@MRJafari: Concurrent is what I mean. –  RedGrittyBrick Apr 29 '12 at 14:51

This solution assumes that the two computers are networked on a LAN:

  1. For starters run a proxy on one of the computers, any HTTP proxy would do.
  2. Get Net Transport a Download Manager that supports Multiple Proxies mode and install the same on the other computer.

    The "Multiple Proxies mode" allows you to assign every working thread a different proxy to break certain site restrictions, like only one connection per IP.

  3. So, for every file you download on the Net Transport computer, add the proxy on the first computer as a separate thread of download.
  4. The download will now utilize bandwidth from both the computers' internet connection, concurrently.
EDITED:

As you can see in the lower right pane 'Logs' of screenshot, each download can done concurrently in multiple threads (separate connections with the download server). This tool lets you specify whether or not each thread will use a proxy. So, u can set some of the threads to use the bandwidth on the proxy computer.

Net Transport

share|improve this answer
    
Your assume is true. –  M R Jafari Apr 30 '12 at 9:11
    
If possible explain with an example. Thank you –  M R Jafari Apr 30 '12 at 9:46
    
Computer A run the proxy, this makes it possible for other computers on the LAN to use its internet connection by way of the proxy. A program on Computer B can now use multiple net connections (one is A's proxy and the other is B's direct connection) to download the same file from two different sources at the same time. Now the only thing missing in the equation is a program that does that. Net Transport is one such program. aria2c also supports such connections over multiple sources mode, but its command line and I don't know of any nice gui for it... –  user1055604 Apr 30 '12 at 15:26
    
i hope you get it now... u will need Net Transport and a proxy at the minimum to get this to work... i can post screenshots to illustrate if necessary... –  user1055604 May 1 '12 at 15:45
    
Please send me screenshots. Thank you –  M R Jafari May 2 '12 at 5:07

The term for what you're trying to do is called "Bonding Connections". There are a couple of companies, such as Mushroom Networks, that create routers with multiple WAN ports that automatically load balance the connections. A cheaper option would be to plug both connections into one machine and run your own proxy/load balancing software on it for your network.

share|improve this answer
1  
Technically, bonding is done on the protocol level and is handled by the the ISP (in the cases of bonding T1s or using bonded Ethernet, otherwise known as EoC - which is often just fancy ADSL over ATM). Once the connections come in and are translated from whatever external protocol over to Ethernet, the protocol that your router talks with, the term becomes Link Aggregation. Load balancing and failover are two other options. –  MaQleod Apr 29 '12 at 18:16
1  
Link Aggregation makes both connections into one solid link that everything goes through. Load balancing divies the connections up, but will balance multiple requests through it, no single request will utilize both lines at the same time. This means that a download request will only ever use one connection, but a subsequent request will be balanced to use the other. Failover means that only one is used, until it goes down, then the connection is automatically switched over to the backup. –  MaQleod Apr 29 '12 at 18:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.