(57)【要約】      （修正有）【課題】オーバーヘッドを低減し、ペイロードを簡素化する効率的で堅固なフレーミングプロトコルの実現。【解決手段】送信ソースが、ペイロードのフレーム境界を定め、ペイロードのサブセットの関数として値を計算し、その値を、フレームの送信前に、フレーム境界内のペイロードに付加する、通信リンクを確立するためのシステムおよび技術。受信ソースは、ペイロードのサブセットの関数として値を計算し、計算した値を受信した値と比較し、比較の関数として、正当なペイロードを検出する。【選択図】図３
2009189008.tif 000002
【特許請求の範囲】
【請求項１】
下記を具備する、ペイロードをフレーム化する方法：
ペイロードのフレーム境界を定める；
ペイロードのサブセットの関数として値を計算する；および
前記値を前記フレーム境界内の前記ペイロードに付加する。
【請求項２】
前記フレームの境界を定めることは、前記ペイロードの開始にプリアンブルを付加することを具備し、前記プリアンブルは前記値を有する、請求項１の方法。
【請求項３】
前記ペイロードは複数のバイトを具備し、前記ペイロードの前記サブセットは、前記プリアンブルに続く、前記ペイロードの第３バイト、第４バイト、および第５バイトを具備する、請求項２の方法。
【請求項４】
前記ペイロードのバイト数を示すレングスフィールドを前記プリアンブル内に配置することをさらに具備し、前記値の計算は、さらに、前記レングスフィールドの関数である、請求項３の方法。
【請求項５】
前記値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項４の方法。
【請求項６】
前記ペイロードの第２のサブセットの関数として第２の値を計算し、前記第２の値を前記フレーム境界内の前記ペイロードの最後に付加することを具備する、請求項５の方法。
【請求項７】
前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの最後のバイトを具備し、前記第２の値の前記計算は、前記ペイロードの前記サブセットと前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項６の方法。
【請求項８】
前記フレームの境界を定めることは、前記値を、前記ペイロードの最後に付加することを具備する、請求項１の方法。
【請求項９】
前記ペイロードは、複数のバイトを具備し、前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの前記最後のバイトを具備する、請求項８の方法。
【請求項１０】
前記フレームの境界を定めることは、レングスフィールドを有するプリアンブルを前記ペイロードの前記開始に付加することを具備し、前記値の前記計算は、さらに前記レングスフィールドの関数である、請求項９の方法。
【請求項１１】
前記値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項１０の方法。
【請求項１２】
前記ペイロードは、最大数のバイトを具備し、前記フレームの境界を定めることは、プリアンブルを前記ペイロードの前記開始に付加することを具備し、前記プリアンブルは、第１のバイト、前記開始フラッグに続く値、および前記値に続くレングスフィールドを有する開始フラッグを具備し、前記レングスフィールドは、前記ペイロード内のバイト数を示し、前記値および前記レングスフィールドの一部分は、第２バイトを具備し、前記第２バイトは、前記ペイロード内の最大バイト数によるバイト値のサブセットに制限され、前記方法は、前記第２バイトに利用可能な前記バイト値のサブセットと異なるバイト値を有する開始フラッグを選択することを具備する、請求項１の方法。
【請求項１３】
前記値は５ビットを具備し、前記レングスフィールドは、少なくとも３ビットを具備し、前記第２バイトは、前記５ビット値に続けて前記レングスフィールドの３つの最上位ビットを具備する、請求項１２の方法。
【請求項１４】
下記を具備する、フレーム内の正当なペイロードを決定する方法：
第１の値が付加されたペイロードを有するフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；および
前記比較の関数として正当なペイロードを検出する。
【請求項１５】
前記フレームの識別は、開始フラッグを検出することを具備する、請求項１４の方法。
【請求項１６】
前記ペイロードは、複数のバイトを具備し、前記方法はさらに、前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することを具備する、請求項１４の方法。
【請求項１７】
前記第２の値の前記計算は、さらに、前記レングスフィールドの関数である、請求項１６の方法。
【請求項１８】
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイト、および第５バイトを具備し、前記第２の値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項１７の方法。
【請求項１９】
前記レングスフィールドにより示されるペイロードバイトの数が閾値を越えるかどうか判断することをさらに具備し、前記正当なフレームの検出は、前記レングスフィールド判断の関数である、請求項１６の方法。
【請求項２０】
前記ペイロードを含む前記フレームは複数のバイトを具備し、前記方法はさらに、シリアルバイトストリームで前記フレームを受信し、前記第１のペイロードバイトの受信から所定の時間内にすべてのペイロードバイトが受信されたかどうかを判断することを具備し、前記正当なフレーム検出はさらにペイロードバイト判断の関数である、請求項１４の方法。
【請求項２１】
前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することをさらに具備し、前記ペイロードバイト判断は、前記レングスフィールド表示の関数である、請求項２０の方法。
【請求項２２】
前記ペイロードを含む前記フレームは、複数のバイトを具備し、前記方法は、シリアルバイトストリームで前記フレームを受信し、所定の時間内に受信したペイロードバイトの数をカウントし、および前記所定時間内の前記ペイロードバイトカウント値が閾値を下回るなら、正当なフレームを宣言することをさらに具備する、請求項１４の方法。
【請求項２３】
前記所定時間内のペイロードバイトが前記閾値を越えるなら、第２の所定時間内に受信したペイロードバイトの数を再カウントすることをさらに具備する、請求項２２の方法。
【請求項２４】
前記第１の値は、前記ペイロードの前記開始に付加され、前記フレームは、前記ペイロードの前記最後に付加された第３の値を具備し、前記方法は、前記ペイロードの第２のサブセットの関数として第４の値を計算し、および前記第４の値を前記第３の値と比較することをさらに具備し、前記正当なペイロードの検出は、前記第１の値と前記第２の値の比較と、前記第３の値と前記第４値の比較の両方の関数である、請求項１４の方法。
【請求項２５】
正当なペイロード検出は、前記第３の値の直後の前記フレーム内の停止フラッグを確認することをさらに具備する、請求項２４の方法。
【請求項２６】
前記ペイロードは、複数のバイトを具備し、前記方法は、前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することをさらに具備する、請求項２４の方法。
【請求項２７】
前記第２の値の前記計算および前記第４の値の前記計算は、ともに、さらに前記レングスフィールドの関数である、請求項２６の方法。
【請求項２８】
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイトおよび第５バイトを具備し、前記ペイロードの前記第２サブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの前記最後のバイトを具備する、請求項２７の方法。
【請求項２９】
前記第２の値の計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備し、前記第４の値の前記計算は、前記ペイロードの前記第２サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項２８の方法。
【請求項３０】
ペイロードをフレーム化する方法を実行するためにコンピュータにより実行可能な命令群のプログラムを具現化するコンピュータ読み出し可能な媒体において、前記方法は、
ペイロードのフレーム境界を定め；
前記ペイロードのサブセットの関数として計算し；および
前記フレーム境界内で、前記値を前記ペイロードに付加する；
ことを具備する。
【請求項３１】
前記フレームの境界を定めることは、前記ペイロードの開始にプリアンブルを付加することを具備し、前記プリアンブルは値を有する、請求項３０のコンピュータ読み出し可能媒体。
【請求項３２】
前記フレームの境界を定めることは、前記ペイロードの開始にプリアンブルを付加することを具備し、前記プリアンブルは前記値を有する、請求項３１のコンピュータ読み出し可能媒体。
【請求項３３】
前記方法は、前記ペイロードのバイト数を示すレングスフィールドを前記プリアンブル内に配置することをさらに具備し、前記値の計算は、さらに、前記レングスフィールドの関数である、請求項３２のコンピュータ読み出し可能媒体。
【請求項３４】
前記値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項３３のコンピュータ読み出し可能媒体。
【請求項３５】
前記方法は、前記ペイロードの第２のサブセットの関数として第２の値を計算し、前記第２の値を前記フレーム境界内の前記ペイロードの最後に付加することを具備する、請求項３４のコンピュータ読み出し可能媒体。
【請求項３６】
前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの最後のバイトを具備し、前記第２の値の前記計算は、前記ペイロードの前記サブセットと前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項３５のコンピュータ読み出し可能媒体。
【請求項３７】
前記フレームの境界を定めることは、前記値を、前記ペイロードの最後に付加することを具備する、請求項３０のコンピュータ読み出し可能媒体。
【請求項３８】
前記ペイロードは、複数のバイトを具備し、前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの前記最後のバイトを具備する、請求項３０のコンピュータ読み出し可能媒体。
【請求項３９】
前記フレームの境界を定めることは、レングスフィールドを有するプリアンブルを前記ペイロードの前記開始に付加することを具備し、前記値の前記計算は、さらに前記レングスフィールドの関数である、請求項３８のコンピュータ読み出し可能媒体。
【請求項４０】
前記値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項３９のコンピュータ読み出し可能媒体。
【請求項４１】
前記ペイロードは、最大数のバイトを具備し、前記フレームの境界を定めることは、プリアンブルを前記ペイロードの前記開始に付加することを具備し、前記プリアンブルは、第１のバイト、前記開始フラッグに続く値、および前記値に続くレングスフィールドを有する開始フラッグを具備し、前記レングスフィールドは、前記ペイロード内のバイト数を示し、前記値および前記レングスフィールドの一部分は、第２バイトを具備し、前記第２バイトは、前記ペイロード内の最大バイト数によるバイト値のサブセットに制限され、前記方法は、前記第２バイトに利用可能な前記バイト値のサブセットと異なるバイト値を有する開始フラッグを選択することを具備する、請求項３０のコンピュータ読み出し可能媒体。
【請求項４２】
前記値は５ビットを具備し、前記レングスフィールドは、少なくとも３ビットを具備し、前記第２バイトは、前記５ビット値に続けて前記レングスフィールドの３つの最上位ビットを具備する、請求項４１のコンピュータ読み出し可能媒体。
【請求項４３】
ペイロードをフレーム化する方法を実行するためにコンピュータにより実行可能な命令群のプログラムを具現化するコンピュータ読み出し可能な媒体において、前記方法は、
ペイロードに付加された最初の値を有するペイロードを有するフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；および
前記比較の関数として正当なペイロードを検出する。
【請求項４４】
前記フレームの識別は、開始フラッグを検出することを具備する、請求項４３のコンピュータ読み出し可能媒体。
【請求項４５】
前記ペイロードは、複数のバイトを具備し、前記方法はさらに、前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することを具備する、請求項４３のコンピュータ読み出し可能媒体。
【請求項４６】
前記第２の値の前記計算は、さらに、前記レングスフィールドの関数である、請求項４５のコンピュータ読み出し可能媒体。
【請求項４７】
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイト、および第５バイトを具備し、前記第２の値の前記計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項４６のコンピュータ読み出し可能媒体。
【請求項４８】
前記方法は、前記レングスフィールドにより示されるペイロードバイトの数が閾値を越えるかどうか判断することをさらに具備し、前記正当なフレームの検出は、前記レングスフィールド判断の関数である、請求項４５のコンピュータ読み出し可能媒体。
【請求項４９】
前記ペイロードを含む前記フレームは複数のバイトを具備し、前記方法はさらに、シリアルバイトストリームで前記フレームを受信し、前記第１のペイロードバイトの受信から所定の時間内にすべてのペイロードバイトが受信されたかどうかを判断することを具備し、前記正当なフレーム検出はさらにペイロードバイト判断の関数である、請求項４３のコンピュータ読み出し可能媒体。
【請求項５０】
前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することをさらに具備し、前記ペイロードバイト判断は、前記レングスフィールド表示の関数である、請求項４３のコンピュータ読み出し可能媒体。
【請求項５１】
前記ペイロードを含む前記フレームは、複数のバイトを具備し、前記方法は、シリアルバイトストリームで前記フレームを受信し、所定の時間内に受信したペイロードバイトの数をカウントし、および前記所定時間内の前記ペイロードバイトカウント値が閾値を下回るなら、正当なフレームを宣言することをさらに具備する、請求項４３のコンピュータ読み出し可能媒体。
【請求項５２】
前記所定時間内のペイロードバイトが前記閾値を越えるなら、第２の所定時間内に受信したペイロードバイトの数を再カウントすることをさらに具備する、請求項５１のコンピュータ読み出し可能媒体。
【請求項５３】
前記第１の値は、前記ペイロードの前記開始に付加され、前記フレームは、前記ペイロードの前記最後に付加された第３の値を具備し、前記方法は、前記ペイロードの第２のサブセットの関数として第４の値を計算し、および前記第４の値を前記第３の値と比較することをさらに具備し、前記正当なペイロードの検出は、前記第１の値と前記第２の値の比較と、前記第３の値と前記第４値の比較の両方の関数である、請求項４３のコンピュータ読み出し可能媒体。
【請求項５４】
正当なペイロード検出は、前記第３の値の直後の前記フレーム内の停止フラッグを確認することをさらに具備する、請求項５３のコンピュータ読み出し可能媒体。
【請求項５５】
前記ペイロードは、複数のバイトを具備し、前記方法は、前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別することをさらに具備する、請求項５３のコンピュータ読み出し可能媒体。
【請求項５６】
前記第２の値の前記計算および前記第４の値の前記計算は、ともに、さらに前記レングスフィールドの関数である、請求項５５のコンピュータ読み出し可能媒体。
【請求項５７】
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイトおよび第５バイトを具備し、前記ペイロードの前記第２サブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの前記最後のバイトを具備する、請求項５６のコンピュータ読み出し可能媒体。
【請求項５８】
前記第２の値の計算は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備し、前記第４の値の前記計算は、前記ペイロードの前記第２サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることを具備する、請求項５７のコンピュータ読み出し可能媒体。
【請求項５９】
下記を具備する通信装置：
ペイロードのフレーム境界を定め、前記ペイロードのサブセットの関数として値を計算し、および前記フレーム境界内で前記値を前記ペイロードに付加するように構成されたプロセッサ；および
前記処理したフレームを送信するように構成された送信器。
【請求項６０】
前記プロセッサは、さらに、前記ペイロードの開始にプリアンブルを付加するように構成され、前記プリアンブルは前記値を有する、請求項５９の通信装置。
【請求項６１】
前記プロセッサは、さらに、前記ペイロードの第２のサブセットの関数として第２の値を計算し、前記第２の値を前記フレーム境界内の前記ペイロードの最後に付加するように構成される、請求項６０の通信装置。
【請求項６２】
前記ペイロードは複数のバイトから構成され、前記プロセッサはさらに、前記プリアンブルに、前記ペイロード内のバイト数を示すレングスフィールドを配置し、前記ペイロードの第２サブセットおよび前記レングスフィールドの関数として、前記第２の値を計算するように構成される、請求項６１の通信装置。
【請求項６３】
前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの最後のバイトを具備し、前記プロセッサはさらに、前記ペイロードの前記サブセットと前記レングスフィールドをイクスクルーシブＯＲすることにより前記第２の値を計算するようにさらに構成される、請求項６２の通信装置。
【請求項６４】
前記ペイロードは、複数のバイトを具備し、前記プロセッサは、さらに、前記プリアンブルに、前記ペイロード内のバイト数を示すレングスフィールドを配置し、前記ペイロードのサブセットおよび前記レングスフィールドの関数として前記値を計算するように構成される、請求項５９の通信装置。
【請求項６５】
前記ペイロードのサブセットは、前記プリアンブルに続く、前記ペイロードの第３バイト、第４バイトおよび第５バイトを具備し、前記プロセッサはさらに、前記ペイロードの前記サブセットと前記レングスフィールドをイクスクルーシブＯＲすることにより前記値を計算するように構成される、請求項６４の通信装置。
【請求項６６】
前記送信器は、無線送信器を具備する、請求項５９の通信装置。
【請求項６７】
前記送信器は、符号分割多重アクセス送信器を具備する、請求項６６の通信装置。
【請求項６８】
第２のペイロードに付加された第２の値を有する第２のペイロードを有する第２のフレームを受信する受信器をさらに具備し、前記プロセッサは、さらに前記第２ペイロードの第２の値の関数として第３の値を計算し、前記第３の値を前記第２の値と比較し、前記比較の関数として正当な第２のペイロードを検出するように構成される、請求項５９の通信装置。
【請求項６９】
前記受信器は、無線受信器を具備する、請求項６８の通信装置。
【請求項７０】
前記受信器は、符号分割多重アクセス受信器を具備する、請求項６９の通信装置。
【請求項７１】
下記を具備する通信装置：
第１の値が付加されたペイロードを有するフレームを受信するように構成された受信器；および
前記ペイロードのサブセットの関数として第２の値を計算し、前記第２の値を前記第１の値と比較し、前記比較の結果の関数として正当なペイロードを検出するように構成されたプロセッサ。
【請求項７２】
前記ペイロードは複数のバイトを具備し、前記プロセッサはさらに、前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別し、前記ペイロードの前記サブセットおよび前記レングスフィールドの関数として、前記第２の値を計算するように構成される、請求項７１の通信装置。
【請求項７３】
前記フレームはさらに、前記ペイロードの開始に付加された前記第１の値を有するプリアンブルをさらに具備し、前記ペイロードの前記サブセットは、前記プリアンブルに続く、第３バイト、第４バイト、および第５バイトを具備し、前記プロセッサはさらに、前記ペイロードのサブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることにより前記第２の値を計算するように構成される、請求項７２の通信装置。
【請求項７４】
前記プロセッサは、前記レングスフィールドにより示されるペイロードバイトの数が閾値を越えるかどうかを判断するように構成され、前記正当なペイロードの検出は、前記レングスフィールド判断の関数である、請求項７２の通信装置。
【請求項７５】
前記ペイロードを含む前記フレームが複数のバイトを具備し、前記受信器はさらに、シリアルバイトストリームで前記フレームを受信するように構成され、前記プロセッサは、さらに、最初のペイロードバイトの受信から所定時間内にすべてのペイロードバイトが受信されたかどうかを判断するように構成され、前記プロセッサによる前記正当なフレームの検出は、さらに前記ペイロードバイト判断の関数である、請求項７１の通信装置。
【請求項７６】
前記プロセッサは、さらに前記ペイロード内のバイト数を示す前記フレーム内のレングスフィールドを識別するように構成され、前記ペイロードバイト判断は、前記レングスフィールド表示の関数である、請求項７５の通信装置。
【請求項７７】
前記ペイロードを含む前記フレームは複数のバイトを具備し、前記受信器はさらに、シリアルバイトストリームで前記フレームを受信するように構成され、前記プロセッサは、さらに、所定時間内に受信したペイロードバイトの数をカウントし、前記所定時間内の前記ペイロードバイトカウントが閾値を下回るなら、不当なフレームであることを宣言するように構成される、請求項７４の通信装置。
【請求項７８】
前記プロセッサは、前記所定時間内の前記ペイロードバイトが前記閾値を越えるなら第２の所定時間内に受信したペイロードバイトの数を再カウントするように構成される、請求項７７の通信装置。
【請求項７９】
前記最初の値は、前記ペイロードの開始に付加され、前記フレームは、前記ペイロードの最後に付加された第３の値を具備し、前記プロセッサは、前記ペイロードの第２サブセットの関数として第４の値を計算し、前記第４の値を前記第３の値と比較するように構成され、前記プロセッサによる正当なペイロード検出は、前記第１の値と前記第２の値の比較、および前記第３の値と前記第４の値の比較の両方の関数である、請求項７１の通信装置。
【請求項８０】
前記ペイロードは、複数のバイトを具備し、前記プロセッサは、さらに前記ペイロード内のバイトの数を示す前記フレーム内のレングスフィールドを識別するように構成され、前記プロセッサによる前記第２の値と前記第４の値の両方の計算はさらに、前記レングスフィールドの関数である、請求項７９の通信装置。
【請求項８１】
前記ペイロードの前記サブセットは、前記プリアンブルに続く、第３バイト、第４バイトおよび第５バイトを具備し、前記ペイロードの前記第２サブセットは、前記プリアンブルに続く、前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイトを具備し、前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの最後のバイトを具備する、請求項８０の通信装置。
【請求項８２】
前記プロセッサはさらに、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることにより前記第２の値を計算し、前記ペイロードの前記第２のサブセットと前記レングスフィールドをイクスクルーシブＯＲすることにより前記第４の値を計算するように構成される、請求項８１の通信装置。
【請求項８３】
前記受信器は無線受信器を具備する、請求項７１の通信装置。
【請求項８４】
前記受信器は、符号分割多重アクセス受信器を具備する、請求項８３の通信装置。
【請求項８５】
前記プロセッサはさらに第２ペイロードの第２フレーム境界を定め、前記第２ペイロードの第２サブセットの関数として第３の値を計算し、前記第３の値を前記第２フレーム境界内の前記ペイロードに付加するように構成され、前記通信装置は、さらに前記処理した第２フレームを送信するように構成された送信器を具備する、請求項７１の通信装置。
【請求項８６】
前記送信器は、無線送信器を具備する、請求項８５の通信装置。
【請求項８７】
前記送信器は、符号分割多重アクセス送信器を具備する、請求項８６の通信装置。
【請求項８８】
下記を具備する通信装置：
ペイロードのフレーム境界を定める手段；
前記ペイロードのサブセットの関数として値を計算するための計算手段；および
前記値を前記フレーム境界内の前記ペイロードに付加する付加手段。
【請求項８９】
前記付加手段は、プリアンブルを前記ペイロードの開始に付加し、前記プリアンブルは前記値を有する、請求項８８の通信装置。
【請求項９０】
前記ペイロードの第２サブセットの関数として第２の値を計算する手段と、前記第２の値を前記フレーム境界内の前記ペイロードの最後に付加する第２付加手段をさらに具備する、請求項８９の通信装置。
【請求項９１】
前記ペイロードは、複数のバイトを具備し、前記付加手段は、前記プリアンブルに、前記ペイロード内のバイトの数を示すレングスフィールドを配置し、前記第２計算手段は、前記ペイロードの前記第２サブセットおよび前記レングスフィールドの関数として前記第２の値を計算する、請求項９０の通信装置。
【請求項９２】
前記ペイロードの前記第２サブセットは、前記プリアンブルに続く、第３バイト、第４バイト、および第５バイト、および前記ペイロードの最後のバイトを具備し、前記第２の計算手段は、前記ペイロードの前記第２サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることにより、前記第２の値を計算する、請求項９１の通信装置。
【請求項９３】
前記ペイロードは複数のバイトを具備し、前記付加手段は、前記プリアンブルに、前記ペイロード内のバイトの数を示すレングスフィールドを配置し、前記計算手段は、前記ペイロードの前記サブセットおよび前記レングスフィールドの関数として前記値を計算する、請求項８９の通信装置。
【請求項９４】
前記ペイロードの前記サブセットは、前記プリアンブルに続く、第３バイト、第４バイトおよび第５バイトを具備し、前記計算手段は、前記ペイロードの前記サブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることにより前記値を計算する、請求項９３の通信装置。
【請求項９５】
下記を具備する通信装置：
第１の値が付加されたペイロードを有するフレームを識別する手段；
前記ペイロードのサブセットの関数として第２の値を計算する計算手段；
前記第２の値を前記第１の値と比較する手段；および
前記比較の関数として正当なペイロードを検出する検出手段。
【請求項９６】
前記ペイロードは、複数のバイトを具備し、前記通信装置は、さらに前記ペイロード内のバイトの数を示す前記フレーム内のレングスフィールドを識別する手段をさらに具備し、前記計算手段は、前記ペイロードの前記サブセットと前記レングスフィールドの関数として前記第２の値を計算する、請求項９５の通信装置。
【請求項９７】
前記ペイロードの開始に付加された前記最初の値を有するプリアンブルをさらに具備し、前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイト、および第５バイトを具備し、前記計算手段は、前記ペイロードのサブセットと前記レングスフィールドをイクスクルーシブＯＲすることにより、前記第２の値を計算する、請求項９６の通信装置。
【請求項９８】
前記レングスフィールドにより示されるペイロードバイトの数が閾値を越えるかどうかを判断する手段をさらに具備し、前記検出手段は、さらに、レングスフィールド判断の関数として正当なペイロードを検出する、請求項９６の通信装置。
【請求項９９】
ペイロードを含むフレームは、複数のバイトを具備し、前記通信装置は、シリアルバイトストリームで前記フレームを受信する手段と、前記第１のペイロードバイトの受信から所定時間内にすべてのペイロードバイトが受信されたかどうかを判断する手段をさらに具備し、前記検出手段は、さらに、前記ペイロードバイト判断の関数として正当なペイロードを検出する、請求項９５の通信装置。
【請求項１００】
前記ペイロードを含む前記フレームは、複数のバイトを具備し、前記通信装置は、シリアルバイトストリームで前記フレームを受信する手段と、所定時間内に受信したペイロードバイトの数をカウントする手段と、前記所定時間内の前記ペイロードバイトカウントが閾値を下回るなら不当なフレームであることを宣言する手段とをさらに具備する、請求項９５の通信装置。
【請求項１０１】
前記所定時間内の前記ペイロードバイトが前記閾値を越えるなら、第２の所定値内で受信したペイロードバイトの数を再カウントする手段をさらに具備する、請求項１００の通信装置。
【請求項１０２】
前記第１の値は、前記ペイロードの開始に付加され、前記フレームは、前記ペイロードの最後に付加された第３の値を具備し、前記通信装置は、前記ペイロードの第２サブセットの関数として第４の値を計算する手段と、前記第４の値を前記第３の値と比較する第２の比較手段をさらに具備し、前記検出手段は、前記第１の値と前記第２の値の比較、および前記第３の値と前記第４の値の比較の両方の関数として、正当なペイロードを検出する、請求項９５の通信装置。
【請求項１０３】
前記ペイロードは複数のバイトを具備し、前記通信装置は、前記ペイロード内のバイトの数を示す前記フレーム内のレングスフィールドを識別する手段をさらに具備し、前記計算手段および前記第２計算手段は各々、前記レングスフィールドの関数としてさらにそれぞれ第２の値および第４の値を計算する、請求項１０２の通信装置。
【請求項１０４】
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３バイト、第４バイトおよび第５バイトを具備し、前記ペイロードの前記第２サブセットは、前記プリアンブルに続く前記第３バイト、前記第４バイト、および前記第５バイト、および前記ペイロードの最後のバイトを具備する、請求項１０３の通信装置。
【請求項１０５】
前記計算手段は、前記ペイロードのサブセットおよび前記レングスフィールドをイクスクルーシブＯＲすることにより前記第２の値を計算し、前記第２計算手段は、前記ペイロードの前記サブセットと前記レングスフィールドをイクスクルーシブＯＲすることにより前記第４の値を計算する、請求項１０４の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般に通信システムに関し、特に、ペイロードのためのフレーミングプロトコル（framing protocol)に関する。
【背景技術】
【０００２】
コンピュータ等のような、複数の処理装置を含むアプリケーションにおいて、データを交換するために適切な通信ネットワークが使用される。何らかの通信ネットワークと関連するのは、装置間に通信路を確立可能にするアクセスプロトコルのセットである。特定の基準をサポートするなんらかの処理装置におけるアプリケーションプロセスが、同じ基準をサポートする任意の処理装置におけるアプリケーションプロセスと自由に通信可能にするために長い間に、種々のアクセスプロトコルが標準化されてきた。
【０００３】
コンピュータにおいて、そのような基準を実施する初期の試みは、しばしば、試験し、変更することが困難であった単一の、複雑で、非構造化ソフトウエアプログラムにしばしば基づいていた。この問題を克服するために、国際標準化機構（ＩＳＯ）は基準モデルとして階層化された手法を提案した。ＩＳＯ基準モデル下では、通信サブシステムは、多数の層に分解され、各層の各々は自分自身とそのすぐ上の層およびそのすぐ下の層との間の明確なインターフェースを用いて、明確な機能を実行する。
【０００４】
ＩＳＯ基準モデルは、７つの層から成る。下位の３つの層はネットワークに依存し、ネットワークを介して２以上の処理装置をリンクするためのプロトコルに関係する。下位の３つの層は、物理層、リンク層、およびネットワーク層を含む。物理層は処理装置とネットワークの間の物理的電気的インターフェースに関係する。リンク層は、ネットワーク層に信頼できる情報を供給することにより、処理装置とネットワークとの間の物理接続に築かれる。リンク層は、典型的にエラー訂正および同様の機能を提供する。ネットワーク層は、リンク層の上に置かれており、ネットワーク接続の確立に関与する。
【０００５】
処理装置により使用される共通のデータリンクプロトコルはポイントツーポイントプロトコル（ＰＰＰ）である。ＰＰＰは、同じリンクを介して同時に異なるネットワーク層プロトコルを多重化するための標準のカプセル化を提供する。基本的な手続き、方法論およびプロトコルフォーマットは、１９９４年７月に、Simpson, Wにより編集された「ポイントツーポイントプロトコル（ＰＰＰ）＠、ＳＴＤ、５１、ＲＦＣ１６６１に定義され、この内容は参照することにより本願明細書に組み込まれる。
【０００６】
各ＨＤＬＣフレームは、０ｘ７４ｅにより表されるフラッグフィールドで開始され、終了する。ＨＤＬＣフレームペイロード内のフラッグフィールドを誤って検出するのを回避するために、バイトスタッフィングエスケープメカニズム(byte stuffing escape mechanism)が使用される。特に、送信する前に、ＨＤＬＣフレームペイロードは、フラッグシーケンス０ｘ７ｅに対して調べられる。フラッグシーケンスがペイロード内に検出されるなら、フラッグシーケンスは、０ｘ７ｄとそれに続く０ｘ２０を有したフラッグシーケンスイクスクルーシブｏｒ＝ｄから構成される２バイトのシーケンスと交換される。さらに、ペイロード内でバイト０ｘ７ｄが検出されるなら、それもまた０ｘ７ｄとそれに続く０ｘ２０を有した０ｘ７ｄexclusive or=dから構成される２バイトのシーケンスと交換される。この手法はかなり効率的であるけれども、ペイロードをフレーム化することに関連する計算上のオーバーヘッドが増大する。
【０００７】
ＨＤＬＣフレームのインテグリティ(integrity)はペイロードに対する１６または３２ビットの巡回冗長検査を用いて監視することができる。ＣＲＣは、ペイロードを形成するバイナリビットストリームに対して周知のアルゴリズムを実行することにより計算される。受信側において、ＣＲＣは、受信したペイロードに基づいて再計算することができ、計算されたＣＲＣは、ＨＤＬＣフレーム内の送信されたＣＲＣと比較することができる。計算されたＣＲＣがＨＤＬＣフレーム内の送信されたＣＲＣに一致しないなら、ＣＲＣエラーフラッグがセットされる。このＣＲＣ手法は、エラー検出能力を改良するけれども、ペイロードをフレーム化することに関連した計算上のオーバーヘッドを増加させるという望ましくない効果も有する。
【０００８】
現在の技術をサポートするのに必要なデータレートの著しい増加を考えると、ＰＰＰのためにＨＤＬＣにより課せられるオーバーヘッドは、徐々に、より耐え難い負担となる。これは、特に、アプリケーションレベルの処理に比べてネットワーキングプロトコルの計算上のオーバーヘッドが重要である、携帯電話およびパーソナルデジタルアシスタンツのようなハンドヘルド無線装置にとってはそうである。従って、計算上のオーバーヘッドを低減し、ペイロードを簡素化するために特定のアプリケーションに合わせることができる、効率的で堅固なフレーミングプロトコルを持つことが好都合であろう。
【発明の概要】
【０００９】
この発明の第１の観点において、ペイロードをフレーム化する方法は、ペイロードのフレーム境界を定める、ペイロードのサブセットの関数として値を計算する、そして、その値をフレーム境界内のペイロードに付加することを含む。
【００１０】
この発明の他の観点において、フレーム内の有効なペイロードを決定する方法は、第１の値が付加されたペイロードを有するフレームを識別すること、ペイロードのサブセットの関数として第２の値を計算すること、第２の値を第１の値と比較すること、比較の関数として有効なペイロードを検出することを含む。
【００１１】
この発明のさらなる観点において、コンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み出し可能な媒体は、ペイロードのフレーム境界を定めること、ペイロードのサブセットの関数として値を計算すること、フレーム境界内のペイロードに値を付加することを含むペイロードをフレーム化する方法を実行する。
【００１２】
この発明のさらなる観点において、コンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み出し可能な媒体は、第１の値が付加されたペイロードを有するフレームを識別すること、ペイロードのサブセットの関数として第２の値を計算すること、第２の値を第１の値と比較すること、および比較の関数として有効なペイロードを検出することを含むフレーム内の有効なペイロードを決定する方法を実行する。
【００１３】
この発明のさらなる観点において、通信装置は、ペイロードのフレーム境界を定め、ペイロードのサブセットの関数として値を計算し、その値をフレーム境界内のペイロードに付加するように構成されたプロセッサと、処理されたフレームを送信するように構成された送信器を含む。
【００１４】
この発明の他の観点において、通信装置は、第１の値が付加されたペイロードを有するフレームを受信するように構成された受信器と、ペイロードのサブセットの関数として第２の値を計算し、第２の値を第１の値と比較し、比較の関数として有効なペイロードを検出するように構成されたプロセッサを含む。
【００１５】
この発明のさらに他の観点において、通信装置は、ペイロードのフレーム境界を定める手段と、ペイロードのサブセットの関数として値を計算する計算手段と、および値をフレーム境界内のペイロードに付加する付加手段とを含む。
【００１６】
この発明のさらなる観点において、通信装置は、第１の値が付加されたペイロードを有するフレームを識別する手段と、ペイロードのサブセットの関数として第２の値を計算する計算手段と、第２の値を第１の値を比較する比較手段と、および比較の関数として有効なペイロードを検出する検出手段を含む。
【００１７】
この発明の他の実施の形態は、以下の詳細な説明から当業者に容易に明白になるであろう。実例として、この発明の実施形態のみが示され記載されている。実現されるように、この発明は他のおよび異なる実施形態が可能であり、そのいくつかの詳細は、この発明の精神と範囲から逸脱することなく、種々の他の観点において変更可能である。従って、図面と詳細な説明は制限するものではなく、実例と見なされるべきである。
【図面の簡単な説明】
【００１８】
【図１】図１は例示実施形態に従うＣＤＭＡセルラシステムの機能ブロック図である。
【図２】図２は、例示実施形態に従って、ロウオーバーヘッドフレームプロトコルを利用するＣＤＭＡセルラシステムの機能ブロック図である。
【図３】図３は、例示実施形態に従うロウオーバーヘッドフレーミングプロトコルのためのフォーマットである。
【図４】図４は、例示実施形態に従って、ロウオーバーヘッドフレーミングプロトコルを使用するペイロードのための検出方法論を立証するフローチャートである。
【図５】図５は、例示実施形態に従って、受信器区画を検出するための方法論を立証するフローチャートである。
【発明を実施するための形態】
【００１９】
通信システムの例示実施形態において、ロウオーバーヘッドフレーミングプロトコル(low overhead framing protocol)はネットワーク層トラヒックのために使用することができる。ロウオーバーヘッドフレーミングプロトコルは、周知のパラメータに基づいて計算上のオーバーヘッドを低減するための特定のアプリケーションに調整することができ、周知のパラメータに基づいて計算上のオーバーヘッドを低減することができる。一例として、エラー検出能力を有した送信制御プロトコル（ＴＣＰ）ネットワーク層は、ＰＰＰカプセル化されたデータに対してしばしば実行される。従って、ＰＰＰカプセル化されたデータのためのロウオーバーヘッドフレーミングプロトコルの計算に関するオーバーヘッドは、リンク層において、エラー訂正機能を消去することにより低減することができる。符号分割多重アクセス（ＣＤＭＡ）セルラシステム内の加入者局と無線ネットワークとの間の地上波リンクにおいて、計算に関するオーバーヘッドの低減は、最大ペイロードが周知であるので、実現可能である。ケーブルモデム、デジタル加入者線、光ファイバーリンク、衛星システム、等のようなＣＤＭＡセルラシステム以外の通信システムにおいて、周知の通信パラメータを使用して、計算に関するオーバーヘッドを低減する種々の方法でロウオーバーヘッドフレーミングプロトコルを構築するために使用することができる。従って、ＣＤＭＡセルラシステムのコンテキストにおけるロウオーバーヘッドフレーミングプロトコルへの言及は、この発明の観点を例証することだけを意図する。そのような観点は多種多様の通信システムに適用可能である。
【００２０】
図１は、ＣＤＭＡセルラシステムのための簡略化された例示プロトコル規範モデルである。より詳細なプロトコル規範モデルは、２０００年１２月に発行されたＴＩＡ／ＥＩＡＩＳ−８３５；ｃｄｍａ２０００無線ＩＰネットワーク標準に見出すことができる。この内容は参照することにより本願明細書に組み込まれる。図１を参照すると、加入者装置１２は、無線ネットワーク１４と通信しているように図示される。例示加入者装置１２は物理層１８を介して無線リンクプロトコル（ＲＬＰ）１６を実行する。物理層１８は、間違いを含むフレームを検出するためのＣＲＣ方法論を含む。欠陥のあるＣＲＣを有するフレームは破棄される。これらの破棄されたフレームは、無線ネットワーク１４からの再送信を要求する否定応答（ＮＡＫ）を有するＲＬＰにより検出される。
【００２１】
ロウオーバーヘッドフレーミングプロトコル２０は、ＲＬＰ層１６を介して実行することができる。例示加入者装置１２は間違いを含むフレーム検出のためにＣＲＣを利用する物理層１８を有し、ＲＬＰ１６を用いてフレームエラーレートを低減するので、ロウオーバーヘッドフレーミングプロトコルはオーバーヘッドを最小にするように構成することができる。なぜなら１つ以上のＮＡＫの試みが失敗したときそれは失われたバイトに関係する必要があるだけだからである。ロウオーバーヘッドフレーミングプロトコル２０は、ＰＰＰカプセル化されたデータを交換するためにＰＰＰ層２２と通信する。次には、ＰＰＰ層２２はＰＰＰペイロードを交換するためにＩＰ層２４と通信する。
【００２２】
記載した例示ＣＤＭＡセルラシステムにおいて、加入者装置は、１つ以上の基地局を介してネットワーク２６と通信する。基地局は、加入者装置からの通信を、基地局および基地局コントローラを介して、パケットデータサービスノード（ＰＤＳＮ）２８に送る。基地局と基地局コントローラは、図１において、無線ネットワーク１４により表される。無線ネットワーク１４は、物理層３２の上でＲＬＰ３０を実行する。物理層３２は、リンク層トラヒックが無線ネットワーク１４に透過な状態で加入者装置１２とＰＤＳＮ２８との間の物理リンクを供給する。ＰＤＳＮ２８は、ネットワーク２６に対してゲートウエイを供給する。ＰＤＳＮ２８はまたＰＰＰリンク３８を終端し、ネットワーク２６に適したリンク層プロトコル４０を採用するように、構成される。
【００２３】
ロウオーバーヘッドフレーミングプロトコルを利用する例示ＣＤＭＡセルラシステムは図２に示される。加入者装置１２は、トランシーバ４４に接続されたプロセッサ４２を含む。加入者装置１２は、無線ネットワーク１４を介してＰＤＳＮ２８と双方向通信している。ＰＤＳＮ２８はまたトランシーバ４８に接続されたプロセッサ４６を含む。
【００２４】
プロセッサ４２、４６は、一例として、マイクロプロセッサ上で実行される通信ソフトウエアを含む種々の技術を用いて実施することができる。あるいは、一方または両方のプロセッサ４２、４６を、任意の一般的なプロセッサ、コントローラ、マイクロコントローラ、プログラマブル論理装置、ロジックエレメントのアレイまたはステートマシンで実施することができる。順方向リンク（これは、ＰＤＳＮ２８から加入者装置１２への送信を指す）において、プロセッサ４６は、ペイロード、一例としてＰＰＰカプセル化されたデータを、ロウオーバーヘッドフレーミングプロトコルを用いてフレーム化することに関与する。特に、プロセッサ４６は、フレーム境界を定め、ペイロードをフレーム境界内に配置し、ペイロードのサブセットの関数として１つ以上の値を計算し、計算された値をフレーム限界内のペイロードに付加する。次に、フレーム化されたペイロードは、トランシーバ４８に接続される。トランシーバは、フレームを、（無線ネットワーク１４を介して）加入者装置１２に送信するのに適したレベルに変調し増幅する送信器（図示せず）を含む。
【００２５】
加入者装置１２におけるトランシーバ４４は、フレームを増幅し、濾波し、および復調する受信器（図示せず）を含む。次に、復調されたフレームはペイロードが有効かどうかを判断するためにプロセッサ４２に接続される。プロセッサ４２は、ペイロードのサブセットの関数として１つ以上の値を計算し、次に、計算した値を、ペイロードに付加された受信した値と比較する。その比較に基づいて、プロセッサ４２は、ペイロードが有効かどうか検出する。
【００２６】
逆方向リンク（これは、加入者装置１２からＰＤＳＮ２８への送信を指す）において、加入者装置内のプロセッサ４２は、ロウオーバーヘッドフレーミングプロトコルでペイロードをフレーム化することに関与する。プロセッサ４２は、フレームの範囲を定め、ペイロードをフレーム境界内に配置し、ペイロードサブセットの関数として１つ以上の値を計算し、計算した値をフレーム境界内のペイロードに付加する。次に、フレームペイロードは、トランシーバ４４に接続される。トランシーバは、フレームを、（無線ネットワーク１４を介して）ＰＤＳＮ２８に送信するのに適したレベルに変調し、増幅する送信器（図示せず）を含む。
【００２７】
ＰＤＳＮ２８におけるトランシーバ４８は、フレームを増幅し、濾波し、復調する受信器（図示せず）を含む。復調されたフレームは、ペイロードが有効かどうかを判断するためにプロセッサ４６に接続される。プロセッサ４６は、ペイロードのサブセットの関数として１つ以上の値を計算し、次に、計算した値をペイロードに付加された受信した値と比較する。その比較に基づいて、プロセッサ４６は、ペイロードが有効かどうか検出する。
【００２８】
例示ＣＤＭＡセルラシステム、並びに、同様の通信パラメータを有する他のシステムにおいて、ロウオーバーヘッドフレーミングプロトコルはバイトスタッフィング(byte stuffing)を介してフラッグシーケンスをエスケープ(escape)し全体のペイロードに対してＣＲＣを計算する必要性を排除するように構成することができる。これは、シーケンシャルな順番に、スタートフラッグ(start flag)、イニシャルチェックサム(initial checksum)、レングスフィールド(length field)、ファイナルチェックサム(final checksum)およびストップフラッグ(stop flag)を有するフレーム構造を用いて達成することができる。フレーム内のすべてのバイトを処理するのを回避するために、ペイロード内のバイトの小さなサブセットに対してイニシャルチェックサムおよびファイナルチェックサムを計算することができる。
【００２９】
図３は、ロウオーバーヘッドフレーミングプロトコルのための例示フォーマットである。ビットは、左から右にシリアルに送信され、最上位ビット（ＭＳＢ）が最初に送信される。フレームは、プリアンブル５０、ペイロード５２、およびポストアンブル５４を含む。プリアンブルは３バイトの長さであり、８ビットのスタートフラッグ、５ビットのイニシャルチェックサム５８、および１１ビットのレングスフィールド６０を含む。プリアンブルの最初のバイトがスタートフラッグ５６である。プリアンブルの第２バイトは、５ビットのイニシャルチェックサム５８を含み、３つのＭＳＢのレングスフィールド６０を含む。レングスフィールドの残りの８つの最下位ビット（ＬＳＢ）はプリアンブル２２の第３バイトを作成する。ペイロードは任意の数のバイト数であり得、記載した例示ＣＤＭＡセルラシステムにおいては、最大１５０２バイトに制限される。ポストアンブル５４は、２バイトの長さであり、１バイトのファイナルチェックサム６２および１バイトのストップフラッグ６４を含む。
【００３０】
スタートフラッグは定数値または時間に対して変化する定数値であり得る。記載した例示ＣＤＭＡセルラシステムにおいて、スタートフラッグは０ｘ（ｄｅ）に設定される。スタートフラッグを０ｘ（ｄｅ）に設定することにより、スタートフラッグ５６と、プリアンブルの第２バイトとの間の差別化処理は、プリアンブルの第２バイトが決して０ｘ（ｄｅ）になることはありえないので簡略化することができる。これは、最大ペイロードが１５０２バイトだからであり、それゆえ、レングスフィールドは、０ｘ（５ｃｄ）に等しい値を超えることはできない。プリアンブルの第２バイトの４つのＬＳＢ＝ｓは、レングスフィールドの３つのＭＳＢ＝ｓを含むので、プリアンブルの第２バイトの４つのＬＳＢ＝ｓは決して０ｘ（ｅ）になることはできないし、同様に、０ｘ６、０ｘ７または０ｘ（ｆ）になることはできないことは容易にわかる。もちろん、多くの他の値を、スタートフラッグとプリアンブルの第２バイトとの間の同じ程度の差別化を供給することができるスターとフラッグとして選択することができる。一例として、スタートフラッグは、０ｘ（ｄ６）、０ｘ（ｄ７）または０ｘ（ｄｆ）で設定することができ、スタートフラッグから容易に区別することができる。事実、プリアンブルの第２バイトの４つのＭＳＢ＝ｓはいかなる値にも設定することができ、スタートフラッグとプリアンブルの第２バイトとの間の差別化の容易性は、４つのＬＳＢ＝ｓを０ｘ６、０ｘ７、０ｘ（ｅ）または０ｘ（ｆ）に設定することにより維持することができる。スタートフラッグのために選択された特定の値は一般的に設計上の問題である。
【００３１】
スタートフラッグ５６のために選択された値もストップフラッグ６４のために使用することができる。この手法は、等時間間隔で受信されるとき、次のフレームのスタートフラッグとして１つのフレームのストップフラッグを用いることによりオーバーヘッドを低減することができる。２つの連続するフレーム間に遅延が存在するなら、新しいフレームの開始を示すために、別個のスタートフラッグを送らなければならない。
【００３２】
開始チェックサム５８は、任意のビットの組み合わせを用いて計算することができる。記載した例示ＣＤＭＡセルラシステムにおいて、イニシャルチェックサム５８はレングスフィールドの８つのＬＳＢ（すなわち、プリアンブルの第３バイト）およびペイロードの第３、第４、および第５バイトに対してイクスクルーシブＯＲを実行することにより計算される。８ビットイクスクルーシブＯＲ＝ｄの５つのＭＳＢが使用される。ペイロードが５バイト未満を含むなら、利用可能なバイトのみが使用される。ペイロードの第３、第４および第５バイトを用いてチェックサムを計算する。何故なら、殆どの場合、これらのバイトはパケットがヘッダ圧縮されるとき、ＴＣＰチェックサムを含むであろうからである。ＴＣＰチェックサムはペイロードの残りよりも大きな度合いの予測不可能性をたぶん呈示するであろう。それにより、イニシャルチェックサムをできるだけランダムにさせる。ランダムイニシャルチェックサムは間違いを含んだデータフレームを確実に検出する確率を減少しなければならない。
【００３３】
レングスフィールド６０はペイロード内のバイトの数を示し、ファイナルチェックサム６２のロケーションはフレーム内にある。記載した例示ＣＤＭＡセルラシステムにおいて、このフィールドの最大許容値は１５０２であり、ＰＰＰプロトコルフィールドの２バイトとペイロードの１５００バイトを含む。
【００３４】
イニシャルチェックサム５８同様に、ファイナルチェックサム６２は、ビットの任意の組合せを用いて計算することができる。記載した例示ＣＤＭＡセルラシステムにおいて、ファイナルチェックサムは、レングスフィールドの８つのＬＳＢ（すなわち、プリアンブルの第３バイト）、およびペイロードの第３、第４、第５、および最終バイトに対してイクスクルーシブＯＲをとることにより計算される。ペイロードが５バイト未満を含むなら、利用可能なバイトのみが使用される。
【００３５】
チェックサム計算は、以下の２つの例を参照することにより、最もよく理解される。第１の例において、フレームが２バイトのペイロードを有するなら、（ペイロードの他の必要とされるどれひとつとして存在しないので）、レングスフィールドの最後のバイトのみがイニシャルチェックサム計算に使用されるであろう。ファイナルチェックサムは、レングスフィールドの８つのＬＳＢおよびペイロードの第２バイトを用いて計算されるであろう。
【００３６】
一例として、ペイロードの第１バイトが０ｘ２１であり、ペイロードの第２バイトが０ｘ（ａａ）であるなら、イニシャルチェックサムは、（２バイトのペイロードを示す）０ｘ０２であるレングスフィールドの８つのＬＳＢを用いて計算されるであろう。イニシャルチェックサムはレングスフィールドの５つのＭＳＢ、すなわち０ｘ００に等しいであろう。ファイナルチェックサムは、レングスフィールドの８つのＭＳＢである０ｘ０２と、ペイロードの最後のバイトである０ｘ（ａａ）とのイクルクルーシブＯＲを取ることにより計算され、０ｘ（ａ８）のファイナルチェックサムを生じるであろう。ファイナル例示フレームは、以下のように構築されるであろう（但し、ペイロードは、＊文字間にある）
ｄｅ  ００  ０２＊２１ａａ＊ａ８  ｄｅ
第２の例において、フレームが５バイトのペイロードを有するなら、イニシャルチェックサムは、レングスフィールドの８つのＬＳＢ、およびペイロードの第３、第４、および第５バイトを用いて計算されるであろう。ファイナルチェックサムは、レングスフィールドの８つのＬＳＢ＝ｓおよびペイロードの第３、第４、および第５バイト、およびペイロードの最終バイト（この場合も第５バイトである）を用いて計算されるであろう。
【００３７】
一例として、５バイトペイロードが０ｘ２１、０ｘ０ｂ、０ｘ２２、０ｘ３ａ、０ｘ０ａなら、イニシャルチェックサムは、０ｘ０５であるレングスフィールドの８つのＬＳＢを、０ｘ２２、０ｘ３ａ、０ｘ０ａとイクルクルーシブＯＲすることにより計算されるであろう。イニシャルチェックサムは、０ｘ（ｉｄ）（０５ＸＯＲ  ２２  ＸＯＲ  ３ａ  ＸＯＲ  ０ａ  ＸＯＲ  ０ａ）であろう。ファイナル例示フレームは以下のように構築されるであろう（但し、ペイロードは＊文字の間にある）。
【００３８】
ｄｅ  １０  ０５＊２１  ０ｂ  ２２  ３ａ  ０ａ＊１ｄ  ｄｅ
図４を参照すると、ロウオーバーヘッドフレーミングプロトコルの例示検出方法論を実証するフローチャートが示される。ステップ６６において、受信器はスタートフラッグのためのシリアルバイトストリームをスキャンする。スタートフラッグが検出されると、受信器はイニシャルチェックサムを計算できるように、必要なバイト数が着信するのを待つ。記載された例示ＣＤＭＡセルラシステムにおいて、イニシャルチェックサム、レングスフィールド、およびペイロードの最初の５バイトを、イニシャルチェックサムを計算するために受信しなければならない。ステップ６８において、受信器はイニシャルチェックサムを計算する。次に、ステップ７０において、計算されたイニシャルチェックサムが送信されたイニシャルチェックサムと比較される。計算されたイニシャルチェックサムが、送信されたイニシャルチェックサムと一致しないなら、誤ったプリアンブルが検出された。誤ったプリアンブルに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に、計算されたイニシャルチェックサムが送信されたイニシャルチェックサムと一致するなら、次に、ステップ７２において、レングスフィールドの値が最大値と比較される。レングスフィールドの値が最大値を越えるなら、誤ったプリアンブルが検出されたことになる。上述したように、誤ったプリアンブルは、受信器に、検出されたスタートフラッグを破棄させ、ステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しい開始フラッグのためのシリアルバイトストリームのスキャンを開始させる。反対に、レングスフィールドが最大値以下ならば、受信器は確実にプリアンブルを検出したことになる。
【００３９】
プリアンブルを確実に検出するための手続きは、送信されたチェックサムを計算されたチェックサムとシーケンシャルに比較し、次に、レングスフィールドの値を調べるように記載したが、順番を逆にしてもよいし、あるいは、チェックサムの比較とレングスフィールドの検査は並列に行なっても良いことを当業者は理解するであろう。さらに、代わりの実施の形態において、確実にプリアンブルを検出する手続きは、単独でまたは他の周知の技術の組み合わせで、イニシャルチェックサム比較またはレングスフィールド値の検査の一方に限定することができる。その際、初期チェックサム比較のみに限定してもよいし、レングスフィールド値の調査のみに限定してもよいし、あるいは他の周知の技術と組み合わせて限定してもよい。
【００４０】
プリアンブルが確実に検出されると、受信器は、何らかのさらなるフレーム処理を実行する前にレングスフィールドにより指定されたすべてのペイロードバイトを受信するまで待つ。これは、プリアンブルが誤って検出されたなら、受信器をフリーズさせるかもしれない。受信器のフリーズの可能性を回避するために、すべてのペイロードバイトは、特定の時間期間内に受信されなければならない。ステップ７４において、レングスフィールドにおいて指定されたすべてのペイロードが受信される前に時間期間が経過するなら、検出されたスタートフラッグは破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に時間期間が経過する前に、レングスフィールドで指定されたすべてのペイロードバイトが受信されるなら、ファイナルチェックサムを計算することができる。
【００４１】
ステップ７６において、ファイナルチェックサムが計算される。次に、ステップ７８において、計算されたファイナルチェックサムは、送信されたファイナルチェックサムと比較される。計算されたファイナルチェックサムが送信されたファイナルチェックサムと一致しないなら、誤ったポストアンブルが検出された。誤ったポストアンブルに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームの操作を開始する。反対に、計算されたファイナルチェックサムが送信されたチェックサムと一致するなら、ステップ８０において、ファイナルチェックサムの直後のバイトがストップフラッグのためにチェックされる。バイトがストップフラッグでなければ、フレームは間違いを含んでいる。間違いを含んだフレームに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に、ストップフラッグがファイナルチェックサムの直後に検出されるなら、フレームは確実に検出され、受信器はステップ８２において、ペイロードを上層に渡す。
【００４２】
フレームを確実に検出するための上述したステップのシーケンスは一例であり、限定するものではない。当業者は、これらの手続きが任意の順番でも実行できる、すなわち、シリアルに、パラレルに、あるいは、シリアル手続きとパラレル手続きのいずれかの組合せで実行できることを理解するであろう。さらに、１つ以上の特定の手続きを省略してもよいし、または技術的に知られているいづれかの他の技術と組み合わせても良い。
【００４３】
受信器のフリーズは、多くのアプリケーションにおいて大きな懸念であり得る。従って、ペイロードバイトの配信の期間に受信器がフリーズするのを防止するためにある手続きを行使してもよい。一例として、最大ペイロードに対して、推定される最悪配信時間のためのタイマを設定することができる。レングスフィールドで指定された全てのペイロードバイトが受信される前にタイマが切れるなら、受信器は、フリーズを宣言し、以前に検出したスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。
【００４４】
あるいは、図５のフローに概説される手続きを用いて、受信器のフリーズに対するより早い応答時間を達成することができる。ステップ８４において、最初のペイロードバイトが受信される。これに応答して、ステップ８６において、ペイロードバイトカウントをゼロに設定し、ステップ８８において、タイマはｔ１ミリ秒（ｍｓ）でタイムアウトに設定され、ステップ９０において、タイマバイトカウントはゼロに設定される。
【００４５】
ステップ９２において、受信したペイロードバイトの数を反映させるために、ペイロードバイトカウントがインクリメントされる。次に、ステップ９４において、ペイロードバイトカウントは、レングスフィールド値と比較される。ペイロードバイトカウント値がレングスフィールド値と等しいなら、ペイロードバイト配信は完了し、ステップ９６において、ファイナルチェックサムを計算することができる。反対に、ペイロードバイトカウントがレングスフィールド値未満なら、ステップ９８において、タイマがセットされてから受信したバイト数を反映するためにタイマバイトカウントがインクリメントされる。
【００４６】
次に、ステップ１００において、受信器は、次のペイロードバイトを待つ。タイマが経過する前に、次のペイロードバイトが受信されるなら、受信器は、バイトカウントループ１０２に入る。バイトカウントループ１０２において、バイトカウントがステップ９２においてインクリメントされ受信したペイロードバイトの数を反映し、ステップ９４において、インクリメントされたバイトカウントが再びレングスフィールド値と比較され、ペイロード配信が完了したかどうか判断する。インクリメントされたバイトカウントがレングスフィールド値に等しいなら、受信器はバイトカウントループ１０２を出て、ステップ９６においてファイナルチェックサムを計算する。反対に、バイトカウントが、レングスフィールド値未満なら、ステップ９８において、タイマバイトカウントがインクリメントされ、タイマが設定されてから受信したバイト数を反映する。受信器は、ペイロード配信が完了するかまたは最初のペイロードバイトを受信後、タイマがｔ１ｍｓ経過するまで、バイトカウントループ１０２に留まる。
【００４７】
タイマが経過すると（最初のペイロードが受信された後のｔ１ｍｓ）、ステップ１０４においてタイマバイトカウントは実装時に定義される定数Ｋと比較される。タイマバイトカウントが定数Ｋより大きければ、ペイロードが積極的に受信されている確率が高くなる。この結果、受信器はタイマループ１０６に入る。タイマループ１０６において、タイマは、ステップ８８においてｔ１ｍｓにおけるタイムアウト時にタイムアウトにリセットされ、ステップ９０において、タイマバイトカウントはゼロにリセットされる。次に、受信器は、ペイロード配信が完了するかまたはタイマが経過するまでバイトカウントループ１０２に入る。
【００４８】
タイマが経過すると、ステップ１０４において、タイマバイトカウントは再び定数Ｋと比較される。タイマバイトカウントが定数Ｋを越えるなら、受信器は、ペイロード配信が完了するかまたは定数Ｋ以下のタイマバイトカウントでタイマが経過するまでタイマループ１０６に留まる。タイマが定数以下のタイマバイトカウントで経過するなら、ペイロードバイトが受信されない確率が高くなる。その場合には、受信器はステップ１０８において、受信器フリーズを宣言し、以前に検出したスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。
【００４９】
記載した例示ＣＤＭＡセルラシステムにおいて、ｔ１は、等時間間隔で物理層からの最大ペイロードを受信するのにかかる時間に設定することができる。この方法が使用されるなら、８０００ｂｐｓ物理リンクに基づいて、１５０２バイトに対応するために、ｔ１は、１．５秒に設定されるであろう。しかしながら、ｔ１の値は、物理層内の速度変化に対処するために調節可能である。定数Ｋは１０に設定することができる。または上層バイトストリームの周知のパラメータに基づいて定数Ｋを最適化するように調節可能である。
【００５０】
当業者は、ここに開示した実施形態に関連して記載した種々の例示論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウエア、コンピュータソフトウエア、または両方の組合せとして実施できることを理解するであろう。ハードウエアとソフトウエアのこの互換性を明瞭に説明するために、種々の例示部品、ブロック、モジュール、回路、およびアルゴリズムは、一般的なそれらの機能性の観点から上述した。そのような機能性がハードウエアまたはソフトウエアとして実施されるかどうかは、特定のアプリケーションおよび全体のシステムに課せられた設計制約に依存する。当業者、各特定のアプリケーションに対してさまざまな方法で、記載した機能性を実施することができるが、そのような実施の決定は、この発明の範囲からの逸脱を生じるものとして解釈されるべきでない。
【００５１】
ここに開示された実施の形態に関連して記載された種々の実例となる論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理装置、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウエアコンポーネント、またはここに記載した機能を実行するように設計されたいずれかの組合せを用いて実施または実行することができる。汎用プロセッサは、マイクロプロセッサであってよいが、別の方法では、プロセッサは、いずれかの一般的なプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってよい。プロセッサはまた、計算装置の組合せとしても実施できる。例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと協力した１つ以上のマイクロプロセッサまたはいずれかの他のそのような構成として実施することもできる。
【００５２】
ここに開示された実施の形態に関連して記載された方法またはアルゴリズムのステップは、ハードウエアにおいて、プロセッサにより実行されるソフトウエアモジュールにおいて、または両者の組合せにおいて直接具現化することができる。ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、脱着可能ディスク、ＣＤ−ＲＯＭ、または技術的に知られているその他のいずれかの形態の記憶媒体に存在することができる。例示記憶媒体は、プロセッサに接続される。そのようなプロセッサは記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができる。別の方法では、記憶媒体は、プロセッサに集積可能である。プロセッサと記憶媒体はＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ端末に存在してもよい。別の方法では、プロセッサと記憶媒体はユーザ端末内のディスクリートコンポーネントとして存在してもよい。
【００５３】
開示した実施形態の上述の記載は当業者がこの発明を製作または使用することを可能にするために提供される。これらの実施の形態に対する種々の変更は当業者には容易に明白であろう、そしてここに定義される包括的原理は発明力の使用なしに他の実施の形態に適用可能である。従って、この発明は、ここに示した実施の形態に限定されることを意図したものではなく、ここに開示した原理と新規な特徴に一致する最も広い範囲が許容されるべきである。
【００５４】
この発明の例示実施形態について記載したけれども、添付されたクレームの範囲を制限するように解釈されるべきでない。当業者は、記載した実施の形態に種々の変更を行なうことができることを理解するであろう。さらに、多様な技術における熟達した人にとって、ここに記載した発明自体が他の仕事への解決および他のアプリケーションに対する適応を示唆するであろう。それゆえ、この実施の形態は、あらゆる面において、例示として、そして制限的なものでないものとして考察され、この発明の範囲を示すために参照は、上述した記載よりもむしろ添付されたクレームに対して成されるべきであることが望ましい。
【図１】
2009189008.tif 000003
【図２】
2009189008.tif 000004
【図３】
2009189008.tif 000005
【図４】
2009189008.tif 000006
【図５】
2009189008.tif 000007
【手続補正書】
【提出日】平成21年3月6日(2009.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
下記を具備する、通信システムにおいてペイロードの通信のために前記ペイロードをフレーミングする方法：
前記ペイロードのフレーム境界を定める；
前記ペイロードの第１のサブセットおよび前記ペイロードのレングスフィールドの関数としてイニシャルチェックサムを計算する；
前記ペイロードの第２のサブセットおよび前記ペイロードのレングスフィールドの関数としてファイナルチェックサムを計算する；
前記ペイロードの通信のために前記イニシャルチェックサムおよびファイナルチェックサムを前記フレーム境界内の前記ペイロードに付加する。
【請求項２】
前記フレーム境界を定めることは、前記ペイロードの開始にプリアンブルを付加することを具備し、前記プリアンブルは前記イニシャルチェックサムを有する、請求項１の方法。
【請求項３】
前記ペイロードは複数のバイトを具備し、前記ペイロードの前記第１のサブセットは、前記プリアンブルに続く、前記ペイロードの第３バイト、第４バイト、および第５バイトを含む、請求項２の方法。
【請求項４】
前記ペイロードのバイト数を示すレングスフィールドを前記プリアンブル内に配置することをさらに具備する、請求項３の方法。
【請求項５】
前記イニシャルチェックサムの計算は、前記ペイロードの前記第１のサブセットと前記レングスフィールドをexclusive ORすることを具備する、請求項４の方法。
【請求項６】
前記ペイロードの第２のサブセットは、前記プリアンブルに続くペイロードの第３、第４および第５バイト、および前記ペイロードの最終バイトを含み、前記ファイナルチェックサムの計算は、前記ペイロードの第２のサブセットと前記レングスフィールドをexclusive ORすることを具備する、請求項５の方法。
【請求項７】
前記フレーム境界を定めることは、ファイナルチェックサムを、前記ペイロードの最後に付加することを具備する、請求項１の方法。
【請求項８】
前記ペイロードは、複数のバイトを具備し、前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３、第４、および第５バイト、および前記ペイロードの前記最後のバイトを含む、請求項７の方法。
【請求項９】
前記フレーム境界を定めることは、前記レングスフィールドを有するプリアンブルを前記ペイロードの開始に付加することを具備する、請求項８の方法。
【請求項１０】
前記イニシャルチェックサムの計算は、前記ペイロードの前記第１のサブセットと前記レングスフィールドのexclusive ORをとることを具備する、請求項９の方法。
【請求項１１】
下記を具備する、通信システムにおけるペイロードの通信のために前記ペイロードをフレーミングする方法：
前記ペイロードのフレーム境界を定める；
前記ペイロードのサブセットの関数として値を計算する；
前記フレーム境界内の前記ペイロードに前記値を付加する；
ことを具備し、
前記ペイロードは所定のバイト数を含み、前記フレームの境界を定めることはプリアンブルを前記ペイロードの開始に付加することを含み、
前記プリアンブルは、第１のバイトを有するスタートフラッグと、前記スタートフラッグに続く前記値と、前記値に続くレングスフィールドを含み、
前記レングスフィールドは前記ペイロードの前記バイト数を示し、
前記値と前記レングスフィールドの一部が第２バイトを具備し、
前記第２バイトは前記ペイロード内の所定バイト数のサブセットに限定され、
前記方法は、前記ペイロードの通信のために前記第２バイトに利用可能な前記バイト値のサブセットとは異なるバイト値を有するスタートフラッグを選択することをさらに備える。
【請求項１２】
前記値は５ビットを含み、前記レングスフィールドは、少なくとも３ビットを含み、前記第２バイトは、前記５ビット値に続けて前記レングスフィールドの３つの最上位ビットを含む、請求項１１の方法。
【請求項１３】
下記を具備する、通信システムにおいて通信されたフレーム内のペイロードの有効性を決定する方法：
第１の値が付加されたペイロードを有する受信されたフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効なペイロードを検出する；
ことを備え、
前記ペイロードは、複数のバイトを含み、
前記ペイロード内の前記バイト数を示す前記フレーム内のレングスフィールドを識別することを備え、
前記第２の値の計算は、さらに前記レングスフィールドの関数であり、
前記ペイロードの前記サブセットは、前記プリアンブルに続く前記ペイロードの第３、第４、第５バイトを含み、
前記第２の値の計算は、前記受信されたフレーム内の前記ペイロードの有効性を決定するために前記ペイロードの前記サブセットと前記レングスフィールドとのexclusive ORを取ることを備える。
【請求項１４】
下記を具備する、通信システムにおいて通信されたフレーム内のペイロードの有効性を決定するための方法：
第１の値が付加されたペイロードを有する受信されたフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効なペイロードを検出する；
ことを備え、
前記ペイロードを含む前記フレームは複数のバイトを含み、
前記フレームをシリアルバイトストリームで受信し、
所定の時間内に受信したペイロードバイト数をカウントし、
前記所定時間内の前記ペイロードバイトカウントがしきい値を下回るなら無効フレームを宣言し、
前記所定時間内の前記ペイロードバイトが前記受信されたフレーム内の前記ペイロードの有効性を決定するためのしきい値を超えるなら、第２の所定時間内に受信した前記ペイロードバイト数を再カウントする。
【請求項１５】
下記を具備する、通信システムにおいて通信されたフレーム内のペイロードの有効性を決定するための方法：
第１の値が付加されたペイロードを有する受信されたフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効なペイロードを検出する；
前記第１の値が前記ペイロードの開始に付加され、
前記フレームは、前記ペイロードの終わりに付加された第３の値を含み、
前記方法は、前記ペイロードの第２のサブセットの関数として第４の値を計算することと、
前記第４の値を前記第３の値と比較することとをさらに備え、
前記有効ペイロード検出は、前記第１の値と前記第２の値の比較と、前記第３の値と前記第４の値の比較の両方の関数であり、
有効ペイロード検出はさらに、前記第３の値の直後のフレーム内のストップフラッグを確認することをさらに備え、
前記ペイロードは複数のバイトを含み、
前記方法は、前記ペイロード内の前記バイト数を示すフレーム内のレングスフィールドを識別することをさらに備え、
前記第２の値の計算および前記第４の値の計算は両方ともさらに前記レングスフィールドの関数であり、
前記ペイロードのサブセットは前記プリアンブルに続く前記ペイロードの第３、第４、第５バイトを含み、
前記ペイロードの第２のサブセットは、受信されたフレーム内のペイロードの有効性を決定するために前記プリアンブルに続く前記ペイロードの前記第３、第４、第５バイトと、前記ペイロードの最後のバイトを含む。
【請求項１６】
前記第２の値の計算は、前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることを備え、前記第４の値の計算は、前記ペイロードの前記第２のサブセットと前記レングスフィールドとのexclusive ORをとることを備えた、請求項１５の方法。
【請求項１７】
下記を具備する、ペイロードをフレーミングする方法を実行するためにコンピューターにより実行可能な命令のプログラムを具現化するコンピューター読み取り可能媒体：
前記方法は、下記を具備する：
ペイロードのフレーム境界を定める；
前記ペイロードの第１のサブセットおよび前記ペイロードのレングスフィールドの関数としてイニシャルチェックサムを計算する；
前記ペイロードの第２のサブセットと前記ペイロードのレングスフィールドの関数としてファイナルチェックサムを計算する；
前記イニシャルチェックサムおよび前記ファイナルチェックサムを前記フレーム境界内の前記ペイロードに付加する。
【請求項１８】
前記フレームの境界を定めることは、前記ペイロードの開始にプリアンブルを付加することを具備し、前記プリアンブルはイニシャルチェックサムを有する、請求項１７のコンピュータ読み取り可能媒体。
【請求項１９】
前記ペイロードは、複数のバイトを含み、前記ペイロードの第１のサブセットは、前記プリアンブルに続く前記ペイロードの第３、第４、第５バイトを含む、請求項１８のコンピュータ読み取り可能媒体。
【請求項２０】
前記方法は、前記ペイロードの前記バイト数を示す前記レングスフィールドを前記プリアンブル内に配置することをさらに備えた、請求項１９のコンピュータ読み取り可能媒体。
【請求項２１】
前記イニシャルチェックサムの計算は、前記ペイロードの前記第１のサブセットと前記レングスフィールドとのexclusive ORをとることを備えた、請求項２０のコンピュータ読み取り可能媒体。
【請求項２２】
前記ペイロードの第２のサブセットは、前記プリアンブルに続く前記ペイロードの前記第３、第４、および第５バイト、および前記ペイロードの最後のバイトを含み、前記ファイナルチェックサムの計算は、前記ペイロードの前記第２のサブセットと前記レングスフィールドとのexclusive ORをとることを備えた、請求項２１のコンピュータ読み取り可能媒体。
【請求項２３】
前記フレームの境界を定めることは、前記ファイナルチェックサムを、前記ペイロードの最後に付加することを備えた、請求項１７のコンピュータ読み取り可能媒体。
【請求項２４】
前記ペイロードは、複数のバイトを含み、前記ペイロードの前記第２のサブセットは、前記プリアンブルに続く前記ペイロードの第３、第４、および第５バイト、および前記ペイロードの最後のバイトを備えた、請求項２３のコンピュータ読み取り可能媒体。
【請求項２５】
前記フレームの境界を定めることは、前記レングスフィールドを有するプリアンブルを前記ペイロードの開始に付加することを備えた、請求項２４のコンピュータ読み取り可能媒体。
【請求項２６】
前記イニシャルチェックサムの計算は、前記ペイロードの前記第１のサブセットと前記レングスフィールドとのexclusive ORをとることを備えた、請求項２５のコンピュータ読み取り可能媒体。
【請求項２７】
ペイロードをフレーミングする方法を実行するために、コンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み取り可能媒体：
前記方法は下記を具備する：
ペイロードのフレーム境界を定める；
前記ペイロードのサブセットの関数として値を計算する；
前記値をフレーム境界内の前記ペイロードに付加する；
前記ペイロードは所定のバイト数を含み、
前記フレーム境界を定めることは、プリアンブルを前記ペイロードの開始に付加することを備え、
前記プリアンブルは、第１のバイトを有するスタートフラッグ、前記スタートフラッグに続く前記値、および前記値に続くレングスフィールドを備え、
前記レングスフィールドは前記ペイロード内の前記バイト数を示し、
前記値および前記レングスフィールドの一部は第２バイトを具備し、
前記第２バイトは所定バイト数のサブセットに限定され、
前記方法は、前記第２バイトに対して利用可能な前記バイト値のサブセットとは異なるバイト値を有するスタートフラッグを選択することをさらに備える。
【請求項２８】
前記値は５ビットを含み、前記レングスフィールドは、少なくとも３ビットを含み、前記第２バイトは、前記５ビット値に続けて前記レングスフィールドの３つの最上位ビットを含む、請求項２７のコンピュータ読み取り可能媒体。
【請求項２９】
フレーム内の有効なペイロードを決定するための方法を実行するためにコンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み取り可能媒体：
前記方法は下記を具備する：
第１の値が付加されたペイロードを有するフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効ペイロードを検出する；
前記ペイロードは複数のバイトを含む；
前記方法は、前記ペイロード内の前記バイト数を示す前記フレーム内のレングスフィールドを識別することをさらに備え；
前記第２の値の計算は、さらに前記レングスフィールドの関数であり、
前記ペイロードのサブセットは、プリアンブルに続く前記ペイロードの第３、第４、および第５バイトを含み；
前記第２の値の計算は、前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることを備える。
【請求項３０】
フレーム内の有効なペイロードを決定するための方法を実行するためにコンピューターにより実行可能な命令のプログラムを具現化するコンピューター読み取り可能媒体：
前記方法は下記を具備する：
第１の値が付加されたペイロードを有するフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効ペイロードを検出する；
前記ペイロードを含むフレームは複数のバイトを含み；
前記方法は、前記フレームをシリアルバイトストリームで受信することと；
所定の時間内に受信したペイロードバイト数をカウントすることと；
前記所定時間内のペイロードバイトカウントがしきい値を下回るなら無効フレームを宣言すること；
とを備え、
前記方法はさらに、前記所定時間内の前記ペイロードバイトが前記しきい値を超えるなら、第２の所定時間内に受信したペイロードバイトの数を再カウントすることをさらに備える。
【請求項３１】
フレーム内の有効なペイロードを決定するための方法を実行するためにコンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み取り可能媒体：
前記方法は下記を具備する：
第１の値が付加されたペイロードを有するフレームを識別する；
前記ペイロードのサブセットの関数として第２の値を計算する；
前記第２の値を前記第１の値と比較する；
前記比較の関数として有効ペイロードを検出する；
前記第１の値は前記ペイロードの開始に付加され；
前記フレームはさらに前記ペイロードの最後に付加された第３の値をさらに含み；
前記方法は、前記ペイロードの第２のサブセットの関数として第４の値を計算することをさらに備え；
前記第４の値を前記第３の値と比較し；
前記有効ペイロードの検出は、前記第１の値と第２の値との比較および前記第３の値と第４の値との比較の両方の関数であり；
有効ペイロード検出はさらに前記第３の値の直後のフレーム内のストップフラッグを確認することをさらに備え；
前記ペイロードは複数のバイトを含み；
前記方法は、さらに前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別することを備え；
前記第２の値の計算および前記第４の値の計算は共にさらに前記レングスフィールドの関数であり；
前記ペイロードのサブセットは、前記プリアンブルに続くペイロードの第３、第４、および第５バイトを含み；
前記ペイロードの第２のサブセットは、前記プリアンブルに続く前記ペイロードの第３、第４、および第５バイト、および前記ペイロードの最後のバイトを含む。
【請求項３２】
前記第２の値の計算は、前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることを備え；
前記第４の値の計算は、前記ペイロードの第２のサブセットと前記レングスフィールドとのexclusive ORをとることを備えた、請求項３１のコンピューター読み取り可能媒体。
【請求項３３】
下記を具備する、通信システムにおいてペイロードの通信のための通信装置：
前記通信装置は、前記ペイロードのフレーム境界を定め、前記ペイロードの第１のサブセットおよび前記ペイロードのレングスフィールドの関数としてイニシャルチェックサムを計算し、前記ペイロードの第２のサブセットと前記ペイロードのレングスフィールドの関数としてファイナルチェックサムを計算し、処理されたフレームを生成するために前記イニシャルチェックサムおよびファイナルチェックサムを前記フレーム境界内のペイロードに付加するように構成されたプロセッサと；
前記処理されたフレームを送信するように構成された送信機。
【請求項３４】
前記プロセッサは、さらに、前記ペイロードの開始にプリアンブルを付加するように構成され、前記プリアンブルは前記イニシャルチェックサムを有する、請求項３３の通信装置。
【請求項３５】
前記プロセッサはさらに前記ファイナルチェックサムを前記フレーム境界内のペイロードの最後に付加する、請求項３４の通信装置。
【請求項３６】
前記ペイロードは複数のバイトを含み、前記プロセッサは、前記ペイロード内のバイト数を示すレングスフィールドを前記プリアンブル内に配置するように構成される、請求項３５の通信装置。
【請求項３７】
前記ペイロードの第２のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトおよび前記ペイロードの最後のバイトを含み、前記プロセッサは、前記ペイロードの第２のサブセットと前記レングスフィールドとのexclusive ORをとることによりファイナルチェックサムを計算するようにさらに構成される、請求項３６の通信装置。
【請求項３８】
前記ペイロードは複数のバイトを含み、前記プロセッサは、さらに前記ペイロード内のバイト数を示すレングスフィールドを前記プリアンブル内に配置するように構成される、請求項３３の通信装置。
【請求項３９】
前記ペイロードの第１のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトを含み、前記プロセッサは、さらに前記ペイロードの第１のサブセットと前記レングスフィールドとのexclusive ORをとることにより前記イニシャルチェックサムを計算するように構成される、請求項３８の通信装置。
【請求項４０】
前記送信機は無線送信機を備えた、請求項３３の通信装置。
【請求項４１】
前記送信機は、符号分割多重アクセス送信機を備えた、請求項４０の通信装置。
【請求項４２】
下記を具備する、通信システムにおいてペイロードの通信のための通信装置：
前記通信装置は下記を具備する：
第１の値が付加されたペイロードを有するフレームを受信するように構成された受信機；
前記ペイロードのサブセットの関数として第２の値を計算し、前記第２の値を前記第１の値と比較し、前記比較の関数として有効ペイロードを検出するように構成されたプロセッサ；
前記ペイロードは複数のバイトを含み；
前記プロセッサは、前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別し、前記ペイロードのサブセットおよび前記レングスフィールドの関数として前記第２の値を計算するようにさらに構成され；
前記フレームは、前記第１の値が前記ペイロードの開始に付加されたプリアンブルをさらに含み；
前記ペイロードのサブセットは前記プリアンブルに続くペイロードの第３、第４および第５バイトを含み；
前記プロセッサはさらに前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることにより前記第２の値を計算するように構成される。
【請求項４３】
前記プロセッサは、さらに前記レングスフィールドにより示されるペイロードバイト数がしきい値を超えるかどうかを決定するように構成され、前記プロセッサによる前記有効ペイロード検出は、さらに前記レングスフィールド決定の関数である、請求項４２の通信装置。
【請求項４４】
前記受信機は、さらに前記フレームをシリアルバイトストリームで受信するように構成され、前記プロセッサはすべてのペイロードバイトが前記第１のペイロードバイトの受信から所定時間内に受信されたかどうかを決定するように構成され、前記プロセッサによる有効フレーム検出は、さらに前記ペイロードバイト決定の関数である、請求項４２の通信装置。
【請求項４５】
前記プロセッサはさらに前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別するように構成され、前記ペイロードバイト決定は前記レングスフィールド表示の関数である、請求項４４の通信装置。
【請求項４６】
前記受信機は、前記フレームをシリアルバイトストリームで受信するようにさらに構成され、前記プロセッサはさらに所定時間内に受信したペイロードバイト数をカウントし、前記所定時間内のペイロードバイトカウントがしきい値を下回るなら無効フレームを宣言するように構成される、請求項４３の通信装置。
【請求項４７】
前記所定時間内のペイロードバイトがしきい値を超えているなら、前記プロセッサは、さらに第２の所定時間内に受信したペイロードバイト数を再カウントするように構成された、請求項４６の通信装置。
【請求項４８】
下記を具備する、通信システムにおけるペイロードの通信のための通信装置：
前記通信装置は下記を具備する：
第１の値が付加されたペイロードを有するフレームを受信するように構成された受信機；
前記ペイロードのサブセットの関数として第２の値を計算し、前記第２の値を前記第１の値と比較し、前記比較の関数として有効ペイロードを検出するように構成されたプロセッサ；
前記ペイロードは複数のバイトを含み；
前記プロセッサはさらに前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別するようにさらに構成され；
前記プロセッサによる前記第２の値と第４の値の両方の計算は、さらに前記レングスフィールドの関数であり；
前記第１の値は前記ペイロードの開始に付加され；
前記フレームは前記ペイロードの最後に付加された第３の値を含み；
前記プロセッサは、前記ペイロードの第２のサブセットの関数として第４の値を計算し、前記第４の値を前記第３の値と比較するように構成され；
前記プロセッサによる有効ペイロード検出は、前記第１の値と前記第２の値との比較と、前記第３の値と前記第４の値との比較の両方の関数であり；
前記ペイロードのサブセットは、前記プリアンブルに続くペイロードの第３、第４、および第５バイトを含み；
前記ペイロードの第２のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトと前記ペイロードの最後のバイトを含む。
【請求項４９】
前記プロセッサはさらに前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることにより前記第２の値を計算し、前記ペイロードの第２のサブセットと前記レングスフィールドとのexclusive ORをとることにより前記第４の値を計算するように構成される、請求項４８の通信装置。
【請求項５０】
下記を具備する通信システムにおけるペイロードの通信のための通信装置：
前記通信装置は下記を具備する：
前記ペイロードのフレーム境界を定める手段；
前記ペイロードの第１のサブセットと前記ペイロードのレングスの関数としてイニシャルチェックサムを計算し、前記ペイロードの第２のサブセットと、前記ペイロードのレングスの関数としてファイナルチェックサムを計算するための計算手段；
前記イニシャルチェックサムと前記ファイナルチェックサムを前記フレーム境界内のペイロードに付加する付加手段。
【請求項５１】
前記付加手段は、プリアンブルを前記ペイロードの開始に付加し、前記プリアンブルは前記イニシャルチェックサムを有する、請求項５０の通信装置。
【請求項５２】
前記ペイロードは複数のバイトを含み；
前記付加手段は、前記ペイロード内のバイト数を示す前記レングスフィールドを前記プリアンブル内に配置する、請求項５１の通信装置。
【請求項５３】
前記ペイロードの第２のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトと、前記ペイロードの最後のバイトを含み、前記計算手段は、前記ペイロードの第２のサブセットと前記レングスフィールドとのexclusive ORをとることにより前記ファイナルチェックサムを計算する、請求項５２の通信装置。
【請求項５４】
前記ペイロードは複数のバイトを含み、前記付加手段は、前記ペイロード内のバイト数を示す前記レングスフィールドを前記プリアンブル内に配置し、前記計算手段は、前記ペイロードの第１のサブセットおよび前記レングスフィールドの関数として前記イニシャルチェックサムを計算する、請求項５１の通信装置。
【請求項５５】
前記ペイロードの第１のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトを含み、前記計算手段は、前記ペイロードの第１のサブセットと前記レングスフィールドとのexclusive ORをとることにより前記イニシャルチェックサムを計算する、請求項５４の通信装置。
【請求項５６】
下記を具備する、通信システムにおけるペイロードの通信のための通信装置：
前記通信装置は下記を具備する：
第１の値が付加されたペイロードを有するフレームを識別する手段；
前記ペイロードのサブセットの関数として第２の値を計算するための計算手段；
前記第２の値を前記第１の値と比較する比較手段；
前記比較の関数として有効ペイロードを検出する検出手段；
前記ペイロードは複数のバイトを含み；
前記通信装置は、前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別する手段をさらに備え；
前記計算手段は、前記ペイロードのサブセットおよび前記レングスフィールドの関数として前記第２の値を計算し；
前記フレームはさらに前記第１の値が前記ペイロードの開始に付加された第１の値を有するプリアンブルを含み；
前記ペイロードのサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトを含み；
前記計算手段は、前記ペイロードのサブセットと、前記レングスフィールドとのexclusive ORをとることにより前記第２の値を計算する。
【請求項５７】
前記レングスフィールドにより示されるペイロードバイト数がしきい値を超えるかどうかを決定する手段をさらに含み；
前記検出手段は、前記レングスフィールド決定の関数としてさらに有効ペイロードを検出する、請求項５６の通信装置。
【請求項５８】
前記フレームをシリアルバイトストリームで受信する手段と、すべてのペイロードバイトが第１のペイロードバイトの受信から所定の時間内に受信されたかどうかを決定するための手段とをさらに備え、前記検出手段は、前記ペイロードバイト決定の関数としてさらに有効ペイロードを検出する、請求項５６の通信装置。
【請求項５９】
前記フレームをシリアルバイトストリームで受信する手段と、
所定の時間内に受信したペイロードバイトの数をカウントする手段と、
前記所定時間内のペイロードバイトカウントがしきい値を下回るなら無効フレームを宣言する手段とをさらに備えた、請求項５６の通信装置。
【請求項６０】
前記所定時間内のペイロードバイトが前記しきい値を超えるなら、第２の所定時間内に受信したペイロードバイトの数を再カウントする手段をさらに有する、請求項５９の通信装置。
【請求項６１】
下記を具備する、通信システムにおけるペイロードの通信のための通信装置：
前記通信装置は下記を具備する：
第１の値が付加されたペイロードを有するフレームを識別する手段；
前記ペイロードのサブセットの関数として第２の値を計算する計算手段；
前記第２の値を前記第１の値と比較する比較手段；
前記比較の関数として有効ペイロードを検出するための検出手段；
前記ペイロードのサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトを含み；
前記ペイロードの第２のサブセットは、前記プリアンブルに続くペイロードの第３、第４、第５バイトと、前記ペイロードの最後のバイトを含み；
前記第１の値は前記ペイロードの開始に付加され；
前記フレームは、前記ペイロードの最後に付加された第３の値を含み；
前記通信装置はさらに前記ペイロードの第２のサブセットの関数として第４の値を計算する手段と、前記第４の値を前記第３の値と比較する第２の比較手段をさらに備え；
前記検出手段は、前記第１の値と前記第２の値の比較、および前記第３の値と前記第４の値との比較の両方の関数として有効ペイロードを検出し；
前記ペイロードは複数のバイトを含み；
前記通信装置は、前記ペイロード内のバイト数を示すフレーム内のレングスフィールドを識別する手段をさらに含み；
前記計算手段および前記第２の計算手段の各々は、前記レングスフィールドの関数としてさらにそれぞれ第２および第４の値を計算する。
【請求項６２】
前記計算手段は、前記ペイロードのサブセットと前記レングスフィールドとのexclusive ORをとることにより前記第２の値を計算し、前記第２の計算手段は、前記ペイロードの第２のサブセットと前記レングスフィールドとのexclusive ORをとることにより前記第４の値を計算する、請求項６１の通信装置。
【手続補正書】
【提出日】平成21年4月23日(2009.4.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般に通信システムに関し、特に、ペイロードのためのフレーミングプロトコル（framing protocol)に関する。
【背景技術】
【０００２】
コンピュータ等のような、複数の処理装置を含むアプリケーションにおいて、データを交換するために適切な通信ネットワークが使用される。任意の通信ネットワークと関連するのは、装置間に通信路を確立可能にするアクセスプロトコルのセットである。特定の基準をサポートする任意の処理装置内のアプリケーションプロセスが、同じ基準をサポートする任意の処理装置内のアプリケーションプロセスと自由に通信可能にするために長い間に、種々のアクセスプロトコルが標準化されてきた。
【０００３】
コンピュータにおいて、そのような標準を実施する初期の試みは、試験し、変更することが困難であった単一の、複雑で、非構造化ソフトウエアプログラムにしばしば基づいていた。この問題を克服するために、国際標準化機構（ＩＳＯ）は基準モデルとして階層化された手法を提案した。ＩＳＯ基準モデル下では、通信サブシステムは、多数の層に分解され、各々は自分自身とそのすぐ上の層およびそのすぐ下の層との間の特定のインターフェースを用いて、特定の機能を実行する。
【０００４】
ＩＳＯ基準モデルは、７つの層から成る。下位の３つの層はネットワークに依存し、ネットワークを介して２以上の処理装置をリンクするためのプロトコルに関係する。下位の３つの層は、物理層、リンク層、およびネットワーク層を含む。物理層は処理装置とネットワークの間の物理的かつ電気的インターフェースに関係する。リンク層は、ネットワーク層に信頼できる情報を供給することにより、処理装置とネットワークとの間の物理接続を基礎とする(build on)。リンク層は、典型的にエラー訂正および同様の機能を提供する。ネットワーク層は、リンク層の上に置かれており、ネットワーク接続の確立に関与する。
【０００５】
処理装置により使用される共通のデータリンクプロトコルはポイントツーポイントプロトコル（ＰＰＰ）である。ＰＰＰは、同じリンクを介して同時に異なるネットワーク層プロトコルを多重化するための標準のカプセル化(standard encapsulation)を提供する。基本的な手続き、方法論(methodologies)およびプロトコルフォーマットは、１９９４年７月に、Simpson, Wにより編集された「ポイントツーポイントプロトコル（ＰＰＰ）＠、ＳＴＤ、５１、ＲＦＣ１６６１に定義され、この内容は参照することにより本願明細書に組み込まれる。このカプセル化は、カプセル化されたデータの境界を定めるために高レベルデータリンクコントロール（ＨＤＬＣ）フレーミング(framing)を使用する。該ＨＤＬＣフレーミングは、１９９４年７月にSimpson, W.により編集されたＨＤＬＣのようなフレーミング＠(HDLC-like Framing)におけるＰＰＰ、ＳＴＤ５１、ＲＦＣ１６６２に定義されている。
【０００６】
各ＨＤＬＣフレームは、０ｘ７ｅにより表されるフラッグフィールドで開始され、終了され、フレーム同期化のために使用される。ＨＤＬＣフレームペイロード内のフラッグフィールドを誤って検出するのを回避するために、バイトスタッフィングエスケープメカニズム(byte stuffing escape mechanism)が使用される。特に、送信する前に、ＨＤＬＣフレームペイロードは、フラッグシーケンス０ｘ７ｅに対して検査される。フラッグシーケンスがペイロード内に検出されるなら、フラッグシーケンスは、０ｘ７ｄと、その後に続く、０ｘ２０とexclusive-orされた０ｘ７ｅとから構成される２バイトのシーケンスと交換される。さらに、ペイロード内でバイト０ｘ７ｄが検出されるなら、それもまた０ｘ７ｄと、それに続く、０ｘ２０とexclusive-orされた０ｘ７ｄとから構成される２バイトのシーケンスと交換される。この手法はかなり効率的であるけれども、ペイロードをフレーム化することに関連する計算上のオーバーヘッドが増大する。
【０００７】
ＨＤＬＣフレームのインテグリティ(integrity)はペイロードに対する１６または３２ビットの巡回冗長検査を用いて監視することができる。ＣＲＣは、ペイロードを形成するバイナリビットストリームに対して周知のアルゴリズムを実行することにより計算される。受信側において、ＣＲＣは、受信したペイロードに基づいて再計算することができ、計算されたＣＲＣは、ＨＤＬＣフレーム内の送信されたＣＲＣと比較することができる。計算されたＣＲＣがＨＤＬＣフレーム内の送信されたＣＲＣに一致しないなら、ＣＲＣエラーフラッグがセットされる。このＣＲＣ手法は、エラー検出能力を改良するけれども、ペイロードをフレーム化することに関連した計算上のオーバーヘッドを増加させるという望ましくない効果も有する。
【０００８】
現在の技術をサポートするのに必要なデータレートの著しい増加を考えると、ＰＰＰのためにＨＤＬＣにより課せられるオーバーヘッドは、徐々に、より耐え難い負担となる。これは、特に、アプリケーションレベルの処理に比べてネットワーキングプロトコルの計算上のオーバーヘッドが重要である、携帯電話およびパーソナルデジタルアシスタンツのようなハンドヘルド無線装置にとってはそうである。従って、計算上のオーバーヘッドを低減し、ペイロードを簡素化するために特定のアプリケーションに合わせることができる、効率的で堅固なフレーミングプロトコルを持つことが好都合であろう。
【発明の概要】
【０００９】
この発明の第１の観点において、ペイロードをフレーム化する方法は、ペイロードのフレーム境界を定める、ペイロードのサブセットの関数として値を計算する、そして、その値をフレーム境界内のペイロードに付加することを含む。
【００１０】
この発明の他の観点において、フレーム内の有効なペイロードを決定する方法は、第１の値が付加されたペイロードを有するフレームを識別すること、ペイロードのサブセットの関数として第２の値を計算すること、第２の値を第１の値と比較すること、比較の関数として有効なペイロードを検出することを含む。
【００１１】
この発明のさらなる観点において、コンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み取り可能な媒体は、ペイロードのフレーム境界を定めること、ペイロードのサブセットの関数として値を計算すること、フレーム境界内のペイロードに値を付加することを含むペイロードをフレーム化する方法を実行する。
【００１２】
この発明のさらなる観点において、コンピュータにより実行可能な命令のプログラムを具現化するコンピュータ読み取り可能な媒体は、第１の値が付加されたペイロードを有するフレームを識別すること、ペイロードのサブセットの関数として第２の値を計算すること、第２の値を第１の値と比較すること、および比較の関数として有効なペイロードを検出することを含むフレーム内の有効なペイロードを決定する方法を実行する。
【００１３】
この発明のさらなる観点において、通信装置は、ペイロードのフレーム境界を定め、ペイロードのサブセットの関数として値を計算し、その値をフレーム境界内のペイロードに付加するように構成されたプロセッサと、処理されたフレームを送信するように構成された送信器を含む。
【００１４】
この発明の他の観点において、通信装置は、第１の値が付加されたペイロードを有するフレームを受信するように構成された受信器と、ペイロードのサブセットの関数として第２の値を計算し、第２の値を第１の値と比較し、比較の関数として有効なペイロードを検出するように構成されたプロセッサを含む。
【００１５】
この発明のさらに他の観点において、通信装置は、ペイロードのフレーム境界を定める手段と、ペイロードのサブセットの関数として値を計算する計算手段と、および値をフレーム境界内のペイロードに付加する付加手段とを含む。
【００１６】
この発明のさらなる観点において、通信装置は、第１の値が付加されたペイロードを有するフレームを識別する手段と、ペイロードのサブセットの関数として第２の値を計算する計算手段と、第２の値を第１の値を比較する比較手段と、および比較の関数として有効なペイロードを検出する検出手段を含む。
【００１７】
この発明の他の実施の形態は、以下の詳細な説明から当業者に容易に明白になるであろう。実例として、この発明の実施形態のみが示され記載されている。実現されるように、この発明は他のおよび異なる実施形態が可能であり、そのいくつかの詳細は、この発明の精神と範囲から逸脱することなく、種々の他の観点において変更可能である。従って、図面と詳細な説明は制限するものではなく、実例と見なされるべきである。
【図面の簡単な説明】
【００１８】
【図１】図１は例示実施形態に従うＣＤＭＡセルラシステムのプロトコル基準モデルである。
【図２】図２は、例示実施形態に従う、ロウオーバーヘッドフレームプロトコル(low overhead framing protocol)を利用するＣＤＭＡセルラシステムの機能ブロック図である。
【図３】図３は、例示実施形態に従うロウオーバーヘッドフレーミングプロトコルのためのフォーマットである。
【図４】図４は、例示実施形態に従って、ロウオーバーヘッドフレーミングプロトコルを使用するペイロードのための検出方法論を立証するフローチャートである。
【図５】図５は、例示実施形態に従って、受信器フリーズ(stall)を検出するための方法論を立証するフローチャートである。
【発明を実施するための形態】
【００１９】
通信システムの例示実施形態において、ロウオーバーヘッドフレーミングプロトコル(low overhead framing protocol)はネットワーク層トラヒックのために使用することができる。ロウオーバーヘッドフレーミングプロトコルは、周知のパラメータに基づいて計算上のオーバーヘッドを低減するための特定のアプリケーションに調整することができる。一例として、エラー検出能力を有した送信制御プロトコル（ＴＣＰ）ネットワーク層は、ＰＰＰカプセル化されたデータに対してしばしば実行される。従って、ＰＰＰカプセル化されたデータのためのロウオーバーヘッドフレーミングプロトコルの計算に関するオーバーヘッドは、リンク層において、エラー訂正機能を消去することにより低減することができる。符号分割多重アクセス（ＣＤＭＡ）セルラシステム内の加入者局と無線ネットワークとの間の地上波リンクにおいて、計算に関するオーバーヘッドの低減は、最大ペイロードが周知であるので、実現可能である。ケーブルモデム、デジタル加入者線、光ファイバーリンク、衛星システム、等のようなＣＤＭＡセルラシステム以外の通信システムにおいて、周知の通信パラメータは、計算に関するオーバーヘッドを低減する種々の方法でロウオーバーヘッドフレーミングプロトコルを構築するために使用されることができる。従って、ＣＤＭＡセルラシステムのコンテキストにおけるロウオーバーヘッドフレーミングプロトコルへの任意の言及は、この発明の観点を例証することだけを意図する。そのような観点は多種多様の通信システムに適用可能である。
【００２０】
図１は、ＣＤＭＡセルラシステムのための簡略化された例示プロトコル規範モデルである。より詳細なプロトコル規範モデルは、２０００年１２月に発行されたＴＩＡ／ＥＩＡ／ＩＳ−８３５；ｃｄｍａ２０００無線ＩＰネットワーク標準に見出すことができる。この内容は参照することにより本願明細書に組み込まれる。図１を参照すると、加入者装置１２は、無線ネットワーク１４と通信しているように図示される。例示加入者装置１２は物理層１８を介して無線リンクプロトコル（ＲＬＰ）１６を実行する。物理層１８は、間違いを含むフレームを検出するためのＣＲＣ方法論を含む。欠陥のあるＣＲＣを有するフレームは破棄される。これらの破棄されたフレームは、無線ネットワーク１４からの再送信を要求する否定応答（ＮＡＫ）を用いてＲＬＰにより検出される。
【００２１】
ロウオーバーヘッドフレーミングプロトコル２０は、ＲＬＰ層１６を介して実行されることができる。例示加入者装置１２は間違いを含むフレーム検出のためにＣＲＣを利用する物理層１８を有し、ＲＬＰ１６を用いてフレームエラーレートを低減するので、ロウオーバーヘッドフレーミングプロトコルはオーバーヘッドを最小にするように構成することができる。なぜなら１つ以上のＮＡＫの試みが失敗したときそれは失われたバイトに関係する必要があるだけだからである。ロウオーバーヘッドフレーミングプロトコル２０は、ＰＰＰカプセル化されたデータを交換するためにＰＰＰ層２２と通信する。次には、ＰＰＰ層２２はＰＰＰペイロードを交換するためにＩＰ層２４と通信する。
【００２２】
記載した例示ＣＤＭＡセルラシステムにおいて、加入者装置は、１つ以上の基地局を介してネットワーク２６と通信する。基地局は、加入者装置からの通信を、基地局および基地局コントローラを介して、パケットデータサービスノード（ＰＤＳＮ）２８に送る。基地局と基地局コントローラは、図１において、無線ネットワーク１４により表される。無線ネットワーク１４は、物理層３２の上でＲＬＰ３０を実行する。物理層３２は、リンク層トラヒックが無線ネットワーク１４に透過な状態で加入者装置１２とＰＤＳＮ２８との間の物理リンクを供給する。ＰＤＳＮ２８は、ネットワーク２６にゲートウエイを供給する。ＰＤＳＮ２８はまたＰＰＰリンク３８を終端し、ネットワーク２６に適したリンク層プロトコル４０を採用するように適合される。
【００２３】
ロウオーバーヘッドフレーミングプロトコルを利用する例示ＣＤＭＡセルラシステムは図２に示される。加入者装置１２は、トランシーバ４４に接続されたプロセッサ４２を含む。加入者装置１２は、無線ネットワーク１４を介してＰＤＳＮ２８と双方向通信している。ＰＤＳＮ２８はまたトランシーバ４８に接続されたプロセッサ４６を含む。
【００２４】
プロセッサ４２、４６は、一例として、マイクロプロセッサ上で実行される通信ソフトウエアを含む種々の技術を用いて実施することができる。あるいは、一方または両方のプロセッサ４２、４６を、任意の一般的なプロセッサ、コントローラ、マイクロコントローラ、プログラマブル論理装置、ロジックエレメントのアレイまたはステートマシンで実施することができる。順方向リンク（これは、ＰＤＳＮ２８から加入者装置１２への送信を指す）において、プロセッサ４６は、ペイロード、一例としてＰＰＰカプセル化されたデータを、ロウオーバーヘッドフレーミングプロトコルを用いてフレーム化することに関与する。特に、プロセッサ４６は、フレーム境界を定め、ペイロードをフレーム境界内に配置し、ペイロードのサブセットの関数として１つ以上の値を計算し、計算された値をフレーム限界内のペイロードに付加する。次に、フレーム化されたペイロードは、トランシーバ４８に接続される。トランシーバは、フレームを、（無線ネットワーク１４を介して）加入者装置１２に送信するのに適したレベルに変調し増幅する送信器（図示せず）を含む。
【００２５】
加入者装置１２におけるトランシーバ４４は、フレームを増幅し、濾波し、および復調する受信器（図示せず）を含む。次に、復調されたフレームはペイロードが有効かどうかを判断するためにプロセッサ４２に接続される。プロセッサ４２は、ペイロードのサブセットの関数として１つ以上の値を計算し、次に、計算した値を、ペイロードに付加された受信した値と比較する。その比較に基づいて、プロセッサ４２は、ペイロードが有効かどうか検出する。
【００２６】
逆方向リンク（これは、加入者装置１２からＰＤＳＮ２８への送信を指す）において、加入者装置内のプロセッサ４２は、ロウオーバーヘッドフレーミングプロトコルでペイロードをフレーム化することに関与する。プロセッサ４２は、フレームの境界を定め、ペイロードをフレーム境界内に配置し、ペイロードサブセットの関数として１つ以上の値を計算し、計算した値をフレーム境界内のペイロードに付加する。次に、フレームペイロードは、トランシーバ４４に接続される。トランシーバは、フレームを、（無線ネットワーク１４を介して）ＰＤＳＮ２８に送信するのに適したレベルに変調し、増幅する送信器（図示せず）を含む。
【００２７】
ＰＤＳＮ２８におけるトランシーバ４８は、フレームを増幅し、濾波し、復調する受信器（図示せず）を含む。復調されたフレームは、ペイロードが有効かどうかを判断するためにプロセッサ４６に接続される。プロセッサ４６は、ペイロードのサブセットの関数として１つ以上の値を計算し、次に、計算した値をペイロードに付加された受信した値と比較する。その比較に基づいて、プロセッサ４６は、ペイロードが有効かどうか検出する。
【００２８】
例示ＣＤＭＡセルラシステム、並びに、同様の通信パラメータを有する他のシステムにおいて、ロウオーバーヘッドフレーミングプロトコルは（バイトスタッフィング(byte stuffing)を介して）フラッグシーケンスをエスケープ(escape)し全体のペイロードに対してＣＲＣを計算する必要性を排除するように構成することができる。これは、シーケンシャルな順番に、スタートフラッグ(start flag)、イニシャルチェックサム(initial checksum)、レングスフィールド(length field)、ファイナルチェックサム(final checksum)およびストップフラッグ(stop flag)を有するフレーム構造を用いて達成することができる。フレーム内のすべてのバイトを処理するのを回避するために、ペイロード内のバイトの小さなサブセットに対してイニシャルチェックサムおよびファイナルチェックサムを計算することができる。
【００２９】
図３は、ロウオーバーヘッドフレーミングプロトコルのための例示フォーマットである。ビットは、左から右にシリアルに送信され、最上位ビット（MSB）が最初に送信される。フレームは、プリアンブル５０、ペイロード５２、およびポストアンブル５４を含む。プリアンブルは３バイトの長さであり、８ビットのスタートフラッグ、５ビットのイニシャルチェックサム５８、および１１ビットのレングスフィールド６０を含む。プリアンブルの最初のバイトがスタートフラッグ５６である。プリアンブルの第２バイトは、５ビットのイニシャルチェックサム５８を含み、その後に続く３つのMSBsのレングスフィールド６０を含む。レングスフィールドの残りの８つの最下位ビット（LSBs）はプリアンブル２２の第３バイトを作成する。ペイロードは任意の数のバイト数であり得、記載した例示ＣＤＭＡセルラシステムにおいては、最大１５０２バイトに制限される。ポストアンブル５４は、２バイトの長さであり、１バイトのファイナルチェックサム６２および１バイトのストップフラッグ６４を含む。
【００３０】
スタートフラッグは定数値または時間に対して変化する定数値であり得る。記載した例示ＣＤＭＡセルラシステムにおいて、スタートフラッグは０ｘ（ｄｅ）に設定される。スタートフラッグを０ｘ（ｄｅ）に設定することにより、スタートフラッグ５６と、プリアンブルの第２バイトとの間の差別化処理は、プリアンブルの第２バイトが決して０ｘ（ｄｅ）になることはありえないので簡略化することができる。これは、最大ペイロードが１５０２バイトだからであり、それゆえ、レングスフィールドは、０ｘ（５ｃｄ）に等しい値を超えることはできない。プリアンブルの第２バイトの４つのLSBsは、レングスフィールドの３つのMSBsを含むので、プリアンブルの第２バイトの４つのLSBsは決して０ｘ（ｅ）になることはできないし、同様に、０ｘ６、０ｘ７または０ｘ（ｆ）になることはできないことは容易にわかる。もちろん、多くの他の値を、スタートフラッグとプリアンブルの第２バイトとの間の同じ程度の差別化を供給することができるスタートフラッグとして選択することができることを当業者は理解するであろう。一例として、スタートフラッグは、０ｘ（ｄ６）、０ｘ（ｄ７）または０ｘ（ｄｆ）に設定することができ、スタートフラッグから容易に区別することができる。事実、プリアンブルの第２バイトの４つのMSBsはいかなる値にも設定することができ、スタートフラッグとプリアンブルの第２バイトとの間の差別化の容易性は、４つのLSBsを０ｘ６、０ｘ７、０ｘ（ｅ）または０ｘ（ｆ）に設定することにより維持することができる。スタートフラッグのために選択された特定の値は一般的に設計上の問題である。
【００３１】
スタートフラッグ５６のために選択された値はまたストップフラッグ６４のために使用することができる。この手法は、フレームが等時間間隔で受信されるとき、次のフレームのスタートフラッグとして１つのフレームのストップフラッグを用いることによりオーバーヘッドを低減することができる。２つの連続するフレーム間に遅延が存在するなら、新しいフレームの開始を示すために、別個のスタートフラッグを送らなければならない。
【００３２】
イニシャルチェックサム５８は、任意のビットの組み合わせを用いて計算することができる。記載した例示ＣＤＭＡセルラシステムにおいて、イニシャルチェックサム５８はレングスフィールドの８つのLSBs（すなわち、プリアンブルの第３バイト）およびペイロードの第３、第４、および第５バイトに対してイクスクルーシブＯＲを実行することにより計算される。８ビットイクスクルーシブＯＲされた結果の５つのＭＳＢが使用される。ペイロードが５バイト未満を含むなら、利用可能なバイトのみが使用される。ペイロードの第３、第４および第５バイトがチェックサムを計算するのに使用される。何故なら、殆どの場合、これらのバイトはパケットがヘッダ圧縮されるとき、ＴＣＰチェックサムを含むであろうからである。ＴＣＰチェックサムはペイロードの残りよりも大きな度合いの予測不可能性をたぶん呈示するであろう。それにより、イニシャルチェックサムをできるだけランダムにさせる。ランダムイニシャルチェックサムは破損したフレームを確実に検出する確率を減少するであろう。
【００３３】
レングスフィールド６０はペイロード内のバイトの数を示し、ファイナルチェックサム６２のロケーションはフレーム内にある。記載した例示ＣＤＭＡセルラシステムにおいて、このフィールドの最大許容値は１５０２であり、ＰＰＰプロトコルフィールドの２バイトとペイロードの１５００バイトを含む。
【００３４】
イニシャルチェックサム５８同様に、ファイナルチェックサム６２は、ビットの任意の組合せを用いて計算することができる。記載した例示ＣＤＭＡセルラシステムにおいて、ファイナルチェックサムは、レングスフィールドの８つのLSBs（すなわち、プリアンブルの第３バイト）、およびペイロードの第３、第４、第５、および最終バイトに対してイクスクルーシブＯＲをとることにより計算される。ペイロードが５バイト未満を含むなら、利用可能なバイトのみが使用される。
【００３５】
チェックサム計算は、以下の２つの例を参照することにより、最もよく理解される。第１の例において、フレームが２バイトのペイロードを有するなら、（ペイロードの他の必要とされるどれひとつとして存在しないので）、レングスフィールドの最後のバイトのみがイニシャルチェックサム計算に使用されるであろう。ファイナルチェックサムは、レングスフィールドの８つのLSBsおよびペイロードの第２バイトを用いて計算されるであろう。
【００３６】
一例として、ペイロードの第１バイトが０ｘ２１であり、ペイロードの第２バイトが０ｘ（ａａ）であるなら、イニシャルチェックサムは、（２バイトのペイロードを示す）０ｘ０２であるレングスフィールドの８つのＬＳＢを用いて計算されるであろう。イニシャルチェックサムはレングスフィールド、すなわち０ｘ００の５つのMSBsに等しいであろう。ファイナルチェックサムは、レングスフィールドの８つのLSBsである０ｘ０２と、ペイロードの最後のバイトである０ｘ（ａａ）とのイクルクルーシブＯＲを取ることにより計算され、０ｘ（ａ８）のファイナルチェックサムを生じるであろう。ファイナル例示フレームは、以下のように構築されるであろう（但し、ペイロードは、＊文字間にある）
ｄｅ  ００  ０２＊２１ａａ＊ａ８  ｄｅ
第２の例において、フレームが５バイトのペイロードを有するなら、イニシャルチェックサムは、レングスフィールドの８つのLSBs、およびペイロードの第３、第４、および第５バイトを用いて計算されるであろう。ファイナルチェックサムは、レングスフィールドの８つのLSBsおよびペイロードの第３、第４、および第５バイト、およびペイロードの最終バイト（この場合も第５バイトである）を用いて計算されるであろう。
【００３７】
一例として、５バイトペイロードが０ｘ２１、０ｘ０ｂ、０ｘ２２、０ｘ３ａ、０ｘ０ａなら、イニシャルチェックサムは、０ｘ０５であるレングスフィールドの８つのLSBsを、０ｘ２２、０ｘ３ａ、０ｘ０ａとイクルクルーシブＯＲすることにより計算されるであろう。イニシャルチェックサムは、０ｘ１０（０５ＸＯＲ２２ＸＯＲ３ａＸＯＲ０ａ）であろう。ファイナルチェックサムは、０ｘ（１ｄ）（０５ＸＯＲ２２ＸＯＲ３ａＸＯＲ０ａＸＯＲ０ａ）であろう。ファイナル例示フレームは以下のように構築されるであろう（但し、ペイロードは＊文字の間にある）。
【００３８】
ｄｅ  １０  ０５＊２１  ０ｂ  ２２  ３ａ  ０ａ＊１ｄ  ｄｅ
図４を参照すると、ロウオーバーヘッドフレーミングプロトコルの例示検出方法論を実証するフローチャートが示される。ステップ６６において、受信器はスタートフラッグのためのシリアルバイトストリームをスキャンする。スタートフラッグが検出されると、受信器はイニシャルチェックサムを計算できるように、必要なバイト数が着信するのを待つ。記載された例示ＣＤＭＡセルラシステムにおいて、イニシャルチェックサム、レングスフィールド、およびペイロードの最初の５バイトを、イニシャルチェックサムを計算するために受信しなければならない。ステップ６８において、受信器はイニシャルチェックサムを計算する。次に、ステップ７０において、計算されたイニシャルチェックサムが送信されたイニシャルチェックサムと比較される。計算されたイニシャルチェックサムが、送信されたイニシャルチェックサムと一致しないなら、誤ったプリアンブルが検出された。誤ったプリアンブルに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に、計算されたイニシャルチェックサムが送信されたイニシャルチェックサムと一致するなら、次に、ステップ７２において、レングスフィールドの値が最大値と比較される。レングスフィールドの値が最大値を越えるなら、誤ったプリアンブルが検出されたことになる。上述したように、誤ったプリアンブルは、受信器に、検出されたスタートフラッグを破棄させ、ステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始させる。反対に、レングスフィールドが最大値以下ならば、受信器は確実にプリアンブルを検出したことになる。
【００３９】
プリアンブルを確実に検出するための手続きは、送信されたチェックサムを計算されたチェックサムとシーケンシャルに比較し、次に、レングスフィールドの値を調べるように記載したが、順番を逆にしてもよいし、あるいは、チェックサムの比較とレングスフィールドの検査は並列に行なっても良いことを当業者は理解するであろう。さらに、代わりの実施の形態において、確実にプリアンブルを検出する手続きは、単独でまたは他の周知の技術の組み合わせで、イニシャルチェックサム比較またはレングスフィールド値の検査の一方に限定することができる。
【００４０】
プリアンブルが確実に検出されると、受信器は、何らかのさらなるフレーム処理を実行する前にレングスフィールドにより指定されたすべてのペイロードバイトを受信するまで待つ。これは、プリアンブルが誤って検出されたなら、受信器をフリーズさせるかもしれない。受信器のフリーズの可能性を回避するために、すべてのペイロードバイトは、特定の時間期間内に受信されなければならない。ステップ７４において、レングスフィールドにおいて指定されたすべてのペイロードが受信される前に時間期間が経過するなら、検出されたスタートフラッグは破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に時間期間が経過する前に、レングスフィールドで指定されたすべてのペイロードバイトが受信されるなら、ファイナルチェックサムを計算することができる。
【００４１】
ステップ７６において、ファイナルチェックサムが計算される。次に、ステップ７８において、計算されたファイナルチェックサムは、送信されたファイナルチェックサムと比較される。計算されたファイナルチェックサムが送信されたファイナルチェックサムと一致しないなら、誤ったポストアンブルが検出された。誤ったポストアンブルに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に、計算されたファイナルチェックサムが送信されたチェックサムと一致するなら、ステップ８０において、ファイナルチェックサムの直後のバイトがストップフラッグのためにチェックされる。バイトがストップフラッグでなければ、フレームは間違いを含んでいる。間違いを含んだフレームに応答して、検出されたスタートフラッグが破棄され、受信器はステップ６６に戻り、破棄されたスタートフラッグの直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。反対に、ストップフラッグがファイナルチェックサムの直後に検出されるなら、フレームは確実に検出され、受信器はステップ８２において、ペイロードを上層に渡す。
【００４２】
フレームを確実に検出するための上述したステップのシーケンスは一例であり、限定するものではない。当業者は、これらの手続きが任意の順番でも実行できる、すなわち、シリアルに、パラレルに、あるいは、シリアル手続きとパラレル手続きのいずれかの組合せで実行できることを理解するであろう。さらに、１つ以上の特定の手続きを省略してもよいし、または技術的に知られているいづれかの他の技術と組み合わせても良い。
【００４３】
受信器のフリーズは、多くのアプリケーションにおいて大きな懸念であり得る。従って、ペイロードバイトの配信の期間に受信器がフリーズするのを防止するためにある手続きを行使してもよい。一例として、最大ペイロードに対して、推定される最悪配信時間のためのタイマを設定することができる。レングスフィールドで指定された全てのペイロードバイトが受信される前にタイマが切れるなら、受信器は、フリーズを宣言し、以前に検出したスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。
【００４４】
あるいは、図５のフローに概説される手続きを用いて、受信器のフリーズに対するより早い応答時間を達成することができる。ステップ８４において、最初のペイロードバイトが受信される。これに応答して、ステップ８６において、ペイロードバイトカウントをゼロに設定し、ステップ８８において、タイマはｔ１ミリ秒（ｍｓ）でタイムアウトに設定され、ステップ９０において、タイマバイトカウントはゼロに設定される。
【００４５】
ステップ９２において、受信したペイロードバイトの数を反映させるために、ペイロードバイトカウントがインクリメントされる。次に、ステップ９４において、ペイロードバイトカウントは、レングスフィールド値と比較される。ペイロードバイトカウント値がレングスフィールド値と等しいなら、ペイロードバイト配信は完了し、ステップ９６において、ファイナルチェックサムを計算することができる。反対に、ペイロードバイトカウントがレングスフィールド値未満なら、ステップ９８において、タイマがセットされてから受信したバイト数を反映するためにタイマバイトカウントがインクリメントされる。
【００４６】
次に、ステップ１００において、受信器は、次のペイロードバイトを待つ。タイマが経過する前に、次のペイロードバイトが受信されるなら、受信器は、バイトカウントループ１０２に入る。バイトカウントループ１０２において、受信したペイロードバイトの数を反映するために、バイトカウントがステップ９２においてインクリメントされ、ステップ９４において、インクリメントされたバイトカウントが再びレングスフィールド値と比較され、ペイロード配信が完了したかどうか判断する。インクリメントされたバイトカウントがレングスフィールド値に等しいなら、受信器はバイトカウントループ１０２を出て、ステップ９６においてファイナルチェックサムを計算する。反対に、バイトカウントが、レングスフィールド値未満なら、ステップ９８において、タイマが設定されてから受信したバイト数を反映するためにタイマバイトカウントがインクリメントされる。受信器は、ペイロード配信が完了するかまたは最初のペイロードバイトを受信後、タイマがｔ１ｍｓ経過するまで、バイトカウントループ１０２に留まる。
【００４７】
タイマが（最初のペイロードが受信された後のｔ１ｍｓ）経過すると、ステップ１０４においてタイマバイトカウントは実装時に定義された定数Ｋと比較される。タイマバイトカウントが定数Ｋより大きければ、ペイロードが積極的に受信されている確率が高くなる。この結果、受信器はタイマループ１０６に入る。タイマループ１０６において、タイマは、ステップ８８においてｔ１ｍｓにおけるタイムアウト時にタイムアウトにリセットされ、ステップ９０において、タイマバイトカウントはゼロにリセットされる。次に、受信器は、ペイロード配信が完了するかまたはタイマが経過するまでバイトカウントループ１０２に入る。
【００４８】
タイマが経過すると、ステップ１０４において、タイマバイトカウントは再び定数Ｋと比較される。タイマバイトカウントが定数Ｋを越えるなら、受信器は、ペイロード配信が完了するかまたは定数Ｋ以下のタイマバイトカウントでタイマが経過するまでタイマループ１０６に留まる。タイマが定数以下のタイマバイトカウントで経過するなら、ペイロードバイトが受信されていない確率が高くなる。その場合には、受信器はステップ１０８において、受信器フリーズを宣言し、以前に検出したスタートフラッグ直後のバイトで始まる新しいスタートフラッグのためのシリアルバイトストリームのスキャンを開始する。
【００４９】
記載した例示ＣＤＭＡセルラシステムにおいて、ｔ１は、等時間間隔で物理層からの最大ペイロードを受信するのにかかる時間に設定することができる。この方法が使用されるなら、８０００ｂｐｓ物理リンクに基づいて、１５０２バイトに対応するために、ｔ１は、１．５秒に設定されるであろう。しかしながら、ｔ１の値は、物理層内の速度変化に対処するために調節可能である。定数Ｋは１０に設定することができ、または上層バイトストリームの周知のパラメータに基づいて定数Ｋを最適化するように調節可能である。
【００５０】
当業者は、ここに開示した実施形態に関連して記載した種々の例示論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウエア、コンピュータソフトウエア、または両方の組合せとして実施できることを理解するであろう。ハードウエアとソフトウエアのこの互換性を明瞭に説明するために、種々の例示部品、ブロック、モジュール、回路、およびアルゴリズムは、一般的なそれらの機能性の観点から上述した。そのような機能性がハードウエアまたはソフトウエアとして実施されるかどうかは、特定のアプリケーションおよび全体のシステムに課せられた設計制約に依存する。当業者は、各特定のアプリケーションに対してさまざまな方法で、記載した機能性を実施してもよいが、そのような実施の決定は、この発明の範囲からの逸脱を生じるものとして解釈されるべきでない。
【００５１】
ここに開示された実施の形態に関連して記載された種々の実例となる論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理装置、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウエアコンポーネント、またはここに記載した機能を実行するように設計されたいずれかの組合せを用いて実施または実行することができる。汎用プロセッサは、マイクロプロセッサであってよいが、別の方法では、プロセッサは、いずれかの一般的なプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってよい。プロセッサはまた、計算装置の組合せとしても実施されてもよい。例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと協力した１つ以上のマイクロプロセッサまたはいずれかの他のそのような構成として実施されてもよい。
【００５２】
ここに開示された実施の形態に関連して記載された方法またはアルゴリズムのステップは、ハードウエアにおいて、プロセッサにより実行されるソフトウエアモジュールにおいて、または両者の組合せにおいて直接具現化することができる。ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、脱着可能ディスク、ＣＤ−ＲＯＭ、または技術的に知られているその他のいずれかの形態の記憶媒体に存在することができる。例示記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができるようにプロセッサに接続される。別の方法では、記憶媒体は、プロセッサに集積可能である。プロセッサと記憶媒体はＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ端末に存在してもよい。別の方法では、プロセッサと記憶媒体はユーザ端末内のディスクリートコンポーネントとして存在してもよい。
【００５３】
開示した実施形態の上述の記載は当業者がこの発明を製作または使用することを可能にするために提供される。これらの実施の形態に対する種々の変更は当業者には容易に明白であろう、そしてここに定義される包括的原理は発明力の使用なしに他の実施の形態に適用可能である。従って、この発明は、ここに示した実施の形態に限定されることを意図したものではなく、ここに開示した原理と新規な特徴に一致する最も広い範囲が許容されるべきである。
【００５４】
この発明の例示実施形態について記載したけれども、添付されたクレームの範囲を制限するように解釈されるべきでない。当業者は、記載した実施の形態に種々の変更を行なうことができることを理解するであろう。さらに、多様な技術における熟達した人にとって、ここに記載した発明自体が他の仕事への解決および他のアプリケーションに対する適応を示唆するであろう。それゆえ、この実施の形態は、あらゆる面において、例示として、そして制限的なものでないものとして考察され、この発明の範囲を示すために参照は、上述した記載よりもむしろ添付されたクレームに対して成されるべきであることが望ましい。
【外国語明細書】
2009189008000001.pdf