(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5964317
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】電力線通信(PLC)のためのキャリア検知多重アクセス(CSMA)プロトコル
(51)【国際特許分類】
H04L 12/28 20060101AFI20160721BHJP
H04L 12/413 20060101ALI20160721BHJP
H04B 3/54 20060101ALI20160721BHJP
【FI】
H04L12/28 200Z
H04L12/413
H04B3/54
【請求項の数】2
【全頁数】13
(21)【出願番号】特願2013-543320(P2013-543320)
(86)(22)【出願日】2011年12月7日
(65)【公表番号】特表2014-506405(P2014-506405A)
(43)【公表日】2014年3月13日
(86)【国際出願番号】US2011063786
(87)【国際公開番号】WO2012078785
(87)【国際公開日】20120614
【審査請求日】2014年11月18日
(31)【優先権主張番号】13/300,812
(32)【優先日】2011年11月21日
(33)【優先権主張国】US
(31)【優先権主張番号】61/424,159
(32)【優先日】2010年12月17日
(33)【優先権主張国】US
(31)【優先権主張番号】61/420,414
(32)【優先日】2010年12月7日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390020248
【氏名又は名称】日本テキサス・インスツルメンツ株式会社
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【上記1名の代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】シュー ドゥー
(72)【発明者】
【氏名】ロバート リアン
(72)【発明者】
【氏名】シャオリン ルー
【審査官】
浦口 幸宏
(56)【参考文献】
【文献】
特開2008−252925(JP,A)
【文献】
Mattew S. Gast,802.11無線ネットワーク管理,株式会社オライリー・ジャパン,2003年 9月24日,初版,pp.30-33
(58)【調査した分野】(Int.Cl.,DB名)
H04B 3/54
H04L 12/00−12/955
(57)【特許請求の範囲】
【請求項1】
電力線通信(PLC)デバイスであって、
デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)回路、フィールドプログラマブルゲートアレイ(FPGA)、マイクロプロセッサ、又はマイクロコントローラを含む、プロセッサと、
前記プロセッサに結合されたメモリと、
を含み、
前記メモリが、前記PLCデバイスに、
(a)アクセスチャネルがフリーであることを示す仮想キャリア検知オペレーションに応答して、元の時間ウィンドウに少なくとも部分的に基づいて物理的キャリア検知オペレーションを実行することと、
(b)前記アクセスチャネルがフリーであることを示す前記物理的キャリア検知オペレーションに応答して、前記アクセスチャネルでデータ送信を開始することと、
(c)前記データ送信がユニキャスト送信であり、確認メッセージが前記PLCデバイスにより受け取られていないことに応答して、バックオフカウンタをインクリメントさせ、前記元の時間ウィンドウを増大させることであって、前記元の時間ウィンドウを増大させることが前記元の時間ウィンドウの長さを増大させる、前記バックオフカウンタをインクリメントさせ、前記元の時間ウィンドウを増大させることと、
(d)前記バックオフカウンタが許容されるバックオフオペレーションの最大数より小さい値を有することに応答して、前記増大された時間ウィンドウを用いて少なくとも(a)及び(b)を反復することと、
(e)前記アクセスチャネルがビジーであることを示す前記物理的キャリア検知オペレーションに応答して、前記バックオフカウンタを増大させ、前記元の時間ウィンドウを維持し、第2の仮想キャリア検知オペレーションに続いて第2の物理的キャリア検知オペレーションを実行することであって、前記第2の物理的キャリア検知オペレーションが前記元の時間ウィンドウに少なくとも部分的に基づく、前記バックオフカウンタを増大させ、前記元の時間ウィンドウを維持し、前記第2の仮想キャリア検知オペレーションに続いて前記第2の物理的キャリア検知オペレーションを実行することと、
(f)前記アクセスチャネルがフリーであることを示す前記第2の物理的キャリア検知オペレーションに応答して、前記アクセスチャネルでデータを送信することと、
を行わせるように、前記プロセッサにより実行され得るプログラム命令をストアするように構成される、デバイス。
【請求項2】
請求項1に記載のデバイスであって、
前記第2の物理的キャリア検知オペレーションが、前記元の時間ウィンドウ内でランダムに選択された時間に行われる、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
実施例は、一般に電力線通信(PLC)を対象とし、より具体的にはPLCのためのルーティングプロトコルを対象とする。
【背景技術】
【0002】
電力線通信(PLC)は、住居、建物、及び他の敷地に電力を送るためにも用いられる同じ媒体(すなわちワイヤ又は導体)を介してデータを通信するためのシステムを含む。PLCシステムは、導入されると、多様なアプリケーションを可能とし得、例えば、その例を幾つか挙げると、自動メーター読み取り及び負荷制御(すなわちユーティリティ型のアプリケーション)、自動車用途(例えば、電気自動車の充電)、ホームオートメーション(例えば、機器、照明などの制御)、及び/又はコンピュータネットワーキング(例えば、インターネットアクセス)などを含む。
【0003】
現在、世界中で、それぞれ独自の特徴を備えた様々なPLC規格化の取り組みが成されている。一般に、PLCシステムは、ローカル規制、ローカル電力グリッドの特徴などに応じて異なって実装し得る。競合するPLC規格の例は、IEEE 1901、HomePlug AV、PRIME(Powerline
Intelligent Metering Evolution)、及びITU−T G.hn(例えば、G.9960及びG.9961)などの仕様を含む。
【発明の概要】
【0004】
電力線通信(PLC)においてキャリア検知多重アクセス(CSMA)プロトコルを実装するためのシステム及び方法を説明する。例示的実施例では、方法が、仮想キャリア検知オペレーションを実行すること、及び仮想キャリア検知オペレーションが通信チャネルがアイドルであることを示すことに応答して、コンテンションウィンドウを計算することを含み得る。この方法は、仮想キャリア検知オペレーションに続いて物理的キャリア検知オペレーションを行うことも含み得、物理的キャリア検知オペレーションは、コンテンションウィンドウに少なくとも部分的に基づく。その後、物理的キャリア検知オペレーションが通信チャネルがアイドルであることを示すことに応答して、この方法は、そのチャネルでデータを送信することを含み得る。
【0005】
幾つかの場合において、例えば、コンテンションウィンドウを計算することは、コンテンションウィンドウの長さを設定することを含み得、物理的キャリア検知オペレーションは、コンテンションウィンドウ内でランダムに選択された時間に行われ得る。また、この方法は、それが通信チャネルがアイドルであることを示すまで、仮想キャリア検知オペレーションを反復することを含み得る。
【0006】
付加的に或いは代替として、この方法は、物理的キャリア検知オペレーションが通信チャネルがアイドルでないことを示すことに応答して、それが通信チャネルがアイドルであることを示すまで仮想キャリア検知オペレーションを反復すること、及び修正されたコンテンションウィンドウをつくるためコンテンションウィンドウの長さを増大させることを含み得る。例えば、コンテンションウィンドウの長さを増大させることは、データを送信する多数の先立つ試みに対応する量だけコンテンションウィンドウの長さを増大させることを含み得る。この方法は、反復された仮想キャリア検知オペレーションに続いて第2の物理的キャリア検知オペレーションを行うことも含み得、第2の物理的キャリア検知オペレーションは、修正されたコンテンションウィンドウに少なくとも部分的に基づく。例えば、第2の物理的キャリア検知オペレーションは、修正されたコンテンションウィンドウ内でランダムに選択された時間に行われ得る。この方法は更に、第2の物理的キャリア検知オペレーションが、その通信チャネルがアイドルであることを示すことに応答して、その通信チャネルでデータを送信することを含み得る。
【0007】
別の例示の実施例において、方法が、(a)仮想キャリア検知オペレーションがアクセスチャネルがフリーであることを示すことに応答して、元の時間ウィンドウに少なくとも部分的に基づいて物理的キャリア検知オペレーションを行うこと、(b)物理的キャリア検知オペレーションがそのアクセスチャネルがフリーであることを示すことに応答して、そのアクセスチャネルでデータ送信を開始すること、(c)データ送信がユニキャスト送信であること及び確認メッセージがPLCデバイスにより受け取られないことに応答して、バックオフカウンタをインクリメントさせ、元の時間ウィンドウを増大させること、及び(d)バックオフカウンタが、許容されるバックオフオペレーションの最大数より小さい値を有することに応答して、増大された時間ウィンドウを用いて少なくとも(a)及び(b)を反復することを含み得る。
【0008】
幾つかの実装において、元の時間ウィンドウを増大させることが、元の時間ウィンドウの長さを増大させることを含み得る。また、物理的キャリア検知オペレーションが元の時間ウィンドウ内でランダムに選択された時間に実行され得、反復された物理的キャリア検知オペレーションが、インクリメントされた時間ウィンドウ内でランダムに選択された時間に実行され得る。
【0009】
また、この方法は、それがアクセスチャネルがフリーであることを示すまで仮想キャリア検知オペレーションの出力を監視することを含み得る。付加的に或いは代替として、この方法は、物理的キャリア検知オペレーションがそのアクセスチャネルがビジーであることを示すことに応答して、バックオフカウンタを増大させること、元の時間ウィンドウを維持すること、及び第2の仮想キャリア検知オペレーションに続いて第2の物理的キャリア検知オペレーションを行うことを含み得、第2の物理的キャリア検知オペレーションは、元の時間ウィンドウに少なくとも部分的に基づく。例えば、第2の物理的キャリア検知オペレーションは、元の時間ウィンドウ内でランダムに選択された時間に行われ得る。この方法は、第2の物理的キャリア検知オペレーションがそのアクセスチャネルがフリーであることを示すことに応答して、そのアクセスチャネルでデータを送信することも含み得る。
【0010】
更に別の例示の実施例において、この方法は、キャリア検知オペレーションによる、チャネルが利用可能であるとの判定に応答して、コンテンションウィンドウ内で選択された時間にデータを送信することを含み得る。この方法は、データ送信がユニキャスト送信であると判定すること、確認メッセージが受け取られていないと判定すること、及びコンテンションウィンドウを増大させることも含み得る。この方法は、増大されたコンテンションウィンドウ内で選択された時間にデータを再送信することを更に含む。
【0011】
この方法は、反復されたキャリア検知オペレーションによる、チャネルが利用可能であるとの別の判定に応答して、データを再送信することも含み得る。種々の実装において、キャリア検知オペレーションは、仮想キャリア検知オペレーション、物理的キャリア検知オペレーション、又は物理的及び仮想キャリア検知オペレーションの組み合わせであり得る。
【0012】
幾つかの実施例において、本明細書に記載の1つ又は複数の方法が、1つ又は複数のPLCデバイス(例えば、PLCモデムなど)により実行され得る。他の実施例において、有形電子的記憶媒体が、そこにストアされたプログラム命令を有し得、この媒体は、1つ又は複数のPLCデバイス内のプロセッサにより実行されると、1つ又は複数のPLCデバイスに本明細書に開示する1つ又は複数のオペレーションを実行させる。このようなプロセッサの例には、これらに限らないが、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)回路、フィールドプログラマブルゲートアレイ(FPGA)、マイクロプロセッサ、マイクロコントローラが含まれる。更に他の実施例において、PLCデバイスは、少なくとも一つのプロセッサとこの少なくとも1つのプロセッサに結合されるメモリとを含み得、メモリは、PLCデバイスに本明細書に開示する1つ又は複数のオペレーションを実行させるように、この少なくとも1つのプロセッサにより実行され得るプログラム命令をストアするように構成される。
【図面の簡単な説明】
【0013】
【
図1】幾つかの実施例に従ったPLCシステムの図である。
【0014】
【
図2】幾つかの実施例に従ったPLCデバイス又はモデムのブロック図である。
【0015】
【
図3】幾つかの実施例に従ったPLCゲートウェイのブロック図である。
【0016】
【
図4】幾つかの実施例に従ったPLCデータコンセントレータのブロック図である。
【0017】
【
図5】従来技術のCSMA手法のフローチャートである。
【0018】
【
図6】CSMA手法のフローチャートに従って幾つかの実施例。
【0019】
【
図7】幾つかの実施例に従った集積回路のブロック図である。
【0020】
図1は、いくつかの例示的実施例に従った電力線通信(PLC)システムを示す。サブステーション101からの中電圧(MV)電力線103は、典型的には数十キロボルトの範囲の電圧を搬送する。変圧器104は、MV電力を、100〜240VACの範囲の電圧を搬送するLV線105上の低電圧(LV)電力に降圧する。変圧器104は、典型的には50〜60Hzの範囲の非常に低い周波数で動作するように設計される。変圧器104は、典型的には、例えば100KHzを超える信号など、高周波数がLV線105とMV線103との間に通過しないようにさせる。LV線105は、典型的には住居102a〜nの外側に取り付けられたメーター106a〜nを介して、顧客に電力を供給する。(「住居」と呼んでいるが、敷地102a〜nは、電力が受けとられる及び/又は消費される任意の種類の建物、施設、又は場所を含み得る。)例えば、パネル107など、ブレーカパネルが、メーター106nと住居102n内の電気的ワイヤ108との間のインタフェースを提供する。電気的ワイヤ108は、住居102n内のコンセント110、スイッチ111、及び他の電気デバイスに電力を送達する。
【0021】
図1に例示する電力線トポロジは、住居102a〜nへの高速通信の送達に用いられ得る。いくつかの実装において、電力線通信モデム又はゲートウェイ112a〜nは、メーター106a〜nにおいてLV電力線105に結合され得る。PLCモデム/ゲートウェイ112a〜nは、MV/LV線103/105を介してデータ信号を送信及び受信するために用いられ得る。このようなデータ信号は、いくつかの例を挙げれば、計測及び電力送達アプリケーション(例えば、スマートグリッドアプリケーション)、通信システム、高速インターネット、電話通信、ビデオ会議、及びビデオ送達をサポートするために用いられ得る。電力伝送ネットワークを介してテレコミュニケーション及び/又はデータ信号を伝送することにより、各加入者102a〜nに新しい配線を設置する必要がない。したがって、データ信号を搬送するために既存の配電システムを使用することにより、かなりのコスト節約が可能である。
【0022】
電力線を介してデータを伝送するための例示的方法が、電力信号の周波数とは異なる周波数を有する搬送波信号を用い得る。搬送波信号は、例えば、直交周波数分割多重(OFDM)方式などを用いて、データによって変調され得る。
【0023】
住居102a〜nにおけるPLCモデム又はゲートウェイ112a〜nは、追加の配線を必要とすることなく、PLCデータコンセントレータ又はルータ114への及びそれらからのデータ信号を搬送するために、MV/LV電力グリッドを用いる。コンセントレータ114は、MV線103又はLV線105のいずれかに結合され得る。モデム又はゲートウェイ112a〜nは、例えば、高速広帯域インターネットリンク、狭帯域制御アプリケーション、低帯域幅データ収集アプリケーションなどのアプリケーションをサポートし得る。ホーム環境において、例えば、モデム又はゲートウェイ112a〜nはさらに、冷暖房、照明、及びセキュリティにおけるホーム及びビルディングオートメーションを可能にし得る。また、PLCモデム又はゲートウェイ112a〜nは、電気自動車又は他の機器のAC又はDC充電を可能にし得る。AC又はDC充電器の一例が、PLCデバイス113として示されている。敷地外部では、電力線通信ネットワークが、街路照明の制御及び遠隔電力メーターデータの収集を提供し得る。
【0024】
1つ又は複数のPLCデータコンセントレータ又はルータ114が、ネットワーク120を介して制御センター130(例えばユーティリティ会社)に結合され得る。ネットワーク120は、例えば、IPベースネットワーク、インターネット、セルラネットワーク、WiFiネットワーク、WiMaxネットワーク、又はそれに類するものを含み得る。したがって、制御センター130は、ゲートウェイ112及び/又はデバイス113からコンセントレータ114を介して電力消費及び他のタイプの関連情報を収集するように構成され得る。加えて又は代替として、制御センター130は、スマートグリッドポリシー及び他の規制又は商業規則を、コンセントレータ114を介してこうした規則を各ゲートウェイ112及び/又はデバイス113に通信することによって実装するように構成され得る。
【0025】
図2は、幾つかの実施例に従ったPLCデバイス113のブロック図である。例示されるように、ACインタフェース201が、PLCデバイス113がスイッチ回路などを用いて電気的ワイヤ108aと108bとの間の接続をオフに切り換えることができるような方式で、敷地112n内の電気的ワイヤ108a及び108bに結合され得る。しかしながら、他の実施例において、ACインタフェース201が、単一のワイヤ108に(すなわち、ワイヤ108をワイヤ108a及び108bに分けることなく)、このような切り換え機能を提供することなく、接続されてもよい。オペレーションにおいて、ACインタフェース201は、PLCエンジン202がワイヤ108a〜bを介してPLC信号を受信及び送信できるようにし得る。幾つかの場合において、PLCデバイス113はPLCモデムであり得る。加えて又は代替として、PLCデバイス113は、スマートグリッドデバイス(例えば、AC又はDC充電器、メーターなど)、機器、或いは、敷地112nの内部又は外部に配置された他の電気的要素(例えば、街路照明など)のための制御モジュール、の一部であり得る。
【0026】
PLCエンジン202は、特定の周波数帯を用いてACインタフェース201を介して、ワイヤ108a及び/又は108bでPLC信号を送信及び/又は受信するように構成され得る。幾つかの実施例では、PLCエンジン202はOFDM信号を送信するように構成され得るが、他のタイプの変調方式も用いられ得る。したがって、PLCエンジン202は、計測又は監視回路(図示せず)を含み得るか或いはそれらと通信するように構成され得、計測又は監視回路は、ワイヤ108、108a、及び/又は108bを介して或るデバイス又は機器の電力消費特徴を測定するように構成される。PLCエンジン202は、このような電力消費情報を受信し、これを1つ又は複数のPLC信号として符号化し、これをさらなる処理のためにワイヤ108、108a、及び/又は108bを介してより高レベルのPLCデバイス(例えば、PLCゲートウェイ112n、データアグリゲータ114など)に送信し得る。反対に、PLCエンジン202は、例えば、PLCエンジン202が動作する特定の周波数帯を選択できるようにするため、PLC信号内に符号化されたこのようなより高レベルのPLCデバイスからの命令及び/又は他の情報を受信し得る。
【0027】
図3は、幾つかの実施例に従ったPLCゲートウェイ112のブロック図である。この例に示されるように、ゲートウェイエンジン301が、メーターインタフェース302、ローカル通信インタフェース304、及び周波数帯使用量データベース304に結合される。メーターインタフェース302はメーター106に結合され、ローカル通信インタフェース304は、例えば、PLCデバイス113など、様々なPLCデバイスの1つ又は複数に結合される。ローカル通信インタフェース304は、例えば、ZIGBEE、BLUETOOTH、WI−FI、WI−MAX、ETHERNETなど、ゲートウェイ112が多様な異なるデバイス及び機器と通信できるようにし得る、様々な通信プロトコルを提供し得る。オペレーションにおいて、ゲートウェイエンジン301は、PLCデバイス113及び/又は他のデバイス並びにメーター106からの通信を収集するように、且つ、これら様々なデバイスとPLCデータコンセントレータ114との間のインタフェースとして働くように、構成され得る。ゲートウェイエンジン301はまた、周波数帯を特定のデバイスに割り振るように、及び/又は、このようなデバイスにそれら自体の動作周波数を自己割り当てできるようにする情報を提供するように、構成され得る。
【0028】
幾つかの実施例において、PLCゲートウェイ112は敷地102n内又は敷地102n付近に配設され得、敷地102nへの及び/又は敷地102nからの全てのPLC通信に対するゲートウェイとして機能し得る。しかしながら、他の実施例において、PLCゲートウェイ112はない可能性があり得、PLCデバイス113(並びにメーター106n及び/又は他の機器)はPLCデータコンセントレータ114と直接通信し得る。PLCゲートウェイ112が存在する場合、これは、例えば、敷地102n内の様々なPLCデバイス113によって現在使用されている周波数帯の記録を備えたデータベース304を含み得る。このような記録の一例は、例えば、デバイス識別情報(例えば、シリアル番号、デバイスIDなど)、アプリケーションプロファイル、デバイスクラス、及び/又は現在割り振られている周波数帯などを含み得る。したがって、ゲートウェイエンジン301は、その様々なPLCデバイスに割り振られた周波数帯の割り当て、割り振り、又は他の方法での管理において、データベース304を用い得る。
【0029】
図4は、幾つかの実施例に従ったPLCデータコンセントレータ又はルータ114のブロック図である。ゲートウェイインタフェース401が、データコンセントレータエンジン402に結合されて、1つ又は複数のPLCゲートウェイ112a〜nと通信するように構成され得る。ネットワークインタフェース403もデータコンセントレータエンジン402に結合されて、ネットワーク120と通信するように構成され得る。オペレーションにおいて、データコンセントレータエンジン402は、複数のゲートウェイ112a〜nからの情報及びデータを、制御センター130に転送する前に、収集するために用いられ得る。PLCゲートウェイ112a〜nがない場合、ゲートウェイインタフェース401は、メーター116a〜n、PLCデバイス113、及び/又は他の機器と直接通信するように構成されたメーター及び/又はデバイスインタフェース(図示せず)で置き換えてもよい。また、PLCゲートウェイ112a〜nがない場合、周波数使用量データベース404は、データベース304に関して上記で説明したものと同様の記録をストアするように構成され得る。
【0030】
一般的に、電力線又はワイヤ103、105、及び/又は108を介して信号を送信する前に、PLCデバイスは、所定の通信又はアクセスチャネル(例えば、周波数帯)が現在用いられているかどうか検出しようと試み得る。チャネルアクセスは、例えば、ランダムバックオフ時間を備えた、衝突回避を備えたキャリア検知多重アクセス(CSMA/CA)メカニズムを用いることにより達成され得る。ランダムバックオフメカニズムは、PLCデバイスが送信を試みる時間にスプレッドし得、それにより、衝突の可能性を低減する。言い換えると、デバイスがデータフレームを送信しようと試みる度、それはランダム期間待機し得る。チャネルがアイドル又はフリーであることが分かった場合、そのランダムバックオフに続いて、デバイスはそのデータを送信し得る。チャネルがビジーであることが分かった場合、そのランダムバックオフに続いて、デバイスは、再びチャネルにアクセスしようと試みる前に別のランダム期間待機し得る。
【0031】
種々の実施例において、異なるCSMA手法が用いられ得る。例えば、プリアンブルの検出時に物理層(PHY)によって物理的キャリア検知(PCS)が提供され得る。これに対し、チャネル占有の予期される持続時間を追跡することにより媒体アクセス制御(MAC)層によって、仮想キャリア検知(VCS)メカニズムが提供され得る。仮想キャリア検知は、例えば、受信したパケット(又は衝突時)の長さにより、設定され得る。これらの場合、VCSは、その媒体の「ビジー」状態(即ち、所定のPLCデバイスが電力線又はワイヤ103、105、及び/又は108でデータを送信するとき)の予期される持続時間を追跡又は推定する。
【0032】
図5は、例えば、IEEE802.15.4標準に記載されるようなノンビーコンパーソナルエリアネットワーク(PAN)に適用し得る、従来技術のCSMA方法のフローチャートを示す。この方法を用いて、ランダムバックオフメカニズムは、ステーションが送信を試みる時間にスプレッドする(それにより、衝突の可能性を低減する)。このCSMAアルゴリズムは典型的に、データ又はMAC命令フレームの送信前に用いられ、このアルゴリズムは、1つのバックオフ期間がユニットバックオフ期間(unitBackoffPeriod)シンボルに等しい、「バックオフ期間」と呼ばれる時間のユニットを用いて実装される。
【0033】
ブロック501に図示するように、各デバイスは、各送信試みに対してNB及びBEの2つの変数を維持し得る。具体的には、NBは、現在の送信を試みる一方でCSMAアルゴリズムがバックオフに必要とされる回数であり、これは、各新しい送信試み前に「0」に初期化され得る。一方、BEはバックオフ指数であり、これは、チャネルに評価を試みる前にデバイスがどのくらい多くのバックオフ期間待機し得るかに関連し、最小BEの値まで初期化され得る。この方法は、NB及びBEを初期化し得、その後ブロック502へ進む。ブロック502で、この方法は、全バックオフ期間(例えば、0〜2
BE−1の範囲)のランダム数に対し、遅延つくり得、その後ブロック503でPCSオペレーションが実行されることをリクエストする。そのバックオフ時間は、Backoff=Random(2
BE−1)×SlotTimeにより得られ得、ここで、SlotTimeは、コンテンションウィンドウスロットの持続時間(例えば、シンボル数)に等しい。
【0034】
ブロック504において、チャネルがビジーであると評価される場合、この方法は、BEが最大BE(高優先度パケットでは、最大BEは最小BEに等しい可能性がある)を超えないことを確実にする一方で、ブロック506において1だけNB及びBE両方をインクリメントし得る。ブロック507において、NBの値が最大CSMAバックオフより小さいか又はそれに等しい場合、この方法はブロック502へ戻り得る。NBの値が最大CSMAバックオフより大きい場合、この方法は、例えば、チャネルアクセス失敗状態又は表示で終了し得る。ブロック504に再び移ると、チャネルがアイドルであると評価される場合、この方法は、ブロック505でフレームの送信を即開始し得る。
【0035】
しかし、当業者であれば
図5に示されるこの方法に関して理解されるように、PCSが尚早に検知される。各PCSインタバルは、VCS検知結果とは無関係に計算される。1つのノードが大型パケットを送信している場合、不要なPCS試みに起因して競合ノードは容易に失敗し得る。付加的に或いは代替として、コンテンションウィンドウは尚早に増大される。PCSがビジーである度、BEが増大される。そのため、ノードがPCSの第1の時間失敗する場合、そのノードは、その増大されたウィンドウに起因して他のノードよりもその後のPCSで失敗する可能性が高く、不公平の問題が生じる。
【0036】
これらの及び他の問題に対処するため、本明細書に記載される実施例は、1つ又は複数の不要なPCSオペレーションをセーブするため、1つ又は複数のVCSオペレーションを用いるための手法を提供する。また、幾つかの実施例において、ACKメッセージ又はパッケージが失われるときコンテンションウィンドウは増大され得、そのため、衝突事象がビジー媒体の検出と区別される。種々の実施例において、本明細書に記載される手法は、ランダム媒体アクセスを備えたPLCメッシュネットワークにおいて適用され得るが、他の種類のネットワークも用いられ得る。また、これらの実施例は、例えば、G3−PLC標準又は同様のものなど、種々のPLC標準と共に用いることができる。
【0037】
ここで
図6に移ると、CSMA方法のフローチャートが幾つかの実施例に従って示されている。種々の実施例において、例えば、PLCデバイス103、PLCゲートウェイ112、及び/又はPLCデータコンセントレータ114により、
図6の方法が実行され得る。ブロック601で、この方法は、1つ又は複数のバックオフパラメータ(例えば、NBカウンタ及び/又はBE)をそれらの初期値に設定することを含み得る。ブロック602で、例えば、VCSオペレーションが通信チャネルがアイドル又はフリーであると判定するまで、この方法はVCSオペレーションを実行し得る。その後、ブロック602及び603で、この方法は遅延をつくり得、
図5のブロック501及び502と同様にPCSオペレーションが実行されることをリクエストし得る。しかし、この場合、
図5の方法とは対照的に、VCS(仮想キャリア検知)がビジーでないときPCSが試みられる。つまり、VCSがPCS前に考慮される。VCSがビジー状態からアイドルになると、全てのノード(即ち、PLCデバイス)は、チャネルに対する公平な競争のため同時に整合され得る。このように、VCS及びPCS両方が用いられ得、VCSは、例えば、大型パケット送信に起因してCSMAが失敗しないように、不要なPCSをセーブする。
【0038】
ブロック605で、この方法は、PCSオペレーションに基づいてそのチャネルがアイドル又はフリーであるかを判定し得る。アイドルである場合、この方法は、ブロック606でそのチャネルを介してデータを送信し得る。ブロック607で、この方法は、データ送信がブロードキャスト送信であるか又はユニキャスト送信かを判定し得る(後者が、成功送信に応答して確認メッセージを受け取ることに関与するのに対し、前者はそうではない)。データ送信がユニキャスト送信である場合、この方法は、ブロック608で、確認が受け取られたかを判定し得る。データ送信がブロードキャスト送信である場合又はユニキャスト送信に対し確認が受け取られた場合、この方法は成功表示で終了し得る。そうでない場合、ブロック609で、NB及びBEは両方インクリメントされ得る。
【0039】
ブロック605に戻ると、チャネルがビジーである場合、NBのみがインクリメントされ得る(ただし、コンテンションウィンドウのサイズは増大されない)。その後、ブロック611で、バックオフの最大数に達する場合、この方法は失敗表示で終了し得る。そうでない場合、この方法はブロック602へ戻り得る。このように、確認(ACK)メッセージ又はパケットが受け取らない場合(ユニキャスト送信の場合)BEは増大され得る。PCSがアイドルに戻るとき、データフレームが送出され得る。そうでない場合、この方法は、VCSが終了するのを待機し得、BEは同じ値のままである。ACKメッセージが受け取られることなくデータが送出されるとき、BEが増大される。しかし、PCSオペレーションからのビジー表示の後、そのノード又はデバイスは、全てのノードが公正なCSMA競合を有し得るように、そのコンテンションウィンドウを増大させない可能性がある。つまり、ACKが失われた後にのみ、あり得るパケット衝突及び混みあった媒体を示唆し、ノードは、チャネルの利用のため他のデバイスと競合するようコンテンションウィンドウを増大し得る。
【0040】
ACKが失われるとき、最もあり得る理由が2つあり得ることに注意されたい。1つ目は、チャネル状況が不良である可能性があり、この場合、センダーは、コンテンションウィンドウサイズを増大させることなく再び送信を試み得る。2つ目は、パケット衝突が生じた可能性があり(チャンネルがビジーであることに起因する)、その場合、競合するセンダーは、送信を試みる前にそれらの時間又はコンテンションウィンドウ寸法を増大させ得る。幾つかの実装において、センダー及びレシーバは、NACK(NACKが送られ得る場合)又は情報の幾つかの付加的な交換において、余分のビットを用いて(過去の)失われたACKに関して互いに相互作用し得る。レシーバは、ACKが失われたときセンダーが異なって応答し得るように、センダーが不良チャネル状況をパケット衝突と区別するのを助けるためにこの情報を用い得る。付加的に或いは代替として、レシーバは、受信したパケットが低品質インジケータ(LQI)を有することをレシーバが見つけた場合、ACKパケットにおいて余分のビットを用いてその不良のチャネルについてセンダーに警告することもできる。
【0041】
図7は、幾つかの実施例に従った集積回路のブロック図である。幾つかの場合において、
図2〜
図4に示すデバイス及び/又は装置の1つ又は複数は、
図7に示すように実装され得る。幾つかの実施例において、集積回路702は、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)回路、フィールドプログラマブルゲートアレイ(FPGA)、マイクロプロセッサ、マイクロコントローラなどであり得る。集積回路702は、1つ又は複数の周辺機器704及び外部メモリ703に結合される。幾つかの場合において、外部メモリ703は、
図3及び
図4に示すデータベース304及び/又は404をストア及び/又は維持するために用いられ得る。さらに集積回路702は、信号を外部メモリ703に送るためのドライバ、及び信号を周辺機器704に送るための別のドライバを含み得る。集積回路702への電源電圧、並びにメモリ703及び/又は周辺機器704への1つ又は複数の電源電圧を供給する電源701も提供される。幾つかの実施例において、集積回路702の複数のインスタンスが含まれ得る(且つ、複数の外部メモリ703も同様に含まれ得る)。
【0042】
周辺機器704は、PLCシステムのタイプに応じて、任意の所望な回路要素を含み得る。例えば、或る実施例において、周辺機器704はローカル通信インタフェース303を実装し得、例えば、WI−FI、ZIGBEE、BLUETOOTH、セルラ、全地球測位システムなど、様々なタイプの無線通信用のデバイスを含み得る。周辺機器704は、RAMストレージ、ソリッドステートストレージ、又はディスクストレージを含む、追加のストレージも含み得る。幾つかの場合において、周辺機器704は、例えば、タッチディスプレイスクリーン又はマルチタッチディスプレイスクリーンを含むディスプレイスクリーン、キーボード又は他の入力デバイス、マイクロフォン、スピーカなど、ユーザインタフェースデバイスを含み得る。
【0043】
外部メモリ703は、任意のタイプのメモリを含み得る。例えば、外部メモリ703は、SRAM、不揮発性RAM(NVRAM、例えば、「フラッシュ」メモリなど)、及び/又は、例えば、同期DRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3など)SDRAM、DRAMなど、ダイナミックRAM(DRAM)を含み得る。外部メモリ703は、例えば、シングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)など、メモリデバイスの取付け先である1つ又は複数のメモリモジュールを含み得る。
【0044】
図6に関して説明した様々なオペレーションが、同時に及び/又は順次に実行され得ることを理解されよう。また、各オペレーションが任意の順序で実行され得ること、及び1回又は反復的に実行され得ることも理解されよう。様々な実施例において、
図2〜
図4に示されるモジュールは、特定のオペレーションを実行するように構成される、ソフトウェアルーチン、論理機能、及び/又はデータ構造のセットを表し得る。これらのモジュールは別個の論理ブロックとして示されているが、他の実施例において、これらのモジュールによって実行されるオペレーションの少なくとも幾つかは、より少ないブロックに組み合わされてもよい。逆に、
図2〜
図4に示されるモジュールの任意の所与のものは、そのオペレーションが2つ又はそれ以上の論理ブロックに分割されるように実装されてもよい。また、これら様々なモジュールは特定の構成で図示されているが、他の実施例において他の適切な方法で再配置されてもよい。
【0045】
本明細書で説明されるオペレーションの多くは、ハードウェア、ソフトウェア、及び/又はファームウェア、且つ/或いはそれらの任意の組み合わせにおいて実装され得る。ソフトウェアにおいて実装される場合、必要なタスク又はオペレーションをコードセグメントが実行する。プログラム又はコードセグメントは、プロセッサ読み取り可能、コンピュータ読み取り可能、又はマシン読み取り可能な媒体内にストアされ得る。プロセッサ読み取り可能、コンピュータ読み取り可能、又はマシン読み取り可能な媒体は、情報をストア又は転送可能な任意のデバイス又は媒体を含み得る。このようなプロセッサ読み取り可能媒体の例には、電子回路、半導体メモリデバイス、フラッシュメモリ、ROM、消去可能ROM(EROM)、フロッピィディスク、コンパクトディスク、光ディスク、ハードディスク、光ファイバ媒体などが含まれる。
【0046】
ソフトウェアコードセグメントは、例えば、ハードドライブ、フラッシュメモリ、ソリッドステートメモリ、光ディスク、CD、DVD、コンピュータプログラム製品、又はプロセッサ又はミドルウェアコンテナサービスに対し有形のコンピュータ読み取り可能又はマシン読み取り可能なストレージを提供する他のメモリデバイスなど、任意の揮発性又は不揮発性の記憶デバイスに記憶され得る。他の実施形態において、メモリは幾つかの物理的記憶デバイスの仮想化であり得、これらの物理的記憶デバイスは同じ種類又は異なる種類である。コードセグメントは、内部バス、インターネット又はイントラネットなどの別のコンピュータネットワークを介して、或いは、他の有線又は無線のネットワークを介して、ストレージからプロセッサ又はコンテナへダウンロード又は転送され得る。
【0047】
当業者であれば、説明した例示の実施例に変形が成され得ること、及び本発明の特許請求の範囲内で他の実施例を実装し得ることが分かるであろう。