The present invention relates generally to audio video (AV) networks, and in particular to AV streaming in AV networks.
Existing versions of High-Definition Multimedia Interface (HDMI) lack support for bi-directional Audio Video (AV) streaming. On the other hand, Ethernet networks have become ubiquitous in their deployment across corporate and residential markets. In supporting high-bandwidth traffic, these Ethernet networks have benefited from a significant reduction in costs. It is expected that typical home network connections will increasingly support 1000BASE-T, 10 GBASE-T and beyond. Typical network connections include wired and wireless network links.
The present invention relates to data streaming in AV networks, such as bridged networks. In one embodiment the present invention provides an enhanced stream reservation protocol comprising a Talker device sending a Stream Reservation Protocol (SRP) Talker Advertise message for streaming data to a Listener device, receiving the Talker Advertise message and checking bandwidth availability on an output port thereof for the streaming. In case of insufficient communication bandwidth, sending a failure message that includes information about available bandwidth from the Talker device to the Listener device. In one implementation, receiving the Talker Advertise message further comprises an intermediate bridge device receiving the Talker Advertise message, checking bandwidth availability on an output port thereof for the streaming, and sending a Talker Advertise Failed message with a modified traffic specification to indicate said information about available bandwidth.
In another embodiment the present invention provides a protocol for communication in a bridged network, comprising a Talker device sending an SRP Talker Advertise message for streaming data to a Listener device. The Talker Advertise message includes communication path information from the Talker device to the Listener device. A communication path from the Talker device to the Listener device is selected based on said path metrics, for streaming data between the Talker device and the Listener device.
These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures.
The present invention relates to data streaming in AV networks. Embodiments of the invention provide an enhanced resource reservation scheme for a stream reservation protocol for AV streaming. In one embodiment, the enhanced resource reservation scheme modifies stream reservation protocol of IEEE 802.1Qat, which in one implementation is suitable for Next Generation HDMI Interface applications. The enhanced resource reservation scheme includes support for improved error reporting and overcoming AV network resource changes that may result in streaming quality of service changes.
Audio Video Bridging (AVB) technical standard includes a set of specifications to allow transport of high-quality, time-sensitive AV applications over IEEE 802 bridged local area networks (LANs). IEEE 802.1Qat Stream Reservation Protocol (SRP) specification enables an AVB destination electronic device (commonly known as a Listener) to register a request for delivery of a specified AV stream from an AVB source electronic device (commonly known as Talker) in an AVB network. In addition, an AVB source device may request reservation of network resources, which enables the transmission of a specified AV stream. The SRP defined within the IEEE 802.1 Qat specification provides a mechanism whereby the AVB source device may register a request to reserve network resources (such as bandwidth) within an AVB network to enable the transmission of the specified AV stream. A Listener indicates which data stream is to be received, and a Talker announces a data stream that can be supported by a bridged entity. Network resources are allocated and configured in both the end nodes (e.g., Talker and Listener) of a data stream and the transit nodes (e.g., bridges) along the path for data stream. An end-to-end signaling mechanism to detect the success/failure of the effort is also provided.
SRP registers a stream and reserves the resources required through the entire path taken by the stream. A Talker initiates by sending an SRP Talker Advertise message. AVB intermediate bridges receiving a Talker Advertise message check for bandwidth availability on their output ports. If a bridge has sufficient resources available on that port, then the Talker Advertise message is propagated to the next node. If the resources are not available, rather than propagating the Talker Advertise message, the bridge sends a Talker Failed message. An intermediate bridge receiving a Talker Failed message passes the message out towards the Listener.
The Listener can respond with a Listener Ready message that is forwarded back towards the Talker. Intermediate bridges use the Ready message to maintain the resources needed by the stream and to make the appropriate entries in their forwarding tables to allow the stream to be sent on the port that received the Ready message. When the Talker receives a Ready message, it can start transmitting the stream.
However, conventional IEEE 802.1Qat SRP is a one-way declarative protocol with reservation messages propagated from a Talker towards Listeners. It contains no backward propagated acknowledgement or status report messages. In addition, conventional IEEE 802.1Qat SRP uses a fixed path metric closely tied to IEEE 802.1d Spanning Tree Protocol (STP). This reduces SRP efficiently in properly utilizing available network bandwidth and ensuring high quality AV streaming.
A typical IEEE 802.1AVB network comprises a set of AVB devices, which are collectively referred to as an AVB block or domain. An AVB network may comprise wired or optical local area networks (LANs) and/or wireless LANs (WLANs) such as 802.11ad/ac/a/g/n/ad/ac. Individual AVB devices within the AVB network may include AVB-enabled endpoint devices (e.g., TV, AV Receiver, Desktop/laptop, BlueRay Player, etc.), AVB-enabled switching devices (i.e., AV switches or bridges) within LANs and AVB-enabled access points (i.e., APs) within WLANs. Within the AVB block, AV destination devices may request AV streams from AV source devices, which may be transported across the AVB network within specified latency target values as determined from Quality of Service (QoS) descriptors associated with delivery of an AV stream.
IEEE 802.1Qat SRP allocates bandwidth on links that belong to the STP, wherein there is one unique path from the Talker to the Listener. In case such links are saturated or fully loaded (i.e., bandwidth allocation reaches the supported bandwidth limit), no further AV streams can be allocated on those links. However, there may be alternative paths from the Talker to the Listener but those cannot be used by the SRP. This results in streaming failure at the application layer. In addition, there is no active path redundancy provided in the AV network. Whenever there is a port failure, the STP triggers to causes unblocking some of the blocked ports. This forces the IEEE 802.1Qat SRP to reissue Talker and Listener advertisements. Eventually, the bandwidth is allocated on the new set of links that are part of the STP. However, the impact of such actions is temporary failure of AV streaming, resulting in catastrophic failure for high quality AV streaming in Next Generation Interface such as Next Generation HDMI Interface.
According to an embodiment of the invention, in an AVB network of bridged AV devices comprising a Talker device, a Listener device and one or more bridge devices, an AV device is provided with additional information (such as available network bandwidth) that facilitates selection of an appropriate level of compression or resolution that can fit within the available bandwidth. Knowing the available bandwidth allows an AV device, such as a Talker device, to select the appropriate bandwidth allocation in a next allocation attempt. In certain cases the bandwidth allocation occurs in conjunction with application layers, wherein the link layer bandwidth is mapped to the selected AV format for streaming.
According to conventional IEEE 802.1Qat, a Talker node generates a Talker Advertise declaration message to make an announcement to other nodes in the LAN and update its Multiple SRP (MSRP) table. A Talker Advertise message includes the MAC address of the Talker, declaration type and required bandwidth, etc. For example, after a bridge port 0 receives the Talker Advertise message, MSRP registers it in its MSRP table and sends to other ports in the bridge. A bridge port 1 which receives the Talker Advertise message by bridge port 0, registers that message at its MSRP table and compares the requirement bandwidth of the message with its available bandwidth. If the available bandwidth is larger than the required bandwidth, the message is forwarded to the other node. Otherwise, the message is changed to Talker Failed message and forwarded. After the Talker Advertise message arrives at a Listener, the Listener generates a Listener Ready message and sends it to the Talker if the Listener desired to receive service from the Talker.
A Listener Ready message has only the StreamID of the Talker, wherein the StreamID includes the MAC address of the Talker and an integer number. For example, a bridge port n which receives a Listener Ready message reserves the required bandwidth, if port n has sufficient available bandwidth. When bandwidth reservation is successful at a port, the Listener Ready message is forwarded to the Talker by MSRP attribute propagation. The Talker receiving the Listener Ready message compares its MSRP table with the StreamID in the Ready message. If the Listener Ready message is associated with a stream that the Talker can supply, the Talker can start the transmission for the stream immediately. The Talker and Listener advertisements can be summarized as below in Table 1:
Embodiments of the invention provide an enhanced resource reservation scheme for IEEE 802.1Qat, wherein the enhanced resource reservation scheme includes modification and additions to conventional IEEE 802.1Qat SRP to include support for improved error reporting and quickly overcoming changes in AV network bandwidth. Since the enhanced IEEE 802.Qat can quickly adapt to network changes, the AV quality is not impacted and hence, leads to better user experience.
According to an embodiment of the invention, a bridge with insufficient bandwidth sends a Talker Advertise Failed message with a modified traffic specification to indicate the available bandwidth from the Talker to the Listener. The Talker Advertise Failed message is propagated to the Talker. Talker advertisements are forwarded on all ports by the Talker, including on blocked ports. For one Talker and one stream, multiple Talker Advertise messages are received by the Listener over multiple paths.
According to an embodiment of the invention, Talker Advertisements are enhanced to include additional attributes to capture more details of an end-to-end path from the Talker to the Listener. A Listener selects an optimum path based on various parameters (e.g., a path with highest minimum available bandwidth for the stream). A Listener can select a back path as well. As such, SRP quickly overcomes network changes to maintain quality of service. In an application of an embodiment of the invention, a Next Generation HDMI Interface standard is interoperable with IEEE 802.1AVB.
Conventional IEEE 802.1Qat provides a Talker Failed mechanism wherein a Talker Advertise Failed message includes a Traffic Specification (TSpec) component associated with a stream. The TSpec component comprises 32-bits including the following two elements:
In one embodiment the present invention provides a Modified Talker Failed mechanism for IEEE 802.1Qat, wherein a Talker Advertise Failed message includes a TSpec component associated with a stream, such that the TSpec component indicates the available bandwidth.
According to an embodiment of the invention, a bridge with insufficient bandwidth sends a Talker Advertise Failed message having a modified Tspec component that indicates the available bandwidth. According to an embodiment of the invention, instead of indicating the available bandwidth in terms of MaxFrameSize and MaxlnterValFrame, the actual bandwidth is presented using the 32 bits. The indication of available bandwidth does not require any modification to SRP messages.
In one embodiment, the present invention provides an enhanced bandwidth reservation mechanism for IEEE 802.1Qat, including Failed Bandwidth indicated via a Talker Advertise Failed message.
If in process block 81 a Talker Advertise message is detected, then process block 87 checks if resource requirements specified in the TSpec can be met. If the resource requirements can be met, then process block 88 retransmits Talker Advertisement message, and the process ends. If the resource requirements cannot be met then process block 89 comprises sending a Talker Advertise Failed with TSpec reflecting the available bandwidth on the port involved, and the process ends.
In one embodiment the present invention provides a reservation mechanism including Failed Bandwidth indicated to the Talker via Listener Messages. The Listener 73 informs the Talker 72 (at Layer-2 in the protocol stack) about the available bandwidth. In an alternative embodiment, the Listener 73 informs a centralized device (or directly informs the Talker at Layer-3) indicating the available bandwidth in terms of the video format that can be supported at the Listener 73. There is no need to modify Talker Advertise Failed indication. However, when informing the Talker 72 at Layer-2 about available bandwidth, a new control message is used or the Listener message is modified. In one embodiment of the invention, the Listener Ready Failed or Listener Asking Failed are modified to include the Available Bandwidth on the link from the Talker 72 to the Listener 73. If Bridge 1 generates Listener Asking Failed then it will update the available bandwidth in TSpec. The TSpec field is updated with the maximum available resources in terms of MaxFrameSize and MaxIntervalFrames. However, if both Bridge 1 and Bridge 2 have insufficient bandwidth, then minimum bandwidth between Bridge 1 and Bridge is reflected in the Listener message to the Talker 72.
Referring to the AV network 90 in
Referring to the AV network 100 in
The IEEE 802.1 Qat Talker Advertise conventionally includes the following fields:
According to an embodiment of the invention, providing an enhanced resource reservation scheme, additional network attributes (e.g., in fields) are provided in the Talker Advertise message to capture extensive characteristics of a path including communication links, between a Talker and a Listener. An example of such additional network attributes (i.e., path metrics as new attributes) including link attributes for Talker Advertise messages, including:
The AV source device comprises a Talker 112 (e.g., BDP-1) and the AV destination device comprises a Listener 113 (e.g., TV1). The network includes multiple alternative paths between the Talker 112 and the Listener 113 via links and bridges 111.
In the network shown in
According to an embodiment of the invention, enhancements to resource allocation (i.e., resource reservation) in the Talker Advertise protocol for enhancing the conventional IEEE 802.1Qat include:
According to an embodiment of the invention, enhancements over conventional Listener message in IEEE 802.1Qat, include: a Listener selecting an optimum path based on various link parameters, and the Listener can select a back path to the Talker as well.
In process block 131 if a Listener device is processing, then in process block 132 a best path from to the Talker to the Listener is selected based on the link attribute information to meet streaming requirements. In process block 133, optionally a path back from the Listener to the Talker is also selected based on the link attributes. In process block 134 a Listener Ready message is sent which includes information about the links in the selected path(s), and end process.
If in process block 131 a Listener is not processing, then in process block 135 if a bridge device is processing, then in process block 136 a Listener Ready message is processed wherein bridge allocation table is updated and an error message is generated to the Talker and the Listener if sufficient bandwidth (BW) required for streaming cannot be allocated, and the process ends.
In process block 135 if a bridge device is not processing, then based on process block 137 detecting that a Talker device is processing, in process block 138 Listener Ready messages are processed and bridge allocation table is updated, wherein AV streaming between Talker and Listener is started.
As noted, conventionally IEEE 802.1Qat SRP provides limited resilience against network failures. A port failure event is triggered by the STP reinitializing and changing ports from blocked to unblocked and vice-versa. Once STP is stabilized, the SRP needs to re-run and allocate bandwidth on newly selected ports by the STP. This can cause a long outage to AV streaming on a path.
Embodiments of the invention allow selecting a backup (yet non-active) path such that whenever a Listener detects a path loss event, the Listener can trigger switchover from a primary AV streaming path to the backup AV streaming path. The Listener can trigger such an event based on one of the many conditions including Packet loss exceeds the threshold, PSNR is below the acceptable level, Excess delay and Jitter, etc. According to an embodiment of the invention, an enhancement to conventional IEEE 802.1Qat comprises decoupling SRP from STP (after failure, no need to rerun the SRP). Further, a backup path is already established that can be selected instantaneously, whereby effects of AV streaming outage are reduced.
According to an embodiment of the invention, an AV device may comprise an Application Layer (Layer 7) including processes that use the network, a Transport or TCP Layer (Layer 4) including processes that provide end-to-end data delivery, an IP Layer or Network/Internet Layer (Layer 3) including processes handling routing of data, a Link Layer (Layer 2) and a Physical Layer (Layer 1) for accessing physical communication medium. These layers are similar to TCP/IP layers which can be loosely mapped to the Open System Architecture (OSI). The Link Layer includes a MAC Layer and the Physical Layer includes a PHY Layer, configured for communication over an AV network.
As is known to those skilled in the art, the aforementioned example architectures described above can be implemented in many ways, such as program instructions for execution by a processor, as software modules, microcode, as computer program product on computer readable media, as logic circuits, as application specific integrated circuits, as firmware, as consumer electronic devices, etc., in wireless devices, in wireless transmitters/receivers, in wireless networks, etc. The disclosed embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.
Information transferred via communications interface 317 may be in the form of signals such as electronic, electromagnetic, optical, or other signals capable of being received by communications interface 317, via a communication link that carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an radio frequency (RF) link, and/or other communication channels. Computer program instructions representing the block diagram and/or flowcharts herein may be loaded onto a computer, programmable data processing apparatus, or processing devices to cause a series of operations performed thereon to produce a computer implemented process.
Embodiments of the present invention have been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. Each block of such illustrations/diagrams, or combinations thereof, can be implemented by computer program instructions. The computer program instructions when provided to a processor produce a machine, such that the instructions, which execute via the processor create means for implementing the functions/operations specified in the flowchart and/or block diagram. Each block in the flowchart/block diagrams may represent a hardware and/or software module or logic, implementing embodiments of the present invention. In alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, concurrently, etc.
The terms “computer program medium,” “computer usable medium,” “computer readable medium”, and “computer program product,” are used to generally refer to media such as main memory, secondary memory, removable storage drive, a hard disk installed in hard disk drive. These computer program products are means for providing software to the computer system. The computer readable medium allows the computer system to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium. The computer readable medium, for example, may include non-volatile memory, such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM, and other permanent storage. It is useful, for example, for transporting information, such as data and computer instructions, between computer systems. Computer program instructions may be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
Computer programs (i.e., computer control logic) are stored in main memory and/or secondary memory. Computer programs may also be received via a communications interface. Such computer programs, when executed, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor multi-core processor to perform the features of the computer system. Such computer programs represent controllers of the computer system.
Though the present invention has been described with reference to certain versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/494,818, filed on Jun. 8, 2011, incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61494818 | Jun 2011 | US |