Patent ID: 7225228
Filing Date: 2007-05-29
Classification: H04L

Abstract:
1. a binary content distribution method using propagating messages comprising: providing a propagation mechanism; connecting at least two peers to said propagation mechanism; distributing messages to said at least two peers through said propagation mechanism; a first peer of said at least two peers receiving a first message through said propagation mechanism from a second peer of said at least two peers; determining if said first message is a Primary File Block Distribution Message; if said first message is not a Primary File Block Distribution Message, determining if said first message is an Acknowledgement Message; if said first message is an Acknowledgement Message storing a peer ID for said second peer at said first peer; if said first message is not an Acknowledgement Message, determining if said first message is a File Block Request Message; if said first message is not a File Block Request Message, determining if said first message is a File Block Response Message; if said first message is not a File Block Response Message, labeling said first message as an unknown message type; if said first message is a Primary File Block Distribution Message, determining if a file block portion of said Primary File Block Distribution Message is part of a new file for said first peer; if said file block portion of said Primary File Block Distribution Message is part of a new file for said first peer, designating memory space at said first peer for said new file and storing said file block portion of said Primary File Block Distribution Message at said first peer and then sending an Acknowledgement Message to all other peers of said at least two peers; if said file block portion of said Primary File Block Distribution Message is not part of a new file for said first peer, determining if said first peer has already received said file block portion of said Primary File Block Distribution Message; if said first peer has not already received said file block portion of said Primary File Block Distribution Message, storing said file block portion of said Primary File Block Distribution Message at said first peer and then sending an Acknowledgement Message to all other peers of said at least two peers; if said first message is a Primary File Block Distribution Message and said file block portion of said Primary File Block Distribution Message is stored at said first peer, determining if said file block portion of said Primary File Block Distribution Message completes a parent file; if said file block portion of said Primary File Block Distribution Message completes said parent file, generating a notice that said parent file is now complete and is ready for use; if said first message is a File Block Request Message, determining if said File Block Request Message is addressed to said first peer; if said File Block Request Message is addressed to said first peer, determining if said first peer has said file block being requested by said File Block Request Message; if said first peer has said file block being requested by said File Block Request Message, said first peer sending said file block being requested by said File Block Request Message to said second peer; if said first message is a File Block Response Message, determining if said first peer already has a file block being delivered in said File Block Response Message; if said first peer does not already have said file block being delivered in said File Block Response Message, storing said file block being delivered in said File Block Response Message at said first peer; and if said file block portion of said File Block Response Message completes a parent file, generating a notice that said parent file is now complete and is ready for use.