The P2PSP may broadcast diﬀerent channels (streams) over distinct (unconnected) teams and users can run several peers in parallel, one peer per channel the user wants to receive. The only essential requirement to enable multi-channel capability is the network providing suﬃcient bandwidth. However, when this condition can not be achieved, users should deﬁne the channel priorities. Using this information and if not enought bandwidth is avaiable, the peer instances that correspond to the lower priority channels will be identiﬁed as unsupportive peers and rejected from their teams.
To implement that behaviour, the MCS module introduces the encapsulation scheme:
[MCS] = [Priority, [DBS]]
and a new type of node, the Multichannel Scheduler .
Therefore, those peers that implement the MCS must label each DBS message. This label is a 16-bit positive integer number that represents a priority, being zero the highest one. MCS messages are sent to which basically implements a priority FIFO queue of messages. Each time a new [MCS] is received by , it sorts them by priority and next, by chunk number. Thus, if there is not enough bandwidth to transmit all packets, the user stops receiving those channels that have been assigned a lower priority.
The MCS module can also be useful when simulcasting, scalable media coding and multiple description media coding is used. In these situations, the diﬀerent channels refeer to diﬀerent representations (qualities, resolutions, etc.) of the same media content.