Patent ID: 7793329

Claim:
A method of changing a data stream from a first data stream to a second data stream, the first data stream being received on a first channel and the second data stream being received on a second channel, the method comprising: (1) determining the multicast said data stream needs to join to experience the best latency for channel change, and generating a join request which is sent to a channel server; (2) for the new join request received by the channel server, querying a buffer list storing metadata related to the data stream; further comprising: (i) determining a temporally nearest stand alone frame (SAF) in the buffer list (referred to as nSAF); (ii) determining a nearest previous program clock reference or equivalent (PCR) in the buffer list with respect to the nSAF (referred as nPCR); (iii) determining a nearest previous sequence information (SI), or dependent-sequence parameter set (SPS), or sequence header (SH), or video sequence header, or other information that identifies the video properties with respect to the nSAF (referred as nSPS); and (iv) determining a nearest previous program specific information (nPSI) in the buffer list from either nPCR or nSPS whichever has greater distance with respect to the nearest Random Access Points (nRAP); (3) determining a nearest existing multicast group (nMG) for a channel that satisfies or comes the closest to satisfying predetermined goals or conditions; (4) receiving an identity of the nearest existing multicast group (nMG); and (5) a client joining the nearest existing multicast group (nMG).