Title:
RETRANSMISSION OF BROADCAST AND MULTICAST TRAFFIC OVER A SHARED MEDIUM
Kind Code:
A1


Abstract:
Methods, systems, and apparatuses are described for communicating among stations in a network. Broadcast or multicast traffic in the network can be selectively retransmitted according to one or more retransmissions rules established for the network. Retransmission rules can be established based on an analysis of network topology data and designed to minimize redundant transmissions in the network. MAC encapsulation mechanisms can be used to identify duplicate transmissions.



Inventors:
Yonge III, Lawrence W. (Ocala, FL, US)
Katar, Srinivas (Gainesville, FL, US)
Application Number:
12/133301
Publication Date:
12/18/2008
Filing Date:
06/04/2008
Assignee:
Intellon Corporation (Ocala, FL, US)
Primary Class:
International Classes:
H04L12/56
View Patent Images:



Primary Examiner:
YOUNG, STEVE R
Attorney, Agent or Firm:
FISH & RICHARDSON PC (P.O. BOX 1022, MINNEAPOLIS, MN, 55440-1022, US)
Claims:
What is claimed is:

1. A method for communicating among stations operating over a shared medium in a network comprising: 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.

2. The method of claim 1, further comprising: 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.

3. The method of claim 2, wherein: the broadcast or multicast traffic received at the first station and the second station is transmitted at and received from a third station; the broadcast or multicast traffic received at the first station and the second station includes common content received at both the first station and the second station; the first station retransmission rule directs the first station to retransmit the broadcast or multicast traffic; and the second station retransmission rule directs the second station to not retransmit the broadcast or multicast traffic.

4. The method of claim 3, wherein the first station retransmission rule and the second station retransmission rule is based on an analysis of network topology data.

5. The method of claim 4, wherein the broadcast or multicast traffic is broadcast traffic and the network topology data indicates that there is a fourth station in the network that receives transmissions from both the first station and the second station.

6. The method of claim 1, wherein the first retransmission rule is received from a remote station.

7. The method of claim 1, wherein the first retransmission rule is determined at the first station based on network topology data.

8. The method of claim 3, wherein the first retransmission rule and the second retransmission rule are received from a remote station.

9. The method of claim 3, wherein the first retransmission rule is determined at the first station based on network topology data and the second retransmission rule is determined at a second station based on network topology data.

10. The method of claim 4, wherein the broadcast or multicast traffic is multicast traffic and the network topology data indicates that there is a fourth station in the network that is a part of a multicast group of the multicast traffic that receives transmissions from both the first station and the second station.

11. A method for communicating among stations in a network comprising: analyzing network topology data to generate a set of selective retransmission rules for a plurality of stations in the network, the selective retransmission rules comprising respective retransmission rules for each of the plurality of stations for retransmitting one or both of broadcast traffic and multicast traffic, the respective retransmission rules limiting redundant transmissions of one or both of broadcast traffic and multicast traffic in the network; and selectively retransmitting one or both of broadcast and multicast traffic at the plurality of stations based on the respective retransmission rules.

12. The method of claim 11, wherein retransmission of broadcast traffic at a given station in the network according to the retransmission rule of that station depends on an original source address of the broadcast traffic.

13. The method of claim 11, wherein retransmission of multicast traffic at a given station in the network according to the retransmission rule of that station depends on an original source address of the multicast traffic.

14. The method of claim 11, wherein the respective retransmission rules depend on a multicast destination address.

15. The method of claim 14 wherein the respective retransmission rules further depend on a multicast group.

16. The method of claim 11, wherein analyzing network topology is performed at a first station, the method further comprising: sending the respective retransmission rules to their corresponding station in the plurality of stations; and storing the respective retransmission rule at its corresponding station.

17. The method of claim 11, wherein the set of selective retransmission rules are generated to prevent retransmission of broadcast traffic at any first transmitting station if all receiving stations that can directly receive transmissions from the first transmitting station can receive the broadcast traffic from at least one other transmitting station.

18. The method of claim 11, wherein the set of selective retransmission rules are generated to prevent retransmission of multicast traffic at any first transmitting station if all receiving stations than can directly receive transmissions from the first transmitting station can receive the multicast traffic from at least one other transmitting station.

19. The method of claim 11, wherein the retransmission rule for a given station is for the given station to retransmit broadcast traffic if the analysis indicates that at least one station in the network would not receive broadcast traffic if the given station did not retransmit broadcast traffic.

20. The method of claim 11, wherein the retransmission rule for a give station if for the given station to retransmit multicast traffic if the analysis indicates that at least one station that is a part of a multicast group of the multicast traffic would not receive the multicast traffic if the given station did not retransmit the multicast traffic.

21. A method of operating in a network in which a plurality of stations communicate over a shared medium, comprising: providing a physical layer for handling physical communication over the 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 comprising one or more of the segments; transmitting broadcast or multicast traffic at 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.

22. The method of claim 21, wherein the high level data units each comprise a payload.

23. The method of claim 21, wherein encapsulating comprises forming a queue comprising the payloads from a succession of high level data.

24. The method of claim 23, wherein the queue comprises a succession of Sub-Frames, each Sub-Frame comprising a header and a payload.

25. The method of claim 24, wherein the queue is divided into a plurality segments, with a segment crossing Sub-Frame boundaries in the queue.

26. The method of claim 21, wherein segments have an associated sequential numbering adapted for use at a receiving station for re-establishing the correct sequential order of the segment.

27. The method of claim 26, wherein the sequential numbering is used to reject duplicate segments received at a receiving station.

28. The method of claim 21, further comprising: transmitting a message to the second station, the message including an instruction for the second station to retransmit any broadcast or multicast segments received from the first station.

29. The method of claim 21, further comprising: transmitting a message to the second station, the message including an instruction for the second station to not retransmit any broadcast or multicast segments received from the first station.

30. The method of claim 28, wherein the second station retransmits a broadcast or multicast segment received from the first station to the third station.

31. The method of claim 30, wherein the first station is unable to directly transmit the broadcast or multicast segment to the third station.

32. The method of claim 30, wherein the second station can directly transmit to the third station.

33. The method of claim 28, wherein the instruction is based on an analysis of a topology of the network.

34. The method of claim 33, wherein the analysis determines that the broadcast or multicast segment from the first station will not reach the third station unless the broadcast or multicast segment is retransmitted at the second station.

35. The method of claim 29, wherein the instruction is based on an analysis of a topology of the network.

36. The method of claim 35, wherein the analysis determines that the broadcast or multicast segment from the first station will be received at the third station from a fourth station.

37. The method of claim 35 wherein the analysis indicates that at least one station in the network could receive duplicate traffic if the second station retransmits the broadcast or multicast segment.

38. The method of claim 35, wherein the analysis indicates that all stations served by the second station will receive the broadcast or multicast segment without the second station retransmitting the broadcast or multicast traffic.

39. The method of claim 21, wherein the low level data unit includes the source address of an original sender and a source address of the second station.

40. The method of claim 21, wherein the low level data unit includes a multicast destination address.

41. The method of claim 21, wherein the second station only retransmits segments received from the first station for reception at the third station once per each unique segment received.

42. A method of operating in a network in which a plurality of stations communicate over a shared medium, comprising: providing a physical layer for handling physical communication over the 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; supplying low level data units comprising one or more of the high level data units; transmitting broadcast or multicast traffic at a first station, the broadcast or multicast traffic comprising a low level data unit; and retransmitting high level data units received from the first station at a second station for reception at a third station.

43. A method of operating in a network in which a plurality of stations communicate over a shared medium, comprising: providing a physical layer for handling physical communication over the 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 transmitted; supplying low level data units comprising one or more of the plurality segments; transmitting a first low level data unit to a first and second station, the low level data unit comprising a plurality of segments having associated sequential numbering adapted for use at a receiving station for re-establishing the correct sequential order of the segments; retransmitting at least one of the plurality of segments of the first low level data unit from the first station to a third station; retransmitting at least one of the plurality of segments of the first low level data unit from the second station to the third station; and discarding duplicate physical blocks at the third station based on the sequential numbering.

44. The method of claim 43, wherein the sequence number is unique for a given originating station.

45. A method of operating in a network in which a plurality of stations communicate over a shared medium, comprising: providing a physical layer for handling physical communication over the 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; supplying low level data units containing one or more of the plurality high level data units; transmitting a first low level data unit to a first and second station, the low level data unit comprising a plurality of high level data units having associated sequential numbering adapted for use at a receiving station for re-establishing the correct sequential order of the high level data units; retransmitting at least one of the plurality of high level data units of the first low level data unit from the first station to a third station; retransmitting at least one of the plurality of high level data units of the first low level data unit from the second station to the third station; and discarding duplicate high level data units at the third station based on the sequential numbering.

Description:

RELATED APPLICATION

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.

TECHNICAL FIELD

The invention relates to managing broadcast and multicast communications over a shared medium.

BACKGROUND

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.

SUMMARY

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.

DESCRIPTION OF DRAWINGS

FIG. 1A is a schematic diagram of a broadband over powerline in-home communication network.

FIG. 1B is a schematic diagram of a broadband over powerline access network

FIG. 2A is a block diagram of a network implementing selective broadcast.

FIG. 2Bb shows the network of FIG. 2Aa implementing selective broadcast for a message from an alternative station.

FIG. 2C is a block diagram of a network implementing selective multicast.

FIG. 3A illustrates an MSDU to be transmitted using 2-level MAC encapsulation.

FIG. 3B illustrates the segmenting of a Sub-Frame queue.

FIG. 4 illustrates an MSDU to be transmitted using 1-level MAC encapsulation.

FIG. 5 is a block diagram of a network implementing selective broadcast and using MAC encapsulation.

DETAILED DESCRIPTION

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.

System Overview

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 FIG. 1A and FIG. 1B.

FIG. 1A is a diagram of an example powerline network 100. The example powerline network 100 can be, for example, a home broadband over powerline network (BPLN) that enables communication between various devices in the home. The home BPLN can be used to communicatively connect a variety of in-home devices (e.g., computers, televisions, set-top-boxes, audio systems, audio speakers, etc.).

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.

Communication System Architecture

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.

Repeating of Multicast/Broadcast Traffic

FIG. 2A is a block diagram of a network 2000 implementing selective broadcast. The network 200 includes stations A 2002, B 2004, C 2006, D 2008, and E 2010 in communication according to the network topology shown. The solid lines connecting the various stations indicate that the connected stations can ‘hear’ each others' transmissions such that a transmission at station A 2002 can be heard at stations B 2004 and C 2006. A transmission at B 2004 can be heard at stations A 2002 and D 2008. A transmission at C 2006 can be heard at stations A 2002, D 2008, and E 2010.

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.

FIG. 2B shows the network 2000 of FIG. 2A implementing selective broadcast for a message from an alternative station. Station E 2010 transmits, for example, a broadcast message. The broadcast message is transmitted from station E 2010 and is heard/received at station C 2006. Station C 2006 retransmits the broadcast message and both station A 2002 and D 2008 receive the retransmitted message.

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 FIG. 2A and FIG. 2B, station D 2008 is configured to retransmit broadcast transmissions originating from station E 2010, but it is configured not to retransmit broad messages from Station A 2002.

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.

FIG. 2C is a block diagram of a network 2000 implementing selective multicast. Station E 2010, for example, transmits a multicast message. In this example, the multicast transmission is intended for station C 2006 and A 2002 (i.e., station A and C are members of the multicast group). Station E 2010 transmits the message and it is received by station C 2006. Station C retransmits the received message and it is received by station A 2002 and D 2008. Station D 2008 can discard the received message as station D is not part of the multicast group.

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.

2-Level MAC Encapsulation

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.

FIG. 3A illustrates an MSDU 3000 to be transmitted using 2-level MAC encapsulation. A MAC Service Data Unit (MSDU) is a high level data unit to be transported as requested by, for example, a higher level layer. In some implementations an Ethernet frame based MSDU is used as shown in FIG. 3A. An Ethernet frame includes an Original Source Address (OSA) 3002, an Original Destination Address (ODA) 3004, an optional VLAN Tag 3006, an Ethernet Type/Length field 3008, and a Payload.

The MAC sub-layer processes the MSDUs received from higher layers and converts them to Sub-Frames. FIG. 3A shows an example format of a Sub-Frame 3012. The Sub-Frame 3012 includes a Sub-Frame header 3014, Arrival Time Stamp (ATS)/Confounder 3016, MSDU payload or management message 3018, and an Integrity check vector (ICV) 3020.

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. FIG. 3A shows the concatenation of several Sub-Frames into a Sub-Frame queue.

FIG. 3B illustrates the segmenting of a Sub-Frame queue 3022. Each Sub-Frame queue 3022 is segmented into, for example, 512 octet segments for transportation as part of an MPDU payload. A segment can be generated from a Sub-Frame queue whenever there are enough octets to form a segment. A Sub-Frame queue is treated as an octet stream for segmentation purposes. Thus, a segment can include partial Sub-Frames and/or multiple whole Sub-Frames. For each segment, the MAC tracks the offset of the first Sub-Frame boundary within the segment. This information is transmitted along with the segment and is used by the receiver to demarcate the Sub-Frames from the received segments. Each segment is also associated with a Segment Sequence Number (SSN). The SSN is initialized to zero for the first segment in a Sub-Frame queue and incremented by one when a new segment is generated. SSNs enable reception and reassembly of out of order segments and duplicate detection at the receiver. The end of the Sub-Frame queue might not contain enough octets to fill a segment completely at a time when the last Sub-Frame should be sent. In such cases, the Sub-Frame queue is padded (e.g., with all zeros, all ones) so that a segment can be formed.

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 FIG. 3B and then inserted into a Physical (PHY) Block Body (PBB) 3024. A PHY Block (PB) 3026 comprises the data bits of a FEC block at the PHY layer. PBs have a PB header 3028, a PBB 3024, and a PHY Block Check Sequence (PBCS) 3030. The PB Header field 3028 carries the SSN and the MAC Frame Boundary offset associated with the segment. The PB Header 3028 also indicates whether the segment belongs to a data stream (i.e., carrying high layer data) or a management stream (i.e., carrying MAC layer management information). The PBCS field 3030 is used to check the integrity of the PB at the receiver. Segments are transported using low level data units referred to as MAC Packet Data Units (MPDUs) 3032. The MPDUs 3032 include an MPDU Header 3034 followed by a sequence of PBs. The MPDU Header 3034 includes information about the Original Source Address of the stream of segments, the address of the STA transmitting this MPDU, the Original Destination Address of the stream of segments, the length of the MPDU, and a Connection Identifier (or Sub-Frame queue identifier). This information is used by the receiver to reassemble the segments and extract the MSDUs.

1-Level MAC Encapsulation

FIG. 4 illustrates an MSDU 4000 to be transmitted using 1-level MAC encapsulation. A Sub-Frame 4002 is formed by attaching a Sub-Frame header 4004 and Sub-Frame trailer 4006 to an MSDU 4000. The Sub-Frame Header 4004, among other fields, includes a sequence number associated with the MSDU 4000. The Sub-Frame Trailer 4006, among other fields, includes a cyclic redundancy check (CRC) to detect errors in the Sub-Frame 4002. One or more Sub-Frames 4002 are aggregated and transmitted in an MPDU payload 4008. The MPDU header 4010 includes additional information associated with each MSDU. This includes information such as the address of the station that first transmitted the MSDU in the network (for example, in FIG. 2A, station A is the first station that broadcasted the MSDU), the address of the station that transmitted the MPDU, information needed to uniquely identify the queue to which the MSDU belongs, and the destination address of the MSDU. The information in the MPDU Header and the information in the Sub-Frame header/trailer enable unique identification of each MSDU.

FIG. 5 is a block diagram of a network 5000 implementing selective broadcast and using MAC encapsulation. Network 5000 differs from the network of FIG. 2A in that station F 5002 is present and can hear messages from station B 2004. In this case, in order for station F 5002 to receive a broadcast message, station B 5002 retransmits broadcast messages from A 2002 even though this results in station D 2008 receiving duplicates.

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.