Patent ID: 8627390

Claim:
A method for providing programs to multiple end user devices, the method comprising: defining a plurality of bandwidth thresholds, the plurality of bandwidth thresholds comprise two unicast media stream to multicast media stream conversion thresholds that differ from each other, and two multicast media stream to unicast media stream conversion thresholds that differ from each other; providing to multiple end user devices, via an edge device, two types of media streams that convey a group of programs; wherein the two types comprises a unicast media stream and a multicast media stream; receiving a request from a first end user device to view a first program that belongs to the group of programs; and selectively switching, in response to bandwidth constraints imposed on a communication path coupled to the edge device and in response to the plurality of bandwidth thresholds, a type of a media stream that conveys the first program to a second end user device; wherein the two unicast media stream to multicast media stream conversion thresholds differ from the two multicast media stream to unicast media stream conversion thresholds.