Patent Publication Number: US-9894124-B2

Title: Rapid startup with dynamic reservation capabilities for network communication systems

Description:
BACKGROUND 
     1. Technical Field 
     This description relates to an Ethernet Audio-Video Bridging (“AVB”) network, and more particularly to managing data stream communications and reservations for the data stream communications with and without use of a stream reservation protocol. 
     2. Background Art 
     Data streams including audio and/or video data may be communicated in a network communication system from one endpoint to another endpoint. Before the data stream is communicated, messages may be communicated to reserve network paths between the endpoints. The network paths may include bridges, which may guarantee and enforce quality of service that is established during reservation of the network paths. Unknown delays may be experienced when creating the reservations. 
     SUMMARY 
     A network communication system may include a plurality of electronic devices configured to communicate a data stream over a network. The electronic devices may include a talker that transmits the data stream, at least one listener that receives the data stream, and at least one bridge in the network that receives the data stream and forwards the data stream to a next location over the network. The network communication system may include other talkers, listeners and/or bridges that are not involved in communicating the data stream or that communicate other data streams. 
     The electronic devices that communicate the data stream may begin doing so as soon as possible and before they otherwise would if the devices first established a reservation for the data stream communication. Upon startup, the devices may attain a link status, which enables the devices to communicate with peer nodes or devices in the system. After link status is attained, the devices may be initialized with a reservation protocol. For Audio-Video Bridging networks, the reservation protocol may be Stream Reservation Protocol (SRP). The initialization process may include a domain negotiation in which domain packets may be communicated with peer nodes. After the initialization process is performed, the devices may establish a reservation for the data stream communication. The reservation may be a reservation for a network path through the network and/or for network resources such as bandwidth, which may be guaranteed during communication of the data stream. Where a reservation protocol is used, messages may be communicated between the talkers and the listeners through the bridges in accordance with the reservation protocol to establish the reservation. Once the reservation is established, the data stream may be communicated over the network. 
     However, instead of waiting until a reservation is established before communicating the data stream, the electronic devices may communicate the data stream without establishing a reservation. To do so, the electronic devices may perform pre-reservation actions, which may include determining and/or accessing pre-reservation information. The pre-reservation information may be different, depending on whether the device is a talker, a listener, or bridge. For the talker, the pre-reservation information may include a stream identifier (ID), bandwidth allocation, and at least one destination address for at least one listener. For the at least one listener, the pre-reservation information may include the destination address and the stream ID. For the at least one bridge, the pre-reservation information may include mapping information and traffic shaping information. 
     When the electronic devices attain link status and complete performance of the pre-reservation actions, the electronic devices may be in a ready state to communicate the data stream. In the ready state, the electronic devices may begin communicating the data stream without first having a reservation established for the communication. The electronic devices may begin performing the pre-reservation actions at a time upon startup such that the pre-reservation actions are completed before link status is attained or as close as possible to link status being attained so that the devices are in the ready state to communicate the data stream as soon as possible following startup. 
     After the devices begin communicating the data stream, the devices may confirm the data stream communication using the reservation protocol with which they were initialized. To confirm the communication, the devices may communicate reservation messages in accordance with the reservation protocol. Through confirmation of the communication, a reservation for the communication may be established, which was not initially done before beginning communication of the data stream. Alternatively, if the devices determine that the data stream communication may not be confirmed, then the communication may be torn down, which also may be performed in accordance with the reservation protocol. Confirmation of the communication may be performed in response to detection of an expiration of a time period, which may be initially started upon initialization of the reservation protocol, and which may be reset and restarted after each subsequent expiration of the time period. Assuming that confirmation of the data stream communication is maintained throughout the duration of the communication, then when the communication is complete, the devices may terminate the communication and remove any reservations that may have been created when confirming the communication, which may be performed using the reservation protocol. 
     Various unknown delays may occur when establishing a reservation for a data stream communication, including delays during boot up of an operating system and/or propagation delays experienced as reservation messages traverse the bridges between the talkers and listeners. By foregoing establishment of a reservation before beginning to communicate a data stream, many if not all of these unknown delays may be eliminated, which may result in the data stream being communicated sooner upon startup of the system. At the same time, by using the reservation protocol to confirm and terminate the data stream communication, the electronic devices may be connected in the network in a plug-and-play manner that optimally and/or efficiently utilizes network resources, as provided for by the reservation protocol. 
     Other systems, method, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, method, features and advantages be included within this description, be within the scope of the description, and be protected by the following claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The system may be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles described in the description. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views. 
         FIG. 1  is a block diagram of an example network communication system. 
         FIG. 2  is a block diagram of an example automotive communication system. 
         FIG. 3  is flow diagram of an example method of managing a data stream communication. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     The present disclosure describes network devices that communicate data streams over a network without first establishing reservations for the data stream communications. After the network devices begin communicating the data streams, the network devices may affirm or tear down the communications using a reservation protocol. In this way, data streams may be communicated over the network upon startup without experiencing delays that may be incurred when reservations are established using a reservation protocol before communicating the data streams. At the same time, by affirming or tearing down the communications using a reservation protocol, the network communication systems may provide dynamic plug-and-play environments. 
       FIG. 1  shows a block diagram of an example network communication system  100 . The network communication system  100  may include a plurality of electronic devices  130 ,  131 ,  140 ,  141  configured as end nodes and/or source and destination devices or nodes that communicate streams of data, including audio and/or video data, over a network  110 .  FIG. 1  shows four electronic devices,  130 ,  131 ,  140 ,  141  configured as end nodes, although more or fewer end nodes may be included in the network communication system  100 . 
     Each of the electronic devices  130 ,  131 ,  140 ,  141 , may be configured to perform one or more roles. The roles may include the role of a talker, the role of a listener, or some combination of the roles, such as a talker/listener. The role of the talker may be to transmit data across or over the network  110 . In addition or alternatively, the role of the talker may be to establish, create, and/or reserve a network connection or path over the network  110  for the transmission of a data stream carrying the data. In addition or alternatively, the role of the talker may be to terminate the reservation and/or remove or tear down the network path or connection. The role of the listener may be to receive the data that is sent over the network  110 . In addition or alternatively, the role of the listener may be to connect to and/or reserve connection to the network path for receipt of the data stream. In addition or alternatively, the role of the listener may be to remove connection from the network path and/or terminate receipt of the data stream. 
     The electronic devices  130 ,  131 ,  140 ,  141  may be configured to switch between or change roles. Alternatively, the roles that the electronic devices  130 ,  131 ,  140 ,  141  may be configured to perform may be fixed. For the following description, the electronic devices  130 ,  131  are configured as talkers, and the electronic devices  140 ,  141  are configured as listeners. 
     The network communication system  100  may also include one or more electronic devices or network nodes configured as bridges and/or making up a bridging system or network in the network  110 .  FIG. 1  shows three bridges  150 ,  151 , and  152 , although other numbers of bridges may be included. The bridges  150 ,  151 ,  152  may communicate data streams and/or other information or messages between the talkers  130 ,  131 , the listeners  140 ,  141 , and between each other. The bridges  150 ,  151 ,  152  may receive data streams and forward the received data streams to next locations along network paths. In addition, the bridges  150 ,  151 ,  152  may be used to create and tear down the network paths by receiving and forwarding information or messages over the network  110  between the talkers  130 ,  131  and the listeners  140 ,  141 . The bridges  150 ,  151 ,  152  may also be configured to guarantee and enforce quality of service for establishment of the network paths and transmission of the data streams. For example, the bridges  150 ,  151 ,  152  may prevent establishment of network paths that are unable to handle a specified bandwidth. In addition, the bridges  150 ,  151 ,  152  may enforce priority schemes or hierarchies for the data streams, such as by preventing lower priority data streams from disrupting communication of higher priority data streams during a session. Other guarantees or enforcements of quality of service may be possible. 
     The network  110  may be configured in accordance with Layer 2 of the Open Systems Interconnection (OSI) model, in which routing and forwarding decisions or determinations in the network  110  may be performed on a media access control (MAC) addressing basis. An example Layer 2 network may be an Ethernet Audio/Video Bridging (AVB) network. For Layer 2 networks configured as AVB networks, the talkers  130 ,  131  and the listeners  140 ,  141  may be configured to communicate over the AVB network  110  using various AVB standards and protocols, including the Institute of Electrical and Electronics Engineers (IEEE) 802.1AS-2011 (gPTP) for network timing and synchronization, IEEE 802.1Q-2011 clause 34 for queuing and forwarding streaming data, IEEE 802.1Q-2011 clause 35 (Stream Reservation Protocol (SRP)) for reserving a network connection or path and/or resources such as bandwidth for communication over the network connection, and/or IEEE 1722-2011 related to a possible data streaming format. Other AVB-related standards and protocols, and/or other versions of the AVB standards and protocols, previously, currently, or later developed, may also or alternatively be used. 
     The electronic devices or network nodes in the system  100 , including the talkers  130 ,  131 , the listeners  140 ,  141 , and the bridges  150 ,  151 ,  152 , may be configured to attain link status to communicate with each other. When the electronic devices in the system  100  attain link status, the electronic devices are able to identify their peer devices or nodes and are able to verify that they may communicate with their peer nodes. A peer device or peer node may be an electronic device or network node in the system  100  with which another electronic device or network node directly communicates. Here, direct communication may refer to communication between two electronic devices or network nodes in the system  100 —e.g., between a bridge and a talker, between a bridge and a listener, or between two bridges—without receipt or interception by another network node or electronic device in the system  100  prior to receipt by the receiving device or node. To illustrate, the first bridge  150  may directly communicate a data stream to the second bridge  151  in that the first bridge  150  may transmit the data stream to the second bridge  151  without receipt by another network node (e.g., the third bridge  152 , the talkers  130 ,  131 , and/or the listeners  140 ,  141 ) before the second bridge  151  receives the data stream. Once the electronic devices attain link status, the electronic devices may be able to communicate with their peer nodes. 
     The electronic devices in the system  100  may be configured to attain link status at a time subsequent an initial time when the system  100  and/or the devices in the system  100  perform an initial startup or boot up process. The initial startup may occur when the system  100  and/or the electronic devices in the system  100  transition from a powered down state to a powered up state upon receiving power. Between the initial time that the system  100  initially starts up and the subsequent time that the system  100  attains link status, the electronic devices may communicate information with their peer nodes to attain link status. In particular, the electronic devices may communicate auto-negotiation messages with their peer nodes to confirm that they are communicating with their peer nodes at the same speed and/or with the same duplex communication configuration and/or parameters. Once the electronic devices communicate the auto-negotiation messages and confirm the speed and duplex communication configuration, link status may be attained. 
     After the electronic devices attain link status, the electronic devices may communicate data streams over the network  110  between the talkers  130 ,  131  and the listeners  140 ,  141 , provided that the electronic devices perform certain additional actions to initiate the data stream communications. For some example configurations, some or all of the electronic devices in the system  100  may be configured to reserve a network path through the network  110  and/or network resources such as bandwidth to communicate a data stream over the network  110 . In addition or alternatively, some or all of the electronic devices may be configured to communicate a data stream without establishing a reservation. Instead of making a reservation, the electronic devices may perform pre-reservation actions to communicate the data stream, as described in further detail below. 
     Where a reservation is made to transmit a data stream, the reservation may be made using a reservation protocol. For AVB networks, the reservation protocol may be SRP. In order for a reservation to be made using SRP, the electronic devices or network nodes in the system  100 , including the talkers  130 ,  131 , the listeners  140 ,  141 , and the bridges  150 ,  151 ,  152  may perform SRP initialization and domain negotiation. When performing SRP initialization and domain negotiation, the electronic devices may transmit and receive domain packets with peer devices or nodes in the system  100 . After the electronic devices in the system  100  transmit domain packets to their peer nodes and receive domain packets from their peer nodes, the electronic devices or nodes may know the virtual local area network (VLAN) over which to communicate and may also know SRP priorities. 
     In addition, during SRP initialization, the bridges  150 ,  151 ,  152  may be configured to determine mapping information and traffic shaping information. The mapping information may identify where through the bridge the data stream is to go upon receipt. For example, the mapping information may associate ingress ports, egress ports, and destination addresses. From the mapping information, the bridge may determine the egress port on which to send a data packet received on an ingress port and having a particular destination address. Additionally, the bridges  150 ,  151 ,  152  may be configured to determine traffic shaping information. The traffic shaping information may determine an amount of data in the data stream and an appropriate rate at which the data stream is to be output by the bridges. The traffic shaping information may be used by the bridges to reduce network jitter from the data stream and/or to prevent the data stream from consuming excess network bandwidth and/or from flooding the network. Various types or schemes of traffic shaping information may be used. AVB networks may use credit-based traffic shaping, although other types or schemes of traffic shaping, such as first-in first-out (FIFO) or priority queuing, may be used. 
     After the bridges  150 ,  151 ,  152  determine the mapping information and the traffic shaping information during SRP initialization, the bridges  150 ,  151 ,  152  may be configured to receive a data stream and forward the data stream to a next hop or location in the system  100  in accordance with the mapping information and the traffic shaping information. Conversely, without determining the mapping information and the traffic information, upon receipt of the data stream, the bridges  150 ,  151 ,  152  may identify the received data stream as unknown and in turn, may drop the data in the data stream, or alternatively may flood the network  110  with the data stream by sending out the data stream on all ports. In addition or alternatively, the bridges  150 ,  151 ,  152  may be configured to use default forwarding and/or traffic shaping techniques. In some example configurations, the default forwarding technique may be to broadcast or multicast the received data stream on all ports (i.e., flood the network  110 ). In addition or alternatively, the default traffic shaping technique may be a first-in first-out traffic shaping technique. 
     SRP initialization and domain negotiation may be triggered or performed after startup of the system  100  and/or the devices in the system  100 , which may be controlled by one or more operating systems of the system  100  or of the devices in the system  100 . Additionally, as previously described, SRP initialization and domain negotiation may be performed after the electronic devices attain link status. Hereafter, SRP initialization and domain negotiation, including any actions performed or messages communicated during SRP initialization and domain negotiation, is referred to in short as “SRP initialization” for simplicity. 
     After the electronic devices or nodes in the system perform SRP initialization, the electronic devices may communicate SRP messages in accordance with SRP to reserve network paths and network resources for communication of a data stream over the network  110 . In particular, when the talkers  130 ,  131  determine to transmit a data stream, the talkers  130 ,  131  may advertise the data stream transmission to other devices in the system  100  by generating and sending an advertisement message, referred to as a talker advertise (TA) message, over the network  110 . To generate a TA message, the talkers  130 ,  131  may be configured to determine one or more talker attributes to include in the TA message. The talker attributes may identify characteristics about the talkers  130 ,  131  and/or the data stream being advertised to reserve and establish the network path. For example, the talker attributes may identify that the talkers  130 ,  131  want to transmit the data stream to one or more of the listeners  140 ,  141 . The talker attributes may also identify a type of the transmission, such as whether the transmission is a unicast, a multicast or a broadcast transmission, as examples. In addition or alternatively, the talker attributes may identify one or more destination addresses, such as Layer 2 or MAC destination addresses, to which to send the data stream. The destination addresses may be destination addresses of listeners in the network communication system  100 , such as the listeners  140 ,  141 . In addition or alternatively, the destination addresses may be multicast destination addresses. 
     In addition or alternatively, the talker attributes may identify a unique stream identifier (“ID”) for the advertised data stream. By being unique, no two registered or reserved data streams may have or be assigned the same stream ID. For some example implementations, the stream ID may be a unique sequence of characters and/or numbers which may be assigned to only one data stream. 
     In addition or alternatively, the talker attributes may identify one or more quality of service (QoS) parameters for and/or associated with transmission of the data stream. Quality of service may generally refer to an ability to provide or set different priorities to different transmission of data streams and/or to guarantee an identified level of performance for the transmissions. Various QoS parameters may be identified or have amounts that are determined or required for the different priorities and/or the levels of performance. Example QoS parameters may include bandwidth for transmission of the advertised data stream. Other QoS parameters may include propagation delay, bit rate, jitter, packet dropping probability, and/or bit error rate, as examples. 
     One or more of the listeners  140 ,  141  may receive a TA message transmitted over the network  110 . If a listener receives the TA message, the listener may determine whether the listener wants to receive the data stream being advertised in the TA message. The listener may be configured to identify the destination address and/or the stream ID included in the TA message to determine whether the listener wants to receive the data stream. If the listener wants to receive the data stream, the listener may register and/or store the TA message and/or the talker attributes. 
     In addition, the listener may generate and send a ready message, referred to as a listener ready (LR) message over the network  110 , which may indicate that the listener requests or wants to receive or attach to the data stream and/or that the listener is ready to receive the data stream. In some situations, the listener may send the LR message in response to receipt of the TA message. In other situations, the listener may send the LR message first without receipt of the Layer 2 advertisement message, such as where the talkers and listeners are configured for asynchronous communication. 
     The listener may determine one or more listener attributes to include in the LR message. The listener attributes may be used to request receipt of the data stream being advertised by the talker. An example listener attribute may include the stream ID included in the TA message, which may be used to match or compare the stream ID included in the TA message and/or to compare the talker attributes and the listener attributes for reservation of the network path and transmission of the data stream. 
     The talker that sent the TA message may receive the LR message from over the network  110 . In response, the talker may register or store the LR message and/or the listener attributes included in the LR message. In addition, when the talker receives the LR message, the reservation for the network path and/or resources identified in the TA message may be complete. In some example configurations, where multiple listeners sent multiple LR messages, multiple network paths may be reserved and established between the talker and the multiple listeners for transmission of the data stream. 
     The bridges  150 ,  151 ,  152  may be configured to receive the TA and LR messages and communicate the TA and LR messages over the network  110  between the talkers  130 ,  131  and the listeners  140 ,  141  so that reservations may be made. In doing so, the bridges  150 ,  151 ,  152  may guarantee and enforce quality of service for communication of data streams in accordance with SRP. In particular, in response to receipt of a TA message, if a bridge does not have sufficient bandwidth or resources available as indicated or specified in the TA message, the bridge may change the TA message to a Talker Failed (TF) message and forward the TF message instead of the TA message over the network  110 . The TF message may indicate an advertisement for an unavailable data stream. Additionally, if one or more listeners want to attach to a data stream, but there is insufficient bandwidth or resources for transmission to at least one of the listeners, Listener Ready Failed (LRF) messages or Listener Asking Failed (LAF) messages may be communicated instead of LR messages. A LRF message may indicate that at least one but less than all of the listeners are unable to receive the data stream. A LAF message may indicate that all of the listeners are unable to receive the data stream. 
     After the TA and LR messages and associated talker and listener attributes are registered and a reservation for one or more network paths is complete, the data stream may be transmitted over the established network path from the talker and to the one or more listeners that reserved connection for the data stream. 
     In addition or alternatively to making a reservation using SRP to transmit a data stream, at least some of the electronic devices in the system  100  may be configured to communicate one or more data streams over the network  110  without making a reservation using SRP. To do so, the electronic devices may be configured to perform one or more pre-reservation actions or functions and/or may be preconfigured with pre-reservation information so that the devices may communicate data streams over the network  110  without a SRP reservation. These pre-reservation actions and/or the pre-reservation information that the devices may determine and/or be preconfigured with may be different depending on whether the device is a talker, a listener, or a bridge. 
     To be configured to transmit a data stream over the network  110  without making or establishing a reservation using SRP, the talkers  130 ,  131  may be configured to determine pre-reservation information, which for the talkers  130 ,  131 , may include attributes for the data stream, including a stream ID and bandwidth allocation. The pre-reservation information determined by the talkers  130 ,  131  may also include one or more destination addresses for listeners that may want to receive the data stream. Upon startup, the talkers  130 ,  131  may be configured to determine or access the stream attributes and the one or more destination addresses without performing SRP initialization or transmitting a TA message to establish a reservation. The information accessed by the talkers  130 ,  131  may be stored in memory, which may be a local memory of the talkers  130 ,  131 , external memory that is external to the talkers  130 ,  131  in the system  100 , a memory external to the system  100 , or some combination thereof. In addition, upon startup, the talkers  130 ,  131  may be configured to perform other actions or functions to transmit the data stream. For example, the talkers  130 ,  131  may obtain or generate the data to be transmitted. As examples, the talkers  130 ,  131  may activate any data-gathering equipment or mechanisms, such as cameras or sensors, and begin obtaining the data. In addition or alternatively, the talkers  130 ,  131  may retrieve data stored in memory. In addition or alternatively, the talkers  130 ,  131  may obtain other information for transmission of the data stream, such as identifying a format of the data stream (e.g., video or audio), as an example. After the talkers  130 ,  131  obtain the data to be transmitted and determine the stream attributes, destination addresses, and any other information for transmission of the data stream, the talkers  130 ,  131  may be configured to transmit the data stream over the network  110 . 
     To receive a data stream over the network  110  without making or establishing a reservation using SRP, the listeners  140 ,  141  may be configured to determine their destination addresses and the stream ID of the data stream. The listeners  140 ,  141  may be configured to access their destination addresses and the stream ID without performing SRP initialization or transmitting a LR message to establish a reservation. The destination addresses and the stream ID may be stored in memory, which may be a local memory of the listeners  140 ,  141 , memory that is external to the talkers  140 ,  141  in the system  100 , a memory external to the system  100 , or some combination thereof. Upon startup, the listeners  140 ,  141  may be configured determine their destination addresses and the stream ID, such as by accessing the information from memory. When the destination addresses and the stream ID are determined and the listeners  140 ,  141 , the ports of the listeners  140 ,  141  may be open for and the listeners  140 ,  141  may be receptive to receiving the data stream from over the network  110 . 
     Because the talkers  130 ,  131  and the listeners  140 ,  141  may begin communicating the data stream without first establishing a reservation using SRP, the bridges  150 ,  151 ,  152  may receive the data stream without first receiving SRP messages (e.g., TA and LR messages) from the talkers  130 ,  131  and the listeners  140 ,  141 . To ensure that the data stream is properly handled (i.e. that the data stream is forwarded to a next destination and the data stream traffic is properly shaped as it passes through the bridge), the bridges  150 ,  151 ,  152  may be configured to determine the mapping and shaping information independent of and/or without SRP initialization. The mapping information and the traffic shaping information accessed by the bridges  150 ,  151 ,  152  may be stored in memory, which may be a local memory of the bridges  150 ,  151 ,  152 , memory that is external to the bridges  150 ,  151 ,  152  in the system  100 , a memory external to the system  100 , or some combination thereof. Upon startup, the bridges  150 ,  151 ,  152  may be configured to determine and/or access the mapping information and the traffic information independent of SRP initialization and/or without the determination being part of SRP initialization. After the bridges  150 ,  151 ,  152  determine the mapping information and the traffic shaping information, the bridges  150 ,  151 ,  152  may be configured to receive a data stream and forward the data stream to a next hop or location in the system  100  in accordance with and/or using the mapping and shaping information. 
     When the electronic devices complete the pre-reservation actions and also attain link status, the electronic devices may be configured in a ready state to communicate a data stream over the network. The electronic devices may be in the ready state and begin communicating the data stream without establishing a reservation for the data stream communication using SRP, and regardless of whether or not the electronic devices are configured to manage stream reservations using SRP, such as through SRP initialization. The electronic devices that perform the pre-reservation actions to transmit a data stream may do so during a time period following startup such that the data stream is being communicated over the network as soon as possible. To do so, the electronic devices may perform the pre-reservation actions at a time such that the devices are configured in the ready state as soon as possible. That is, the electronic devices may perform the pre-reservations actions at a time such that they are completed before link status is attained or at least as close to link status being attained as possible. The electronic devices may begin performing the pre-reservation actions in response to or immediately following the startup of the devices at the initial time. In addition or alternatively, the electronic devices may perform at least some of the pre-reservation actions concurrently with communication of the auto-negotiation messages with their peer nodes to attain link status. In addition or alternatively, the electronic devices may perform at least some of the pre-reservation actions before SRP initialization begins or completes. In general, the electronic devices may perform the pre-reservation actions at a time following startup such that the data stream may be communicated over the network  110  at the time link status is attained or at a time after link status but before the data stream would otherwise be communicated if a reservation for transmission of the data stream is first established using SRP. 
     The electronic devices in the system may be configured to control and/or manage the data stream communications after the communication begin. Management and control of the data stream communications may be performed in accordance with and/or using SRP. For example, the electronic devices may be configured to confirm or remove one or more reservations and/or keep alive or tear down one or more data stream communications. After SRP initialization is complete, the talkers  130 ,  131  and listeners  140 ,  141  that are communicating a data stream and/or that have established a reservation for communication of a data stream may be configured to confirm the communication and/or the reservation through transmission or communication of TA and LR messages over the network  110 . The TA and LR messages may be communicated in response to receipt of a confirmation message, referred to as a Leave All (LA) message under SRP, over the network  110 . When a LA message is received, the talkers  130 ,  131  and listeners  140 ,  141  may transmit TA and LR messages over the network  110  to confirm the data communications or reservations. If the TA and LR messages are successfully communicated over the network  110  and registered, then the communication and/or reservation may be confirmed or maintained, and any data stream being communicated may continue to be communicated. Further, if a reservation was not previously established for the data stream, then the reservation may be established through communication of the TA and LR messages to confirm the communication. Alternatively, if the TA and LR messages are unsuccessfully communicated (e.g., the TA and/or LR messages are not transmitted in response to a LA message, or the TA and/or LR messages are changed to talker and listener failed messages by one or more bridges  150 ,  151 ,  152 ), then the reservation may be removed, and any data streams being communicated may be torn down. 
     An LA message may be transmitted in response to expiration of a predetermined time period. The predetermined time period may be a default time period, such as ten seconds, that is set in accordance with SRP. Alternatively, the predetermined time period may be different than the default time period. For example, the time period may be changed from the default time period to a different time period, and/or set to a different time period when preconfiguring and/or initializing the system  100 . In alternative configurations, a plurality of different time periods may be used, one of which may or may not be the default time period. Various configurations may be possible for determination of the time period. 
     The time period may be controlled and/or managed by a timer or timer system in the network communication system  100 . In some example configurations, each electronic device or network node in the system  100 , including the talkers  130 ,  131 , the listeners  140 ,  141 , and the bridges  150 ,  151 ,  152 , may be configured to set its own timer. When an electronic device&#39;s timer detects expiration of a time period, the electronic device may be configured to send a LA message over the network  110  to the other electronic devices or network nodes in the system  100 . When the other electronic devices receive the LA message, the other devices may reset their timers to an initial value without transmitting their own LA message over the network  110 . 
     An initial time period for transmission of a LA message may be triggered or begin upon completion of SRP initialization. That is, once the electronic devices or network nodes in the system  100  are initialized in accordance with SRP, they may start their timers. When a timer for one of electronic devices detects expiration of the initial time period before the timers of the other electronic devices detect expiration, the electronic device that detected the expiration may transmit a LA message over the network  110 , which may cause the other devices to reset their timers. Subsequent LA messages may then be transmitted over the network  110  after expiration of subsequent time periods, which may be detected by the same electronic device that detected expiration of the initial time period or other electronic device in the system  100 . 
     In alternative example configurations, instead of each electronic device or network node in the system  100  controlling or managing its own timer, a single electronic device in the system  100  may be designated as the device or network node that controls or manages the timer and transmits LA messages for the system  100  upon expiration of a time period. In still other alternative example configurations, more than one but less than all of the electronic devices in the system  100  may be configured to control or manage a timer and communicate LA messages over the system  100 . Various configurations are possible. 
     In addition to confirming data stream communications and/or reservations through LA messages, the electronic devices may also be configured to terminate the communications and/or reservations when the data stream communication ends. In particular, the electronic devices may be configured to communicate termination messages to terminate the communication. Under SRP, the talker may transmit Talker Advertisement Leave (TAL) messages, and the listeners may transmit Listener Ready Leave (LRL) messages to terminate the communication. In response to the termination messages, the reservations for the network paths may be terminated, the registrations of the TA and LR messages and associated talker and listener attributes may be de-registered, and any resources consumed for communication of the data stream may be made available for other communications of data streams. 
     In addition, reservations for new or subsequent data stream communications may be made using SRP following any initial communications upon startup of the system  100 . For example, upon startup of the system, at least one data stream may be communicated over the network  110  in response to at least some of the electronic devices in the system  100  performing pre-configuration actions. Thereafter, one or more new talkers and/or one or more new listeners may enter the system  100  and/or connect to the network  110  and perform SRP initialization and make a reservation for communication of a data stream using SRP. In addition or alternatively, one or more existing talkers and/or listeners that initiated communication of a data stream by performing pre-reservation actions may establish a reservation for communication of another data stream using SRP. 
     By communicating data streams by performing the pre-reservation actions instead of establishing a reservation using SRP, these data streams may be communicated over the network  110  between the talkers and listeners as soon as possible following startup of the system  100 . In addition, by using SRP to confirm the communications, terminate the communications, and create new reservations with SRP, the system  100  may have or provide a dynamic plug-and-play system or environment that ensures that network resources are efficiently utilized. 
     As shown in  FIG. 1 , each of the talkers  130 ,  131 , the listeners  140 ,  141 , and the bridges  150 ,  151 ,  152  may include and/or communicate with a processor P configured to perform the above described functions. The processor P may be a general processor, a digital signal processor, a controller, a microcontroller, an application specific integrated circuit, a field programmable gate array, an analog circuit, a digital circuit, combinations thereof, or other now known or later developed processors. The processor P may be a single device, a plurality of devices, or a combination of devices, such as associated with a network or distributed processing. Any of various processing strategies may be used, such as multi-processing, multi-tasking, parallel processing, remote processing, or the like. The processor P may be responsive to and/or configured to execute instructions stored as part of software, hardware, integrated circuits, firmware, micro-code, or the like. 
     In addition, the talkers  130 ,  131 , the listeners  140 ,  141 ,  142 , and the bridges  150 ,  151 ,  152  may include a memory M in communication with the processor P. The memory M may be one or more non-transitory and/or tangible computer readable storage media. The computer readable storage media may include various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media, and the like. The memory M may be a single device or a combination of devices. The memory M may be adjacent to, part of, networked with and/or removed from the processor P. Logic encoded in one or more tangible media for execution is defined as the instructions that are executable by the programmed processor P and that are provided on the computer-readable storage media, memories, or a combination thereof. 
     The memory M may be a computer readable storage media having stored therein data representing instructions executable by the programmed processor P. The memory M may store instructions for the processor P. The processor P may be programmed with and execute the instructions. The functions, acts, methods, or tasks illustrated in the figures or described herein may be performed by the programmed processor P executing the instructions stored in the memory M. The functions, acts, methods or tasks may be independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro-code, and the like, operating alone or in combination. The instructions may be for implementing the processes, techniques, methods, or acts described herein. 
     Additionally, the talkers  130 ,  131 , the listeners  140 ,  141 ,  142 , and the bridges  150 ,  151 ,  152  may include one or more interfaces (I/F) in communication with the processor P and the memory M, and that may be used to communicate information with each other over the network  110 . For some example configurations of the communication system  100 , the talkers  130 ,  131 , the listeners  140 ,  141 ,  142 , and the bridges  150 ,  151 ,  152  may be configured as network devices configured to communicate over a network, such as an Ethernet Audio-Video Bridging (AVB) network or other vehicle network, as examples. For these configurations, the interface I/F may be a network interface and/or implemented in hardware, such as a hard-wired or wireless network interface. Alternatively, one or more of the interfaces I/F may be non-network I/F and/or some or all of the systems may communicate with each other over non-network connections. In addition or alternatively, the interface I/F may be a universal asynchronous receiver/transmitter (UART), a parallel digital interface, a software interface, Ethernet, or any combination of known or later developed software and hardware interfaces. Various configurations are possible. 
     In addition to being a Layer 2 network, such as an AVB network, the network  110  may be configured in various types or forms. As examples, the Layer 2 networks  110 ,  112  may include wide area networks (WAN), such as the Internet, local area networks (LAN); campus area networks; metropolitan area networks; or any other wireless and/or wireline networks that may allow for data communication. In addition or alternatively, the network  110  may be divided into sub-networks, which may allow access or restrict access to some or all the components, including the electronic devices  130 ,  131 ,  140 ,  141 ,  150 ,  151 ,  152  connected to and/or included in the network  110 . In addition or alternatively, the network  110  may be regarded as a public or private network and may include, for example, a virtual private network, an encryption, or any other security mechanism employed over the public Internet, or the like. Various other types or forms of networks for the network  110  may be possible. 
       FIG. 2  shows an example automotive system  200  in which the example network communication system  100  shown in  FIG. 1  may be implemented. The automotive system  200  may be included in a vehicle, automobile, or other transportation machine. The automotive system  200  may include a plurality of electronic devices that may be configured to communicate data over a network  210 , which may be an AVB network. The automotive system  200  may include at least one electronic device for which communication of data over the network  210  as soon as possible upon startup of the vehicle may be desirable or critical. For some automotive applications, the desired or critical time period may be within 200 milliseconds upon startup. Additionally, the automotive system  200  may include one or more other electronic devices for which communication over the network  210  as soon as possible upon startup of the vehicle may not be desirable or critical. 
     An example talker in the system  200  may be a video camera  230  that captures images of a surrounding environment of the vehicle and sends the images as a video data stream through a bridging network  250  over the network  210  to a video screen  240  configured as a listener that receives the video signal and displays the video. Another example talker may be an audio device  231 , such as a radio, a compact disc (CD) player or digital audio player, configured as a talker that outputs an audio data stream through the bridging network  250  over the network  210  to an amplifier or other audio output system  241  configured as a listener that outputs the audio. 
     Upon startup of the vehicle and the automotive system  200 , it may be desirable or critical for the video camera  230  to capture video images of the surrounding environment of the vehicle and transmit the video images to the video screen  240  for display as soon as possible. As such, the video camera  230  as a talker and the video screen  240  as a listener may perform the talker and listener pre-reservation actions, respectively. Additionally, one or more bridges in the bridging network  250  to receive the data stream may perform the bridging pre-reservation actions. Upon startup of the vehicle, after the pre-reservation actions are performed and link status is attained, the video camera  230  may transmit captured video images through the bridging network  250  over the network  210  to the listener  240  without establishing a reservation for the transmission using SRP. 
     In addition, communication of an audio signal from the audio device  231  to the amplifier  241  as soon as possible upon startup of the vehicle may not be desirable or critical. As such, the audio device  231  may not communicate an audio data stream through the bridging network  250  over the network  210  to the amplifier  241  until the devices  231 ,  241 ,  250  are initialized with SRP and a reservation for communication of the audio signal is established through communication and/or registration of TA and LR messages. Because communication of the audio data stream does not occur until a reservation is made using SRP, communication of the audio data stream may begin after communication of the video data stream output by the video camera  231  begins even though all of the devices  230 ,  231 ,  240 ,  241  are part of the automotive system  200  upon startup of the vehicle. 
     Subsequent to either or both of the data stream communications between the video camera  230  and the video screen  231  and/or the audio device  231  and the amplifier  241 , the electronic devices in the system may use SRP to communicate LA messages over the network  210  to confirm or validate the data stream communications. For example, upon receipt of a LA message, the video camera  230  may communicate a TA message and the video screen  240  may communicate a LR message, which may be subsequently registered to confirm or validate the communication of the video data stream. In addition or alternatively, the video camera  230  and the video screen  240  may transmit termination messages, such as TAL and LRL messages under SRP, to de-register any TA and LR messages registered in response to any LA messages and/or to terminate the video data stream communication. Similar SRP messages may be communicated to confirm and/or terminate the audio data stream communicated between the audio device  231  and the amplifier  241 . 
       FIG. 3  shows a flow chart of an example method  300  of managing a communication of a data stream over a network in a network communication system. The network communication may include a plurality of electronic devices that communicate the data stream, which may include a talker, at least one listener, and at least one bridge. The system may optionally include other electronic devices, including other talkers, other listeners, and/or other bridges, that are not involved in the communication of the data stream and/or that communicate other data streams over the network. At block  302 , the system, including the electronic devices, may initially startup, such as upon initially receiving power to activate processors or other electronic components in the system. 
     At block  304 , the electronic devices may perform various initialization actions and operations to be configured to communicate the data stream and manage the communication using SRP. For example, the electronic devices may communicate auto-negotiation messages to attain link status. Additionally, the electronic devices may perform pre-reservation actions to be configured to communicate data streams over the network. Also, the electronic devices may perform SRP initialization in order to control and/or manage data stream communications using SRP. Some of the initialization actions and operations, or at least portions of the initialization actions and operations, may be performed concurrently following startup. In addition or alternatively, some of the initialization actions and operations, or at least portions of the initialization actions and operations, may be performed sequentially or at different times following startup. In addition or alternatively, the beginning times and/or the end times of the initialization actions and operations may occur at the same or substantially the same time, before, or after each other. In addition or alternatively, the times at which the initialization actions and operations may begin and/or end may be the same or different for the different electronic devices, and in some situations may depend on whether the electronic device is a talker, a listener, or a bridge. In general, an electronic device may begin SRP initialization following and/or in response to the electronic device attaining link status. Additionally, the electronic device may begin performing the pre-reservation actions at a time following or upon initial startup such that performance of the pre-reservation actions is complete before link status is attained or, if link status is attained first, as close to link status being attained as possible, so that the data stream may be communicated as far in advance as possible from when the data stream would otherwise be communicated if a reservation was first establishing using SRP before the data stream was communicated. 
     When both link status is attained and the electronic devices involved in the communication of the data stream complete performing the pre-reservation actions, the method may proceed to block  306 , where the electronic devices may be configured in ready states and begin communicating the data stream over the network. In particular, the talker may begin transmitting the data stream, the one or more listeners may begin receiving the data stream, and the one or more bridges may receive and forward the data stream to a next location over the network. In the ready states at block  306 , the electronic devices may communicate the data stream over the network without having established a reservation for the data stream, such as by establishing a reservation using SRP. 
     At block  308 , one of the electronic devices in the system, which may or may not be involved in communication of the data stream, may detect an expiration of a time period set by a timer. The timer may have started during SRP initialization or in response to SRP initialization being completed. The time period may be a default time period set in accordance with SRP, although other time periods may be used. The electronic device may detect the expiration of the time period before communication of the data stream is complete. Also, at block  308 , upon detection of the expiration of the time period, the talker and the one or more listeners communicating the data stream may transmit and register TA and LR messages to confirm the communication. For some example methods, the talker and the one more listeners may transmit the TA and LR messages in response to detecting or receiving a confirmation message, such as a LA message in accordance with SRP, as previously described. The LA message may be communicated over the network by the electronic device that detected expiration of the time period. Additionally, at block  308 , the electronic devices in the system may reset and restart their timers upon detecting expiration of the time period. 
     At block  310 , the talker and the one or more listeners may determine whether the data stream communication is confirmed. The talker and the one or more listeners may determine whether the data stream communication is confirmed by determining whether the TA and LR messages are successfully communicated and registered in accordance with SRP. For example, if the talker transmits and registers a TA message and also receives and registers one or more LR messages from the one or more listeners, then the talker may determine that the data stream is confirmed. Similarly, if each of the one or more listeners transmits and registers a LR message and also receives and registers a TA message from the talker, then the one or more listeners may determine that the data stream is confirmed. Alternatively, if the one or more listeners receives a TF message from the talker, and/or the talker receives a LRF or a LAF message from the one or more listeners, then the talker and the one or more listeners may determine that the data stream communication is not confirmed. 
     If the talker and the one or more listeners determine that the data stream communication is not confirmed, then at block  312 , the talker and the one or more listeners may terminate the data stream communication. In particular, the talker may stop transmission of the data stream. Additionally, the talker and the one or more listeners may remove any reservations established through TA and LR messages previously communicated in response to a LA message to confirm the data stream communication. For example, the talker and the one or more listeners may communicate TAL and LRL messages over the network to de-register any TA and LR messages and associated talker and listener attributes that may have been registered in response to detection of a LA message to confirm the communication. Alternatively, if the talker and the one or more listeners determine that the data stream communication is confirmed, then at block  314 , the talker may continue transmitting the data stream over the network to the one or more listeners. 
     At block  316 , if the communication of the data stream is complete, then at block  318  the talker may stop transmitting the data stream. Additionally, the talker and the one or more listeners may remove any reservations established through TA and LR messages previously communicated to confirm the data stream communication and may de-register any TA and LR messages and associated attributes, as previously described for block  312 . Alternatively, if the data stream communicate is not complete, then the method  300  may proceed back to block  308 , where an electronic device in the system detects an expiration of a timer. 
     While various embodiments of the description have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the description. Accordingly, the description is not to be restricted except in light of the attached claims and their equivalents.