IP Library › Granted Patent US 10,097,371
Granted Patent B2
US 10,097,371 · App. 14/744,295 · Granted Oct 9, 2018

Carrier sense multiple access (CSMA) protocols for power line communications (PLC)

Inventors: Shu Du (San Jose, CA); Robert W. Liang (Frisco, TX); Xiaolin Lu (Plano, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
H04L12/413H04B3/544H04L5/0096
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,097,371
App. No.
14/744,295
Granted
Oct 9, 2018
Kind
B2
Abstract

Systems and methods for carrier sense multiple access (CSMA) protocols for power line communications (PLC) are described. In some embodiments, a method may include performing a virtual carrier sensing operation and, in response to the virtual carrier sensing operation indicating that a communication channel is idle, calculating a contention window. The method may also include performing a physical carrier sensing operation subsequent to the virtual carrier sensing operation, the physical carrier sensing operation based, at least in part, upon the contention window. In response to the physical carrier sensing operation indicating that the communication channel is idle, the method may then include transmitting data over the channel. In other embodiments, another method may include determining that a data transmission is a unicast transmission and that an acknowledgement message has not been received. The method may further include incrementing a backoff parameter and repeating one or more carrier sense operations.

Claims (68)

1. A method comprising:

periodically determining, by a communication device, whether a communication channel is idle or busy for a transmission attempt;

increasing, by the communication device, a backoff time upon detecting a collision event while the communication channel is determined to be idle;

refraining, by the communication device, from adjusting the backoff time after the transmission attempt when the collision event is not detected and while the communication is determined to be idle;

refraining, by the communication device, from adjusting the backoff time while the communication channel is determined to be busy; and

suspending, by the communication device, the transmission attempt during the backoff time.

2. The method of claim 1 , wherein the periodically determining whether the communication channel is idle or busy includes:

performing, by a media access control (MAC) layer of the communication device, a virtual carrier sense (VCS) operation to determine an expected occupancy of the communication channel.

3. The method of claim 2 , wherein the periodically determining whether the communication channel is idle or busy includes:

performing, by a physical layer of the communication device, a physical carrier sense (PCS) operation after the expected occupancy expires to determine whether the communication channel is idle or busy.

4. The method of claim 3 , wherein the suspending the transmission attempt includes suspending access to the communication channel during the backoff time after the VCS operation and before the PCS operation.

5. The method of claim 1 , wherein the detecting the collision event includes:

transmitting, by the communication device, a unicast package to the communication channel; and

detecting, by the communication device, the collision event when an acknowledge message is not received from the communication channel within a predetermined time period after the unicast package is transmitted.

6. The method of claim 1 , wherein the increasing the backoff time includes increasing a backoff exponent related to a contention window.

7. The method of claim 1 , wherein the refraining from adjusting the backoff time includes maintaining unchanged a backoff exponent related to a contention window.

8. The method of claim 1 , further comprising:

incrementing, by the communication device, a backoff counter upon determining the communication channel is busy or detecting the collision event;

repeating, by the communication device, the transmission attempt when the backoff counter is less than or equal to a predetermined threshold; and

terminating, by the communication device, the transmission attempt when the backoff counter exceeds the predetermined threshold.

9. The method of claim 1 , wherein:

the communication channel includes a frequency band conducted by a power line; and

the communication device includes a power line communication (PLC) device coupled with a data concentrator via the communication channel.

10. A power line communication (PLC) device comprising:

a gateway engine configured to access a communication network via a communication channel conducted by a power line; and

a memory coupled to the gateway engine and storing instructions, upon implemented by the gateway engine, cause the gateway engine to:

periodically determine whether the communication channel is idle or busy for a transmission attempt;

increase a backoff time upon detecting a collision event while the communication channel is determined to be idle;

refrain from adjusting the backoff time after the transmission attempt when the collision event is not detected and while the communication is determined to be idle;

refrain from adjusting the backoff time while the communication channel is determined to be busy; and

suspend the transmission attempt during the backoff time.

11. The PLC device of claim 10 , wherein:

the gateway engine includes a media access control (MAC) layer configured to periodically determine whether the communication channel is idle or busy by performing a virtual carrier sense (VCS) operation to determine an expected occupancy of the communication channel.

12. The PLC device of claim 11 , wherein:

the gateway engine includes a physical layer configured to periodically determine whether the communication channel is idle or busy by performing a physical carrier sense (PCS) operation after the expected occupancy expires to determine whether the communication channel is idle or busy.

13. The PLC device of claim 12 , wherein the gateway engine is configured to suspend the transmission attempt by suspending access to the communication channel during the backoff time after the VCS operation and before the PCS operation.

14. The PLC device of claim 10 , wherein the gateway engine is configured to detect the collision event by:

transmitting a unicast package to the communication channel; and

detecting the collision event when an acknowledge message is not received from the communication channel within a predetermined time period after the unicast package is transmitted.

15. The PLC device of claim 10 , wherein the gateway engine is configured to increase the backoff time by increasing a backoff exponent related to a contention window.

16. The PLC device of claim 10 , wherein the gateway engine is configured to refrain from adjusting the backoff time by maintaining unchanged a backoff exponent related to a contention window.

17. The PLC device of claim 10 , wherein the gateway engine is configured to:

increment a backoff counter upon determining the communication channel is busy or detecting the collision event;

repeat the transmission attempt when the backoff counter is less than or equal to a predetermined threshold; and

terminate the transmission attempt when the backoff counter exceeds the predetermined threshold.

18. The PLC device of claim 10 , further comprising:

a database coupled with the gateway engine, the database configured to store frequency data related to the communication channel;

wherein the gateway engine is configured to manage the communication channel based on the stored frequency data.

19. A nontransitory computer readable medium storing instructions that, upon implemented by a gateway engine of a power line communication (PLC) device, cause the gateway engine to perform a method comprising:

periodically determining whether a communication channel is idle or busy for a transmission attempt;

increasing a backoff time upon detecting a collision event while the communication channel is determined to be idle;

refraining from adjusting the backoff time after the transmission attempt when the collision event is not detected and while the communication is determined to be idle;

refraining from adjusting the backoff time while the communication channel is determined to be busy; and

suspending the transmission attempt during the backoff time.

20. The nontransitory computer readable medium of claim 19 , wherein periodically determining whether the communication channel is idle or busy includes:

directing a media access control (MAC) layer of the gateway engine to perform a virtual carrier sense (VCS) operation to determine an expected occupancy of the communication channel.

21. The nontransitory computer readable medium of claim 20 , wherein periodically determining whether the communication channel is idle or busy includes:

directing a physical layer of the gateway engine to perform a physical carrier sense (PCS) operation after the expected occupancy expires to determine whether the communication channel is idle or busy.

22. The nontransitory computer readable medium of claim 21 , wherein suspending the transmission attempt includes suspending access to the communication channel during the backoff time after the VCS operation and before the PCS operation.

23. The nontransitory computer readable medium of claim 19 , wherein detecting the collision event includes:

transmitting a unicast package to the communication channel; and

detecting the collision event when an acknowledge message is not received from the communication channel within a predetermined time period after the unicast package is transmitted.

24. The nontransitory computer readable medium of claim 19 , wherein increasing the backoff time includes increasing a backoff exponent related to a contention window.

25. The nontransitory computer readable medium of claim 19 , wherein refraining from adjusting the backoff time includes maintaining unchanged a backoff exponent related to a contention window.

26. The nontransitory computer readable medium of claim 19 , wherein the method further comprising:

incrementing a backoff counter upon determining the communication channel is busy or detecting the collision event;

repeating the transmission attempt when the backoff counter is less than or equal to a predetermined threshold; and

terminating the transmission attempt when the backoff counter exceeds the predetermined threshold.

Continuity (4)
Continuation 14264676 · Apr 29, 2014
Continuation 13300812 · Nov 21, 2011
Provisional Application 61424159 · Dec 17, 2010
Related Publication 20150288534A1 · Oct 8, 2015