There are several different types of communication networks available today. For example, power line communications (PLC) include systems for communicating data over the same medium (i.e., a wire or conductor) that is also used to transmit electric power to residences, buildings, and other premises. Once deployed, PLC systems may enable a wide array of applications, including, for example, automatic meter reading and load control (i.e., utility-type applications), automotive uses (e.g., charging electric cars), home automation (e.g., controlling appliances, lights, etc.), and/or computer networking (e.g., Internet access), to name only a few.
For each different type of communications network, different standardizing efforts are commonly undertaken throughout the world. For instance, in the case of PLC communications may be implemented differently depending upon local regulations, characteristics of local power grids, etc. An example PLC standardization effort includes, for example, the Powerline-Related Intelligent Metering Evolution (PRIME) standard designed for OFDM-based (Orthogonal Frequency-Division Multiplexing) communications. The PRIME standard requires the base node as well as switch nodes to transmit beacons periodically. While the standard requires beacon transmission, the beacon slot allocation algorithm is left to the service provider's implementation.
Systems and methods to efficiently allocate beacon slot among multiple nodes on multiple levels within a power line communication network are described. In an illustrative embodiment, a method may include performing, by a communications device, assigning beacon transmission times to nodes within the communication device's network. The assigned beacon transmission times comprise a beacon slot and frame pattern. The beacon slot and frame pattern ensure that each node does not transmit a beacon in a beacon slot that is adjacent to a beacon slot assigned to a parent or child node.
A beacon transmission slot is reserved for a base node in every frame. The frames may be organized into thirty-two-frame superframes, wherein each frame comprises a base node beacon slot and four switch node beacon slots.
If there are no more than thirty-two switch nodes in the network, then every other slot in each frame is assigned to a different node until all nodes have a designated beacon transmission time. In one embodiment, a second beacon slot and fourth beacon slot in each frame is assigned to a different node until all nodes have a designated beacon transmission slot and pattern. A first beacon slot and a third beacon slot in each frame are reserved as unassigned.
If there are no more than sixty-four switch nodes in the network, then a third beacon slot in each frame is assigned to a different node on a first level below the base node. A first beacon slot, a second beacon slot, and a fourth beacon slot in each frame are reserved as unassigned. A first switch node beacon slot and a third switch node beacon slot in each frame may be assigned to a different node on a second level below the base node. When a parent node on the first level has a child node on the second level, and when both the parent node and the child node are assigned to the same beacon slot, then different frame patterns may be used to avoid beacon transmission conflicts. A first frame pattern is assigned to the parent node, and a second frame pattern is assigned to the child node, wherein the second frame pattern prevents the child node from transmitting a beacon in the same frame as the parent node.
If there are more than sixty-four switch nodes in the network then the beacon slot and frame patterns may be reused and assigned beacon to another node that is at least n-levels away, such as two levels away. Alternatively, or additionally, the beacon slot and frame pattern assigned to a first node may also be assigned to a second node that is on the same level below the base node as the first node, if the first node and the second node do not share a same parent node.
The solution described herein preserves the parent-child switch node relationship by not allocating the same slot and pattern for beacon transmissions. It also allows for sufficient turnaround time between reception and transmission of beacon at a switch node, and thereby mitigates interference from other beacon transmissions.
Having thus described the invention(s) in general terms, reference will now be made to the accompanying drawings, wherein:
The inventions now will be described more fully hereinafter with reference to the accompanying drawings. The inventions may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventions to a person of ordinary skill in the art. A person of ordinary skill in the art may be able to use the various embodiments of the inventions.
In various embodiments, the systems and methods described herein may be applicable to a wide variety of communication environments, including, but not limited to, those involving Power Line Communications (PLC), wireless communications (e.g., cellular, Wi-Fi, WiMax, etc.), wired communications (e.g., Ethernet, etc.), or the like. For ease of explanation, several examples discussed below are described specifically in the context of PLC. As a person of ordinary skill in the art will recognize in light of this disclosure, however, certain techniques and principles disclosed herein may also be used in other communication environments.
The power line topology illustrated in
An illustrative method for transmitting data over power lines may use, for example, a carrier signal having a frequency different from that of the power signal. The carrier signal may be modulated by the data, for example, using an orthogonal frequency division multiplexing (OFDM) scheme or the like.
PLC modems or gateways 112a-n at residences 102a-n use the MV/LV power grid to carry data signals to and from a base node, such as PLC data concentrator 114, without requiring additional wiring. Data concentrator 114 may be coupled to either MV line 103 or LV line 105. Modems or gateways 112a-n may support applications such as high-speed broadband Internet links, narrowband control applications, low bandwidth data collection applications, or the like. In a home environment, for example, modems or gateways 112a-n may further enable home and building automation in heat and air conditioning, lighting, and security. Also, PLC modems or gateways 112a-n may enable AC or DC charging of electric vehicles and other appliances. An example of an AC or DC charger is illustrated as PLC device 113. Outside the premises, power line communication networks may provide street lighting control and remote power meter data collection.
One or more data concentrators 114 may be coupled to control center 130 (e.g., a utility company) via network 120. Network 120 may include, for example, an IP-based network, the Internet, a cellular network, a WiFi network, a WiMax network, or the like. As such, control center 130 may be configured to collect power consumption and other types of relevant information from gateway(s) 112 and/or device(s) 113 through concentrator(s) 114. Additionally or alternatively, control center 130 may be configured to implement smart grid policies and other regulatory or commercial rules by communicating such rules to each gateway(s) 112 and/or device(s) 113 through concentrator(s) 114.
In some embodiments, each concentrator 114 may be seen as a base node for a PLC domain, each such domain comprising downstream PLC devices that communicate with control center 130 through a respective concentrator 114. For example, in
Still referring to
PLC engine 202 may be configured to transmit and/or receive PLC signals over wires 108a and/or 108b via AC interface 201 using a particular channel or frequency band. In some embodiments, PLC engine 202 may be configured to transmit OFDM signals, although other types of modulation schemes may be used. As such, PLC engine 202 may include or otherwise be configured to communicate with metrology or monitoring circuits (not shown) that are in turn configured to measure power consumption characteristics of certain devices or appliances via wires 108, 108a, and/or 108b. PLC engine 202 may receive such power consumption information, encode it as one or more PLC signals, and transmit it over wires 108, 108a, and/or 108b to higher-level PLC devices (e.g., PLC gateways 112n, data concentrators 114, etc.) for further processing. Conversely, PLC engine 202 may receive instructions and/or other information from such higher-level PLC devices encoded in PLC signals, for example, to allow PLC engine 202 to select a particular frequency band in which to operate.
In some embodiments, PLC gateway 112 may be disposed within or near premises 102n and serve as a gateway to all PLC communications to and/or from premises 102n. In other embodiments, however, PLC gateway 112 may be absent and PLC devices 113 (as well as meter 106n and/or other appliances) may communicate directly with PLC data concentrator 114. When PLC gateway 112 is present, it may include database 304 with records of frequency bands currently used, for example, by various PLC devices 113 within premises 102n. An example of such a record may include, for instance, device identification information (e.g., serial number, device ID, etc.), application profile, device class, and/or currently allocated frequency band. As such, gateway engine 301 may use database 304 in assigning, allocating, or otherwise managing frequency bands assigned to its various PLC devices.
Network elements that communicate using the PRIME standard may be arranged in subnetworks. A subnetwork has a single base node and one or more services nodes that branch from the base node in one or more levels. The base node acts as a master node and provides the subnetwork with connectivity. The base node manages the subnetwork resources and connections. The base node is initially the only node in the subnetwork and other nodes follow a registration process to enroll on the subnetwork.
Service nodes may operate in one of three functional states: disconnected, terminal, or switch. Service nodes start in a disconnected state during which the node is not capable of communicating or switching the traffic of another node. In the disconnected state, a service node searches for an operational network and attempts to register on the network. In the terminal state, a service node is capable of communicating its traffic, but it is not capable of switching traffic for any other node. In the switch state, a service node is capable of performing all terminal functions and is capable of forwarding data to and from other devices on the subnetwork.
Each service node has a level in the subnetwork topology. The nodes that are connected directly to the base node have level 1. The level of any service node not directly connected to the base node is the level of its respective switch node plus one.
Multicast and broadcast addresses are used for transmitting data information within subnetwork 500. There are several broadcast and multicast address types, depending on the context associated with the traffic flow. A broadcast identifier is used as a destination address for packets that should reach every node of the subnetwork. A multicast identifier is used as a destination address for multicast groups. A unicast address refers to a particular node within the subnetwork with an identifier that match the address fields in the unicast address.
A MAC frame defines a time for channel usage. A frame is comprised of one or more beacons, a shared contention period (SCP), and zero or one contention free period (CFP). The transmission of a beacon by the base node acts as delimiter for the MAC frames.
A service node starts in a disconnected state. The only function performed in the disconnected state is reception of any beacons on the channel. Each service node may maintain a switch table that is updated with the reception of a beacon from any new switch node. A service node may select any switch node from the switch table and proceed with the registration process with that switch node.
Base nodes are primarily responsible for setting up and maintaining the subnetwork. The base node and all the switch nodes on the subnetwork broadcast beacons at fixed intervals of time. The base node always transmits exactly one beacon per frame. Switch nodes transmit beacons with a frequency prescribed by the base node.
The time in which a BPDU is transmitted is referred to as a beacon-slot. All beacon-slots are located at the beginning of a frame, as shown in
The first beacon-slot in every frame is reserved for the base node. The number of beacon-slots in a frame may change from one frame to another and is indicated by the base node in its BPDU. The switch nodes are allocated a beacon-slot at the time of their promotion from service node. With the registration of each new switch node on the subnet, the base node may change the beacon-slot and/or transmission frequency of already registered switch nodes.
During the reorganization of beacon-slots, if there is a change in the beacon-slot count per frame, the base node should transmit a frame control packet to the entire subnetwork. The frame control packet is an indication of change in the overall frame structure, such as changes in the number of beacon, SCP, or CFP slots. Switch nodes that receive a frame control packet relay it to all connected nodes. This is required for the entire subnetwork to have a common understanding of frame structure, especially in regions where a controlling switch node transmits BPDUs at frequencies less frequently than once per frame.
The beacon slot allocation policy ensure that during promotion a service node is never assigned to transmit a beacon in a slot consecutive to beacons from the node to which it is registered. For example, switch nodes in level 1, which are directly connected to the base node, do not transmit beacons in slot 1 because it is directly adjacent to the base node's beacons in slot 0.
When changing the frame structure, to add or remove beacon slots, or to change which beacon slot that a switch node should use, it is necessary to indicate when such a change should occur. All nodes must change at the same time otherwise there may be collisions with the beacons transmitted by different nodes. A beacon superframe comprises thirty-two frames. Each beacon contains a five-bit sequence number. Any messages that contain changes to the structure or usage of the frame include a sequence number identifying when the change should occur. The changes requested should only happen when the beacon sequence number matches the sequence number in the change request.
A beacon slot allocation algorithm may be used to assign beacon slots to switch nodes in the subnetwork. In one embodiment, the number of beacon slots is set to five (assigned as slots 0, 1, 2, 3, and 4). It will be understood that a different numbers of beacon slots may be used in other embodiments.
The first slot (slot 0) is used only for base node beacons, which are transmitted in every frame. The switch nodes are not assigned to the first slot to ensure that there is no interference with the base node beacons. The switch nodes receive the base node beacons in each frame. The switch nodes should not be assigned slot 1 to provide time for the switch nodes to transition from receiver (of the base node beacon in slot 0) to transmitter (of their own beacon) in the assigned slot. Similarly, the switch nodes should not be assigned a beacon slot that is adjacent to the slot used by a parent or child switch node to allow time for each switch node to transition between transmitter and receiver states.
Referring to
In an example beacon assignment algorithm, all switch nodes use a frequency of four for beacon transmissions, which means that the switch nodes each transmit a beacon once every sixteen frames. This ensures at least two beacons per switch node per superframe. The switch nodes are assigned non-overlapping slots and/or patterns as much as possible.
For up to thirty-two switch nodes, the nodes are guaranteed to have a non-overlapping slot or pattern by choosing slots 2 and 4. Sixteen switch nodes can be accommodated by using each slot with a frequency of four. Since each switch node will be assigned a different slot or pattern, it is guaranteed that the first thirty-two switches will have no overlapping pattern at any point of time.
If the subnetwork has more than thirty-two switch nodes, then the algorithm must be modified. The algorithm determines the slot, frequency, and sequence of the beacon-slot assignment as follows:
This will allow for accommodating up to sixty-four switch nodes with care to avoid interference between parent-child switch nodes as much as possible.
For subnetworks with more than sixty-four switch nodes, the available slots may be reused. For example, the algorithm may adopt an n-level—such as a 2-level—separation rule. When a new switch node is added to the subnetwork, the beacon allocation algorithm ensures that it re-uses the first available slot that is used by a switch node that is n-levels away—either n-levels above as a grandparent or n-levels below as a grandchild—of the new switch node. This allows for new switch nodes to cause minimal interference to the already existing switch node.
The parent-child relationship is preserved in these larger than sixty-four switch node systems by ensuring that the switch nodes transmit in different slots (separated by one slot if using the same pattern) and/or in a different pattern.
Switch nodes 1 and 34 use slot separation to deconflict their beacon transmissions. Both nodes use the same sequence or pattern of beacon transmission in frames zero and sixteen, but switch node 1 transmits in slot 2 and switch node 34 transmits in slot 3. Both of these slots maintain at least one empty slot from the base node. However, switch nodes 1 and 34 transmit beacons to different groups of child nodes, so the one-slot separation is not required for their transmissions.
Switch nodes 3 and 11 use time separation to deconflict their beacon transmissions. Both nodes are child nodes of switch node 2 and both nodes are transmitting their beacon in slot 2. However, nodes 3 and 11 are using different patterns for when they transmit. Node 3 transmits beacons in slots 2 and 18, while node 11 transmits beacons in slots 10 and 26.
Switch nodes 33 and 35 use spatial separation to deconflict their beacon transmissions. Nodes 33 and 35 are on level 2, but have different parent nodes on level 1. Even if nodes 33 and 35 use the same slot and frame sequence pattern to transmit beacons, the beacons will not conflict because the nodes are separate by at least two other nodes.
It will be understood that various operations illustrated in
Many of the operations described herein may be implemented in hardware, software, and/or firmware, and/or any combination thereof. When implemented in software, code segments perform the necessary tasks or operations. The program or code segments may be stored in a processor-readable, computer-readable, or machine-readable medium. The processor-readable, computer-readable, or machine-readable medium may include any device or medium that can store or transfer information. Examples of such a processor-readable medium include an electronic circuit, a semiconductor memory device, a flash memory, a ROM, an erasable ROM (EROM), a floppy diskette, a compact disk, an optical disk, a hard disk, a fiber optic medium, etc.
Software code segments may be stored in any volatile or non-volatile storage device, such as a hard drive, flash memory, solid state memory, optical disk, CD, DVD, computer program product, or other memory device, that provides tangible computer-readable or machine-readable storage for a processor or a middleware container service. In other embodiments, the memory may be a virtualization of several physical storage devices, wherein the physical storage devices are of the same or different kinds. The code segments may be downloaded or transferred from storage to a processor or container via an internal bus, another computer network, such as the Internet or an intranet, or via other wired or wireless networks.
Many modifications and other embodiments of the invention(s) will come to mind to one skilled in the art to which the invention(s) pertain having the benefit of the teachings presented in the foregoing descriptions, and the associated drawings. Therefore, it is to be understood that the invention(s) are not to be limited to the specific embodiments disclosed.
Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/898,923, filed on Feb. 19, 2018, which is a continuation of and claims priority to U.S. patent application Ser. No. 13/651,338, filed on Oct. 12, 2012, now abandoned, which claims the benefit of U.S. Provisional Patent Application No. 61/547,396, filed on Oct. 14, 2011, the disclosures of each of which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
61547396 | Oct 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15898923 | Feb 2018 | US |
Child | 16776681 | US | |
Parent | 13651338 | Oct 2012 | US |
Child | 15898923 | US |