<p>How, if you have a database per client of a web application instead of one database used by all clients, do you go about providing updates and enhancements to all databases efficiently?</p>

<p>How do you roll out changes to schema and code in such a scenario?</p>

bittorrent
?
There have been a few web-based versions already (
bitlet
,
w3btorrent
), and
Azureus
was built using java, so it's definitely possible.
Edit: @TonyB is it limited to port 80?