Microsoft and Bittorrent
Microsoft has to distribute medium/large files to wide audiences. One example is the XP SP2 pack, that was made available via Bittorrent by third-parties (the Battle Torrent people).
The question is why hasn't Microsoft adopted a P2P distribution model? Cost would be the driving factor, as the servers and bandwidth to serve 2.5 million service pack copies a day can't be cheap.
Update: Microsoft shut down SP2Torrent.com.
Note: This post was originally part of my previous post (Bittorrent HTTP/web seeding).
Would Microsoft be satisfied with integrating a swarming protocol in the OS for the sole purpose of downloading files from windows update? In my opinion, that single scenario would surely save enough money to justify the investment.
But assuming a larger business goal, wouldn't be hard for Microsoft to justify a proprietary solution when open solutions are already widely available (and could probably be made to fit the security requirements).
Yet a closed or at least "extended" protocol would be justified to provide additional control, like avoiding its use outside of service packs downloads and other BSA- and MPAA-friendly file distributions.
There is one more factor: the cost on the users, mostly in the form of uplink bandwidth contribution.
The P2P protocol will add some overhead, like requests to peers that are gone or don't have the piece of the file you need, but it can also allow optimizations, by picking the closest peers when possible. So the global cost could be reduced, not only shifted to the clients, and the download speed should be improved.
So the P2P approach would not only benefit Microsoft, but also the users.
But the question remains: how are the users going to perceive that cost? Will we see PR releases stating that Microsoft is stealing your bandwidth? ;-)
I think that in the case of products like Visual C# Express or other "Express" products, users wouldn't mind...
Here's the message I get on WindowsUpdate relative to SP2:
"Download and install it now - Currently not available We are currently experiencing a high level of demand for Windows XP Service Pack 2, so please check back later for availability. We apologize for any inconvenience. If you prefer to obtain SP2? another way, the easiest way to get Service Pack 2 is to turn on the Automatic Updates feature in Windows XP and it will be downloaded when you are connected to the Internet without you having to take any further action (how does Automatic Updates work?). You also can order SP2? on a CD. Download and install it now
You can use other programs while you wait. If the download is interrupted, it will resume the next time you connect to Windows Update. You can also enable Automatic Updates to download it for you or order SP2? on CD What to know before installing..."
Also, I read that Bram (Bittorrent creator) now works at Valve, possibly to add P2P to Steam, their content distribution engine (used to [pre-]download and buy games as Half-Life 2). Maybe that will open up the industry to the idea of secure P2P content distribution.
Update: Don Park advocates that AOL and Mozilla could put BitTorrent to great use (software and multimedia downloads).______________________________________
P2P may be the biggest threat of software pirate, I bet Microsoft want to eradicate all p2p software.Posted by: kevin (August 13, 2004 08:31 AM) ______________________________________
I doubt it, microsoft is big behind .net development they just keep quiet about it
(Take a look on your winxp disk to find ms's own p2p api, they also fund serveral research projects as well as groove)Posted by: Bowyakka (February 21, 2005 07:25 AM) ______________________________________
Avalanche is an interesting P2P platform developped at MS Research: http://research.microsoft.com/~pablo/avalanche.htm
Instead of distributing the blocks of a file directly, you combine them linearly (XOR) and tag them with the parameters used for that combination. This is similar to the PAR file encoding used on binary newsgroups, but using a simpler encoding.
Any peer can generate new unique combinations from the combinations it received. A peer that received enough independent combinations can re-build the original blocks and file.
This approach solves the problem of ensuring each block "stays alive" within the network, even as peers disconnect. Also, no peer becomes the bottleneck, which can be the case with BitTorrent if only one peer remains holding a copy of a block.
One interesting problem is protecting against file pollution (accidental) and poisoning (purposeful). You need to design a signature format that allows for combining signatures together.