Patent Description:
Adaptive HTTP streaming technology (such as Apple HTTP Live Streaming (HLS), Microsoft Smooth Streaming, Adobe Dynamic Streaming over HTTP or MPEG DASH) is being implemented to handle increasing consumer demands for streaming video from Over The Top (OTT) applications on OTT content servers (e.g., movies/TV on demand) to User Equipment nodes (UEs) (e.g., such as set-top-boxes, multimedia computers, and wireless terminals) across a core network.

Internet service providers (ISPs) have long struggle with how to provide a sufficient Quality of Service (QoS) level to their customers in view of bandwidth limitations in their networks. ISPs have attempted to manage use of their network resources by various strategies for charging customers for consumption, limiting bandwidth provided to particular customers, and banning certain types of network traffic.

Some existing network management schemes allow UEs to attempt to take as much bandwidth as desired for HTTP adaptive streaming from a content provider regardless of how much bandwidth is actually available to the content provider. UEs and content providers may only "adapt" to changing network conditions when the available bandwidth is fully consumed. This can be a problem for content providers who may want to control the bandwidth they provide to individual streams. Some existing network management schemes implemented by ISPs are controversial, both with customers and with government agencies. Laws that will enforce "Net Neutrality", which will ban ISPs from restricting bandwidth usage by content types, have been enacted by the Netherlands and are being considered in many other countries. Consequently, streaming media continues to disproportionately utilize ISP network resources and IPSs do not have adequate network management schemes to regulate such usage. Document <NPL>, discusses scalable solution for engineering streaming traffic in the future internet. This document discusses the principles of pipeline forwarding and how the pipeline forwarding can be used for (i) constructing ultra-scalable IP switches, (ii) providing predictable quality of service for UDP-based streaming applications, while (iii) preserving elastic TCP-based traffic as it is, i.e. without affecting any existing best-effort applications. In pipeline forwarding, a synchronous virtual pipe (SVP) is a pre-defined schedule for forwarding a pre-allocated amount of bytes during one or more time frames (TFs) along a path of subsequent UTC-based switches. Non-pipelined IP packets, i.e., packets that are not part of a SVP (e.g., IP best-effort packets), can be transmitted during any unused portion of a TF, whether it is not reserved or it is reserved but currently unused. Consequently, links can be fully utilized even if flows with reserved resources generate fewer packets than expected.

The above problem is solved by the subject matter of the independent claims. Examples and technical descriptions of apparatuses, products and/or methods in the description and/or drawings which are not covered by the claims are presented not as embodiments of the invention but as background art or examples useful for understanding the invention. Some embodiments are directed to a method by a pipe control node for managing network resources that are used to transport network traffic, as further defined in claim <NUM>.

The method includes allocating network resources to a virtual pipe for transporting a plurality of multimedia streams through the network. Utilization of the network resources by the plurality of multimedia streams transported through the virtual pipe is monitored relative to the network resources allocated to the virtual pipe. The network resources that are used by the plurality of multimedia streams transported through the virtual pipe are managed in response to the monitored utilization.

Accordingly, the virtual pipe can be managed to allow streaming devices to consume only as much bandwidth as is allocated to the virtual pipe, without interfering with traffic that is transported outside the virtual pipe. In some further embodiments, network resources may be allocated for transporting bandwidth intensive video streams while preventing/avoiding interference with the network resources that are available for transporting other network traffic (e.g. non-video streams, such as web browsing traffic) outside the virtual pipe. Correspondingly, the network resources that are allocated for transporting streams through the virtual pipe may be reserved for use by those streams so that the other network traffic does not interfere with the streams transported through the virtual pipe. Within the virtual pipe, the bandwidth resources provided to individual streams can be managed to, for example, provide tiered management of streams (e.g. based on device type, user account, or content type) so that streams of a same tier level have their access to network resources managed in a same scheduling algorithm.

Some other embodiments are directed to a pipe control node that manages network resources which are used to transport network traffic, as further defined in claim <NUM>.

The pipe control node includes circuitry that is configured to allocate network resources to a virtual pipe for transporting a plurality of multimedia streams through the network. The circuitry monitors utilization of the network resources by the plurality of multimedia streams transported through the virtual pipe relative to the network resources allocated to the.

virtual pipe. The circuitry manages the network resources that are used by the plurality of multimedia streams transported through the virtual pipe in response to the monitored utilization.

Other methods and apparatuses according to embodiments of the invention will be or become apparent to one with skill in the art upon review of the following drawings and detailed description.

The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiment(s) of the invention. In the drawings:.

The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention is defined by the appended claims and may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

In accordance with various embodiments of the present invention, an ISP or other network operator can allocate network resources for a "virtual pipe" that is used to transport HTTP traffic associated with multimedia streams and, in particular, video streams. Network resources can be allocated to the virtual pipe for transporting a plurality of multimedia streams through a network. The virtual pipe can be managed to allow streaming devices to consume only as much bandwidth as is allocated to the virtual pipe, without interfering with traffic that is transported outside the virtual pipe.

Accordingly, network resources can be allocated for transporting bandwidth intensive video streams while preventing/avoiding interference with the network resources that are available for transporting other network traffic (e.g. non-video streams, such as web browsing traffic) outside the virtual pipe. Correspondingly, the network resources that are allocated for transporting streams through the virtual pipe can be reserved for use by those steams so that the other network traffic does not interfere with the streams transported through the virtual pipe. Within the virtual pipe, the bandwidth resources provided to individual streams can be managed to, for example, provide tiered management of streams (e.g. based on device type, user account, or content type) so that streams of a same tier level have their access to network resources managed according to a same scheduling algorithm, such as a Fair Network Queuing algorithm.

<FIG> is a block diagram of a communications system that is configured to operate according to some embodiments. Referring to <FIG>, a plurality of UEs <NUM> and/or a plurality of applications ("App <NUM>". "App n") on one or more UEs can communicate through an IP Multimedia Subsystem (IMS) <NUM> and IP core network <NUM> in order to receive selected content from a content delivery network servers <NUM> and/or other content servers <NUM>.

The content delivery network servers <NUM> can include time-shifted TV content servers <NUM>, video on-demand content servers <NUM>, and/or broadcast video servers <NUM>. The other content servers <NUM> may, for example, primarily contain web page content, social network content, etc. The UEs <NUM> may include, but are not limited to, set-top-boxes, multimedia computers, wireless terminals, and other electronic devices that are configured to receive multimedia streams.

In accordance with some embodiments, the system further includes a pipe control node <NUM> that manages network resources which are used to transport network traffic. The pipe control node comprises circuitry that is configured to allocate network resources to a virtual pipe <NUM> for transporting a plurality of video streams through the network. The pipe control node <NUM> circuitry monitors utilization of the network resources by the plurality of video streams transported through the virtual pipe relative to the network resources allocated to the virtual pipe. The pipe control node <NUM> circuitry manages the network resources that are used by the plurality of video streams transported through the virtual pipe in response to the monitored utilization.

Although various embodiments are described herein in the context of providing a virtual video pipe for transporting video streams, the invention is not limited thereto and may be used to transport other information relating to the video streams (e.g. manifest information), informational descriptions of the video streams, single/multi-language audio streams, or other types of network traffic. Accordingly, the pipe controller <NUM> may allocate network resources to another virtual pipe <NUM> for transporting a plurality of other types of network traffic. Although only two virtual pipes <NUM> and <NUM> are shown in <FIG> for convenience of illustration, the pipe control node <NUM> may manage any number of virtual pipes and the associated network resources used by traffic that is allowed to be transported using the resources allocated to the respective virtual pipes. The network resources that are assigned to a virtual pipe, monitored for utilization, and managed may include bandwidth, latency, priority, and/or other parameters that affect QoS associated with transporting traffic through network nodes within the IMS <NUM>, the core network <NUM>, and/or other network nodes. Moreover, although various embodiments are described herein in the context of controlling network resources in an IMS <NUM> and mobile network (e.g., radio network controller), the invention is not limited thereto and may be applied to manage other types of network resources.

<FIG> is a more detailed block diagram of the communication system of <FIG> showing further aspects of the management of network resources allocated to the virtual video pipe <NUM>. In the example of <FIG>, UEs <NUM> (<FIG>) can communicate with the content delivery network <NUM> to request and receive a video streams through the IP core network <NUM>, a radio network controller <NUM>, a mobile backhaul network <NUM>, and one or more radio transceiver base stations <NUM> that provide wireless communication service to the UEs <NUM>. The video streams can flow through an edge router <NUM> and adaptive streaming server <NUM> in the radio network controller <NUM>. The adaptive streaming server <NUM> can regulate bandwidth of individual video streams responsive to available network bandwidth resources to the UEs <NUM> through the mobile backhaul network <NUM> and radio transceiver base stations <NUM>. The content delivery network <NUM> may, in some embodiments, provide video streams toward the adaptive streaming server <NUM>, and an adaptive streaming compatible transcoder <NUM> can adaptively transcode the video streams to generate different bandwidth video streams that can be selectively provided to the UEs <NUM> responsive to the available network resources (e.g., available communication bandwidth) therebetween. The adaptive streaming server <NUM> can communicate with the edge router <NUM> through a Network Management System (NMS) and Policy Management Interface to monitor and control available network resources.

The pipe control node <NUM> may control the edge router <NUM> to negotiate and establish with one or more network nodes <NUM> of the IP core network <NUM> the allocation, monitoring, and management of network resources that will transport certain types of network traffic and/or network traffic from one or more defined source network nodes e.g. one or more of the content delivery network servers <NUM>. The pipe control node <NUM> may control the adaptive streaming server <NUM> to negotiate with one or more network nodes of the mobile backhaul network <NUM> for the allocation, monitoring, and management of network resources for the video pipe <NUM> that will transport certain types of network traffic and/or network traffic from one or more defined source network nodes e.g. one or more of the content delivery network servers <NUM>.

<FIG> is a block diagram of a pipe control mode <NUM> configured according to some embodiments. Although various communication flows are indicated by arrows to show example primary communication directions, it is to be understood that communications can occur opposite to the arrows. The pipe control node <NUM> may include circuitry for packet input <NUM>, virtual pipe resource manager <NUM>, an output buffer <NUM>, and packet transmitter <NUM>. The packet input <NUM> may be configured to receive a manifest message from a content server <NUM> which identifies, for example, URL addresses from which video streams having defined data bandwidth can be read (e.g., URL1 - <NUM> Mbs, URL2 - <NUM> Mbs, URL3 - <NUM> Mbs). The packet input <NUM> may select among the URL addresses for reading the associated video stream in response to decisions by the virtual pipe resource manager <NUM> which is managing the data bandwidth utilized by the associated video streams. The packet input <NUM> can temporarily store the received packets for a video stream in an input buffer.

Various example operations and methods that can be performed at least partially by the virtual pipe resource manager <NUM> will now be explained with reference to the flowcharts of <FIG>. The resource manager <NUM> manages network resources which are used to transport network traffic. The resource manager <NUM> allocates (block <NUM> - <FIG>) network resources to the virtual pipe <NUM> for transporting a plurality of video (or other multimedia) streams through the network. The resource manager <NUM> monitors (block <NUM> - <FIG>) utilization of the network resources by the plurality of multimedia streams transported through the virtual pipe relative to the network resources allocated to the virtual pipe. For example, the edge router <NUM>, the adaptive streaming server <NUM>, and/or other network nodes may communicate resource utilization information to the resource manager <NUM>. The resource manager <NUM> manages (block <NUM> - <FIG>) the network resources that are used by the plurality of multimedia streams transported through the virtual pipe in response to the monitored utilization.

The pipe control node <NUM> may, in some embodiments, receive network traffic that only relates to video streams that are to be transported by network resources allocated to the virtual video pipe <NUM>. However, in some other embodiments, it may receive other network traffic that is not be managed through the resources of the video pipe <NUM> and, therefore, can be further configured to distinguish between different types of network traffic. The resource manager <NUM> may determine (block <NUM> - <FIG>) whether particular network traffic for a video stream is to be transported by network resources allocated to the video pipe <NUM>, and which may be determined by comparing a source address of packets of the video stream to a known list of source addresses of network nodes (e.g., the content servers <NUM>) that provide video streams for the video pipe <NUM>. The resource manager <NUM> includes (block <NUM> - <FIG>) the particular network traffic in the virtual pipe <NUM>, using network resources allocated to the virtual pipe <NUM>, in response to the particular network traffic transporting a video stream. Otherwise, the resource manager <NUM> excludes (block <NUM> - <FIG>) the particular network traffic from utilization of the network resources allocated to the virtual pipe <NUM> in response to the particular network traffic not transporting a video stream.

The resource manager <NUM> constrains (block <NUM> - <FIG>) the network resources used by each of the video streams transported through the virtual pipe <NUM> in response to a combined utilization of the network resources by the video streams exceeding a defined threshold level. When the combined utilization of the network resources exceeds the defined threshold level, the resource manager <NUM> may begin controlling the network resources used by individual ones of the video streams by controlling a time delay between when data packets for each of the video streams arrives when they leave. For example, the resource manager <NUM> may control (block <NUM> - <FIG>) timing of delay, between arrival of data packets of the video streams at an input buffer (e.g., at the packet input <NUM> of the control node <NUM> or another network node) and placement of the packets in an output buffer <NUM> for forwarding from the control node <NUM> (or another network node) by a packet transmitter <NUM> through the video pipe <NUM>, responsive to a defined scheduling algorithm. The scheduling algorithm may be a Fair Network Queuing (FNQ) algorithm, a round-robin algorithm, etc..

<FIG> is a flowchart of example operations and methods that may be performed by the control node <NUM> to manage resource utilization by the video streams according to a FNQ algorithm. Packets for the video streams are received or fetched from know URLs at the content servers <NUM> (block <NUM>), and are assembled (block <NUM>) into one or more buffers. A FNQ time delay is separately calculated (block <NUM>) for packets of each of the video streams, and the packets associated with each of the video streams are separately delayed (block <NUM>) by the calculated FNQ time delay before being placed (block <NUM>) in an output buffer <NUM> for transmission by a packet transmitter <NUM> through the video pipe <NUM>. A decision (block <NUM>) is made as to whether more packets remain in input buffers for the various video streams. When no remaining packet traffic is to be transmitted for a particular one of the video streams, the pipe control node <NUM> and/or another network node may close (block <NUM>) the session/socket for the particular video stream.

<FIG> illustrates example operations of a scheduling algorithm that may be used, e.g., by the pipe control node <NUM>, to control timing of delay between receipt of data packets and forwarding of the data packets from a network node using network resources of the video pipe <NUM>. Three buffers <NUM>, <NUM>, <NUM> are shown in the example of <FIG> for convenience of description, although the buffers may reside in one physical buffer memory or within separate physical buffer memories. Packets for different video streams are temporarily stored in different buffers <NUM>, <NUM>, <NUM>. The timing between when packets are placed in the buffers <NUM>, <NUM>, <NUM> and subsequently read from the buffers <NUM>, <NUM>, <NUM> for transmission through the network is controlled responsive to a defined scheduling algorithm.

In one embodiment, the resource manager <NUM> of the control node <NUM> may sequentially read a packet(s) from each of the buffers <NUM>, <NUM>, <NUM> for transmission through the network in a defined order (e.g., read packet(s) from buffer <NUM> to reduce level to illustrated level <NUM>, read packet(s) from buffer <NUM> to reduce level to illustrated level <NUM>, and read packet(s) from buffer <NUM> to reduce level to illustrated level <NUM>), and may repeat the reading cycle while skipping buffers that become empty and including more buffers as packets arrive for other video streams. An equal number of packets may be read from each of the buffers <NUM>, <NUM>, <NUM> during each cycle, or more packets may be read from particular ones of the buffers <NUM>, <NUM>, <NUM> and/or may be read more frequently from particular ones of buffers <NUM>, <NUM>, <NUM> having packets for higher priority designated video streams, higher requested bandwidth video streams, and/or which are associated with a customer and/or UE having a designated tier of service (e.g., a higher tier of service than another one or more of the other video streams associated with other ones of the buffers).

<FIG> and <FIG> illustrate a virtual pipe, and operations and methods for dynamically resizing network resources that are allocated to video streams transported by the virtual pipe, and which operations and methods may be performed by the pipe control node <NUM>. Referring to <FIG>, an Internet pipe through network nodes has been illustrates as having a <NUM> Gbs (gigabits per second) bandwidth limitation. The Internet pipe contains a video delivery pipe <NUM> that has been allocated <NUM> Gbs of bandwidth for transporting video (or other multimedia) streams through the Internet pipe. The remaining <NUM> Gbs of bandwidth remains for use in transporting other network/Internet traffic, and which may be formally allocated and managed as another pipe <NUM> for that traffic or may be unmanaged by the pipe control node <NUM>.

The size of (e.g., amount of data bandwidth allocated to) the virtual video pipe <NUM> may be dynamically controlled in response to utilization of the network resources allocated to the virtual video pipe <NUM> and/or in response to utilization of the network resources that remain outside the virtual video pipe <NUM> (e.g., within another traffic pipe <NUM>). Various relevant operations and methods for regulating the size of the virtual video pipe <NUM> are shown in <FIG>.

When regulating the size of the video pipe <NUM>, the pipe control node <NUM> may compare (block <NUM> - <FIG>) requested data rates for the video streams (e.g., which may be information received as part of a video stream manifest from the content servers <NUM>) to a combined data bandwidth (e.g., <NUM> Gbs) allocated to the virtual pipe for use by the plurality of video streams. The pipe control node <NUM> may control (block <NUM> - <FIG>) the combined data bandwidth allocated to the virtual pipe responsive to the comparison.

Alternatively or additionally, when regulating the size of the video pipe <NUM>, the pipe control node <NUM> may compare (block <NUM> - <FIG>) requested data rates for the video streams (e.g., which may be information received as part of a video stream manifest from the content servers <NUM>) to allowed data rates for the video streams subject to the available resources of the network (e.g., what actual data rates have each of the video streams been provided by the network). The pipe control node <NUM> may control (block <NUM> - <FIG>) the combined data bandwidth allocated to the virtual pipe responsive to the comparison.

Reference is now made to the examples of <FIG> in which the data bandwidth that is allocated to a virtual pipe <NUM> (e.g., video pipe <NUM> in <FIG>) is dynamically resized responsive to the utilization of the network resources of the virtual pipe <NUM>.

In <FIG>, <FIG> Mbs of network bandwidth has been allocated to the virtual pipe <NUM>. The virtual pipe <NUM> is inside a <NUM> Mbs physical pipe. Three video streams <NUM>, <NUM>, <NUM> are presently being transported using resources of the virtual pipe <NUM>. The combined bandwidth that is presently requested by the three video streams exceeds the total network bandwidth allocated to the virtual pipe <NUM>. However, the video streams are not yet managed (e.g., using a scheduling algorithm, such as FNQ) according to embodiments of the present invention and, consequently, some of the video streams are disproportionately constrained relative to one another. The video stream <NUM> originated from connection address <NUM>. <NUM>, requested <NUM> Mbs (e.g., information received from the content server), but is presently using only <NUM> Mbs of the network bandwidth. The video stream <NUM> (connection address <NUM>. <NUM>) requested <NUM> Mbs and is presently using <NUM> Mbs of the network bandwidth. However, in contrast to streams <NUM> and <NUM>, the video stream <NUM> (connection address <NUM>. <NUM>) requested <NUM> Mbs and is presently using <NUM> Mbs, which is the entire bandwidth requested. Consequently, video stream <NUM> has been provided its entire requested bandwidth, but has thereby left insufficient remaining resources for the video streams <NUM> and <NUM> and resulted in disproportionate negative consequences thereto.

In <FIG>, the network bandwidth allocated to the virtual pipe <NUM> has been dynamically increased to <NUM> Mbs in response to growth in the combined bandwidth requests of the three video streams relative to the requested bandwidths shown in <FIG>. The video stream <NUM> now requests and receives <NUM> Mbs of the network bandwidth. The video stream <NUM> now requests and receives <NUM> Mbs of the network bandwidth. However, in contrast to streams <NUM> and <NUM>, the other video stream <NUM> still requests <NUM> Mbs but is now constrained to using only <NUM> Mbs. Thus, the video streams <NUM> and <NUM> have left insufficient remaining resources for use by the video stream <NUM>.

In <FIG>, the network bandwidth allocated to the virtual pipe <NUM> has been dynamically decreased to <NUM> Mbs in response to, for example, reallocate network bandwidth of the Internet pipe <NUM> for use by other network traffic (e.g. pipe <NUM> of <FIG>) and/or in response to a decrease in the combined bandwidth requests of the streams <NUM>, <NUM>, <NUM> decreasing to <NUM> Mbs. In response to the requested data rates for the streams (<NUM> Mbs) exceeding a defined threshold value, such as the network bandwidth (<NUM> Mbs) allocated to the virtual pipe <NUM>, the bandwidth that is provided to each of the video streams <NUM>-<NUM> is separately controlled responsive to a defined scheduling algorithm (e.g., FNQ scheduling algorithm). The video stream <NUM> now requests <NUM> Mbs and is constrained to using <NUM> Mbs, video stream <NUM> now requests <NUM> Mbs and is constrained to using <NUM> Mbs, and video stream <NUM> now requests <NUM> Mbs and is constrained to using <NUM> Mbs. Accordingly, the bandwidth allowed for each of the video streams is controlled to more fairly balance the constraint imposed on the three video streams. The video stream <NUM> may be granted a higher bandwidth because it is associated with a higher tier service level then the other video streams <NUM> and <NUM>.

In <FIG>, a fourth video stream <NUM> is now also carried by the virtual pipe <NUM>, and the network bandwidth allocated to the virtual pipe <NUM> has been shrunk to or remains at <NUM> Mbs. Each of the four video streams is controlled according to a defined scheduling algorithm (e.g., FNQ scheduling algorithm). The fourth video stream <NUM> requests <NUM> Mbs and is constrained to using <NUM> Mbs, which is proportionally more bandwidth than is allowed for use by the other three video streams <NUM>-<NUM>, which have each requested <NUM> Mbs and been constrained to <NUM> Mbs, <NUM> Mbs, and <NUM> Mbs respectively. The fourth video stream <NUM> may be associated with a high tier service level than the other three video streams <NUM>-<NUM> and, therefore, may be allowed to have proportionally more bandwidth than the other three video streams <NUM>-<NUM>.

In <FIG>, the network bandwidth allocated to the virtual pipe <NUM> has been dynamically increased to <NUM> Mbs in response to, for example, the excessive combined bandwidth requested by the four video streams. Each of the four video streams is controlled according to a defined scheduling algorithm (e.g., FNQ scheduling algorithm), and the fourth video stream <NUM> is provided proportionally more bandwidth than the other three video streams <NUM>-<NUM> because of, for example, the fourth video stream <NUM> being associated with a high tier service level than the other three video streams <NUM>-<NUM>.

<FIG> is a data flow diagram that illustrates operations and methods performed by various nodes of the system of <FIG> configured according to some embodiments. Referring to <FIG>, video streaming sessions are established <NUM> between the UEs <NUM> and one or more video content servers <NUM>. Traffic associated with the video streams is assigned <NUM> to a video pipe. The video pipe may be established <NUM> between two or more network nodes, although it may be extend further along the session pathway between the UEs <NUM> and the adaptive streaming server <NUM> through the mobile network <NUM>. Internet browsing sessions are separately established <NUM> and, in some embodiments, may be managed in a similar manner to that described above for the video streams by being assigned <NUM> to another pipe <NUM> that may extend at least partially along the session pathway.

Utilization of the network resources by the plurality of video streams transported through the video pipe is monitored <NUM> relative to the network resources that are allocated to the video pipe. The network resources that are allocated to the video pipe may, in some embodiments, be dynamically controlled <NUM>. While the monitored utilization of the network resources allocated to the video pipe exceeds the defined threshold, the video streams for the sessions are constrained <NUM>.

In one embodiment, the control node <NUM> can constrain the resource is used by different ones of the video streams by controllably delay the respective video streams, as described above. Alternatively or additionally, according to the operations and methods of <FIG>, the control node <NUM> may communicate with the adaptive streaming server <NUM> to control (block <NUM> - <FIG>, block <NUM> - <FIG>) a data rate of the video streams that are output by the adaptive streaming server <NUM>. In yet another alternative or additional embodiment, according to the operations and methods of <FIG>, the control node <NUM> may communicate with the content server <NUM> to control (block <NUM> - <FIG>, block <NUM> - <FIG>) a data rate of the video streams that are output by the content server <NUM>. In yet another alternative or additional embodiment, the control node <NUM> may communicate with the transcoder <NUM> to control (block <NUM> - <FIG>) a data rate of the video streams that are output by the transcoder <NUM>.

<FIG> is a block diagram of a network node <NUM> that is configured according to some embodiments. The network node <NUM> which may be used in one or more of the network nodes described above with regard to <FIG>, including, but not limited to, the pipe control node <NUM>, the adaptive streaming server <NUM>, edge router <NUM>, the core network <NUM>, the content delivery network server <NUM>, the UE <NUM>, and/or the mobile network <NUM>. The network node <NUM> can include one or more network interfaces <NUM>, processor circuitry <NUM>, and memory circuitry/devices <NUM> that contain functional modules <NUM>. The network node <NUM> may further include radio transceiver circuitry when included in a wireless communication type of UE <NUM> (e.g., mobile phone/data terminal).

The processor circuitry <NUM> may include one or more data processing circuits, such as a general purpose and/or special purpose processor (e.g., microprocessor and/or digital signal processor). The processor circuitry <NUM> is configured to execute computer program instructions from the functional modules <NUM> in the memory circuitry/devices <NUM>, described below as a computer readable medium, to perform some or all of the operations and methods that are described above for one or more of the embodiments, such as the embodiments of <FIG>.

In the above-description of various embodiments of the present invention, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.

A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blu-Ray).

The computer program instructions may also be loaded onto a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module" or variants thereof.

For example, two blocks shown in succession may in fact be executed substantially concurrently, depending upon the functionality/acts involved. Finally, other blocks may be added/inserted between the blocks that are illustrated.

Accordingly, the present specification, including the drawings, shall be construed to constitute a complete written description of various example combinations and subcombinations of embodiments and of the manner and process of making and using them.

Claim 1:
A method by a pipe control node (<NUM>) for managing network resources that are used to transport network traffic, the method comprising:
allocating network resources to a virtual pipe (<NUM>) for transporting a plurality of multimedia streams through a network;
monitoring utilization of the network resources by the plurality of multimedia streams transported through the virtual pipe (<NUM>) relative to the network resources allocated to the virtual pipe (<NUM>); and
managing the network resources that are used by the plurality of multimedia streams transported through the virtual pipe (<NUM>) in response to the monitored utilization, managing the network resources comprising:
constraining the network resources used by each of the multimedia streams transported through the virtual pipe (<NUM>) in response to a combined utilization of the network resources by the multimedia streams exceeding a defined threshold level.