The invention relates to managing broadcast and multicast communications over a shared medium.
A network of communication stations can share a communication medium (e.g., wires connecting multiple stations or spectrum for transmitting radio signals among stations) using any of a variety of access techniques. Some access techniques (e.g., carrier sense multiple access (CSMA) techniques) include a contention period in which stations contend for use of the medium for transmitting a signal by sensing when the medium is idle. In CSMA techniques, “collisions” sometimes occur when signals from two or more stations overlap. Some CSMA techniques attempt to detect collisions and abort transmission to reduce the negative impact of collisions (e.g., CSMA/CD techniques). Other CSMA techniques include mechanisms to avoid or reduce the probability of collisions (e.g., CSMA/CA techniques). Other channel access techniques such as Time Division Multiple Access (TDMA), Polling, Token passing, Token ring etc., can also be used for sharing the medium.
In certain environments, due to signal attenuation/distortion and noise, each station in the network may not be able to communicate directly all other stations in the network. In such cases, one or more stations in the network that can hear a signal from a transmitting station can retransmit the signal so that it can be received at stations incapable of hearing the original transmission. Multicast and broadcast transmissions may also need to be repeated to ensure that all members of the group receive the message. However, retransmission of multicast and broadcast transmissions may result in inefficiencies and duplicate copies of the message being received at the station.
This specification describes technologies relating to transmission of broadcast and multicast traffic over a shared medium
In general, one aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving broadcast or multicast traffic at a first station and selectively retransmitting the broadcast or multicast traffic from the first station according to a first station retransmission rule.
In particular implementations, the method further includes the actions of receiving broadcast or multicast traffic at a second station, and selectively retransmitting the broadcast or multicast traffic from the second station according to a second station retransmission rule. The broadcast or multicast traffic received at the first station and the second station can include common content received at both the first station and the second station. The first station retransmission rule can direct the first station to retransmit the broadcast or multicast traffic. The second station retransmission rule can direct the second station to not retransmit the broadcast or multicast traffic. The first station retransmission rule and the second station retransmission rule can be based on an analysis of network topology data.
In general, another aspect of the subject matter described in this specification can be embodied in methods that include the actions of analyzing network topology data to generate a set of selective broadcast or multicast rules for a plurality of stations in a network, the selective broadcast or multicast rules comprising respective retransmission rules for each of a plurality of stations, the respective retransmission rules limiting redundant transmissions of broadcast or multicast traffic in the network, and selectively retransmitting broadcast or multicast traffic at the plurality of stations based on the respective retransmission rules.
In general, another aspect of the subject matter described in this specification can be embodied in methods that include the actions of providing a physical layer for handling physical communication over a shared medium, providing a high level layer that receives data from the station and supplies high level data units for transmission over the medium, providing a MAC layer that receives the high level data units from the high level layer and supplies low level data units to the physical layer, at the MAC layer, encapsulating content from a plurality of the high level data units, dividing the encapsulated content into a plurality of segments with each segment capable of being independently retransmitted, supplying low level data units containing one or more of segments, transmitting broadcast or multicast traffic from a first station, the broadcast or multicast traffic comprising a low level data unit, and retransmitting segments received from the first station at a second station for reception at a third station.
Particular embodiments of the subject matter described in this specification can be implemented to realize one or more of the following advantages. Network efficiency can be increased through the reduction of redundant network traffic.
The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
FIG. 2Bb shows the network of FIG. 2Aa implementing selective broadcast for a message from an alternative station.
There are a great many possible implementations of the invention, too many to describe herein. Some possible implementations that are presently preferred are described below. It cannot be emphasized too strongly, however, that these are descriptions of implementations of the invention, and not descriptions of the invention, which is not limited to the detailed implementations described in this section but is described in broader terms in the claims.
The systems and methods described below can be used on any communication network operating over a shared medium. Two example network configurations are shown in
The network includes a central coordinator 102 (CCo) and one or more stations 104a-104d. In the example network 100, the central coordinator 102 is the master of the network and is responsible for managing various stations in the network. In general there can be stations in the network that may not communicate directly with the central coordinator 102 (e.g., station 104d). Further, one or more stations in the network may not be able to communicate directly with each other (e.g., stations 104a and 104c).
FIG. 1Bb is a schematic diagram of a broadband over powerline access network. The powerline network 1000 can be, for example, a broadband power line Network (BPLN) that provides access to a backhaul network. The BPLN of the example network 1000 can be managed by a service provider entity having access to the underlying physical power line medium. A BPLN is a general purpose network that can be used for several types of applications including smart grid management, broadband internet access, voice and video delivery services, etc. A BPLN can be deployed on low voltage, medium voltage and high voltage power lines. A BPLN can span an entire neighborhood or it can be deployed within a single multi-dwelling unit. For example, it can be used to provide network service to tenants in an apartment building. While power lines can be used to deploy the BPLN, the network can also be deployed on other wire lines like coaxial cables and twisted pair.
A BPLN can include one or more cells. A cell is a group of broadband power line (BPL) devices in a BPLN that have similar characteristics such as association management, security, quality of service (QoS) and channel access settings, for example. Cells in a BPLN are logically isolated from each other, and communication to and from the backhaul occurs within a cell. Each cell in a BPLN includes a core-cell and can also include one or more sub-cells. There can be more than one cell on a given physical medium, a power line, for example.
An exemplary core-cell can include a headend (HE), repeaters (RP), and network termination units (NTUs), but not include customer premise equipment (CPE). The headend is a device that bridges a cell to the backhaul network. At a given time, a cell will have one active headend and the active headend manages the cell including the core-cell and any associated sub-cells. A repeater is a device that selectively retransmits medium access control (MAC) Service Data Units (MSDUs) to extend the effective range and bandwidth of the BPLN cell. Repeaters also perform routing and QoS functions. A network termination unit is a device that connects a BPLN cell to an end user's network and/or devices. The NTU may in some cases bridge to other network technologies such as WiFi. A single NTU may serve more than one customer. Each sub-cell can be associated with an active NTU. In some implementations, a single device may be designed to perform multiple roles within the network. For example, a single device can be designed to be configurable so as to function as a headend, an NTU, and/or a repeater, or, for further example, a single device can simultaneously perform the network roles of a repeater and an NTU. Various types of CPE devices are the endpoint nodes in the network and communicate with other nodes in the network through the NTUs.
Each node in the network communicates as a communication “station” (STA) using a physical (PHY) layer protocol that is used by the nodes to send transmissions to any other stations that are close enough to successfully receive the transmissions. STAs that cannot directly communicate with each other use one or more repeater STAs to communicate with each other. Any of a variety of communication system architectures can be used to implement the portion of the network interface module that converts data to and from a signal waveform that is transmitted over the communication medium. An application running on a station provides and receives data to and from the network interface module. A MSDU is a segment of information received by the MAC layer. The MAC layer processes the received MSDUs and prepares them to generate “MAC Protocol Data Units” (MPDUs). An MPDU is a segment of information including header and payload fields that the MAC layer has asked the PHY layer to transport. An MPDU can have any of a variety of formats based on the type of data being transmitted. A “PHY Protocol Data Unit (PPDU)” refers to the modulated signal waveform representing an MPDU that is transmitted over the wire line (a power line, for example) by the Physical Layer.
Apart from generating MPDUs from MSDUs, the MAC layer provides several functions including channel access control, providing the required QoS for the MSDUs, retransmission of corrupt information, routing and repeating. Channel access control enables stations to share the powerline medium. Several types of channel access control mechanisms like carrier sense multiple access with collision avoidance (CSMA/CA), centralized Time Division Multiple Access (TDMA), distributed TDMA, token based channel access, etc., can be used by the MAC layer. Similarly, a variety of retransmission mechanisms can also be used. The Physical layer (PHY) can also use a variety of techniques to enable reliable and efficient transmission over the transmission medium (power line, coax, twisted pair etc). Various modulation techniques like orthogonal frequency division multiplexing (OFDM), and wavelet modulations can be used. Forward error correction (FEC), code line Viterbi codes, Reed-solomon codes, concatenated codes, turbo codes, low density parity check codes, etc., can be employed by the PHY to overcome errors.
In a BPLN, stations that cannot directly communicate with one another use one or more repeaters. A method for efficiently communicating broadcast/multicast traffic within the BPLN is described herein.
In an implementation, station A 2002 transmits, for example, a broadcast message. The broadcast message is transmitted from station A and is therefore heard/received at stations B 2004 and C 2006. Stations B 2004 and C 2006 are both capable of successfully retransmitting the broadcast message for reception at station D 2008. In an implementation, station B 2004, however, does not retransmit the broadcast message in order to conserve network resources and prevent station D 2008 from receiving duplicate copies of the broadcast message. The broadcast message is retransmitted at station C 2006 which enables reception of the message at both stations D 2008 and E 2010.
In an implementation, stations can receive instructions to operate in this manner from a remote station having knowledge of the network topology. For example, station A 2002 can provide this information to stations B 2004, C 2006, D 2008 and E 2010 based on network topology. Alternatively, stations B 2004, C 2006, D 2008 and E 2010 can determine this mode of operation using knowledge of the network topology stored in local memory. In an implementation, stations are set to a default of retransmitting broadcast/multicast messages unless they receive instructions not to. Alternatively, stations can be set to a default of not retransmitting broadcast/multicast messages unless they receive instructions to affirmatively do so.
In some implementations, instructions for retransmitting broadcast messages are dependent on the identity of the station from which the broadcast message is received.
In an implementation, station D 2008 then retransmits the message. Station A 2002, however, does not retransmit the message. In this example, transmissions from station E 2010 are retransmitted by station C 2006 and station D 2008. Note that station B 2004 can be reached either through Station A 2002 or D 2008. In this example, station D 2008 has been given a higher priority than station A 2002 in the retransmission rules. The selection of Station D 2008 can be based, for example, on network topology information or other network data. For example, Station D 2008 may have a better communication path to Station B 2004 (e.g., higher bandwidth or lower latency), compared to station A 2002. Comparing
Multicast transmissions are typically intended for a subset of the stations in a network (a multicast group). Multicast transmissions can be treated in a manner similar to that of non-selective broadcast transmissions (i.e., multicast transmissions can be repeated at all stations to ensure receipt at stations in the network for which messages are intended). While this simplifies the handling of multicast traffic, this too can lead to inefficiencies due to unnecessary retransmissions.
In some implementations, retransmissions of multicast transmissions are performed selectively so that members of the corresponding multicast group receive the transmission, while unnecessary transmissions are reduced or eliminated.
In some implementations, stations can receive instructions to operate in this manner from a remote station having knowledge of the network topology and the member stations of the multicast group. For example, station A 2002 can provide this information to stations B 2004, C 2006, D 2008 and E 2010 based on network topology and the knowledge that stations A 2002 and C 2006 belong to the multicast group. Alternatively, stations A 2002, B 2004, C 2006 and D 2008 can determine this mode of operation using knowledge of the network topology and multicast group information stored in local memory. In an implementation, stations are set to a default of retransmitting multicast messages unless they receive instructions not to do so. Alternatively, stations can be set to a default of not retransmitting multicast messages unless they receive instructions to affirmatively do so.
In some implementations, instructions for retransmitting multicast messages are dependent on the identity of the station from which the multicast message is received as well as on the multicast address. In other implementations, instructions for retransmitting multicast messages are dependent on the topology and the multicast address. In other implementations, multicast messages are treated as broadcast messages and instructions for retransmitting multicast messages are dependent only on the identity of the station from which the multicast address is received.
In an implementation, a master device of a network (for example, a Head End or a Central Coordinator of a BPLN) that has knowledge of the network topology and multicast groups (in case of a multicast transmissions), analyzes the network topology and distributes instructions to stations in the network regarding the circumstances under which a given station is to retransmit broadcast/multicast messages. The analysis of the network topology results in a set of retransmission rules designed to efficiently broadcast/multicast messages across a network, ensuring that each station in the network (in the case of a broadcast message) or each station in a multicast group (in the case of a multicast message) receives the message, while reducing or eliminating unnecessary duplicates.
In analyzing the network topology, the master can instruct a given station to not retransmit broadcast/multicast messages where each station that can hear the given station can receive the broadcast/multicast message from other retransmitting stations. In an implementation, the master can instruct a given station to retransmit broadcast/multicast messages where there is a station in the network for which the message is intended (i.e., all stations for the broadcast message, and the multicast group for multicast messages) that would not receive the broadcast/multicast message if the given station did not retransmit the broadcast/multicast message. Such instructions can be sent even if they will, in some cases, result in duplicate copies of the broadcast/multicast message being received at another station in the network.
In other implementations, stations in the network analyze network topology data available in the station's local memory (in a routing table, for example) to determine the circumstances under which the station retransmits or does not retransmit broadcast/multicast messages.
Repeating of broadcast/multicast messages can result in duplicate copies of the same message being received at a station. To properly detect duplicates, the broadcast/multicast information can be associated with sequence numbers and other information (such as addressing information, stream identifiers. etc.) to properly identify duplicates and reject them. Such information can be added as part of MAC Encapsulation. Two examples of MAC Encapsulation, 2-level MAC Encapsulation and 1-level MAC Encapsulation are described below.
The systems and methods described above can be implemented in a network using a MAC encapsulation protocol, such as the network described in U.S. patent application Ser. No. 10/720,742, filed on Nov. 24, 2003, entitled, “Medium Access Control Layer That Encapsulates Data from a Plurality of Received Data Units into a Plurality of Independently Transmittable Blocks”, the entirety of which is incorporated into this application by reference.
The MAC sub-layer processes the MSDUs received from higher layers and converts them to Sub-Frames.
The Sub-Frame header 3014 includes Sub-Frame type and Sub-Frame length fields. The Sub-Frame Type field indicates the type of information included in the Sub-Frame. It indicates whether the MSDU Payload is valid, and if valid, whether the MSDU payload is associated with an arrival time stamp or a confounder or none of these. The Sub-Frame Length indicates the length of the Sub-Frame without considering the length of the header or the ICV. ATS/Confounder 3016 is an optional field. When this field corresponds to the ATS, it indicates the value of the Sender's Network Time Base at the time of the arrival of the MSDU. ATS is used for jitter control. When confounder is present, it is a pseudo-random vector. Confounder is generally present only in Sub-Frames carrying management messages and is used to enhance security. The Integrity Check Value (ICV) 3020 is a CRC-32 computed over a Sub-Frame. The ICV does not cover the Sub-Frame Header, ATS (if present), or confounder (if present).
Sub-Frames received by the MAC layer may require different levels of Quality of Service (QoS). For example, some Sub-Frame may carry application payload belonging to a streaming video that requires strict guarantees on QoS. To ensure that such QoS guarantees are met, the MAC layer can treat the Sub-Frame as being part of a connection so that the Sub-Frame can be provided with the necessary QoS. The MAC layer may also divide Sub-Frames based on the traffic class of the Sub-frame payload. For example, such information can be obtained from the VLAN tag or IP header fields of the MSDU. The MAC layer can segregate different Sub-Frames it receives according to the connection and class into different Sub-Frame queues. Sub-Frames belonging to a particular connection or class are concatenated to form a Sub-Frame queue 3022.
Once a segment is formed as described above, it is treated as a single entity targeted for reliable delivery services by the MAC. Each segment can be encrypted as shown in
The 2-level MAC encapsulation permits the transmission of longer messages that include PBs that are capable of being retransmitted independently. This permits selective retransmission such that the entire longer message that included a given PB need not be retransmitted, preserving network resources.
When 2-level MAC encapsulation is used, the sequence numbers included with the PBs enable them to be reassembled. In this case, the sequence numbers also permit the identification of duplicates. For example, Station A 2002 can transmit a broadcast message that includes PBs 1, 2, and 3. Due to network errors, Station B 2004 might only receive PBs 1 and 2, and Station C 2006 might only receive PBs 2 and 3. Stations B 2004 and C 2006 both retransmit the received PBs. Station D 2008 receives PBs 1 and 2 from Station B 2004 and receives PBs 2 and 3 from Station C 2006. Therefore Station D 2008 receives PB 2 twice, such that the second received PB 2 is a duplicate. Station D 2008 assembles PBs 1, 2, and 3 in a queue based on their respective sequence numbers. Due to the sequence numbers of both of the received PB 2s being the same, Station D 2008 can discard the second copy of PB 2. Had Stations B 2004 and C 2006 both received and retransmitted each of PBs 1, 2, and 3, Station D 2008 could discard duplicate copies in the same manner.
When 1-level MAC encapsulation is used, duplicate rejections can be handled in a manner similar to that of 2-level MAC encapsulation, where sequence numbers in the Sub-Frame are used to detect duplicates.
Duplicate detection for multicast messages operates in a similar manner as for broadcast messages, with the multicast message being retransmitted to reach members of a multicast group. For 2-level MAC encapsulation, sequence numbers of segments are used to detect duplicates. For 1-level MAC encapsulation, sequence numbers of Sub-Frames are used to detect duplicates.
Many other implementations of the invention other than those described above are within the invention, which is defined by the following claims.
This application claims a benefit of priority from U.S. Provisional Patent Application No. 60/941,949, which is incorporated by reference in this application in its entirety.
Number | Date | Country | |
---|---|---|---|
60941949 | Jun 2007 | US |