Patent ID: 8005990

Claim:
A method of decoding code packets of file delivery protocol (FDP) and file delivery control protocol (FDCP) messages, said FDP messages comprising fields having values used to generate an indices of a data packets, said FDCP messages comprising a value of a minimum number of code packets required, said code packets formed from a linear combination of said data packets of a file fragment, said method comprising: constructing data structures adapted to decode said code packets of said file fragment, wherein said data structures comprising at least one of code nodes, a code graph, an inverse code graph, a data packet decode array, and a data packet decode order list; processing said FDP messages until parameters required for decoding are extracted, wherein said processing comprising: inserting said code node into a code graph bin of said code graph corresponding to weights of said code graph bin only if an FDP message corresponding to said code node is unique; and populating said inverse code graph with a reference to said code node; and executing a solvability algorithm when a number of received code packets reaches said minimum number of code packets required, wherein said solvability algorithm comprises: traversing code graph bins having code nodes starting with a code graph bin having lowest code weight, wherein said code graph bins are arranged in an ascending order of code weights; determining if a corresponding code packet of each code node in a list connected to each of said code graph bins can be reduced further using a data packet associated with said code packet; proceeding to a next code node in said list only if said code packet cannot be reduced further; and incrementing a cost value of said code packet by a cost value associated with said data packet used to reduce said code packet.