Overlords, I request your utmost aid in vanquishing the beast of my IS450 class.

Suppose a 1 GB file must be distributed. Assume there are 10 clients (or peers) in addition to the server, and that the following 10 numbers represent the download speed of the 10 clients, in Mb/s:

2 6 10 1 1 9 8 6 4 2

Each client has an upload speed of one half its download speed. The server has an upload speed of 20 Mb/s. How much time does it take to distribute the file in the client/server case?

Which equation would I use from picture three in the dropbox link? There's also a third equation "D sub cs = NxF/u sub s".

I'm thinking we're over thinking this. I'm assuming it's as simple as "Dcs = NF/us". The server has to send the same file to 10 clients. So then, the server has to send 10x1024MB total at maximum speed.
Maximum speed would be the lower of 20Mb/s (how fast the server sends) and 49Mb/s (how fast the clients receive), so 20Mb/s.
10x1024MBx8 / 20Mb/s = 81920Mb / 20 Mbs = 4096 seconds assuming using the above. But then again, each client has a different download speed and this is what has thrown me for a loop. O.o

Thanks for any help!

https://www.dropbox.com/sh/gmf60ne0junv07s/DTu_hK_T-N

Recommended Answers

All 2 Replies

Sorry, but we don't do your homework for you! Post your approach to the problem, the techniques you would use to optimize the workload amongst the clients, and the math to apply to it. Then we may be able to help you find the errors of your ways... :-)

Not being a computer professional by any means, my question may be naive: Wouldn't you just figure out how long it would take the slowest person to download the file? It seems all the rest of the information is unecessary. All you want to know is how long it would take to distribute the file and once the slowest person finishes, the faster ones should already be done. Just a thought.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.