スキューのあるマルチレーン通信リンクにおけるタイムスタンプ補正

著者らは特許

H04L1 - 受信情報中の誤りを検出または防止するための配置

の所有者の特許 JP2016517680:

ザイリンクス インコーポレイテッドXilinx Incorporated

 

スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するための方法、非一時的なコンピュータ読取可能媒体(404)、および装置(1,18,400)を開示する。たとえば、方法では、データパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーン(99)についてのフィルレベルを受信し、データパケットのための補正済みタイムスタンプを計算し、データパケットのためのタイムスタンプを補正済みタイムスタンプと置換える。

 

 

発明の分野
本開示は、概して、スキューのあるマルチレーン通信リンク(たとえば、イーサネット(登録商標)回路)に関し、より特定的には、スキューのあるマルチレーン通信リンクにおけるタイムスタンプ補正のための方法および装置に関する。
発明の背景
デジタル通信リンクがますます高速になるのにつれて、多くの技術的困難が生じる。通信チャネルの速度を制限する要因の1つとして物理的な電気リンクの特性が挙げられる。この特性は、通常、最新の電気集積回路技術によって所望の総通信速度よりも著しく低くなるように制約されている。したがって、総論理リンク速度をより高速にするためにいくつかの並列物理通信レーンを用いることが一般的である。これはマルチレーン分配(MLD:Multi-Lane Distribution)として公知である。
さらに、送信機から受信機への伝達中に個々の高速レーンがさまざまな手段によって損なわれてしまうと、物理通信レーンの数の再組合わせを如何に行い得るかについて問題が生じる。送信前に個々のビットを集合リンクに対応する所定の順序になるよう正確に再度組合せることができるように、さまざまな個々のレーンの到達時間差を補正する必要がある。たとえば、個々のレーン上に到達するビットは、ワイヤまたはプリント回路基板(PCB:printed circuit board)トレースの長さが異なっているせいで到達時間が歪んでしまっている可能性がある。タイムスタンプがわずかに異なっていると、場合によっては、スレーブクロックに変化をもたらす可能性がある。
論理レーンがさまざまな異なるタイプの物理レーン、たとえば電気レーンまたは光レーン上で多重化されると、さらなる問題が生じる。論理レーンが或る物理レーンから別の(電気または光)レーンにまで移動すると、その論理レーンの遅延が変化する。なぜなら、論理レーンを担持することになっている物理レーンが遅延することよって論理レーンが制限されてしまうからである。
発明の概要
マルチレーン通信リンクにおけるタイムスタンプを補正するための方法が開示される。当該方法の一実施形態はデータパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーンについてのフィルレベルを受信するステップと、データパケットのための補正済みタイムスタンプを計算するステップと、データパケットのためのタイムスタンプを補正済みタイムスタンプと置換えるステップとを含む。
当該方法のさまざまな実施形態においては、受信するステップ、計算するステップおよび置換えるステップは、マルチレーン通信リンクにおけるそれぞれのデータパケットを有する複数のレーンのレーン毎に繰返される。タイムスタンプは、データパケットの開始のタイムスタンプに対応する。タイムスタンプは、直列化/非直列化クロックドメインにおいてクロックサイクル毎にギアボックスモジュールの後に取込まれる。フィルレベルは、1ビット以上の基準を含む。フィルレベルは、第1のクロックドメインにおける読出しポインタと第2のクロックドメインにおける書込みポインタとの時間平均に基づいて、マルチレーン通信リンクにおける複数のレーンのレーン毎に先入れ先出しバッファによって計算される。計算するステップは、タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルの関数である。基準フィルレベルは最小フィルレベルを含む。基準フィルレベルは最大フィルレベルを含む。基準フィルレベルは平均フィルレベルを含む。タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルは各々、クロックサイクルの単位に変換される。タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルは各々、ナノ秒の単位に変換される。
別の実施形態に従うと、集積回路は、入力信号を複数のレーンに分割するためのデマルチプレクサおよびギアボックスモジュールを含む。各々のレーンは少なくとも1つのデータパケットを担持する。集積回路はさらに、少なくとも1つのデータパケットの各々のためのタイムスタンプを取込むためのタイムスタンプ取込みモジュールと、複数のレーンの各レーンについてのフィルレベルを生成するためのレーンアラインバッファと、補正論理モジュールとを含む。補正論理モジュールは、少なくとも1つのデータパケット、少なくとも1つのデータパケットのためのタイムスタンプ、および、少なくとも1つのデータパケットを担持する複数のレーンの各レーンについてのフィルレベルを受信し、少なくとも1つのデータパケットのための補正済みタイムスタンプを計算し、少なくとも1つのデータパケットのためのタイムスタンプを補正済みタイムスタンプと置換えるためのものである。
集積回路のさまざまな実施形態においては、補正論理は、タイムスタンプ、少なくとも1つのデータパケットを担持する複数のレーンのうち或るレーンのフィルレベルおよび基準フィルレベルの関数として、補正済みタイムスタンプを計算する。基準フィルレベルは最小フィルレベルを含む。基準フィルレベルは最大フィルレベルを含む。基準フィルレベルは平均フィルレベルを含む。補正論理モジュールは、タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルをクロックサイクルの単位に変換して、計算を実行する。補正論理モジュールは、タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルをナノ秒の単位に変換して、計算を実行する。
別の実施形態に従うと、複数の命令を格納する非一時的なコンピュータ読取可能媒体が提供される。当該複数の命令は、プロセッサによって実行されると、プロセッサにマルチレーン通信リンクにおけるタイムスタンプを補正するための動作を実行させる。非一時的なコンピュータ読取可能媒体の動作は、データパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーンについてのフィルレベルを受信すること、データパケットのための補正済みタイムスタンプを計算すること、ならびに、データパケットのためのタイムスタンプを補正済みタイムスタンプと置換えることを含む。
図面の簡単な説明
添付の図面は、開示された1つ以上の局面に従った例示的な実施形態を示す。しかしながら、添付の図面は、図示された実施形態に開示内容を限定するよう理解されるべきではなく、説明および理解のみを目的としたものである。
スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するためのブロック回路図の一例を示す図である。 マルチレーン通信リンクの各レーンについてのフィルレベルを計算するアライメント論理の一例を示す図である。 スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するための方法についての一実施形態の例示的なフローチャートを示す図である。 この明細書中に記載される機能を実行する際に用いるのに適した汎用コンピュータを示すハイレベルブロック図である。
理解し易くするために、図において共通する同一の要素を指定するために、可能な限り、同一の参照数字を用いた。
図面の詳細な説明
本開示は、スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するための方法、非一時的なコンピュータ読取可能媒体および装置を広く開示する。上述のとおり、マルチレーン通信チャネルにおいては、特定のパケットの開始がいずれのレーン上にも生じる可能性がある。各々のレーンには、スキューとして知られるさまざまな遅延が生じ得るので、各々のレーンはわずかに異なるタイムスタンプを呈することとなり、これが、場合によっては、スレーブクロックに変化をもたらす可能性がある。
本開示の一実施形態では、予想される相対遅延を均等にするようなサイズである小型バッファによって各々のレーンにおける相対遅延を説明する。次いで、レーンバッファごとに格納されたデータの相対量はタイムスタンプに加えられる補正を推測するために用いられる。これにより、スレーブクロックの精度が向上する。
図1は、スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するためのブロック回路図100の一例のブロック図を示す。一実施形態においては、ブロック回路図100は、マルチレーン通信リンクの受信機部を示す。言いかえれば、ブロック回路図100は、送信部および受信機部を有する、より大きなネットワークの一部であってもよい。一実施形態においては、スキューはシステム全体(たとえば、送信機部および受信機部)に起因し得るものであるが、スキューは受信機部においてしか対処されていない。そのため、本開示の実施形態を説明する目的で受信機部が例示されている。
一実施形態においては、マルチレーン通信リンクはイーサネット(登録商標)回線インターフェイスであってもよい。たとえば、イーサネット回線インターフェイスは40ギガビットイーサネット(GBE:gigabit Ethernet)または100GBEであってもよい。ここで100GBEを参照しながら本開示を説明するが、本開示がいかなるマルチレーン通信リンクにも適用され得ることに留意されたい。
一実施形態においては、入力120は、物理コーディングサブレイヤ(PCS:physical coding sub-layer)レーンデマルチプレクサ(DEMUX:demultiplexer)102およびギアボックスモジュール104によって受信されてもよい。100GBEの場合、入力120は、4×25GBEレーンにわたってストライプ模様を呈する10個のレーンを含んでもよい。次いで、デマルチプレクサおよびギアボックスは、各々が5GBEである20個の仮想レーンを生成し得る。デマルチプレクサおよびギアボックスは別個のモジュールとして例示的に示されているが、これらの2つのモジュールによって実行される機能または動作は、単一のモジュールに実現することができる。
一実施形態においては、各々のレーンにおける各データパケットのためのタイムスタンプは、タイムスタンプ取込みモジュール106におけるギアボックス104の後に取込まれてもよい。タイムスタンプは、タイムスタンプ取込みモジュール106の「時間入力」信号に従って決定されてもよい。「時間入力」は実時間を表わすクロックであり得る。一実施形態においては、「時間入力」信号は、予め規定されたフィールドにおいて、予め規定されたフォーマット、符号化およびエポックで秒およびナノ秒からなる80ビット値であってもよい。一実施形態においては、「時間入力」は絶えず変化する。
一実施形態においては、タイムスタンプは、破線152によって範囲が定められる直列化/非直列化(SerDes:serialize/deserialize)クロックのクロックサイクル毎にデマルチプレクサおよびギアボックスの後に、取込まれてもよい。一実施形態においては、これは、以下にさらに詳細に説明するように、補正済みタイムスタンプを計算するために用いられるタイムスタンプである。なお、一貫して同じものが用いられる限り、タイムスタンプを取込むためにいかなる任意のデマルチプレクサおよびギアボックスが用いられてもよいことに留意されたい。
一実施形態においては、時間「t」は、取込みポイントと任意の基準面150との間の時間を表わす。一実施形態においては、SerDesからギアボックスまでのデータの転送時間が分かっているので、時間「t」は、タイムスタンプに基準面150を参照させるためにタイムスタンプから減じられてもよい。一実施形態においては、レーンの各々のためのタイムスタンプが、通信バス160を介し、ライン130を通ってコア論理110に送信されてもよい。
一実施形態においては、20個のレーンの各々におけるデータパケットがレーンアラインバッファ108に渡される。一実施形態においては、レーンアラインバッファは先入れ先出し(FIFO:first-in-first-out)メモリバッファであってもよい。一実施形態においては、レーンアラインバッファ108は、マルチレーン通信リンクの各レーンのためのFIFOメモリバッファを含む。
一実施形態においては、各々のFIFOメモリバッファは、計算されるかまたは予め決定されるフィルレベルを有してもよい。フィルレベルは、マルチレーン通信リンク内における他のレーンに対する如何なるスキュー(たとえば時間遅延)をも補償するために用いられる1ビット以上を含んでもよい。一実施形態においては、各々のレーンについてのフィルレベル、基準フィルレベルおよびタイムスタンプを用いて、データパケットのための補正済みタイムスタンプを計算してもよい。
図2は、アライメント論理の一例と、マルチレーン通信リンクの各レーンについてフィルレベルがどのように計算され得るかとを例示する。高レベルでは、異なるクロックドメインClock_R208およびClock_C222の上にあり得る、Read_En221を生成する読出しポインタとWrite_En220を生成する書込みポインタとの時間平均によって、各々のレーンについてのフィルレベルが決定され得る。
図2をより詳細に参照すると、4つのレーン99の各々は、それ自体の受信SerDes200において終端となり、その各々は、Clock_R208およびデータ207を回復させるための公知の回路や、さらには、各々の直列レーンをn個の並列ラインに変換する公知の多重分離回路を含む。例では4つのレーンを示しているが、本開示がレーンの数によって限定されないことが理解されなければならない。以下において説明されるアライメント検出器201およびメモリ202がレーン毎に繰返されるが、これらが共通のシステムの一部としてソフトウェアで実現され得ることが理解されるだろう。一実施形態においては、メモリ202は図1に示されるレーンアラインバッファ108と同様である。
データ207は、以下の機能のうち少なくとも1つを実行するアライメント検出回路201に転送される。以下の機能とは、すなわち、ワード境界を決定する機能、必要に応じてビットを反転させる機能、解読する機能、32ビット周期冗長検査(CRC32)、同期のために用いられるビットパターンを識別する機能、および、そのビットパターンの存在を表示する機能を含む。いくつかの実施形態においては、解読およびCRC32などの機能は、たとえば802.3baイーサネットの場合、アライメント検出器においては不要である。いくつかの実施形態においては、ビット同期化ビットパターンを識別するには、インターラーケン(Interlaken)プロトコルの場合には、パターンが2回以上、たとえば4回、検出されることが必要である。同期パターンが確実に検出されたとき、信号210「検出済み同期ワード(Synch Word Detected)」には値TRUEが割当てられる。インターラーケンプロトコルの場合に少なくとも1回、たとえば4回、検出を行うには、いくつかの実施形態における同期ワードの確実な検出が必要とされる。同期パターンが確実に検出されない場合、検出済み同期ワード信号210には値FALSEが割当てられる。いくつかの実施形態においては、エラーの検出を2回以上、たとえばインターラーケンプロトコルの場合には4回、行った後、同期パターンの検出が不確実になる。
TRUE値を有する信号210の条件は、Write_En信号220がアサートされた結果、Clock_Rがデータ209をFIFOメモリ202に書込むことを引起こすだろう。いくつかの実施形態においては、同期ワードは、たとえばアライメントパターンなどの他のさまざまな名前で既知であってもよく、または、無名であってもよいが、同じ機能を実行することにより、さまざまなレーン上におけるデータの到達時間のずれを補正する手段を提供し得る。
データは、文字「D」によって指定される第1のメモリ位置240における同期ワードの後における第1の有効データワードから始まって順々に、FIFO202に書込まれる。次いで、後続の受信データが、受信されると順次、FIFOに書込まれる。この後続の受信データは、データ(D)または制御情報(C)などのさまざまな情報を含み得る。
各々のレーンのための受信機は、集められた信号230として示される同期ワード信号210の検出に対応する出力を各々が備えるアライメント検出回路201の複製と、FIFOメモリ202の複製とを含む。TRUEであるすべての検出信号の条件が発生すると、回路205はTRUE出力信号221(たとえば、Read_En信号)を生成する。これは、それぞれの出力論理で4つのFIFO回路すべてに同時に提示される。Read_En信号221がTRUEである場合、Clock_C222がアクティブになって、FIFO202に格納されたのと同じ順序でデータ224を読出す。
この手順の後、4つのレーン毎のデータ224が、スキューが除去されてしまうように時間内に位置合わせされることが確実にされる。出力回路203は、正確な時間にすべてのレーンから並列にデータ250を受信する。なぜなら、Read_En221が各FIFOの出力ポートに分配されるからである。いくつかの実施形態においては、回路203は、たとえば、1つ以上のレーン上で障害があった場合には、総数のレーンよりも少ない数のレーンからデータ250を受信する。総トラヒックがより少数のレーンによってサポートされ得る場合、回路203はまた、総数のレーンよりも少ない数のレーンを読出すようにプログラムされる可能性がある。この場合、未使用のレーンは電力を節約するために遮断される可能性がある。
回路203による付加的な処理の後、デスキューされたデータは、j個の物理行から構成されるデータリンク225上での後続の処理または送信のために他の回路に利用可能となる。この場合、jは少なくとも1である。なお、FIFOがオーバーフローしないような速度でデータをFIFOから読出すことができるのであれば、Clock_CがClock_Rと同じ周波数でなくてもよいことに留意されたい。したがって、この方法によって、回路の追加なしでもクロックドメイン適合機能が実行され得ることが認められるだろう。FIFO202が、読出し前にメモリ位置を使い果たしてしまった場合、オーバーフロー信号226がTRUEの値に設定される。通常の動作条件下では、f(Clock_C)>=f(Clock_R)という要件のせいで、オーバーフロー=TRUEとはならないだろう。しかしながら、グリッチまたは他の外部エラーがFIFOオーバーフローを引起こす場合、この信号は、論理をリセットするかまたはアラームを発生させるなどの補正動作を行うために使用可能となる。
図1を再び参照すると、各レーンについてのフィルレベルが計算または決定されると、各レーンについてのフィルレベルが、通信バス160を介し、ライン132を通ってコア論理モジュール110に送信されてもよい。加えて、データパケットは、通信バス160を介し、ライン134を通ってコア論理モジュール110に送信されてもよい。
一実施形態においては、コア論理モジュール110は、物理コーディングサブレイヤ(PCS:physical coding sub-layer)デコーダ112、メディアアクセスコントローラ(MAC:media access controller)114、および1588論理モジュール116を含み得る。一実施形態においては、データパケットは、PCSデコーダ112に供給されて復号されてもよい。一実施形態においては、PCSデコーダ112は、パケットの開始(SOP:Start of a Packet)および各々のSOPに関連付けられたレーンを識別し得る。
一実施形態においては、1588論理モジュール116は、SOP、PCSデコーダ112からの、各SOPに関連付けられたレーン、および、タイムスタンプ取込み106からのタイムスタンプを受信し得る。一実施形態においては、1588論理モジュール116は、IEEE1588によって規定されるように特定のタイムスタンプを予期して待っている論理モジュールを含み得る。特に、1588論理モジュール116は、SOPに関連付けられたタイムスタンプを予期して待っている可能性がある。
一実施形態においては、1588論理モジュール116はタイムスタンプをSOPと特定してもよい。SOPのタイムスタンプは補正済みタイムスタンプを計算するために用いられるタイムスタンプである。1588論理モジュール116が受信した他のいずれのタイムスタンプも廃棄される。
一実施形態においては、レーンアラインバッファ132の各レーンについてのフィルレベルは、処理なしでコア論理モジュール110に通される。一実施形態においては、論理バス(LBUS:logic bus)は、出力としてパケットデータ(たとえば、512ビット)を受信する。次いで、LBUSはこの情報を補正論理モジュール118に渡す。補正論理モジュール118は、マルチレーン通信リンクにおけるレーンの各々のデータパケットのために補正済みタイムスタンプを計算し得る。補正論理モジュール118はまた、1588論理モジュールからのSOPの到達時刻についてのタイムスタンプと、レーンアラインバッファ108からのレーンの各々と関連付けられるフィルレベルとを受信する。
一実施形態においては、補正論理モジュール118は、データパケットのタイムスタンプ(たとえば、SOP)、データパケットを担持するレーンについてのフィルレベル、および基準フィルレベルの関数として、補正済みタイムスタンプを計算し得る。一実施形態においては、基準フィルレベルは、最小フィルレベル(たとえば、すべてのレーンのうち最低フィルレベル)、最大フィルレベル(たとえば、すべてのレーンのうち最高フィルレベル)、または、平均フィルレベル(たとえば、レーンの総数によって割られるフィルレベルの合計)であってもよい。
一実施形態においては、レーンのフィルレベルおよび基準フィルレベルは、正の数または負の数であり得る。たとえば、フィルレベルおよび/または基準フィルレベルが正の数または負の数であるかどうかは、レーンのフィルレベルが基準フィルレベルに対して正であるかまたは負であるかどうかに左右され得る。
一実施形態においては、補正論理モジュール118は、レーンのフィルレベルおよび基準フィルレベルによってタイムスタンプを調整することにより、補正済みタイムスタンプを計算する。一実施形態においては、以下の式が用いられてもよい。
式(1):補正済みタイムスタンプ=タイムスタンプ+/レーンのフィルレベル+/−基準フィルレベル
一実施形態においては、補正論理モジュール118は、計算に一貫性が得られ得るように、すべての値を共通の単位に変換してもよい。たとえば、レーンのフィルレベルおよび基準フィルレベルは、ビット数であってもよい。補正論理モジュール118は、クロックサイクル毎の既知のビット数およびクロックサイクルの周波数に基づいて、フィルレベルおよび基準レベルのビット数をクロックサイクルまたはナノ秒の単位に変換してもよい。たとえば、回路100が66ビット/クロックサイクルを読出し、回路100が1ナノ秒当たり2.1クロックサイクルを有する場合、クロックサイクルまたはナノ秒のいずれかの点から補正済みタイムスタンプが計算され得る。
一実施形態においては、補正済みタイムスタンプが計算されると、レーンの各々におけるデータパケットの各々のためのタイムスタンプが補正済みタイムスタンプと置換えられてもよい。結果として、マルチレーン通信リンクの各々におけるタイムスタンプがスキューに関して補正されるだろう。結果として、スキューによるスレーブクロックの変化に関する上述の問題が、本開示によって解決される可能性がある。
図3は、スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するための方法300のフローチャートを示す。一実施形態においては、当該方法300は、図4に例示され以下に記載される汎用コンピュータ(もしくは他のいずれかのハードウェア同等装置)によって、または、上述のとおり論理回路もしくはプログラム可能な集積回路として実現される補正論理118によって、実行されてもよい。
方法300はステップ302から始まる。ステップ304において、方法300では、データパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーンについてのフィルレベルを受信する。たとえば、補正論理モジュールは、データパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーンについてのフィルレベルを受信してもよい。
一実施形態においては、タイムスタンプは、1588論理モジュールによってフィルタリングされてもよく、たとえば、タイムスタンプはパケットの開始(SOP)に関連付けられる。他のすべてのタイムスタンプが廃棄されてもよい。
一実施形態においては、補正論理モジュールは、データパケットを担持するマルチレーン通信リンクにおけるすべてのレーンについてのフィルレベルを受信してもよい。すべてのレーンについてのフィルレベルは基準フィルレベルを選択するかまたは計算するのに用いられてもよい。一実施形態においては、基準フィルレベルは、すべてのフィルレベルのうち最小フィルレベル、すべてのフィルレベルのうち最大フィルレベル、またはすべてのフィルレベルのうち平均フィルレベルであってもよい。
ステップ306において、方法300では、データパケットのための補正済みタイムスタンプを計算する。一実施形態においては、補正論理モジュールは、レーンのフィルレベルおよび基準フィルレベルによってタイムスタンプを調整することにより、補正済みタイムスタンプを計算してもよい。一実施形態においては、レーンのフィルレベルおよび基準フィルレベルは、正の数または負の数であってもよい。たとえば、フィルレベルおよび/または基準フィルレベルが正の数または負の数であるかどうかは、レーンのフィルレベルが基準フィルレベルに対して正であるかまたは負であるかどうかに左右され得る。一実施形態においては、式(1)は、補正済みタイムスタンプを計算するために用いられてもよい。
一実施形態においては、補正論理モジュールは、計算に一貫性が得られ得るように、すべての値を共通の単位に変換してもよい。たとえば、レーンのフィルレベルおよび基準フィルレベルはビット数であってもよい。補正論理モジュールは、クロックサイクル毎の既知のビット数およびクロックサイクルの周波数に基づいて、フィルレベルおよび基準レベルのビット数をクロックサイクルまたはナノ秒の単位に変換してもよい。たとえば、回路100が66ビット/クロックサイクルを読出し、回路100が1ナノ秒当たり2.1クロックサイクルを有する場合、補正済みタイムスタンプがクロックサイクルまたはナノ秒のいずれかの点から計算されてもよい。
ステップ308において、方法300では、データパケットのためのタイムスタンプを補正済みタイムスタンプと置換える。たとえば、SOPについてのタイムスタンプは補正済みタイムスタンプと置換えられてもよい。
ステップ310において、方法300では、タイムスタンプを補正させる必要のあるデータパケットを備えた付加的なレーンがあるかどうかが判断される。ステップ310に対する応答が肯定的である場合、当該方法がステップ304に戻されて、ステップ304、ステップ306およびステップ308が繰返される。言いかえれば、方法300は、マルチレーン通信リンクにおけるそれぞれのデータパケットを有する複数のレーンのレーン毎に繰返されてもよい。
たとえば、方法300がマルチリンク通信パケットのレーン毎に繰返された後、マルチレーン通信リンクの各レーンにおける各SOPのためのタイムスタンプは、補正済みタイムスタンプと置換えられてもよい。結果として、スレーブクロックの精度が向上する。
ステップ310に対する応答が否定的である場合、レーンの各々におけるデータパケットの各々についてのタイムスタンプが補正されている。方法300がステップ312に進められ、そこで終了する。
具体的には規定されていないが、上述される方法300の1つ以上のステップ、ブロックまたは機能が、特定用途のために必要に応じて記憶するステップ、表示するステップおよび/または出力するステップを含み得ることに留意されたい。言い換えれば、当該方法において説明されるいかなるデータ、記録、フィールドおよび/または中間結果も、特定用途のために必要に応じて別の装置に記憶、表示および/または出力され得る。さらに、判断動作を列挙するかまたは決定を含む図3におけるステップ、ブロックまたは機能は、判断動作の分岐がともに実施されることを必ずしも必要とはしない。言いかえれば、判断動作の分岐のうちの一方は任意のステップと見なすことができる。
図4は、この明細書中に記載される機能を実行する際に用いるのに適した汎用コンピュータのハイレベルブロック図を示す。図4に示されるように、システム400は、ハードウェアプロセッサ要素402(たとえば、CPU)、メモリ404、たとえば、ランダムアクセスメモリ(RAM:random access memory)、および/または読取り専用メモリ(ROM:read only memory)、集積回路(IC:integrated circuit)のスキューを含むマルチレーン通信リンクにおけるタイムスタンプを補正するためのモジュール405、たとえば、プログラム可能な集積回路など、ならびに、さまざまな入力/出力装置406、たとえば、テープドライブ、フロッピー(登録商標)ドライブ、ハードディスクドライブまたはコンパクトディスクドライブ、受信機、送信機、スピーカ、ディスプレイ、音声合成装置、出力ポートおよびユーザ入力装置(キーボード、キーパッド、マウスなど)を含むが、これらに限定されない記憶装置、を含む。
本開示が、たとえば、特定用途向け集積回路(ASIC:application specific integrated circuit)、FPGAなどのプログラム可能な集積回路(IC:integrated circuit)、汎用コンピュータまたは他のいずれかのハードウェア相当物を用いて、ソフトウェアで、および/またはソフトウェアとハードウェアとを組合せて実現することができることに留意されたい。たとえば、上述の方法に関するコンピュータ読取り可能な命令は、上述の方法のステップまたは機能を実行するようにハードウェアプロセッサを構成するために用いることができる。一実施形態においては、スキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するためのこのモジュールまたはプロセス405、たとえばプログラム可能な集積回路は、メモリ404にロードすることができ、ハードウェアプロセッサ402によって実行されて、上述のような機能を実現することができる。このため、本開示の(関連するデータ構造を含む)方法300において上述されるようなIC、たとえばプログラム可能な集積回路、のためにスキューのあるマルチレーン通信リンクにおけるタイムスタンプを補正するためのこのプロセス405は、非一時的な(たとえば、有形的または物理的な)コンピュータ読取可能記憶媒体、たとえばRAMメモリ、磁気ドライブもしくは光ドライブ、またはディスケットなどに格納することができる。
本開示の実施形態も、調整可能なIC、たとえばプログラム可能な集積回路、によって全体的または部分的に実現され得る。より具体的には、プログラム可能な集積回路は、さまざまな選択された機能を実現するためにユーザによってプログラムすることができる汎用装置である。プログラム可能な集積回路は、一連の構成可能論理ブロック(CLB:configurable logic block)および複数の入出力ブロック(IOB:input/output block)を含んでもよい。CLBは、個々にプログラム可能であり、少数の入力信号でさまざまな論理関数を実行するように構成することができる。IOBは、プログラム可能な集積回路のCLBから外部ピンにまで出力信号を駆動するように、および/または、外部のプログラム可能な集積回路ピンから入力信号を受信するように、構成することができる。プログラム可能な集積回路はまた、多くの入力信号のより多くの複素関数を生成するために、さまざまなCLBおよびIOBの中から信号を選択的にルーティングするようにプログラムすることができるプログラム可能な相互接続構造を含む。CLB、IOBおよびプログラム可能な相互接続構造は、プログラム可能な集積回路におけるユーザ設計を実現するように構成データによって特定された論理およびルーティング機能を実現するために、CLB、IOBおよび相互接続構造内におけるさまざまなスイッチおよびマルチプレクサを制御する関連するメモリセルに構成データをロードすることによって、プログラムされる。プログラム可能な集積回路はまた、他のプログラム可能およびプログラム不可能なリソースを含んでもよい。このため、図1および図2に関連付けて上述された回路は、図1および図2の回路のうちいずれか1つ以上の回路が有する1つ以上のいずれかの構成要素の同等の論理演算を実行する複数のCLBにおいて実現されてもよい。このため、一実施形態においては、システム400は、上に開示されるようなさまざまな機能を実行するようにプログラム可能な集積回路を構成するための必要な構成データ/命令を生成するように構成することができる。
上述において、本開示の1つ以上の局面に従って例示的な実施形態を説明しているが、添付の特許請求の範囲およびその同等物によって決定される範囲から逸脱することなく、本開示の1つ以上の局面に従った他の実施形態およびさらなる実施形態が考案され得る。ステップを列挙する請求項は、当該ステップの如何なる順序をも示唆するものではない。商標はそれぞれの商標権所有者の所有物である。



  1. マルチレーン通信リンクにおけるタイムスタンプを補正するための方法であって、
    データパケット、データパケットのためのタイムスタンプ、およびデータパケットを担持するマルチレーン通信リンクのレーンについてのフィルレベルを受信するステップと、
    データパケットのための補正済みタイムスタンプを計算するステップと、
    データパケットのためのタイムスタンプを補正済みタイムスタンプと置換えるステップとを含む、方法。

  2. 前記受信するステップ、前記計算するステップおよび前記置換えるステップが、マルチレーン通信リンクにおけるそれぞれのデータパケットを有する複数のレーンのレーン毎に繰返される。請求項1に記載の方法。

  3. タイムスタンプは、データパケットの開始のタイムスタンプに対応する。請求項1または2に記載の方法。

  4. タイムスタンプは、直列化/非直列化クロックドメインにおいてクロックサイクル毎にギアボックスの後に取込まれる、請求項1から3のいずれかに記載の方法。

  5. フィルレベルは、1ビット以上の基準を含む、請求項1から4のいずれかに記載の方法。

  6. フィルレベルは、第1のクロックドメインにおける読出しポインタと第2のクロックドメインにおける書込みポインタとの時間平均に基づいて、マルチレーン通信リンクにおける複数のレーンのレーン毎に先入れ先出しバッファによって計算される、請求項1から5のいずれかに記載の方法。

  7. 前記計算するステップは、タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルの関数である、請求項1から6のいずれかに記載の方法。

  8. 基準フィルレベルは最小フィルを含む、請求項7に記載の方法。

  9. 基準フィルレベルは最大フィルレベルを含む、請求項7に記載の方法。

  10. 基準フィルレベルは平均フィルレベルを含む、請求項7に記載の方法。

  11. タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルは各々、クロックサイクルの単位に変換される、請求項7から10のいずれかに記載の方法。

  12. タイムスタンプ、レーンのフィルレベルおよび基準フィルレベルは各々、ナノ秒の単位に変換される、請求項7から11のいずれかに記載の方法。

  13. 集積回路であって、
    入力信号を複数のレーンに分割するためのデマルチプレクサおよびギアボックスモジュールを含み、各々のレーンは少なくとも1つのデータパケットを担持し、前記集積回路はさらに、
    少なくとも1つのデータパケットの各々のためのタイムスタンプを取込むためのタイムスタンプ取込みモジュールと、
    複数のレーンの各レーンについてのフィルレベルを生成するためのレーンアラインバッファと、
    補正論理モジュールとを含み、前記補正論理モジュールは、少なくとも1つのデータパケット、少なくとも1つのデータパケットのためのタイムスタンプ、および、少なくとも1つのデータパケットを担持する複数のレーンの各レーンについてのフィルレベルを受信し、少なくとも1つのデータパケットのための補正済みタイムスタンプを計算し、少なくとも1つのデータパケットのためのタイムスタンプを補正済みタイムスタンプと置換えるためのものである、集積回路。

  14. 補正論理は、タイムスタンプ、少なくとも1つのデータパケットを担持する複数のレーンのうち或るレーンのフィルレベルおよび基準フィルレベルの関数として、補正済みタイムスタンプを計算する、請求項13に記載の集積回路。

  15. 基準フィルレベルは、最少フィルレベルまたは最大フィルレベルまたは平均フィルレベルを含む、請求項12に記載の集積回路。

 

 

Patent trol of patentswamp
類似の特許
クライアント側のメディアプレゼンテーションが、欠落しているセグメントファイルがある場合に、連続的、または少なくとも実質的に連続的であり得るように、メディアプレゼンテーションにスケーラビリティが組み込まれることを可能にする、システム、方法、およびデバイスを提供する。ある実施形態では、1つまたは複数のセグメントファイルの損失は、欠落しているセグメントファイルに関連付けられるメディアプレゼンテーション間隔がクライアント側でスキップされることを必要としない場合がある。システム、方法、およびデバイスは、ライブストリーミングおよび/またはオンデマンドプレゼンテーションにおけるスケーラビリティを可能にする。
D2D(device−to−device)通信の間に複数の装置への送信を補償する方法は、D2Dペアの受信無線装置がタイミング衝突を経験し得ることを決定するステップを有しても良い。タイミング衝突は、受信無線装置が送信モードと受信モードとの間を遷移している間に、受信無線装置が、D2Dペアの送信無線装置により送信されたD2D通信の少なくとも一部を受信することに関しても良い。方法は、タイミング衝突を補償するためにD2D通信を調整するステップを更に有しても良い。
アップリンク/ダウンリンクチャネル可逆性を利用するマルチユーザ(MU)伝送を用いた複数のアンテナシステム(MAS)(「MU−MAS」)における無線周波数(RF)校正のためのシステム及び方法が記載される。RF校正は、アップリンクチャネル推定値に基づいて開ループダウンリンクプリコーダを計算するために使用され、それにより、閉ループ方式の場合のようなチャネル状態情報のためのフィードバックオーバーヘッドが回避される。例えば、一実施形態のMU−MASは、クライアント間干渉をなくし、ネットワーク容量を増大させるプリコーディング法により協働的に動作する、1つ又は複数のビーコン局、複数のクライアント装置、及び複数の分散アンテナとを備える無線セルラネットワークを含む。
【選択図】図16
上流ofdmシンボルからの複数の上流訓練ブロックを複数の下流ネットワークユニットに割り当てるプロセッサであって、ofdmシンボルは、所定の時間間隔内の上流rfスペクトルにわたって等間隔に配置された複数のパイロット副搬送波を備え、各上流訓練ブロックは、不連続で、上流rfスペクトルにわたって位置付けられたパイロット副搬送波の異なるサブセットを備える、上流訓練ブロックの割当てを備えるメッセージを生成するプロセッサと、該プロセッサに結合され、ネットワークを介してその複数の下流ネットワークユニットにメッセージを送信する送信機であって、それらのメッセージは、その複数の下流ネットワークユニットに、該下流ネットワークユニットに割り当てられた上流訓練ブロックに対応するパイロット副搬送波で、変調された所定の系列を送信するよう命令する送信機とを備える中央アクセスネットワークユニット。
送信されるべきデータの各nビットをパリティチェックビットで符号化して(n+1)ビット(n情報ビット+そのn情報ビットに関連する1パリティビット)のブロックを生成するためのパリティビット符号器(902)を含むシステムと方法。(n+1)ビットのブロックの各々は、複数の関連するQAMシンボルにグレイマッピングされ(904)、これらのシンボルは、光波長に変調されて(906)受信機に送信される。最大事後確率(MAP)復号器は、受信機で使用されて(912)サイクルスリップを訂正する。180°の位相エラーは、グレイマッピングに先立って、奇数ビットと偶数ビットを独立して符号化し、受信機での奇数番号のビットの復号化においてエラーを識別する。
【選択図】図9
良好なチャネル状態の下でのofdmシステムにおけるサイクリックプレフィックスリソースの効果的な割振りのためのシステム、装置および方法を提供する。方法は、第2のネットワークデバイスから、シンボルとサイクリックプレフィックスとを含む送信を受信する第1のネットワークデバイスを含み得る。第1のネットワークデバイスは、サイクリックプレフィックスの使用可能な一部分のための第1の信号を判定し、サイクリックプレフィックスの使用可能な一部分に対応するシンボルの一部分のための第2の信号を判定する。第1のネットワークデバイスは、第1の信号と第2の信号とに基づいて第3の信号を判定する。
ワイヤレスデバイスが、一時的なチャネル状況またはデバイスの設定エラーに鑑みてデータレートを切り替えるように構成される。最大のグッドプットを達成する可能性が高い予め選択されたデータレートが、データレートテーブルに記憶される。データレートテーブルは、データレートテーブル内の各々の予め選択されたデータレートについて候補データレートを含む。予め選択されたデータレートを使用するプローブ送信が失敗であるとき、動的なレートのプロービングが、考えられる原因および問題の範囲を決定するために利用される。動的なレートのプロービング方式は、候補データレートを使用してプローブ送信を送信し、これらのプローブ送信の成功または失敗を追跡する。プローブ送信の分析が、考えられる原因および/または問題の状況の範囲を示し、データレートテーブル内のデータレートを再設定する必要があるか否かを決定するために使用される。
Diameterネットワークにおいてショートメッセージサービス(SMS)メッセージを通信するようDiameterプロキシエージェントを利用するための方法は、ホーム加入者サーバ(HSS)に方向付けられる移動加入者位置情報要求メッセージをSMSサービスセンターからDiameterインターフェイスを介して受信することを含み、移動加入者位置情報要求メッセージは受信側移動加入者に関連付けられている。当該方法はさらに、受信側移動加入者が異なるネットワークに転出したかどうか判断するようナンバーポータビリティデータベースにクエリ送信することと、受信側移動加入者が異なるネットワークに転出したという判断に応答して、異なるネットワークに関連付けられるゲートウェイに向かって移動加入者位置情報要求メッセージを転送することとを含む。上記方法はさらに、受信側移動加入者が異なるネットワークに転出されていないという判断に応答して、第1のネットワークまたは異なるネットワークにおけるHSSへ要求メッセージを転送することを含む。
【課題】本出願では、無線通信システムで第1の端末が信号を受信する方法を開示する。
【解決手段】具体的には、第2の端末から端末間の直接通信のための同期信号を受信するステップと、前記同期信号に基づいて同期を獲得するステップと、前記第2の端末から端末間の直接通信のための境界信号を受信するステップと、前記境界信号に基づいて端末間の直接通信を用いた制御信号又はデータ信号を受信するステップを含み、前記同期信号は、一つのシンボルのうち一部分を用いて伝送されることを特徴とする。
【選択図】図50
一実施形態において、ユーザ装置UEとIPネットワーク内のIP接続のエンドポイントとの間の多重アクセス技術の移動体ネットワークを介するIP接続によって伝送されるアプリケーション層トラフィックの最適化のための方法が提供される。前記最適化はネットワーク情報サービスを用いて提供されるネットワーク情報に基づき、前記ネットワーク情報は前記IP接続用のネットワークパスの観点からプリファレンスを示すことができるパスコストを含み、前記ネットワークパスの観点からのプリファレンスはアクセス技術の観点からのプリファレンスを含む。
To top