Patent ID: 7996550

Claim:
A method for playing a file on a computer, the method comprising: initiating a retrieval of a file from a peer-to-peer network, wherein the file is distributed across the peer-to-peer network and is stored on a reserved server; beginning playback of a first segment of the file on the computer once the first segment of the file is retrieved and ready for playback; determining, during the playback of the first segment, whether a second segment of the file that is subsequent to the first segment will be ready for playback from the peer-to-peer network when the playback of the first segment completes; switching, during the playback of the first segment, retrieval of the file from the peer-to-peer network to the reserved server in response to determining that the second segment will not be ready for playback from the peer-to-peer network, wherein switching comprises initiating retrieval of the second segment from the reserved server in response to determining that the second segment of the file will not be ready for playback from the peer-to-peer network when the playback of the first segment completes: initiating retrieval from the peer-to-peer network of a third segment of the file that is subsequent to the second segment of the file; determining whether the third segment that is subsequent to the second segment of the file will be ready for payback when a playback of the second segment completes; and switching retrieval of a later segment of the file to the peer-to-peer network in response to determining that the third segment of the fife will be ready for playback when a playback of the second segment completes.