[JDEV] File transfer and Jabber

Iain Shigeoka iainshigeoka at yahoo.com
Tue Apr 24 09:41:26 CDT 2001

Hello all,

I think I understand the arguments on this with two basic camps: those that 
want to use oob, and those that think its impractical mainly from the point 
of view of creating another connection or the storage costs involved.  I 
believe there are no barriers for writers of clients from taking either 

For users of oob the main problems are:

Requires separate connection.  Using WebDAV (preferred) or http upload, 
this should not be a problem for most users as they should have a web 
connection if they have been able to run jabber!

Resource consumption.  The semantics of providing for the webspace and 
bandwidth allowances is an issue.  However, I believe that this can be 
overcome in a variety of ways (I providing a standard ad-based incentive 
scheme).  WebDAV-based schemes also have the added benefit of allowing 
users to "web cache" files so they don't have to keep uploading the same 
file as they "transfer" it to people.

Security.  The intermediary must be trusted and must trust the clients.  In 
addition, by storing files on the server, there are some issues of privacy 
and the liability the server owner has for files stored on its systems.

For users of ib the main problems are:

Resource consumption.  For a variety of reasons, some jabber servers will 
not want to support the much higher bandwidth that ib file transfers will 
create.  This will probably result in file transfer detection or client 
type detection and rejection being written into the jabber server.  A 
situation that seems extremely distasteful.  However, ib file transfers 
simply won't scale to large installations.  By stating this, I have in mind 
napster-like traffic (terabytes).  An obvious if somewhat ambitious 
scalability goal for IM providing just music trading.  If trading of larger 
files like movies is to come, this situation can only get worse.


When I suggested the oob alternative of using a "web cache" I see that as 
the most practical compromise at the current time (not the ideal solution).

I still believe that ideally, oob traffic needs to be directly client to 
client.  This is the only way to really scale the system up.  Heavy 
transfers need to occur at the "edges" of the network.  It is simply not 
feasible to rely on any centralized system to handle the coming generation 
of extremely large file transfers.

I have high hopes that Jabber or some IM system will form the backbone of 
large scale file exchange communities.  As such, I would be very interested 
in discussing schemes for doing direct client-to-client transfers in a 
secure manner (hopefully one that works over firewalls).  For instance, I 
am not that familiar with SOCKS5.  Is it possible to directly connect two 
clients behind SOCKS5 proxies without an external relay server?


More information about the JDev mailing list