Sign in to follow this  
Followers 0
Pedja

MAking download from multiple sources even more smart

15 posts in this topic

One of the best features of ApexDC is it's ability to locate the same file at several sources and download from them.

I am not familiar with the way how this smarty thing is implemented but it seems to me that on feature is lacking: ability to switch to other source if it is better.

By better, i mean faster. I se often situation that there are other sources that are faster, but client is stuck with sources he found first. If would be great if client can check all available sources (regardles allowed slots) and if he finds some faster than any of the used sources, to switch to speedier one.

Share this post


Link to post
Share on other sites

there is a setting to remove conections if the are slow. (as i'm just start my test run i did not yet tested if it worked correct )

settings > adfanced > limmits

A_Alias

Share this post


Link to post
Share on other sites

there is a setting to remove conections if the are slow. (as i'm just start my test run i did not yet tested if it worked correct )

settings > adfanced > limmits

A_Alias

I think you do not catch the point. Sometimes when the client completes the the faster segment and there is no more "free block" it still continues downloading slower segments but it would better stop downloading from slowest source and pass this segment to to the fastest free source. Is it not rational?

Share this post


Link to post
Share on other sites

sigments seams to be splitted up in chunks from ONE MB ... so what i have seen on zion++ you only wait a few minutes more if you use a high setting for disconect slow users if there are multy sources.

i dit not read it that way that its only for the last part from a file .... into the original post.

A_Alias

Share this post


Link to post
Share on other sites

I think you do not catch the point. Sometimes when the client completes the the faster segment and there is no more "free block" it still continues downloading slower segments but it would better stop downloading from slowest source and pass this segment to to the fastest free source. Is it not rational?

Um, disconnecting slow users means that the fast uploader tcan upload the same chunk.

Share this post


Link to post
Share on other sites

Um, disconnecting slow users means that the fast uploader tcan upload the same chunk.

think the like on top of the disconect slow users .... to keep the fastest one with higest priorety

Share this post


Link to post
Share on other sites

Could check if Amount of segments left minus Amount of slots for that file equal 0. If so, disconnect slowest segment, just before any segment finishes (unless it's the slowest one finishing, then no need to disconnect it. :shifty:)

Share this post


Link to post
Share on other sites

Disconnection slow connections may mean that there would be noone to download from, since they are all slow. My point is that if there is faster source available, Apex should swith to that one. If there is no faster source, it should continue with what is available.

Share this post


Link to post
Share on other sites

Disconnecting slow users might be really bad.

Imagine situation - you are downloading some rare file and only 2 users have it. One is a bit faster. So Apex disconnects and removes slower ones. But without him your download is also slowed down.

And seems like there is a bug with this feature, so Apex (Strong) disconnects slow users even if this feature is disabled in options. Please, fix it.

Share this post


Link to post
Share on other sites

Disconnecting slow users might be really bad.

Imagine situation - you are downloading some rare file and only 2 users have it. One is a bit faster. So Apex disconnects and removes slower ones. But without him your download is also slowed down.

And seems like there is a bug with this feature, so Apex (Strong) disconnects slow users even if this feature is disabled in options. Please, fix it.

I dont think u got it.Look:

I wanna download a 10 MB file.5 users have it.i'm near the end and some users are disconnected because there's no free block.So it will be good if apex remembers the last DL speed from all users.and when it's time to drop a user bcuz there's no free block , apex will check which user's speed is slowest and disconnects him.So when i am DLing that file and i'm DLing from user1 with 1 MB, u2 with 500BK , u3 with 250KB , u4 with 125KB and u5 with 64 KB apex wont drop the 1st user from who im DLing with 1 MG but it'll drop the slowest (u5).

And that disconect slow DLs function , doesnt it disconnects all of the users who are ULding bellow that speed.or what if all of the users are UL with higher speeds like 5 MB or even 7MBs?apex could stil disconnect the 7mbs user!

UL == upload

DL == download

u2 == user 2.

Sorry for my bad english

Share this post


Link to post
Share on other sites

My idea is that slower source is abandoned only if there is faster available.

Example:

you download file and Apex found five sources but uses only three (lets say that you set it to use max three DL slots). Apex should choose three fastest. If, during the time, one becames slower then one of two unused sources, Apex should swith to faster one.

Point is that source usualy becomes slower in time because more other clients stat to download from it. So, switching to faster one frees him up and lets others download from him faster, and distributes traffic on all available sources.

I believe this would positively affec overall functionality of DC network.

Share this post


Link to post
Share on other sites

Yeah. but You have no guarantee that those sources You keep as "backup" will still give You slot when You want to switch.

There is a 'chunk overlapping' function already in SDC++ witch is suppose to leave fastest sources when there is "no free block" - it disconnects slower and faster user continues his segment. I suppose it's not working perfectly since no one mention it earlier? :)

Share this post


Link to post
Share on other sites

There is a 'chunk overlapping' function already in SDC++ witch is suppose to leave fastest sources when there is "no free block" - it disconnects slower and faster user continues his segment. I suppose it's not working perfectly since no one mention it earlier? :)

It works perfectly... erm.. but nothing works perfectly :D:) it's just because:

a) it works only for sources with known speed

B) it requires that the current chunk would be downloaded below 15 seconds with new overlapping source

c) if the source was very fast before, it can be very slow now or it doesn't have to have a slot already

but I admit that this feature still needs some improvements especially in forcing the connection to fast sources when there's a slow one remaining etc..

Share this post


Link to post
Share on other sites

It is good to see that work is done on this manner. I pointed it out because I noticed that somtimes, Apex keeps downloading from slower source. I gues it will improve in time.

Share this post


Link to post
Share on other sites

if I remember well, than apexDC doesn't use overlapping because its code is overriden by super-seeding feature

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0