skew in ratio counts - uTorrent

techie

SuupaOtaku
Jul 24, 2008
568
4
This topic is simply on the issues of inner workings of uTorrent I have noticed.

I recently got a file that hung on 99.6% and found a source for an identical file in another torrent.

By simply starting this other torrent, then closing the utorrent gui (exit, not minimize) I cut and pasted the 99.6% completed on top of the new target file.

Then restart utorrent and force recheck to get the file to actually accept the new content. This results in that I now have completed 99.6% of the new just loaded file.

The funny thing that happened as a side effect to this way of using utorrent was the following.

The whole file is 1.75GB
The rest to load was less than 8 MB.

Upon completing the 8 MB in less than 10 seconds, I noticed that the "shared upload quota" was specifying having seeded ratio 0.935 or 93.5% of what I had downloaded.

This implies uTorrent counts the ratio based on downloaded volume in bytes and not download size of the whole file.

In all fairness, I don't think its just to claim the file was shared 0.935 but rather 0.00935 in this case :)

Just an interesting way to review the sharing ratio which I have seen been the topic of many discussions on forums such as A-O.

see attached screen cap for an example of the skew described.
 
Jul 1, 2009
225
11
This isn't a bug. Share ratio is amount uploaded divided by amount downloaded and is calculated per torrent. If you cut/paste between torrents, the ratio should reset because the data is using a different tracker. You have high ratio very quickly on the second torrent because you downloaded very little from that swarm and therefore needed to upload very little to reach a 1 ratio.

What you do on one tracker has no bearing on what you do on another. The fact you happened to be dealing with the same file does not change that.
 

techie

SuupaOtaku
Jul 24, 2008
568
4
That is true indeed mister_playboy

however this thread was posted because I know a lot of discussion used to go around about this with tagging seeders and leeches through some "personalized design" by some tracker maintaining domains.

The discussion went along the lines that you should not allow leeches to continue to leech unless they also shared/seeded their fair share.

Apparently, the statistics reported must be carefully studies since there is no way to rely on certain data sent by the torrent client vs. what the server tracker sees.

On the other hand, how would a tracker keep tabs of people who seed 300 % of their 1 Mb downloaded when the 1 Mb down is all they need to completion.

If you then left your seed open for another hour and seeded 900% more, how do you balance this toward the quota for another torrent file?

Quite mathematically impossible in other words, and the overall leech/seed ratio for a particular user on a particular tracker would be unfair and offset from reality.

This perhaps better explains the reason for my original post. :study:

Personally I have always been against the involvement of tracker usage to try to organize some sort of "fair share" programme.
I believe in the end it should be left to the leeches mind to get with the programme sort of speak. Still some tracker managers promote the idea of maintaining some sort of membership ruling for this.

We will always have some leeches and some who leeches more than others, but they are also unlikely the most active in the community and not equally as likely to be screaming for new seeds if a seed is dying out.
 

Rollyco

Team Tomoe
Oct 4, 2007
3,556
34
Quite mathematically impossible in other words, and the overall leech/seed ratio for a particular user on a particular tracker would be unfair and offset from reality.
I'm not sure I understand your reasoning. A tracker takes the downloaded and uploaded values reported to it in order to calculate the "overall leech/seed ratio" as you said. Client-to-tracker communications are always in bytes, not percentages. Except when the client deems a torrent is finished, in which case it sends a "completed" (i.e. 100%) event to the tracker, but that is not used to compute ratios. Where's the mathematical impossibility in that?
 

Vitreous

°
Former Staff
Sep 13, 2009
2,033
591
You leech 1Mb (last bit of a file), then seed it back 10x (10MB), so your ratio is 10:1 (up:down). You leech the first 9Mb of the next torrent, you're back to 1:1. Leech another 10Mb, now you're 1:2. Another 80Mb and you're 1:10. Tracker can limit your ratio at any point. Ratio is total Mb uploaded : total Mb downloaded. Exactly what portions of which torrents were involved is irrelevant. Where's the problem?

Edit: Ninja'd by Rollyco...
 

techie

SuupaOtaku
Jul 24, 2008
568
4
True but in all fairness. wasn't the idea of leech prevention to preserve the upload ratio of a complete file, and not interference in these evaluations by some whom complete portions of the file.

And yes I see the point in redundancy as the tracker calculates the whole UL vs DL math, but in my way of counting it, I would say the importance should be on equal part which torrent is evaluated as that sets some validation ideals out of play.

---Will try to rephrase when I am less tired. Thanks for your input.
 

Rollyco

Team Tomoe
Oct 4, 2007
3,556
34
I take pride in my abilities with the English language, but I confess your last post is very hard to decipher. :exhausted:

"
 

Ceewan

Famished
Jul 23, 2008
9,151
17,033
I don't know why but I understood techie perfectly. He is saying that he was able to change the results of the ratio report and he should not have been able to do that. utorrent is a very small program though and I see this as a minor and unimportant glitch, important perhaps for places that use private trackers , (which I do not use myself).

I am still fairly new to this whole P2P business and I admit I do not take a whole lot of time to learn about it, (though sometimes I enjoy reading threads like this one to increase my competence in that area, if only slightly). As long as my torrents download and I am able to upload my share and then some I am pretty content.
 

guy

(;Θ_Θ)ゝ”
Feb 11, 2007
2,079
43
A couple points (or skip to 3 for the most important point):

1) These hypotheticals should all be based on the assumption that you're connected to only one tracker. Once you're connected to multiple trackers, how do you handle differing reported ratios? (For example: you've been connected to tracker A for the whole time which reports your ratio as 1.000, but you've been connected to tracker B for only half the time, which reports your ratio as 0.500; is your ratio thus 0.750?) Basically, should ratio be calculated based on what each tracker reports, or should it be based on what your client logs in total ul/total dl?

2) In the case that you're an initial seed, you would technically be ∞, because as ratio is calculated by total upload ÷ total download, and your download is 0, you have a divide-by-0 situation. Most clients handle this client-side, and simply weigh your upload against the file size (eg: total upload ÷ file size) -- useful, because in initial seeding it's good to monitor once you reach 1.000 (eg: finished uploading all pieces).



In your original post, you are actually missing some data that would help clarify the issue:
Total file size: 1.75 GB (1792 MB)
Original download: 1784 MB
Final download: 8 MB
Original upload: unknown
Final upload: unknown
Original ratio: unknown
Final ratio: 0.935

Without those missing numbers, we can't know for sure how uTorrent is calculating your final ratio!



Last,
3) On the issue of (private) trackers that record your "ratio" in order to prevent leeching, all private trackers I have ever come across record your entire upload and download, not per torrent. For example, assume I have two torrents:
Torrent A: 1024 MB, downloaded 1024 MB, uploaded 1024 MB
Torrent B: 10 MB, downloaded 10 MB, uploaded 2 MB
If you calculated overall ratio per torrent, then you would average torrent A ratio (1024 ÷ 1024 = 1.000) and torrent B ratio (2 ÷ 10 = 0.200) and end up with a ratio of 0.600! Then a tracker might limit your download because you look like a leech, despite having uploaded 1026 MB out of your total 1034 MB downloads!

So all the private trackers I've used add up all of your download/upload data, regardless of how it is separated between torrents. In the example above, we would have a ratio of (1024 + 2) ÷ (1024 + 10) = 0.992.

Side note:
In addition, in order to combat the "divide by 0" problem, as well as "unable to seed because no one else is leeching", many private trackers also use tiers in their rulesets. For instance, an overall ratio of 0.600 is acceptible for a newbie (someone who has downloaded less than 5 GB total); regulars who have downloaded between 5 GB and 100 GB must maintain a ratio of 0.750 or better; and "pros" with more than 100 GB downloaded must maintain 0.850 or better.

It should go without saying that this "overall" ratio that is calculated by the tracker is not the same as the ratio that is reported "per torrent" in your client.
 

Ceewan

Famished
Jul 23, 2008
9,151
17,033
Thanks guy, I might have actually understood some of that, lol.
 

techie

SuupaOtaku
Jul 24, 2008
568
4
I understand perfectly well where you all are coming from.
What I intentionally was on about is a little bit different in the thinking ...

As for the figures in Guy's previous post section 2) you can add the previous ul/dl ratio before I closed the torrent was over 450% and the final UL/DL ratio on closing the small filler test was approx. 3:1 (300%) so how it arrived on 0.935 is beyond me.

Although it is irrelevant for the following...

The reason many, and yes accurately so, often private trackers, started to look to the UL/DL ratio controls was the problem with leechers not doing their fair share.

The fair share part is my issue here, as you consider the following scenario;

John Doe creates a torrent...
He then super seeds this as initial uploader and starts on infinity as you say.
Technically speaking, if it is a popular torrent and say 100 leeches away on it, when John has uploaded 5:1 he should be able to leave and let the community take care of its own needs.

This is not the case, and no UL/DL ratio will ever help this unless this ratio is accounted for by each individual torrent.

In other words, the leech problem is not one of people not seeding all torrents on the tracker enough, but that of hit-and-run leeches in my opinion.

Evaluating again, the numbers above, if you account for UL/DL ratio by MB and not % of the active torrent, then you fail to mitigate this leech problem.

All from the perspective (sorry old analogy from the army years) that "only because you keep a lot of led in the air doesn't mean you will hit more targets".
 

guy

(;Θ_Θ)ゝ”
Feb 11, 2007
2,079
43
The reason many, and yes accurately so, often private trackers, started to look to the UL/DL ratio controls was the problem with leechers not doing their fair share.

The fair share part is my issue here, as you consider the following scenario;

John Doe creates a torrent...
He then super seeds this as initial uploader and starts on infinity as you say.
Technically speaking, if it is a popular torrent and say 100 leeches away on it, when John has uploaded 5:1 he should be able to leave and let the community take care of its own needs.

This is not the case, and no UL/DL ratio will ever help this unless this ratio is accounted for by each individual torrent.

In other words, the leech problem is not one of people not seeding all torrents on the tracker enough, but that of hit-and-run leeches in my opinion.

Although in theory you could be correct, this is very rarely the case. Also, you may want to be careful about some of the math going on in your example.

For John's torrent, let's assume the swarm size stays at a constant 100 peers. In order for everyone to download the file completely, the total upload among all peers should be 100 × filesize (because the file should be downloaded 100 times).

John has already uploaded 5 × filesize in order to reach a ratio of 5.000. Thus the remaining total upload among the 100 users should be 95 × filesize. Now assuming that everyone has an identical connection and uploads an equal share of that 95 × filesize, that means everyone will have downloaded filesize, and uploaded 95/100 × filesize. Thus everyone else will have a ratio of 0.950, and it will be theoretically impossible for anyone to reach a ratio of 1.000.

This is obviously exacerbated by peers who have faster upload broadband connections, and peers who join the torrent early vs peers who join the torrent late, but on the whole, the overall health of the torrent is not affected.

I'm not going to explain why a torrent can have a majority of leechers (people who do not reach 1.000 ratio) and still be healthy -- even with leeches that download without uploading anything (as long as its during the longtail of the torrent)! If you don't understand that, you just need to go and review the bittorrent protocol and the math behind it!



As for mitigating the "leech" problem, technically you are correct that this does not solve the problem for each torrent. But private trackers operate by using on their own tracker on the torrents (protip: that's why they're called "private"), which means they don't have to worry about the health of each torrent.

For a newbie with no UL/DL stats who joins an old torrent with 100 seeds and 0 peers, it is downright impossible for them to raise their ratio above 0.000, even if they seed for an extremely long time (and even if another peer joins, they will probably only get to seed to 0.010, as 1/100 of the existing seed pool). It is absolutely unfair to ban them over something they cannot control.

And if you weight the overall ratio across torrents (eg: average the ratio of each torrent), you effectively discourage people from joining old torrents for that reason above. This means torrents will die out sooner. Basically you're banning people unfairly and causing torrents to die early.

Even though calculating ratio according to total UL/DL (instead of averaging the ratio fo each torrent) technically does not "solve" the leech problem, it gives private trackers an easy way to spot users who are consistantly leeching (eg: leeching even on torrents where they have plenty of opportunity to seed). It is a less precise but more accurate method of calculating a user's leeching, and when implemented with ban rules (such as with tiers as I mentioned earlier), it does in fact solve the leech problem, because it deters those capable of seeding (people with fast connections and who join the torrent early) from hit-and-run behavior.
 

techie

SuupaOtaku
Jul 24, 2008
568
4
Although in theory you could be correct, this is very rarely the case. Also, you may want to be careful about some of the math going on in your example.

True indeed...


Even though calculating ratio according to total UL/DL (instead of averaging the ratio fo each torrent) technically does not "solve" the leech problem, it gives private trackers an easy way to spot users who are consistantly leeching (eg: leeching even on torrents where they have plenty of opportunity to seed). It is a less precise but more accurate method of calculating a user's leeching, and when implemented with ban rules (such as with tiers as I mentioned earlier), it does in fact solve the leech problem, because it deters those capable of seeding (people with fast connections and who join the torrent early) from hit-and-run behavior.

Could possibly be but I fail to see how this would be helpful to the overall community on open trackers for example where some parties have suggested a similar limit system.

I can only compare to some cases where for example I have done a UL at times of 10:1 for a tiny torrent of less than 250 MB and it takes another user a couple of days to complete it.

The other scenario is where I get a whopping 0.0495 ratio and complete 1.2 GB in 5 minutes although there is only 1 seeder but 1,000 leeches.

Mathematically it puts me on a 2:1 ratio however you count it, but it is still not fair to the people on the huge file where one could easily hold it open for an other hour and get to a 1:1 instead of 1:20

I originally posted the thread to discuss the issues surrounding the problem of hit and run leeches as well as pointing out how seemingly impossible it is to find a balance in the mitigation of hit and run leeches.

Good though that you included the discussion on the techincal parts of actual functioning of private trackers.

I think eventually there will be far improved methods of doing all this, beyond torrent of course so the problem should be self-mitigating by technology migrating to improved solutions. And I am not referring to other forms of bittorrent clients now but to newer things which could be on the horizon making life simpler for all and reducing overall bandwidth usage.
 

guy

(;Θ_Θ)ゝ”
Feb 11, 2007
2,079
43
Could possibly be but I fail to see how this would be helpful to the overall community on open trackers for example where some parties have suggested a similar limit system.
Yep, it's pretty useless on open trackers. But then is there a particular need for proper ratio reporting? Even if you ban hit-and-run users, they can just load another open tracker to their torrents to connect to other peers.

Although this is long, it provides some good insight to the pros and cons of ratio reporting:
Code:
http://www.zeropaid.com/news/8042/is_bittorrent_shareratio_enforcement_really_necessary/
Of interest are the parts about the similarity in characteristics between bittorrent and social networking (since torrents are a "social" method for filesharing), and how applying social networking behavior could be a way to encourage adequate sharing over strict technological enforcement of UL/DL ratio.