Embodiments of the present invention provide the ability for a software
provider to distribute software updates to several different recipients
utilizing a peer-to-peer environment. The invention described herein may
be used to update any type of software, including, but not limited to,
operating software, programming software, anti-virus software, database
software, etc. The use of a peer-to-peer environment with added security
provides the ability to minimize download time for each peer and also
reduce the amount of egress bandwidth that must be provided by the
software provider to enable recipients (peers) to obtain the update.