Distrituting Giant Files

R

Roedy Green

I have been studying up on the latest BitTorrent.

see http://mindprod.com/jgloss/bittorrent.html

It lets you distribute very large files with minimal overhead on your
part.

You don't need ANY serverside software. What you do need is a PC
running BitTorrent client with access to the bundles you want to
distribute. This is called the seed. If many people download, people
mostly share the pages with each other. So no matter how many
downloaders there are, your overhead does not increase.

So this lets you could distribute whacking create downloads like JVMs,
radio shows, videos, movies, rants, with minimal investment, justan
old PC in your LAN.

There is a Java BitTorrent client called Azureus.

The only thing you have to do to your server is set up .the .torrent
mime type application/x-bittorrent.
 
L

Luc The Perverse

Roedy Green said:
I have been studying up on the latest BitTorrent.

see http://mindprod.com/jgloss/bittorrent.html

It lets you distribute very large files with minimal overhead on your
part.

You don't need ANY serverside software. What you do need is a PC
running BitTorrent client with access to the bundles you want to
distribute. This is called the seed. If many people download, people
mostly share the pages with each other. So no matter how many
downloaders there are, your overhead does not increase.

So this lets you could distribute whacking create downloads like JVMs,
radio shows, videos, movies, rants, with minimal investment, justan
old PC in your LAN.

There is a Java BitTorrent client called Azureus.

The only thing you have to do to your server is set up .the .torrent
mime type application/x-bittorrent.


I recently downloaded and installed BitTorrent - and I have been generally
happy with it.

Don't forget to set up the TCP port forwarding if you, like most people, are
behind a NAT.
 
S

Scott Ellsworth

Roedy Green said:
The only thing you have to do to your server is set up .the .torrent
mime type application/x-bittorrent.

There is one other problem - in order to share well, you need to have a
fixed internal IP and to configure your router to forward a small stash
of ports.

I have no a priori problems with opening a port, but my entire internal
network is set to dhcp, so I do not have to fiddle on remappings. It
would make my life easier if the BT had implemented UPnP-NAT and
NAT-PMP. See <http://www.rogueamoeba.com/utm/posts/2005/Jul> for a
fairly well described reason why we might want this.

(I am using Azerus; if other clients do this, I may just switch.)

Scott
 
R

Roedy Green

(I am using Azerus; if other clients do this, I may just switch.)

I am using BitTorrent client. One thing I don't like about it is it
won't tell you if it has successfully negotiated the firewall and what
ports it is using.
 
L

Luc The Perverse

Roedy Green said:
I am using BitTorrent client. One thing I don't like about it is it
won't tell you if it has successfully negotiated the firewall and what
ports it is using.


??? The ports are completely configurable in the settings.

And if it isn't making it in through the firewall you will know, because
your speeds will be atrocious (sp?) and no one will ever be able to download
from you.
 
R

Roedy Green

And if it isn't making it in through the firewall you will know, because
your speeds will be atrocious (sp?) and no one will ever be able to download
from you.

The speeds may be atrocious, but if you are a new user, you don't know
what sort of speed to expect. And for the thing to work you must be
able to both upload and download, even if inefficiently.

I would just like it to give you positive feedback you have nailed it.
 
L

Luc The Perverse

Roedy Green said:
The speeds may be atrocious, but if you are a new user, you don't know
what sort of speed to expect. And for the thing to work you must be
able to both upload and download, even if inefficiently.

I would just like it to give you positive feedback you have nailed it.


Well yeah I do see what you mean.

Maybe even a test button?

You could always make it a student project.
 
S

Steve Horsley

Roedy said:
I am using BitTorrent client. One thing I don't like about it is it
won't tell you if it has successfully negotiated the firewall and what
ports it is using.

Roedy,

I suggest you take a look at Azureus. As a java programmer
yourself you might appreciate the fact that it is a pure java
application (using SWT though, I think). It has a tool to test
your incoming connectivity (I guess it calls their server for a
callback, but haven't traced it to be sure). And it has an
awsomely wide configuration and setup. Also a pretty graphical
representation of all the chunks being exchanged between yourself
and peers. I think it's a real tour-de-force.

Steve
 
I

IchBin

Steve said:
Roedy,

I suggest you take a look at Azureus. As a java programmer yourself you
might appreciate the fact that it is a pure java application (using SWT
though, I think). It has a tool to test your incoming connectivity (I
guess it calls their server for a callback, but haven't traced it to be
sure). And it has an awsomely wide configuration and setup. Also a
pretty graphical representation of all the chunks being exchanged
between yourself and peers. I think it's a real tour-de-force.

Steve
Cool..

http://en.wikipedia.org/wiki/Azureus
--

Thanks in Advance...
IchBin, Pocono Lake, Pa, USA
http://weconsultants.servebeer.com/JHackerAppManager
__________________________________________________________________________

'If there is one, Knowledge is the "Fountain of Youth"'
-William E. Taylor, Regular Guy (1952-)
 
O

Oliver Wong

Roedy Green said:
I have been studying up on the latest BitTorrent.

see http://mindprod.com/jgloss/bittorrent.html

It lets you distribute very large files with minimal overhead on your
part.

You don't need ANY serverside software. What you do need is a PC
running BitTorrent client with access to the bundles you want to
distribute. This is called the seed. If many people download, people
mostly share the pages with each other. So no matter how many
downloaders there are, your overhead does not increase.

So this lets you could distribute whacking create downloads like JVMs,
radio shows, videos, movies, rants, with minimal investment, justan
old PC in your LAN.

There is a Java BitTorrent client called Azureus.

The only thing you have to do to your server is set up .the .torrent
mime type application/x-bittorrent.

I'm fascinated by the bittorrent protocol and often wonder how it
manages to achieve the efficientcy that it does, especially since it does
not seem to be conceptually radically different from, for example, the
eDonkey protocol, and yet consistently outperforms the eDonkey protocol. As
part of an examination for a university course on TCP/IP and Internet
Protocol in general, I chose to research and write a bit about the
bittorrent protocol. One of these days, I'll have to take a look at eDonkey,
and try to figure out exactly what key element is missing to give eDonkey
the same performance.

In the traditional bittorrent protocol, you DO need a server. It's
referred to as a "tracker", and all the peers connect to the tracker to
announce their presence, and locate other peers. The tracker does not itself
host any files (other than the .torrent file, which is usually less than 10
kilobytes), which is why it may seem at first like no server is involved.

Traditionally, every torrent is related to exactly one tracker, but a
tracker can host multiple torrents at a time. A user can download from
multiple torrents at a time. Whether a single instance of the application is
run to manage all the torrents, or a new instance is created for each
torrent, is left up to the implementor of the client program.

The people behind Azureus created an extension to the bittorrent
protocol that allows it to discover new peers without a tracker. Azureus
uses a single instance of manage all the torrents the user wishes to
download. As such, a single instance of Azureus could be connected to
multiple trackers simultaneously. When an Azureus client discovers another
Azureus client as a peer, they will exchange a list of known peers, thus
allowing the discovery of new peers without the usage of a tracker.

Since then, other clients of the bittorrent protocol have implemented
support for Azureus' trackerless extension, but it is a "only" a defacto
standard, not one officially endorsed by the creators of the bittorrent
protocol.

Also, some trackers were meant to be private (e.g. sharing family home
videos that you don't want others to see, or sharing illegal software that
you don't want other people to know about, etc.), and so yet another
extension was created ontop of Azureus' extension which allows for specific
torrents to be marked as "private", meaning that a well-behaving client
should not share peers that it located via a private torrent.

Not all clients have implemented the above "private" extension, and so
the tracker softwares have been modified to blacklist certain clients which
do not respect the private flag, thus bring more awareness to the fact that
bittorrent is still, at its core, a server oriented protocol.

- Oliver
 
M

Monique Y. Mudama

I recently downloaded and installed BitTorrent - and I have been
generally happy with it.

Don't forget to set up the TCP port forwarding if you, like most
people, are behind a NAT.

This does get annoying. My husband and I have separate computers
(well, okay, several each), so we're constantly going into the
router's port forwarding tool to remap to one machine or the other.
 
R

Roedy Green

This does get annoying. My husband and I have separate computers
(well, okay, several each), so we're constantly going into the
router's port forwarding tool to remap to one machine or the other.

I don't think you need to do that, at least for BitTorrent. You take
addresses 10000..1000F and your husband take 10010..1001F and leave
them both forwarded all the time.
 
M

Monique Y. Mudama

I don't think you need to do that, at least for BitTorrent. You
take addresses 10000..1000F and your husband take 10010..1001F and
leave them both forwarded all the time.

It's partly a problem because the World of Warcraft patcher uses
BitTorrent under the hood, but doesn't give you any way of tweaking
the settings.
 
L

Luc The Perverse

Monique Y. Mudama said:
It's partly a problem because the World of Warcraft patcher uses
BitTorrent under the hood, but doesn't give you any way of tweaking
the settings.


Are you sure it uses just a single port? Maybe you could give half to one
machine and half to another (I mean if it uses more than one single port.)
 
S

Scott Ellsworth

Luc The Perverse said:
Well yeah I do see what you mean.

Maybe even a test button?

You could always make it a student project.

I would vote for adding the uPNP and NAT-PMP support to the student
projects list, were it a voting matter.

Scott
 
L

Luc The Perverse

Scott Ellsworth said:
I would vote for adding the uPNP and NAT-PMP support to the student
projects list, were it a voting matter.


And so might I, were I to know what those were.

Let's see.

uPNP . . . . **googling** . . . Ok that IS what I thought that meant.

Oh you mean for other student projects! Isn't uPNP more of an OS related
task? Microsoft already supports it sure linux will soon if it doesn't
already.
 
O

Oliver Wong

Monique Y. Mudama said:
It's partly a problem because the World of Warcraft patcher uses
BitTorrent under the hood, but doesn't give you any way of tweaking
the settings.

If you use a standard Win32 resource editor, you can open the .EXE file
that blizzard distributes, extract the .torrent file, and download the
patches using your preferred client.

- Oliver
 
S

Scott Ellsworth

Luc The Perverse said:
And so might I, were I to know what those were.

Let's see.

uPNP . . . . **googling** . . . Ok that IS what I thought that meant.

Oh you mean for other student projects! Isn't uPNP more of an OS related
task? Microsoft already supports it sure linux will soon if it doesn't
already.

Oh - I should have been clearer - adding NAT-PMP to BitTorrent.

It is something that the individual application can choose to support.
If supported, it lets that app tell the firewall that it wants to open a
hole.

The security implications are interesting, but if you are running BT,
then you have obviously settled those to your own satisfaction, and if
the router owner disagrees, then he or she can leave it deactivated.

Scott
 
L

Luc The Perverse

Scott Ellsworth said:
Oh - I should have been clearer - adding NAT-PMP to BitTorrent.

It is something that the individual application can choose to support.
If supported, it lets that app tell the firewall that it wants to open a
hole.

The security implications are interesting, but if you are running BT,
then you have obviously settled those to your own satisfaction, and if
the router owner disagrees, then he or she can leave it deactivated.


You mean dynamically asking a NAT to forward ports to your IP; I agree that
would be friggin awesome!
 
R

Roedy Green

Maybe even a test button?

You could always make it a student project.

done. See fhttp://mindprod.com/projects/natcracker.html
NAT Cracker : autoconfigure A NAT router.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top