Embodiments of the present subject matter generally relate to the field of network communication, and, more particularly, to frame formats used to transmit information in a communication network.
Communication technology is evolving to allow for better use of a communication medium. For example, in many technologies, such as powerline communication, a communication medium between a first device and a second device may support multi-carrier transmissions and/or higher transmission power levels. Typically, a communication network may operate in accordance with a communication protocol (sometimes also referred to as a standard specification). The communication protocol may define frame formats that are known to devices that comply with the communication protocol. The communication protocol may specify the frame format so that all devices on the communication medium can properly interpret a protocol data unit (PDU) according to the frame format.
Some communication protocols may be limited to standard features that are supported by standard frame formats. Therefore, supporting enhanced features may be difficult using standard frame formats. For example, standard frame formats may not provide for coordination of enhanced features among a group of devices coupled to a communication medium.
In this disclosure, various embodiments are described in which a frame format supports enhanced features in a communication network.
In one embodiment, a PDU is transmitted via a communication medium. The PDU has a first frame format that is based at least in part on a second frame format used on the communication medium to determine contention timing. The first frame format is known by a first class of devices and the first frame format differs at least in part from the second frame format without affecting the contention timing for a second class of devices. In one embodiment, a receiving device may determine that the PDU has the first frame format rather than the second frame format, and interpret the PDU based on the first frame format.
In one embodiment of this disclosure, the first frame format may be used to direct a media idle measurement period on the communication medium. A conventional communication protocol may not define a frame format for enhanced features associated with a media idle measurement period. In accordance with this disclosure, a PDU may include an instruction creating a media idle measurement period, and may specify time period for the media idle measurement period that is shorter than a contention timing that would be associated with the second frame format.
Other embodiments of this disclosure may be used to support other enhanced features in a communication network. A conventional communication protocol may not define a frame format capable of supporting the enhanced feature. In accordance with this disclosure, a PDU may use the first frame format that is known by the first class of devices that support the enhanced feature. The first frame format may differ from a second frame format (defined by the conventional communication protocol) without affecting the contention timing for a second class of devices.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The description that follows includes exemplary systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present subject matter. However, it is understood that the described embodiments may be practiced without these specific details. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
Although examples in this disclosure refer to powerline communication (PLC) networks, similar embodiments may be conceived for a variety of contention based communication networks. Examples of contention based communication networks include, without limitation, powerline communication (PLC) networks, Ethernet, WLAN, coax, carrier detection multiple access (CDMA), carrier sense multiple access (CSMA), and the like. Furthermore, although examples in this disclosure refer to a protocol data unit (PDU) (sometimes interchangeably referred to as a frame), similar embodiments may be conceived for a variety of other media control transmission units, including, without limitation, an integrated physical layer (PHY)/medium access control (MAC) frame, an Ethernet frame, a wireless local area network (WLAN, such as IEEE 802.11) frame, or other physical layer transmission frame, or MAC layer or logical link control (LLC) layer protocol data units.
Using a communication protocol, a receiving device can determine when it can contend for access to the communication medium following a PDU. Contention timing refers to the next time period in which a device can contend for access to the communication medium. Contention timing may be determined based on the frame format and transmission period for a PDU. There may be a reason to create a new frame format to support enhanced features in a communication network. The new frame format and enhanced features may or may not be specified for the communication protocol. For example, a vendor-specific frame format could be used to communicate information regarding proprietary features.
A traditional communication protocol may not be conducive to creating a new frame format. Often, the frame format cannot be altered from predefined frame types recognized by specification-compliant devices. Communication protocols may define multiple frame formats and use a “type” field or other header to indicate which frame format is used for a particular PDU. However, there may be limited values that can be used to populate the “type” field, and values may be reserved for future versions of the communication protocol.
In accordance with this disclosure, a new frame format may be defined based on a predefined frame format. The new frame format may be created by overloading (or changing the meaning) of one or more fields in the predefined frame format. The new frame format may match parts of the predefined frame format that are used for contention timing (or other medium synchronization). For example, the address fields may be overloaded to provide additional meaning for devices that can interpret overloaded address fields. In one example, a new frame format may use a same address value for the destination and the source address fields. For example, a transmitting device may use its address (or the address of another device of the first class or devices) as the source address and the destination address. Legacy devices may interpret the PDU using the predefined frame format and ignore the PDU when it is not addressed to them while enhanced devices may interpret the PDU using the new frame format upon determining that the PDU has the same source address and destination address.
There may be many examples of enhanced features which could be enabled via a new frame format. One example enhanced feature is a media idle measurement period. Other enhanced features may allow for aggregation of data, use of different coding rates for sections of a PDU, adding repeated PDUs or acknowledgements, or for optimizing the use of the communication medium during a channel access opportunity. Although the examples in this disclosure refer to media idle measurement periods for brevity, this disclosure may be used with a variety of enhanced features in a contention based communication network.
In accordance with an embodiment of this disclosure, a frame format may be used to specify the media idle measurement period on the communication medium. A media idle measurement period refers to a period of inactivity (sometimes interchangeably referred to as simply “idle period” or “quiet period”) during which time one or more of the communication devices can detect for signals from another system on the communication medium or calibrate transceiver circuitry based upon idle channel conditions. A media idle measurement period may be used to detect for concurrent transmissions from another system.
As communication networks are deployed, particular frequencies may be reserved or allocated by regulatory bodies to prevent overlapping use by multiple communication systems. Use of particular frequencies and/or power levels of frequencies may be contingent on refraining from using the frequencies and/or reducing power levels during a concurrent use by another system. Current communication protocols may not provide a mechanism to detect for a concurrent use. For example, in traditional PLC networks there may not be guaranteed periods of inactivity during which a reliable idle measurement could be performed. The powerline communication network may be unpredictably consumed with traffic between various unpredictable remote devices. The communication protocol may not have a frame format associated with creating a media idle measurement period on the communication medium. In accordance with this disclosure, a new frame format may be capable of directing a media idle measurement period to devices that are able to interpret the new frame format without affecting the contention timing for other devices.
The transmitting device 101 may transmit a PDU 132 via the communication medium 105. Both the first device 110 and second device 120 may detect the transmission of the PDU 132 and begin receiving the PDU 132. The first device 110 and second device 120 may inspect the headers of the PDU 132 to determine the contents of the PDU 132. However, the first device 110 and the second device 120 may interpret the PDU 132 based on their respective class of device. In
A first frame format 160 may be based on the second frame format 170 but may redefine one or more fields of the second frame format 170. The first frame format 160 includes a preamble 161, DA 162, SA 164, instruction field 166, and enhanced feature data field 168. The preamble 161, DA 162, SA 164, and instruction field 166, may have the same timing and frame format structure as the preamble 171, DA 172, SA 174, and frame control 176, respectively, of the second frame format 170. The frame control field 176 from the second frame format 170 has been redefined to support an instruction field 166 associated with an enhanced feature. Similarly, the upper layer data field 178 of the second frame format 170 has been redefined to support enhanced feature data 168 associated with the enhanced feature.
The PDU 132 may be transmitted using the first frame format 160 and may include information regarding enhanced features in those fields which have been redefined for enhanced features. Meanwhile, devices that are not capable of interpreting the PDU 132 using the first frame format 160 may still be able to interpret the PDU using the second frame format 170. In
In one embodiment, the fields of the second frame format that are redefined as different fields in the first frame format may be fields that do not affect contention timing. In a contention based communication medium, contention timing is used by devices to determine when they can contend for access to the communication medium. Contention timing is further described in
Regulatory bodies may require devices coupled to a communication network to limit transmissions at particular frequencies. For example, a dynamic frequency exclusion feature may require a powerline communication device to limit transmission power for certain frequencies or frequency ranges upon detecting a valid transmission from another source. A device is required to detect the valid transmission and adjust the transmit power levels to ensure that the device does not interfere with any ongoing valid transmissions. Alternatively, the device may refrain from using the frequency associated with the valid transmission.
In order for the device to detect the valid transmission, it may be desirable to force all powerline communication devices to observe media idle measurement period during which time one or more of the powerline communication devices can detect for the presence of valid radio broadcast interference (or other signals ingressing from a foreign communication system). In accordance with some embodiments of this disclosure, a first frame format may include a directive to cause a media idle measurement period on a communication medium. The media idle measurement period may allow for detection of radio broadcast interference, noise, or other signals from a foreign communication system.
In
In one embodiment, the PDU 132 may be modified to include information about the media idle measurement period. For example, the first device 110 may include a time period for the media idle measurement period. The PDU 132 may also include an empty payload field (or portion of the payload field) to provide time for the media idle measurement period during a transmission period associated with the PDU 132. For example, the first frame format may include a first portion of the payload field to indicate the duration of the media idle measurement period, and a second portion of the payload field may be empty, causing an idle period.
The first device 110 may interpret the PDU 132 and determine that the media idle measurement period occurs during the transmission period of the PDU 132. If, the first frame format includes a duration for the media idle measurement period, the first device 110 may also contend for access to the communication medium 105 following the media idle measurement period. Since the media idle measurement period may be shorter than the transmission time associated with the PDU 132, it may be possible for the first device 110 to contend for access to the communication medium sooner than a normal contention timing that would otherwise be associated with the second frame format.
The second device 120 may detect the PDU 132 and interpret the PDU 132 using the second frame format (shown as arrow 136). The second device 120 may determine contention timing based on the second frame format and refrain from transmitting until the next contention timing. As such, the second device 120 may honor the media idle measurement period due to normal contention timing. However, if the second device 120 cannot interpret the PDU 132 using the first frame format, the second device 120 may not obtain the extra information (e.g., time period) for the media idle measurement period. The second device 120 may not benefit from the enhanced feature of faster contention after the media idle measurement period and may wait until normal contention timing before attempting to contend for access to the communication medium.
The communication medium 105 may be idle for at least the media idle measurement period during which time one or more devices may detect for the presence of radio broadcast interference or perform idle circuit calibration procedures. In the example of
Similar to the MAC protocol used in wireless local area networks (e.g., IEEE 802.11 WLANs), the MAC protocol commonly used in PLC networks belongs to the CSMA family of protocols. When a transmitting device 401 has a PDU to transmit and the channel is not occupied, transmitting device 401 may contend for access to the PLC medium. During contention, the transmitting device 401 may send its priority symbols in the two priority resolution (PRS) slots 405. The priority symbols may indicate the transmission priority of the transmitting device's pending PDU. For another device with lower transmission priority than transmitting device 401, that other device may yield the channel to the device having higher priority (e.g., transmitting device 401). After sending its priority symbols in the two PRS slots, if the transmitting device 401 does not lose the channel contention due to priority, transmitting device 401 may initiate random back-off procedure 413 by randomly selecting a number of contention slots from a specified range. If the channel is still free after the back-off procedure 413 ends, transmitting device 401 may start to transmit its PDU 417. The PDU 417 may include a MAC layer header called the Start-of-Frame (SOF) delimiter 415, in which some control information. A PDU transmission period 461 may be determined based on control information (not shown) in the SOF delimiter 415. The SOF delimiter 415 may include a destination address of a receiving device (not shown) or a broadcast address. Following transmission of the PDU 417, extra time 465 may be provided for a response inter-frame space (RIFS) time period, an acknowledgement time period, and a contention interframe space (CIFS) time period. Following the extra time 465, the next PRS slots 475 provide another contention timing opportunity for any of the devices to transmit priority symbols in the next PRS slots 475 if they have data to transmit.
Based at least in part on the transmission time information in the SOF delimiter 415, and calculations regarding the PDU transmission period 461 and extra time 465, the first device 410 and second device 420 may determine the contention timing for the next PRS slots 475. The first device 410 and second device 420 may start medium/channel access deferral time periods 411, 421, respectively, and resume contention for the channel after the current transmission completes.
Using the timing of
In the example of
Fields within the PDU 517 that are not used for medium synchronization could have their meaning change to convey the directive, or other vendor specific information. For example, in the HomePlug™ AV protocol, a ToneMap field indicates which physical layer (PHY) properties were used to encode the PDU. In the new frame format, the meaning of the ToneMap field could be redefined to convey different information regarding the media idle measurement period (such as a time period).
Fields within the PDU 517 that are used for medium synchronization may have the same meaning as a predefined frame format for the communication protocol. For example, a Frame Length field which indicates the duration of the PDU 517 may remain unchanged so that the second device 420 (or other legacy devices of a second class of devices) would still remain properly synchronized with the contention timing on the communication medium.
Returning to the example in
In addition to the first device 410, other devices of the first class of device (not shown) may detect that the PDU 517 is structured using the new frame format based on information in the SOF delimiter 515. The other devices may also detect the directive 518 and may perform channel measurements during the media idle measurement period 531.
Following the media idle measurement period 531, the first device 410 (or other devices of the first class of devices) may contend for access to the communication medium at early PRS slots 575 following the media idle measurement period 531. It will be appreciated that the early PRS slots 575 may occur sooner than the traditional contention timing for the next PRS slots 475. Devices of the first class of devices (such as first device 410) may take advantage of the early PRS slots 575 because they are capable of detecting the directive 518 according to the new frame format. Other devices of the second class of devices (such as second device 420) may not detect the directive 518 and may defer channel access 421 until the next PRS slots 475.
The PDU 617 may include one or more headers, such as header 618 with information about how the PDU transmission period 461 should be interpreted. The enhanced feature payload 619 may include information directed to devices of the first class of devices. In one example, the enhanced feature payload 619 may be used to aggregate sub PDUs (or MSDUs, described in
The first device 410 and third device 430 are devices of the first class of devices and are capable of interpreting the PDU 617 using a first frame format (e.g., new frame format to support enhanced features). In response to determining from the SOF delimiter 615 that the PDU 617 is structured using the first frame format, the first device 410 and third device 430 may interpret the PDU 617 using the first frame format.
The second device 420 belongs to a second class of devices (e.g., legacy devices that do not support the enhanced feature). The second device 420 may interpret the SOF delimiter 615 using the second frame format (e.g., legacy frame format) and determine to ignore the remaining part of the PDU 617. However, the second device 420 can determine the PDU transmission period 461 and extra time 465 based on the SOF delimiter 615. The second device 420 may defer channel access 421 until the next PRS slots 475 determined based on the PDU transmission period 461 and extra time 465.
Following the preamble 722 and frame control field 724, the segment or MAC SDU 711 may be included. An end of frame gap (EFG) 726 follows the payload portion 710 to provide a short pause in the transmission before the end of frame delimiter. The end of frame delimiter includes a further preamble 732 and further frame control field 734. After the end of frame delimiter, an inter-frame guard (IFG) period 736 provides a period of time following the PHY/MAC frame before transmission of a next PHY/MAC frame.
In one embodiment, the MAC headers 712 field may be redefined to include a same address for both a source address and a destination address. When the same address is used for both the source address and the destination address, the data 714 field may be split into a directive portion (not shown) and an empty payload portion (not shown). The directive portion may be used to indicate a time period for a media idle measurement period, and the empty payload portion may provide a period of inactivity during which the media idle measurement period occurs. It should be noted that the directive portion may include further information (e.g., configurations, settings, or parameters) about the media idle measurement period. Examples of variable information related to media idle measurement periods may include, without limitation, a duration of the media idle measurement period, a periodic frequency for a series of media idle measurement periods, a delay before beginning the media idle measurement period, or specific frequencies (e.g., a subset of the frequencies in the communication channel) that are included in the media idle measurement period.
In some devices, media idle measurement (such as for the detection of radio broadcast signals) may be performed much quicker than a transmission period associated with the communication channel. For example, when a media idle measurement period is instructed by a directive in a PDU, the time period for the media idle measurement period may be shorter than the contention timing that would otherwise be associated with the PDU.
In some embodiments, the PHY/MAC PDU 720 can include multiple MAC SDUs. MSDU aggregation refers to including MAC SDUs for one or multiple destinations and in a single PHY/MAC PDU 720. In one implementation, MSDU aggregation can be used when multiple MAC SDUs have same receiver address (RA) (e.g., all the MAC SDUs are intended to be received by a single receiver). In an enhanced feature, MSDU aggregation may be used in the new frame format when several MAC SDUs are directed to more than one device of the first class of devices. The MAC SDUs may be addressed to different ones of the first class of devices that are configured to receive a PHY/MAC PDU 720 having the new frame format.
Similar to the PHY/MAC frame 700 in
Similar to the PHY/MAC frame 700 in
At block 1020, the transmitting device may include, in a portion of the first frame format, a directive associated with creating a media idle measurement period. At block 1026, the transmitting device may also include a time period associated with a duration of the media idle measurement period. At block 1030, the transmitting device may transmit the PDU via the communication medium.
At block 1060 (“marker A”), the transmitting device may perform media idle measurement operations described in
At block 1110, a receiving device may receive a PDU via a communication medium, the PDU having a first frame format known by a first class of devices, the first frame format based at least in part on a second frame format known by a second class of devices, the first frame format differing at least in part from the second frame format, wherein the first frame format and the second frame format are associated with a same contention timing for at least the second class of devices.
At block 1120, the receiving device may determine that the PDU has the first frame format rather than the second frame format. At block 1130, the receiving device may interpret the PDU based on the first frame format. For example, the receiving device may examine the PDU for a directive included in a directive portion of the first frame format. At block 1140, the receiving device may determine that the PDU includes a directive associated with creating a media idle measurement period. At block 1150, the receiving device may determine whether the directive includes a time period for the media idle measurement period.
At block 1160, the receiving device may refrain from transmitting during the media idle measurement period. At block 1170 (“marker A”), the transmitting device may perform media idle measurement operations described in
At block 1240, the device may measure channel characteristics during media idle measurement period.
At decision 1250, the device may determine whether it has detected the presence of broadcast radio signals (e.g. at a particular frequency). If the device has detected the presence of broadcast radio signals, then at block 1260, the device may reduce transmission power for the particular frequency. The flow 1200 may continue to block 1280. If, at decision 1250, the device has not detected the presence of broadcast radio signals, the flow 1200 may continue to block 1280.
At block 1280, the device may contend for access to the communication medium after the media idle measurement period.
It should be understood that
As will be appreciated by one skilled in the art, aspects of the present subject matter may be embodied as a system, method, or computer program product. Accordingly, aspects of the present subject matter may take the form of an entirely hardware embodiment, a software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present subject matter may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present subject matter are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present subject matter. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The electronic device 1300 also includes a communication unit 1308. The communication unit 1308 may comprise a frame generator 1312, a measurement unit 1313 and media controller 1314. It should be understood, that in some embodiments, the communication unit 1308 may also have a dedicated processor (e.g., such as a communication unit comprising a system on a chip, or board with multiple chips, or multiple boards, in which the communication may have one or more dedicated processor(s), in addition to the processor 1302). As described above in
Any one of these functionalities may be partially (or entirely) implemented in hardware and/or on the processor 1302. For example, the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processor 1302, in a co-processor on a peripheral device or card, etc. Further, realizations may include fewer or additional components not illustrated in
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the disclosed subject matter is not limited to them. In general, techniques for transmitting or receiving a PDU having a frame format supporting enhanced features as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the present subject matter. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the present subject matter.