JP5169760B2 - 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 - Google Patents
通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 Download PDFInfo
- Publication number
- JP5169760B2 JP5169760B2 JP2008292812A JP2008292812A JP5169760B2 JP 5169760 B2 JP5169760 B2 JP 5169760B2 JP 2008292812 A JP2008292812 A JP 2008292812A JP 2008292812 A JP2008292812 A JP 2008292812A JP 5169760 B2 JP5169760 B2 JP 5169760B2
- Authority
- JP
- Japan
- Prior art keywords
- division
- remainder
- determined
- unit
- division number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、対向する通信装置から受信した受信データのデータサイズが、所定整数の倍数であるか否かを判定することによって、受信データのデータサイズが正常であるか否かを判定する通信装置、受信データサイズチェック方法、第1の整数が第2の整数の倍数であるか否かを判定する倍数判定回路および倍数判定方法に関する。
従来から、携帯電話無線通信網においてデータを送受信する装置およびコンピュータネットワークにおいてIPパケットなどのデータを送受信する装置において、受信データの正常性を確認するために、パケット長がある数の整数倍であるか否かを判定することによって、固定長および可変長パケットのパケット長のチェック処理をおこなっている。
ここで、携帯電話無線通信網およびコンピュータネットワークにおける通信は、最大限のリアルタイム性を要求されることから、如何にしてパケット長のチェック処理を高速におこなうかが課題となってくる。
そこで、例えば、特許文献1および特許文献2に開示されるように、2進数で表現される任意の被演算値が2n−1(nは自然数、なお、特許文献2においては、被演算値=5としている)で表現される演算値の整数倍であるか否かを判定する倍数判定回路であって、被演算値をnビット単位に区切ってそれぞれを総和したものを新たに被演算値とし、被演算値をnビット単位に区切ってそれぞれを総和したもののビット列が所定のビット数以下になるまでnビット単位に区切って総和することを繰り返し、ビット列が所定のビット数以下に初めてなった総和が、予め記憶されている演算値の整数倍に含まれているか否かを判定することによって、任意の被演算値が演算値であるか否かを判定する倍数判定回路が提案されている。
また、特許文献3に開示されるように、整数Aに対し、整数Aとは異なる整数BまたはBの倍数分だけ整数Aと異なる整数の集合Cに属する要素の素数性を判定する素数判定方法であって、整数BまたはBの倍数を被除数とし、一つまたは複数の整数を除数または除数集合とした場合の剰余または剰余の集合を記憶し、この記憶された剰余の集合から集合Cの要素に対応する剰余を用いて、集合Cの要素を被除数とし、一つまたは複数の整数を除数とした場合の剰余を算出することによって、集合Cに属する要素の素数性を判定する素数判定方法が提案されている。この方法を応用すると、集合Cに属する要素が素数か合成数かであるかが分かり、集合Cに属する要素がある数の倍数であるか否かを判定することが可能になる。
また、特許文献4に開示されるように、合成数から、mi=4k+3(kはk>0を満たす整数)を法とする剰余系を求め、合成数およびその剰余にそれぞれ1対1に対応するインデックスを付与して記憶しておく。2つの合成数の積の剰余は、それぞれの剰余の和となるため、予め記憶されているインデックスの対応関係を利用して、剰余の和に対応する合成数を求めることができる。このようにして、複雑な乗算の計算処理を高速化することができる。この方法を応用すると、整数Aが整数Bの倍数であるか否かを判定する場合に、A=αBとなる整数αを、試行錯誤によって計算することによって、AがBの倍数であるか否かを最終的に判定することが可能になる。
しかしながら、上記特許文献1および特許文献2に代表される従来技術では、被演算値をnビット単位に区切ってそれぞれを総和するという処理を所定のビット数以下になるまで繰り返すという反復処理の負荷のみならず、被演算値をnビット単位に区切ってそれぞれを総和した結果が初めて所定のビット数以下になった場合に、総和が演算値の倍数であるか否かを判定するために参照する情報を予め用意して記憶しておかなければならなかった。
また、上記特許文献3に代表される従来技術では、一つまたは複数の整数を除数または除数集合とした場合の剰余または剰余の集合を予め算出して記憶しておく必要があり、また、素数性が見破られにくい素数生成を目的とするため、記憶された剰余の集合から集合Cの要素に対応する剰余を用いて、集合Cの要素を被除数とし、一つまたは複数の整数を除数とした場合の剰余を算出する処理の迅速性については、問題としていなかった。
また、上記特許文献4に代表される従来技術では、整数Aが整数Bの倍数であるか否かを判定する場合に、A=αBとなるαを、試行錯誤によって計算することから、整数Aが整数Bの倍数であるか否かを判定するために処理時間が膨大にかかるおそれがあった。
本発明は、上記問題点(課題)を解消するためになされたものであって、簡易な構成で、パケット長のチェック処理などに必要な倍数判定を高速におこなうことを可能とする通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法を提供することを目的とする。
上述した問題を解決し、目的を達成するため、本発明は、対向する通信装置から受信した受信データのデータサイズが(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、被除算数に値を設定する被除算数設定部と、前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部とを有し、前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする。
また、本発明は、対向する通信装置から受信した受信データのデータサイズが(2α+1)(ただし、αは自然数)の形式で表現される素数である所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、被除算数に値を設定する被除算数設定部と、前記素数から1を減算した値である前記2αを除算数に設定する除算数設定部と、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部とを有し、前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定することを特徴とする。
また、本発明は、上記発明において、前記除算部は、mod演算によって前記剰余を算出することを特徴とする。
また、本発明は、上記発明において、複数の前記所定整数の候補値を書き換え可能に記憶するレジスタ部と、前記受信データのデータサイズの種別に応じて、前記レジスタ部によって記憶される複数の前記所定整数の候補値から一の候補値を選択して前記所定整数とする候補値選択部とをさらに有することを特徴とする。
また、本発明は、対向する通信装置から受信した受信データのデータサイズが、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置がおこなう受信データサイズチェック方法であって、被除算数に値を設定する被除算数設定ステップと、前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップとを含み、前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする。
また、本発明は、第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定回路であって、被除算数に値を設定する被除算数設定部と、前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部とを有し、前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする。
また、本発明は、上記発明において、前記除算部は、mod演算によって前記剰余を算出することを特徴とする。
また、本発明は、第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定方法であって、被除算数に値を設定する被除算数設定ステップと、前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップとを有し、前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする。
本発明によれば、受信データのデータサイズを所定整数(例えば、2α+2β(ただし、α、βはα>β≧0を満たす自然数)、2α+1(αは自然数)の形式で表現される素数)から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数であれば、この減算結果を所定整数から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数であるか否かを判定する。この減算結果が整数であれば、この減算結果を所定整数から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数でなくなるまで、減算結果を所定整数から1を減算した値で除算する処理を繰り返す。そして、減算結果が正数でなくなったときの商および剰余の一致を判定し、一致すれば、受信データのデータサイズが正常であると判定し、一致しなければ、受信データのデータサイズが正常でないと判定するので、簡易な処理によって、迅速に、受信データのデータサイズが正常であるか否かを判定することが可能になるという効果を奏する。また、簡易な処理であるので、コンパクトに実装可能になることから、ハードウェア実装に好適になるという効果を奏する。
また、本発明によれば、mod演算(シフト演算)のみによって高速に剰余を算出するので、簡易な処理によって、迅速に、受信データのデータサイズが正常であるか否かを判定することが可能になるという効果を奏する。
また、本発明によれば、受信データのデータサイズが正常であるか否かの判定の際に、受信データのデータサイズの種別に応じて所定整数を選択するので、柔軟に、受信データのデータサイズが正常であるか否かの判定をおこなうことが可能になり、判定処理の効率化を図ることができるという効果を奏する。
また、本発明によれば、第1の整数を第2の整数(例えば、2α+2β(ただし、α、βはα>β≧0を満たす自然数)、2α+1(αは自然数)の形式で表現される素数)から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数であれば、この減算結果を第2の整数から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数であるか否かを判定する。この減算結果が整数であれば、この減算結果を第2の整数から1を減算した値で除算した結果の商から剰余を減算した減算結果が正数でなくなるまで、減算結果を第2の整数から1を減算した値で除算する処理を繰り返す。そして、減算結果が正数でなくなったときの商および剰余の一致を判定し、一致すれば、第1の整数が第2の整数の倍数であると判定し、一致しなければ、第1の整数が第2の整数の倍数でないと判定するので、簡易な処理によって、迅速に、第1の整数が第2の整数の倍数であるか否かを判定することが可能になるという効果を奏する。また、簡易な処理であるので、コンパクトに実装可能になることから、ハードウェア実装に好適になるという効果を奏する。
また、本発明によれば、mod演算(シフト演算)のみによって高速に剰余を算出するので、簡易な処理によって、迅速に、第1の整数が第2の整数(例えば、2α+2β(ただし、α、βはα>β≧0を満たす自然数)、2α+1(αは自然数)の形式で表現される素数)の倍数であるか否かを判定することが可能になるという効果を奏する。
以下に添付図面を参照し、本発明の通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法にかかる実施例を詳細に説明する。なお、以下の実施例では、本発明の通信装置を通信中継装置に適用した場合を示す。特に、通信中継装置は、携帯電話機などから他の携帯電話機への無線による通信データを中継する無線基地局である。しかし、これに限定されず、本発明は、通信装置から他の通信装置へ、無線または有線による通信データを中継する通信中継装置に広く適用可能である。
また、本発明は、通信中継装置に限らず、無線または有線によって他の通信装置と通信データを送受信する通信装置に広く適用可能である。例えば、無線または有線によって他のコンピュータ装置と通信データを送受信するコンピュータ装置であってもよい。また、無線または有線によって他の通信装置と通信データを送受信する通信装置であってもよい。
なお、以下の実施例では、通信データのデータフォーマットは、パケットとし、受信データサイズは、パケット長であるとするが、これに限らず、通信データのデータフォーマットは、通信方式に応じた様々なデータフォーマットであってもよい。以下の実施例で示すデータ量の単位は、すべて「Byte」であるとするが、情報量を示す単位であれば、いずれであってもよい。
先ず、実施例1にかかる通信中継装置の構成について説明する。図1は、実施例1にかかる通信中継装置の構成を示す機能ブロック図である。同図に示すように、実施例にかかる通信中継装置100は、対向する通信装置300aと通信装置300bとの間で送受信されるパケットを中継する。
通信中継装置100は、パケット中継処理部101と、パケット中継処理部102と、制御部103と、レジスタ設定記憶部104とを有する。パケット中継処理部101は、通信装置300aから受信したパケットを中継して通信装置300bへと送信する。同様に、パケット中継処理部102は、通信装置300bから受信したパケットを中継して通信装置300aへと送信する。
パケット中継処理部101は、パケット受信制御部101aと、パケット処理部101bと、パケット送信制御部101cとを有する。パケット受信制御部101aは、通信装置300aからパケットを受信し、受信パケットのパケット長のチェックをおこなう。パケット受信制御部101aは、チェック結果が『受信パケットのパケット長が正常である』であった場合には、受信パケットをパケット処理部101bへと受け渡す。一方、パケット受信制御部101aは、チェック結果が『受信パケットのパケット長が正常でない』であった場合には、受信パケットを破棄する処理をおこなう。
パケット処理部101bは、パケット受信制御部101aから受け渡された受信パケットに応じたプロトコル制御や転送制御などをおこない、受信パケットをパケット送信制御部101cへと受け渡す。
パケット送信制御部101cは、パケット処理部101bから受け渡された受信パケットを、送信パケットとして、通信装置300bへ送信する。なお、パケット中継処理部102も、パケット中継処理部101と同様の構成および機能を有し、同様の処理をおこなうため、説明を省略する。
制御部103は、通信中継装置100の全体制御をつかさどる制御装置である。通信中継装置100の制御に必要なファームウェアを実行することによって、通信中継装置100の制御をおこなう。また、制御部103は、外部から入力されたレジスタ設定値を、レジスタ設定記憶部104に格納される後述のレジスタ設定記憶テーブルに記憶させる処理をおこなう。
なお、レジスタ設定記憶テーブルに記憶されるレジスタ設定値は、外部からの入力によって可変である。レジスタ設定記憶テーブルに記憶されるレジスタ設定値を可変とすることによって、パケット長倍数規則の対応が柔軟になり、あらゆるパケット長倍数規則に従うパケットのパケット長が正常であるか否かを判定することが可能になる。
次に、図1に示した実施例1にかかる通信中継装置のパケット受信制御部の構成について説明する。図2は、実施例1にかかる通信中継装置のパケット受信制御部の構成を示す機能ブロック図である。実施例1にかかる通信中継装置100のパケット受信制御部101aは、パケット受信部101a−1と、パケットチェック処理部101a−2と、廃棄判定処理部101a−3とを有する。
パケット受信部101a−1は、受信パケットを、廃棄判定処理部101a−3へと受け渡すとともに、受信パケットのヘッダ情報から、後述のパケット長倍数規則識別子およびパケット長を取得してパケットチェック処理部101a−2へと受け渡す。また、パケット受信部101a−1は、受信パケットの実際のパケット長を計測し、実パケット長としてパケットチェック処理部101a−2へと受け渡す。
パケットチェック処理部101a−2は、ヘッダ情報判定処理部105aと、除算処理部105bと、正数判定処理部105cと、パケット長正常判定処理部105dとを有する。ヘッダ情報判定処理部105aは、パケット受信部101a−1から受け渡されたパケット長倍数規則識別子に基づき、受信パケットのパケット長が、2の累乗+1の倍数規則性を有するパケットであるか、2の累乗の倍数規則性を有するパケットであるか、または、固定長であるパケットであるかを判定する。
なお、図3−1に一例を示すように、パケットフォーマットは、パケット長識別子およびパケット長のフィールドを少なくとも含むプレアンブル部と、ユーザデータを格納するペイロード部とからなる。
また、パケット長倍数規則識別子は、図3−2に一例を示すように、パケット長倍数規則識別子が『0』であれば、パケット長倍数規則性が『2の累乗+1の倍数』であり、パケット長倍数規則識別子が『1』であれば、パケット長倍数規則性が『2の累乗の倍数』であり、パケット長倍数規則識別子が『2』であれば、パケット長倍数規則性が『固定長』であることを示す。
除算処理部105bは、被除算値および除算値を、それぞれ変数Uおよび変数Vとして、ワークメモリに記憶する。除算処理部105bは、先ず、Uに、パケット受信部101a−1から受け渡された実パケット長をセットする。
続いて、除算処理部105bは、パケット長倍数規則識別子が『0』であれば、図4に一例を示す、レジスタ設定記憶部104に格納されるレジスタ設定記憶テーブルから設定値『X=2α+1』(αは自然数)を読み出して、『X−1=2α』(Xから1を減算した値)をVにセットする。
続いて、除算処理部105bは、正数判定処理部105cによって、UをVで除算した結果の商M0から剰余N0を減算した減算結果(M0−N0)が正数であると判定されたならば(M0−N0>0)、この減算結果(M0−N0)をUに上書きセットする。
続いて、除算処理部105bは、UをVで除算する。正数判定処理部105cは、その商M1から剰余N1を減算した減算結果(M1−N1)が正数であるか否かを判定する。除算処理部105bは、この減算結果(M1−N1)が正数であれば(M1−N1>0)、この減算結果(M1−N1)をUに上書きセットする。
続いて、除算処理部105bは、正数判定処理部105cによって、UをVで除算した結果の商から剰余を減算した減算結果が正数でないと判定されるまで、減算結果をVで除算する処理を繰り返す。
そして、パケット長正常判定処理部105dは、減算結果が正数でなくなったときの商および剰余の一致を判定し、一致すれば、『受信データのデータサイズが正常である』と判定し、一致しなければ、『受信データのデータサイズが正常でない』と判定して、判定結果を、廃棄判定処理部101a−3へ通知する。
また、除算処理部105bは、パケット長倍数規則識別子が『1』であれば、レジスタ設定記憶テーブルから設定値『Y=2β』(βは自然数)を読み出して、『Y=2α』をVにセットする。そして、除算処理部105bは、UをVで除算する。
そして、パケット長正常判定処理部105dは、除算の結果の剰余が0であるか否かを判定し、剰余が0であれば、『受信データのデータサイズが正常である』と判定し、剰余が0でなければ、『受信データのデータサイズが正常でない』と判定して、判定結果を、廃棄判定処理部101a−3へ通知する。
また、除算処理部105bは、パケット長倍数規則識別子が『2』であれば、レジスタ設定記憶テーブルから設定値『Z』(Zは整数)を読み出して、『Z』をVにセットする。そして、パケット長正常判定処理部105dは、UとVとが一致するか否かを判定し、一致すれば、『受信データのデータサイズが正常である』と判定し、一致しなければ、『受信データのデータサイズが正常でない』と判定して、判定結果を、廃棄判定処理部101a−3へ通知する。
廃棄判定処理部101a−3は、パケット長正常判定処理部105dから通知された判定結果が『受信データのデータサイズが正常である』場合は、パケット受信部101a−1から受け渡された受信パケットを、パケット処理部101bへと受け渡し、パケット長正常判定処理部105dから通知された判定結果が『受信データのデータサイズが正常でない』場合は、パケット受信部101a−1から受け渡された受信パケットを廃棄する。
なお、パケット中継処理部101、パケット受信制御部101a、パケット処理部101b、パケット送信制御部101c、パケット中継処理部102、パケット受信制御部102a、パケット処理部102b、パケット送信制御部102cは、専用の集積回路またはワイヤードロジックなどでハードウェア実装されるので、高速処理が可能である。
特に、パケット受信制御部101aのパケットチェック処理部101a−2が専用の集積回路またはワイヤードロジックで実装されることによって、パケットチェック処理の高速化を図ることができ、通信中継装置100の処理能力を向上させることが可能になる。
次に、実施例1にかかる通信中継処理について説明する。図5は、実施例1にかかる通信中継処理を示すシーケンス図である。同図に示すように、先ず、通信装置300aから通信中継装置100のパケット中継処理部101へ、パケットが送信される(ステップS101)。
続いて、通信装置300aからのパケットを受信したパケット中継処理部101のパケット受信制御部101aは、受信パケットの受信制御処理をおこなう(ステップS102)。続いて、パケット受信制御部101aのパケットチェック処理部101a−2は、受信パケットのパケットチェック処理をおこなう(ステップS103)。
続いて、パケット中継処理部101のパケット処理部101bは、受信パケットのパケット処理をおこなう(ステップS104)。続いて、パケット中継処理部101のパケット送信制御部101cは、受信パケットを、送信パケットとして、通信装置300bへ送信する送信制御処理をおこなう(ステップS105)。
そして、通信中継装置100から通信装置300bへと、パケットが送信されることとなる(ステップS106)。
次に、実施例1にかかるパケットチェック処理について説明する。図6は、実施例1にかかるパケットチェック処理手順を示すフローチャートである。同図に示すように、先ず、ヘッダ情報判定処理部105aは、パケット受信部101a−1から、受信パケットのヘッダ情報(パケット長倍数規則識別子およびパケット長)および実パケット長(以下、『LEN』と略記する)を取得する(ステップS201)。
続いて、ヘッダ情報判定処理部105aは、パケット長倍数規則識別子が『0』((2の累乗+1)の倍数規則パケット)であるか否かを判定する(ステップS202)。パケット長倍数規則識別子が『0』と判定された場合に(ステップS202肯定)、ステップS203へ移り、パケット長倍数規則識別子が『0』であると判定されなかった場合に(ステップS202否定)、ステップS211へ移る。
ステップS203では、除算処理部105bは、ワークメモリに記憶する変数であるU(非除算値)およびV(除算値)に、それぞれ『LEN』および『X−1』(『X』は、図4に示される、2の累乗+1の形の素数である)をセットし、UをVで除算する。そして、除算結果である商および剰余を、ワークメモリに記憶する変数であるM、Nそれぞれにセットする。なお、剰余は、mod演算によって算出する。
続いて、正数判定処理部105cは、M−Nが0より大(すなわち、M−Nが正数)であるか否かを判定する(ステップS204)。M−Nが0より大であると判定された場合に(ステップS204肯定)、ステップS205へ移り、M−Nが0より大であると判定されなかった場合に(ステップS204否定)、ステップS207へ移る。
ステップS205では、除算処理部105bは、UにM−Nを上書きセットし、UをVで除算する。そして、除算結果である商および剰余を、ワークメモリに記憶する変数であるM、Nそれぞれにセットする。
続いて、正数判定処理部105cは、M−Nが0より大であるか否かを判定する(ステップS206)。M−Nが0より大であると判定された場合に(ステップS206肯定)、ステップS205へ移り、M−Nが0より大であると判定されなかった場合に(ステップS206否定)、ステップS207へ移る。
ステップS207では、パケット長正常判定処理部105dは、M=Nであるか否かを判定する。M=Nであると判定された場合に(ステップS207肯定)、ステップS208へ移り、M=Nであると判定されなかった場合に(ステップS207否定)、ステップS209へ移る。
ステップS208では、パケット長正常判定処理部105dは、判定結果に『判定OK(受信データのデータサイズが(2の累乗+1)の倍数であり、正常である)』をセットする。また、ステップS209では、パケット長正常判定処理部105dは、判定結果に『判定NG(受信データのデータサイズが(2の累乗+1)の倍数でなく、正常でない)』をセットする。
続いて、ステップS210では、パケット長正常判定処理部105dは、廃棄判定処理部101a−3に対して、上記判定結果を通知する。
一方、ステップS211では、ヘッダ情報判定処理部105aは、パケット長倍数規則識別子が『1』(2の累乗の倍数規則パケット)であるか否かを判定する。パケット長倍数規則識別子が『1』と判定された場合に(ステップS211肯定)、ステップS212へ移り、パケット長倍数規則識別子が『1』であると判定されなかった場合に(ステップS211否定)、ステップS216へ移る。
ステップS212では、除算処理部105bは、ワークメモリに記憶する変数であるU(非除算値)およびV(除算値)に、それぞれ『LEN』および『Y』(『Y』は、図4に示される、2の累乗の形の整数である)をセットし、剰余演算(mod演算)によりUをVで除算した剰余を算出する。そして、剰余演算結果である剰余を、ワークメモリに記憶する変数であるPそれぞれにセットする。
続いて、パケット長正常判定処理部105dは、P=0であるか否かを判定する(ステップS213)。P=0であると判定された場合に(ステップS213肯定)、ステップS214へ移り、P=0であると判定されなかった場合に(ステップS213否定)、ステップS215へ移る。
ステップS214では、パケット長正常判定処理部105dは、判定結果に『判定OK(受信データのデータサイズが2の累乗の倍数であり、正常である)』をセットする。また、ステップS215では、パケット長正常判定処理部105dは、判定結果に『判定NG(受信データのデータサイズが2の累乗の倍数でなく、正常でない)』をセットする。これらの処理が終了すると、ステップS210へ移る。
また、ステップS216では、パケット長正常判定処理部105dは、『LEN』と、『Z』(『Z』は、図4に示される固定パケット長を示す整数である)とが等しいか否か(LEN=Zか否か)を判定する。LEN=Zであると判定された場合に(ステップS216肯定)、ステップS217へ移り、LEN=Zであると判定されなかった場合に(ステップS216否定)、ステップS218へ移る。
ステップS217では、パケット長正常判定処理部105dは、判定結果に『判定OK(受信データのデータサイズが、あらかじめレジスタ設定記憶部104に記憶されている固定パケット長の値に等しく、正常である)』をセットする。また、ステップS218では、パケット長正常判定処理部105dは、判定結果に『判定NG(受信データのデータサイズが、あらかじめレジスタ設定記憶部104に記憶されている固定パケット長の値に等しくなく、正常でない)』をセットする。これらの処理が終了すると、ステップS210へ移る。
上記ステップS202、ステップS211の処理のように、パケット長倍数規則識別子の値に応じて処理を分岐させるので、より効率的に受信データのデータサイズが正常であるか否かの判定をおこなうことが可能になる。
次に、図6に示したパケットチェック処理の具体例を説明する。図7−1は、5の倍数チェックを4の剰余演算で実現する計算例を示す図であり、図7−2は、9の倍数チェックを8の剰余演算で実現する計算例を示す図である。
先ず、図7−1を参照して、パケット長が0〜31[Byte]である場合に、パケット長が5(=22+1)の倍数であるか否かを2の累乗値である4(22)を用いて判定する場合を説明する。パケット長が4、8、9、12〜14、16〜31[Byte]の場合は、パケット長を4で除算(1回目の除算)した結果の商M1と剰余N1とを比較したとき、M1>N1(すなわち、M1−N1>0)であるので、このM1−N1を4によって除算(2回目の除算)する。
この除算結果の商M2と剰余N2とを比較すると、パケット長が16、21、26、31の場合は、M2>N2(すなわち、M−N>0)であるので、このM2−N2を4によって除算(3回目の除算)する。すると、この除算結果の商M3と剰余N3とを比較すると、いずれも、M3<N3(すなわち、M3−N3<0)となるので、パケットチェック処理は終了し、いずれも、M3≠N3であるので、16、21、26、31は、いずれも5の倍数ではないと判定される。
また、パケット長が4、8、9、12〜14、17〜19、22〜24、27〜29の場合は、いずれも、2回目の除算で、M2<N2(すなわち、M2−N2<0)となるので、パケットチェック処理は終了し、いずれも、M2≠N2であるので、4、8、9、12〜14、17〜19、22〜24、27〜29は、いずれも5の倍数ではないと判定される。
また、パケット長が20、25、30の場合は、いずれも、2回目の除算で、M2=N2となるので、パケットチェック処理は終了し、20、25、30は、いずれも5の倍数であると判定される。
また、パケット長が1〜3、6、7、11の場合は、いずれも、1回目の除算で、M1<N1(すなわち、M1−N1<0)となるので、パケットチェック処理は終了し、いずれも、M1≠N1であるので、1〜3、6、7、11は、いずれも5の倍数ではないと判定される。
また、パケット長が0、5、10、15の場合は、いずれも、1回目の除算で、M1=N1となるので、パケットチェック処理は終了し、0、5、10、15は、いずれも5の倍数であると判定される。
同様に、図7−2を参照して、パケット長が0〜31[Byte]である場合に、パケット長が9(=23+1)の倍数であるか否かを2の累乗値である8(23)を用いて判定する場合を説明する。パケット長が8、16、17、24〜26[Byte]の場合は、パケット長を8で除算(1回目の除算)した結果の商M1と剰余N1とを比較したとき、M1>N1(すなわち、M1−N1>0)であるので、このM1−N1を8によって除算(2回目の除算)する。
この除算結果の商M2と剰余N2とを比較すると、いずれも、M2<N2(すなわち、M2−N2<0)となるので、パケットチェック処理は終了し、いずれも、M3≠N3であるので、8、16、17、24〜26は、いずれも9の倍数ではないと判定される。
また、パケット長が1〜8、10〜15、19〜23、28〜31の場合は、いずれも、1回目の除算で、M1<N1(すなわち、M1−N1<0)となるので、パケットチェック処理は終了し、いずれも、M1≠N1であるので、1〜8、10〜15、19〜23、28〜31は、いずれも9の倍数ではないと判定される。
また、パケット長が0、9、18、27の場合は、いずれも、1回目の除算で、M1=N1となるので、パケットチェック処理は終了し、0、9、18、27は、いずれも9の倍数であると判定される。
以上に示したパケットチェック処理(倍数判定処理)の妥当性を、以下に示す。ここで、受信パケットの実パケット長『LEN』(非負の整数)を被除算数、2αを(αは自然数)除算数とし、被除算数を除算数で除算した商をM1、剰余をN1とすると、次式のようになる。
ここで、M1>N1(すなわち、M1−N1>0)が成り立つ場合は、M1−N1を被除算数とし、上記(1)式と同様に、2αを除算数として、被除算数を除算数で除算した商をM2、剰余をN2とすると、次式のようになる。
同様に、Mi−1>Ni−1(すなわち、Mi−1−Ni−1>0、iは3≦i≦n−1なる自然数,nは4以上の自然数)が成り立つ場合は、Mi−1−Ni−1を被除算数とし、上記(2)式と同様に、2αを除算数として、被除算数を除算数で除算した商をMi、剰余をNiとすると、次式のようになる。
同様の演算を、i=n(nは自然数)となるまでおこなった結果、被除算数を除算数で除算した商をMn、剰余をNnとすると、Mn<Nn(すなわち、Mn−Nn<0)となったとする。この場合の、被除算数を除算数で除算した結果は、次式のようになる。
そして、上記(1)式、(2)式、3≦i≦n−1のすべてのiにかかる(3)式および(4)式の辺々をそれぞれ加算して整理すると、次式のように、LENを2α+1で除算した商と剰余がわかる。
ここで、上記(5)式の剰余の2α、2αMnおよびNnは、いずれも2α+1では割り切れないので、LENが2α+1で割り切れるためには、2αMn+Nnが2α+1では割り切れる、すなわち、次式に示すように、Mn=Nnが必要十分条件となる。
すなわち、Mn=Nnとすると、上記(5)式は、次式のようになり、LENが2α+1で割り切れる、すなわち、LENが2α+1の倍数であることになる。
上記実施例1は、次のような課題を解決するためになされた。従来から、例えば、携帯電話無線通信網のデータを処理する装置間通信およびIPパケットなどのデータを送受信する装置間通信において、パケット受信時にパケットの正当性をチェックするために、装置間で規定したパケット固有の長さの規則性(例えば5の倍数であるなど)に基づいた適合判定を行い、正当性を確認できたもののみパケットの処理を行い、対向装置へ送信されるようになっている。
従来の通信中継装置において、パケットの受信から送信までの制御は、以下の流れで処理をおこなっていた。通信装置から受信した受信パケットをハードウェア制御部で受信制御を行い、パケット長およびヘッダ情報をソフトウェア制御部へ通知する。
そして、ソフトウェア制御部は、ヘッダ情報からパケット種別を判別し、該当パケットの規則性に基づくパケット長の正当性チェックを行い、判定結果をハードウェア制御部へ通知する。
そして、ハードウェア制御部は、ソフトウェア制御部から受けた判定結果がNGであれば受信制御で受けたパケットを廃棄し、OKであればパケット処理後、通信装置と対向する他の通信装置へ送信する。
より高速かつ大容量のパケットを送受信処理する従来の通信装置において、パケット受信時の正常性チェック処理を、パケット受信の都度、ソフトウェアへ演算処理をおこなっていたので、通信装置としての処理性能(処理速度)のボトルネックとなっていた。
また、従来の通信装置において、ある長さの倍数判定を行うための剰余演算処理をハードウェア制御で行うには、多大な回路規模を必要とし、制御が困難な場合がある。ある長さの倍数判定を行う処理をハードウェア回路で実現する場合、例えば、2の倍数であるか否かのチェックを行う際は、mod演算を用いて容易に判定が可能である。この場合は処理速度も低減することはない。これは二進数演算を得意とするハードウェア回路では、2の累乗の剰余演算は、非除算数の桁数に依存せず、割る値の最上位桁より上が商、下が剰余なので、容易に演算可能であるためである(例えば、1023(b1111111111)÷4(b100)→商255(b11111111)、剰余3(b11))。
しかしながら、5や9などの2の累乗+1で表現される値の倍数チェックに、この処理を適用すると、処理負荷が大きくなるため、2の倍数チェック時と比べ処理速度が大幅に低下し、回路規模も増大するため、実装に適さない。
上記実施例は、以上の課題を解決し、より簡易なアルゴリズムで倍数判定をおこなうため、例えば、受信パケットの正常性のチェックの際に、より処理負荷が軽く、また処理回路もより簡易な構成でハードウェア実装可能となるので、通信装置の処理能力を向上させることが可能になる。
上記では、除算数を2αとした場合の議論をおこなったが、除算数の値の範囲を、すべての自然数にまで拡張することが可能である。以下では、除算数をすべての自然数とした場合の倍数判定処理の議論をおこなう。なお、2以上の自然数である『LEN』が整数A+1(Aは自然数)の倍数であるか否かを判定することを前提とする。
『LEN』を被除算数、Aを除算数とし、被除算数を除算数で除算した商をM1、剰余をN1とすると、次式のようになる。
ここで、M1>N1(すなわち、M1−N1>0)が成り立つ場合は、M1−N1を被除算数とし、上記(8)式と同様に、Aを除算数として、被除算数を除算数で除算した商をM2、剰余をN2とすると、次式のようになる。
同様に、Mi−1>Ni−1(すなわち、Mi−1−Ni−1>0、iは3≦i≦n−1なる自然数、nは4以上の自然数)が成り立つ場合は、Mi−1−Ni−1を被除算数とし、上記(9)式と同様に、Aを除算数として、被除算数を除算数で除算した商をMi、剰余をNiとすると、次式のようになる。
同様の演算を、i=n(nは自然数)となるまでおこなった結果、被除算数を除算数で除算した商をMn、剰余をNnとすると、Mn<Nn(すなわち、Mn−Nn<0)となったとする。この場合の、被除算数を除算数で除算した結果は、次式のようになる。
そして、上記(8)式、(9)式、3≦k≦nのすべてのkにかかる(10)式および(11)式の辺々をそれぞれ加算して整理すると、次式のように、LENをA+1で除算した商と剰余がわかる。
ここで、上記(12)式の剰余のA、AMnおよびNnは、いずれもA+1では割り切れないので、LENがA+1で割り切れるためには、AMn+NnがA+1では割り切れる、すなわち、次式に示すように、Mn=Nnが必要十分条件となる。
すなわち、Mi=Niとすると、上記(12)式は、次式のようになり、LENがA+1で割り切れる、すなわち、LENがA+1の倍数であることになる。
数学的には、上記のアルゴリズムを利用して、自然数Aが自然数Bの倍数であるか否かを判定することが可能である。しかし、現状の演算装置では、データを2進数で取り扱うため、2の累乗での除算であれば、高速におこなうことができるが、2の累乗以外の除算は、回路構成が大規模になり、演算速度が低くなる。よって、現状の演算装置では、除算数を2の累乗とする、ある自然数Aが2の累乗+1の倍数であるか否かを判定することが好適である。
しかし、2n(nは自然数)進数以外のm進数(mは3以上の自然数)の演算を高速におこなう演算回路であれば、上記のアルゴリズムを利用して、自然数Aが自然数Bの倍数であるか否かを、コンパクトな回路構成の演算回路で、高速に判定することが可能である。
上記実施例1では、通信中継装置において受信パケットのパケット長が正常であるか否かを判定するパケット長正常判定処理をおこなう実施例を示したが、パケットチェック処理部101a−2は、ほぼ同様の構成で、倍数判定回路として実施することが可能である。
先ず、実施例2にかかる倍数判定回路の構成について説明する。図8は、倍数判定回路の構成を示す機能ブロック図である。倍数判定回路200は、除算処理部201と、正数判定処理部202と、倍数判定処理部203とを有する。
除算処理部201は、被除算値および除算値を、それぞれ変数Uおよび変数Vとして、ワークメモリに記憶する。除算処理部201は、先ず、Uに、入力された被除算数A(Aは非負の整数)をセットする。続いて、除算処理部201は、Vに、入力された除算数B(Bは2以上の整数)から1を減算した値(B−1)をセットする。
続いて、除算処理部201は、正数判定処理部202によって、UをVで除算した結果の商M0から剰余N0を減算した減算結果(M0−N0)が正数であると判定されたならば(M0−N0>0)、この減算結果(M0−N0)をUに上書きセットする。
続いて、除算処理部201は、UをVで除算する。正数判定処理部202は、その商M1から剰余N1を減算した減算結果(M1−N1)が正数であるか否かを判定する。除算処理部201は、この減算結果(M1−N1)が整数であれば(M1−N1>0)、この減算結果(M1−N1)をUに上書きセットする。
続いて、除算処理部201は、正数判定処理部202によって、UをVで除算した結果の商から剰余を減算した減算結果が正数でないと判定されるまで、減算結果をVで除算する処理を繰り返す。
そして、倍数判定処理部203は、減算結果が正数でなくなったときの商および剰余の一致を判定し、一致すれば、『AがBの倍数である』と判定し、一致しなければ、『AはBの倍数でない』と判定して、判定結果を出力する。
次に、実施例2にかかる倍数判定回路でおこなわれる倍数判定処理について説明する。図9は、実施例2にかかる倍数判定処理手順を示すフローチャートである。同図に示すように、先ず、除算処理部201は、ワークメモリに記憶する変数であるU(被除算値)およびV(除算値)に、それぞれ『A』および『B−1』(『A』および『B』は、それぞれ、入力された被除算数および除算数である)をセットし、UをVで除算する。そして、除算結果である商および剰余を、ワークメモリに記憶する変数であるM、Nそれぞれにセットする(ステップS301)。なお、剰余は、mod演算によって算出する。
続いて、正数判定処理部202は、M−Nが0より大(すなわち、M−Nが正数)であるか否かを判定する(ステップS302)。M−Nが0より大であると判定された場合に(ステップS302肯定)、ステップS303へ移り、M−Nが0より大であると判定されなかった場合に(ステップS302否定)、ステップS305へ移る。
ステップS303では、除算処理部201は、UにM−Nを上書きセットし、UをVで除算する。そして、除算結果である商および剰余を、ワークメモリに記憶する変数であるM、Nそれぞれにセットする。
続いて、正数判定処理部202は、M−Nが0より大であるか否かを判定する(ステップS304)。M−Nが0より大であると判定された場合に(ステップS304肯定)、ステップS303へ移り、M−Nが0より大であると判定されなかった場合に(ステップS304否定)、ステップS305へ移る。
ステップS305では、倍数判定処理部203は、M=Nであるか否かを判定する。M=Nであると判定された場合に(ステップS305肯定)、ステップS306へ移り、M=Nであると判定されなかった場合に(ステップS305否定)、ステップS307へ移る。
ステップS306では、倍数判定処理部203は、判定結果に『判定OK(AはBの倍数である、すなわち、AはBで割り切れる)』をセットする。また、ステップS307では、倍数判定処理部203は、判定結果に『判定NG(AはBの倍数でない、すなわち、AはBで割り切れない)』をセットする。
続いて、ステップS308では、倍数判定処理部203は、外部装置へ、上記判定結果を出力する。
なお、除算処理部201が、実施例1に示したレジスタ設定記憶部104と同様のレジスタ設定記憶部を含み、このレジスタ設定記憶部が、実施例1に示したレジスタ設定記憶テーブルと同様のテーブルを格納することとしてもよい。この場合、除算処理部201は、実施例2の倍数判定処理の最初で、実施例1のステップS201およびステップS211と同様の処理をおこなうこととなる。
上記実施例2は、より簡易なアルゴリズムで倍数判定をおこなうため、例えば、画像入力装置または画像出力装置などで、画素の座標を決定する際に、より処理負荷が軽く、また処理回路もより簡易な構成でハードウェア実装可能となるので、画像入力装置および画像出力装置の処理能力を向上させることが可能になる。
次に、図10〜図13を参照して、実施例3にかかる通信中継装置の構成について説明する。実施例3は、パケット長倍数規則が(2α+1)(ただし、αは自然数)の形式で表現される素数である場合を説明したが、実施例3では、パケット長倍数規則が(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される整数である場合を説明する。以下では、実施例1との差異部分のみについて説明する。
図10は、実施例3にかかるパケット長倍数規則識別子の一例を示す図である。同図に示すように、パケット長倍数規則識別子が『0』であれば、パケット長倍数規則性が『(2α+2β)(Byte、ただし、α、βはα>β≧0を満たす自然数、以下同様)の倍数』であり、パケット長倍数規則識別子が『1』であれば、パケット長倍数規則性が『2の累乗の倍数』であり、パケット長倍数規則識別子が『2』であれば、パケット長倍数規則性が『固定長』であることを示す。
このとき、次式のように(2α+2β)を変形する。
そして、受信したパケット長LEN(Byte)が(2α+2β)で割り切れることと、受信したパケット長LENが2βで割り切れ、かつ、(2α−β+1)で割り切れることとは等価である。よって、受信したパケット長LENが2βで割り切れ、かつ、(2α−β+1)で割り切れるかを判定する。
LENが2βで割り切れるか否かの判定は、通常のシフト演算(mod演算)によりおこなう。LENが2βで割り切れる場合、続いてLENが(2α−β+1)で割り切れるかの判定は、実施例1に示した方式により行う。この様にして、実施例1に示した受信パケット長チェック処理を応用して、(2α+2β)のパケット長倍数規則性を有する受信パケットのパケット長が正常であるか異常であるかを判定することが出来る。
なお、図11は、実施例3にかかるレジスタ設定記憶テーブルの一例を示す図である。同図には、上記図10の説明で説明した『パケット長倍数規則識別子』及び対応するパケット長倍数規則値が格納されている。
次に、図12を参照して、実施例3にかかるパケットチェック処理手順について説明する。実施例3にかかるパケットチェック処理手順の説明は、実施例1にかかるパケットチェック処理手順との差異部分についてのみおこなう。同一の処理には同一のステップ番号を付与している。
実施例3にかかるパケットチェック処理では、ステップS201に続き、ヘッダ情報判定処理部105aは、パケット長倍数規則識別子が『0』((2α+2β)の倍数規則パケット)であるか否かを判定する(ステップS202a)。パケット長倍数規則識別子が『0』と判定された場合に(ステップS202a肯定)、ステップS202bへ移り、パケット長倍数規則識別子が『0』であると判定されなかった場合に(ステップS202a否定)、ステップS211aへ移る。
ステップS202bでは、ヘッダ情報判定処理部105aは、(2α+2β)のβが0であるか否かを判定する。(2α+2β)のβが0であると判定された場合(ステップS202b肯定)、ステップS203へ移り、(2α+2β)のβが0であると判定されなかった場合(ステップS202b否定)、ステップS211aへ移る。なお、βが0である場合、以下、実施例1で示した(2α+1)の倍数規則性判定処理と同様の処理を行う。
ステップS211aでは、ヘッダ情報判定処理部105aは、受信パケット長が2γ(γ>0)の倍数規則パケットであるか否かを判定する。受信パケット長が2γの倍数規則パケットであると判定された場合(ステップS211a肯定)、ステップS212へ移り、受信パケット長が2γの倍数規則パケットであると判定されなかった場合(ステップS211a否定)、ステップS216へ移る。なお、ステップS211aは、図6のステップS211と実質的に同一である。
ステップS214に続き、ステップS214aでは、パケット長正常判定処理部105dは、P=0であるか否かを判定する。P=0であると判定された場合(ステップS214a肯定)、ステップS210へ移り、P=0であると判定されなかった場合(ステップS214a否定)、ステップS203へ移る。
図13に示す様に、図示されている表においてハッチングされている部分がシフト演算(従来技術)、実施例1及び実施例3による倍数判定方式によって倍数規則性判定によるパケットチェック処理可能な自然数を表わしている。例えば、「5」は、従来技術ではシフト演算のみでは倍数規則性を判定できなかったが、実施例1及び実施例3によって倍数規則性判定が可能となっている。
さらに、例えば、「6」は、従来技術及び実施例1ではシフト演算のみでは倍数規則性を判定できなかったが、実施例3によって倍数規則性判定が可能となっている。同図に示す様に、例えば「1」から「100」までの自然数のうち、従来技術では、7%の数値で
のみしか倍数規則性判定によるパケットチェック処理を行い得なかった。また、実施例1では、13%の数値で倍数規則性判定によるパケットチェック処理を行い得る。さらに実施例3に示したパケット長チェック処理によって、28%の数値で倍数規則性判定によるパケットチェック処理を行い得る。
のみしか倍数規則性判定によるパケットチェック処理を行い得なかった。また、実施例1では、13%の数値で倍数規則性判定によるパケットチェック処理を行い得る。さらに実施例3に示したパケット長チェック処理によって、28%の数値で倍数規則性判定によるパケットチェック処理を行い得る。
この様に、実施例3のパケットチェック方式では、シフト演算のみによるパケットチェック方式の4倍程度の数値で倍数規則性判定によるパケットチェック処理を行い得るので、柔軟に様々なパケット長の倍数規則性判定を高速に行うことが可能になる。よって、パケットチェック回路(または倍数判定回路)の規模縮小化及び省電力化の低減を図ることが出来る。
図14は、携帯電話のL2階層図と実施例1〜3の適用箇所を示す図である。携帯電話のLayer2は、PDCP(Packet Data Convergence Protocol、パケット圧縮・解凍機能、復号機能およびセル再選択機能)と、RLC(Radio Link Control、無線リンク制御)と、MAC(Media Access Control、媒体アクセス制御)の3つのサブレイヤに分かれる。
PDCPは、SAE(System Architecture Evolution) Bearersと、Radio Bearersとで区切られるサブレイヤである。PDCPは、ROHC(Robust Header Compression、ヘッダ圧縮機能)201a、・・・201nと、Security(復号機能)202a、・・・、202nとを有する。
RLCは、Radio Bearersと、Logical Channels(論理チャネル制御機能)204とで区切られるサブレイヤである。RLCは、Segment ARQ(Automatic Repeat Request:自動再送制御機能)203a、・・・、203nを有する。
Logical Channels204は、実施例1〜3を適用した通信装置100を含む。すなわち、実施例1〜3は、Logical Channels204において、MAC〜RLC間で受信されたパケット長チェックに適用される。
MACは、Logical Channels204と、Transport Channelsとで区切られるサブレイヤである。MACは、Scheduling/Priority Handling(スケジュールおよび優先制御機能)205と、Multiplexing(出力分岐スイッチ)206と、HARQ(Hybrid Automatic Repeat Request、再送制御機能)207とを有する。
上記実施例1〜実施例3で示した倍数判定方法は、整数Aが整数Bの倍数であるか否か(すなわち、AがBで割り切れるか否か)を判定するために、先ず、Aを(B−1)で除算して、その商M1および剰余N1の差(M1−N1)が正であれば、(M1−N1)を(B−1)で除算する。そして、この除算結果である商M2および剰余N2の差(M2−N2)が正であれば、さらに(M2−N2)を(B−1)で除算する。
そして、商と剰余の差が正である限り、商および剰余の差を(B−1)で除算し続け、商および剰余の差が初めて正でなくなったときの商と剰余とが一致するか否かを判定する。そして、商および剰余の差が初めて正でなくなったときの商と剰余とが一致する場合は、AがBの倍数である(すなわち、AがBで割り切れる)と判定され、商と剰余の差が初めて正でなくなったときの商と剰余とが一致しない場合は、AがBの倍数でない(すなわち、AがBで割り切れない)と判定される。
このようにすると、簡単で、計算量の少ない計算で、整数Aが整数Bの倍数であるか否か(すなわち、AがBで割り切れるか否か)を判定することが可能になる。倍数判定のアルゴリズムが簡易となるため、ハードウェア実装した場合にも、回路構成が簡易となるうえ、処理速度が格段に向上する。なお、ソフトウェア実装した場合であっても、ソフトウェアがコンパクトとなり、ハードウェア実装には及ばないものの、処理速度の向上が期待できる。
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
また、上記実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以上の実施例1〜実施例3を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)対向する通信装置から受信した受信データのデータサイズが(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
(付記2)対向する通信装置から受信した受信データのデータサイズが(2α+1)(ただし、αは自然数)の形式で表現される素数である所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、
被除算数に値を設定する被除算数設定部と、
前記素数から1を減算した値である前記2αを除算数に設定する除算数設定部と、
前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
被除算数に値を設定する被除算数設定部と、
前記素数から1を減算した値である前記2αを除算数に設定する除算数設定部と、
前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
(付記3)対向する通信装置から受信した受信データのデータサイズが所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、
被除算数に値を設定する被除算数設定部と、
前記所定整数から1を減算した値を除算数に設定する除算数設定部と、
前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合は、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
被除算数に値を設定する被除算数設定部と、
前記所定整数から1を減算した値を除算数に設定する除算数設定部と、
前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合は、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。
(付記4)前記除算部は、mod演算によって前記剰余を算出することを特徴とする付記1、2または3に記載の通信装置。
(付記5)複数の前記所定整数の候補値を書き換え可能に記憶するレジスタ部と、
前記受信データのデータサイズの種別に応じて、前記レジスタ部によって記憶される複数の前記所定整数の候補値から一の候補値を選択して前記所定整数とする候補値選択部と
をさらに有することを特徴とする付記1〜4の何れか一つに記載の通信装置。
前記受信データのデータサイズの種別に応じて、前記レジスタ部によって記憶される複数の前記所定整数の候補値から一の候補値を選択して前記所定整数とする候補値選択部と
をさらに有することを特徴とする付記1〜4の何れか一つに記載の通信装置。
(付記6)対向する通信装置から受信した受信データのデータサイズが、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置がおこなう受信データサイズチェック方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を有し、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を有し、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
(付記7)対向する通信装置から受信した受信データのデータサイズが(2α+1)(ただし、αは自然数)の形式で表現される素数である所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置がおこなう受信データサイズチェック方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記素数から1を減算した値である前記2αを除算数に設定する除算数設定ステップと、
前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
被除算数に値を設定する被除算数設定ステップと、
前記素数から1を減算した値である前記2αを除算数に設定する除算数設定ステップと、
前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
(付記8)対向する通信装置から受信した受信データのデータサイズが所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置がおこなう受信データサイズチェック方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記所定整数から1を減算した値を除算数に設定する除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
被除算数に値を設定する被除算数設定ステップと、
前記所定整数から1を減算した値を除算数に設定する除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。
(付記9)第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定回路であって、
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
(付記10)第一の整数が、(2α+1)(ただし、αは自然数)の形式で表現される素数である第二の整数の倍数であるか否かを判定する倍数判定回路であって、
被除算数に値を設定する被除算数設定部と、
前記第二の整数から1を減算した値である前記2αを除算数に設定する除算数設定部と、
前記被除算数設定部によって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
被除算数に値を設定する被除算数設定部と、
前記第二の整数から1を減算した値である前記2αを除算数に設定する除算数設定部と、
前記被除算数設定部によって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
(付記11)第一の整数が第二の整数の倍数であるか否かを判定する倍数判定回路であって、
除算数に前記第二の整数から1を減算した値を設定する除算数設定部と、
被除算数に値を設定する被除算数設定部と、
前記被除算数設定部によって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって、前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
除算数に前記第二の整数から1を減算した値を設定する除算数設定部と、
被除算数に値を設定する被除算数設定部と、
前記被除算数設定部によって前記被除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって、前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。
(付記12)前記除算部は、mod演算によって前記剰余を算出することを特徴とする付記9、10または11に記載の倍数判定回路。
(付記13)複数の前記第二の整数の候補値を書き換え可能に記憶するレジスタ部と、
前記第一の整数の種別に応じて、前記レジスタ部によって記憶される複数の前記第二の整数の候補値から一の候補値を選択して前記第二の整数とする候補値選択部と
をさらに有することを特徴とする付記9〜12の何れか一つに記載の倍数判定回路。
前記第一の整数の種別に応じて、前記レジスタ部によって記憶される複数の前記第二の整数の候補値から一の候補値を選択して前記第二の整数とする候補値選択部と
をさらに有することを特徴とする付記9〜12の何れか一つに記載の倍数判定回路。
(付記14)第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定方法。
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定方法。
(付記15)第一の整数が、(2α+1)(ただし、αは自然数)の形式で表現される素数である第二の整数の倍数であるか否かを判定する倍数判定回路がおこなう倍数判定方法であって、
除算数に前記第二の整数から1を減算した値である前記2αを設定する除算数設定ステップと、
被除算数に値を設定する被除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を、前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定方法。
除算数に前記第二の整数から1を減算した値である前記2αを設定する除算数設定ステップと、
被除算数に値を設定する被除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を、前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定方法。
(付記16)第一の整数が第二の整数の倍数であるか否かを判定する倍数判定回路がおこなう倍数判定方法であって、
除算数に前記第二の整数から1を減算した値を設定する除算数設定ステップと、
被除算数に値を設定する被除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を、前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合に、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合に、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合に、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする倍数判定方法。
除算数に前記第二の整数から1を減算した値を設定する除算数設定ステップと、
被除算数に値を設定する被除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数に値が設定されると、前記被除算数を、前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合に、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって、前記商および前記剰余が一致すると判定された場合に、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合に、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップと
を含み、
前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定することを特徴とする倍数判定方法。
本発明は、通信装置において、簡易な構成で、パケット長のチェック処理などに必要な倍数判定処理回路を、コンパクトなハードウェアで実現し、倍数判定処理を高速におこないたい場合に有用である。
100 通信中継装置
101、102 パケット中継処理部
101a、102a パケット受信制御部
101a−1 パケット受信部
101a−2 パケットチェック処理部
101a−3 廃棄判定処理部
101b、102b パケット処理部
101c、102c パケット送信制御部
103 制御部
104 レジスタ設定記憶部
105a ヘッダ情報判定処理部
105b 除算処理部
105c 正数判定処理部
105d パケット長正常判定処理部
200 倍数判定回路
201 除算処理部
202 正数判定処理部
203 倍数判定処理部
201a、・・・、201n ROHC
202a、・・・、202n Security
202a、・・・、203n Segment ARQ
204 Logical Channels
205 Scheduling/Priority Handling
206 Multiplexing
207 HARQ
300a、300b 通信装置
101、102 パケット中継処理部
101a、102a パケット受信制御部
101a−1 パケット受信部
101a−2 パケットチェック処理部
101a−3 廃棄判定処理部
101b、102b パケット処理部
101c、102c パケット送信制御部
103 制御部
104 レジスタ設定記憶部
105a ヘッダ情報判定処理部
105b 除算処理部
105c 正数判定処理部
105d パケット長正常判定処理部
200 倍数判定回路
201 除算処理部
202 正数判定処理部
203 倍数判定処理部
201a、・・・、201n ROHC
202a、・・・、202n Security
202a、・・・、203n Segment ARQ
204 Logical Channels
205 Scheduling/Priority Handling
206 Multiplexing
207 HARQ
300a、300b 通信装置
Claims (8)
- 対向する通信装置から受信した受信データのデータサイズが(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。 - 対向する通信装置から受信した受信データのデータサイズが(2α+1)(ただし、αは自然数)の形式で表現される素数である所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置であって、
被除算数に値を設定する被除算数設定部と、
前記素数から1を減算した値である前記2αを除算数に設定する除算数設定部と、
前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定部と
を有し、
前記被除算数設定部は、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合、前記減算結果を前記被除算数に設定する
ことを特徴とする通信装置。 - 前記除算部は、mod演算によって前記剰余を算出することを特徴とする請求項1または2に記載の通信装置。
- 複数の前記所定整数の候補値を書き換え可能に記憶するレジスタ部と、
前記受信データのデータサイズの種別に応じて、前記レジスタ部によって記憶される複数の前記所定整数の候補値から一の候補値を選択して前記所定整数とする候補値選択部と
をさらに有することを特徴とする請求項1、2または3に記載の通信装置。 - 対向する通信装置から受信した受信データのデータサイズが、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される所定整数の倍数であるか否かを判定することによって、前記受信データのデータサイズが正常であるか否かを判定する通信装置がおこなう受信データサイズチェック方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記受信データのデータサイズが正常であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記受信データのデータサイズが正常でないと判定するデータサイズ正常判定ステップと
を含み、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記受信データのデータサイズが正常でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記受信データのデータサイズを設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする受信データサイズチェック方法。 - 第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定回路であって、
被除算数に値を設定する被除算数設定部と、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定部と、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定部と、
前記剰余判定部によって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定部と、
前記第二除算数設定部によって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算部と、
前記除算部によって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定部と、
前記正数判定部によって前記減算結果が正数であると判定されなかった場合、前記除算部によって算出された前記商および前記剰余の一致を判定する一致性判定部と、
前記一致性判定部によって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定部と
を有し、
前記剰余判定部は、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、
前記被除算数設定部は、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定部によって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定回路。 - 前記除算部は、mod演算によって前記剰余を算出することを特徴とする請求項6に記載の倍数判定回路。
- 第一の整数が、(2α+2β)(ただし、α、βはα>β≧0を満たす自然数)の形式で表現される第二の整数の倍数であるか否かを判定する倍数判定方法であって、
被除算数に値を設定する被除算数設定ステップと、
前記2α+2βを2β(2α−β+1)と変形したものを除算数に設定する第一除算数設定ステップと、
前記被除算数を前記2β(2α−β+1)の因数である前記2βで除算した剰余が0であるか否かを判定する剰余判定ステップと、
前記剰余判定ステップによって前記被除算数を前記2βで除算した剰余が0であると判定された場合、前記2β(2α−β+1)の因数である前記(2α−β+1)から1を減算した2α−βを前記除算数に設定する第二除算数設定ステップと、
前記第二除算数設定ステップによって前記除算数に値が設定されると、前記被除算数を前記除算数で除算した商および剰余を算出する除算ステップと、
前記除算ステップによって算出された前記商から前記剰余を減算した減算結果が正数であるか否かを判定する正数判定ステップと、
前記正数判定ステップによって前記減算結果が正数であると判定されなかった場合、前記除算ステップによって算出された前記商および前記剰余の一致を判定する一致性判定ステップと、
前記一致性判定ステップによって前記商および前記剰余が一致すると判定された場合、前記第一の整数が前記第二の整数の倍数であると判定し、前記商および前記剰余が一致すると判定されなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定する倍数判定ステップと
を有し、
前記剰余判定ステップは、前記被除算数を前記2βで除算した剰余が0であると判定しなかった場合、前記第一の整数が前記第二の整数の倍数でないと判定し、
前記被除算数設定ステップは、前記被除算数に初期値として前記第一の整数を設定するとともに、前記正数判定ステップによって前記減算結果が正数であると判定された場合には、前記減算結果を前記被除算数に設定する
ことを特徴とする倍数判定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008292812A JP5169760B2 (ja) | 2008-01-28 | 2008-11-14 | 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 |
US12/360,863 US8489665B2 (en) | 2008-01-28 | 2009-01-28 | Communication apparatus, method of checking received data size, multiple determining circuit, and multiple determination method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008016725 | 2008-01-28 | ||
JP2008016725 | 2008-01-28 | ||
JP2008292812A JP5169760B2 (ja) | 2008-01-28 | 2008-11-14 | 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009205667A JP2009205667A (ja) | 2009-09-10 |
JP5169760B2 true JP5169760B2 (ja) | 2013-03-27 |
Family
ID=40900304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008292812A Expired - Fee Related JP5169760B2 (ja) | 2008-01-28 | 2008-11-14 | 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8489665B2 (ja) |
JP (1) | JP5169760B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8592673B2 (en) * | 2009-05-04 | 2013-11-26 | The Boeing Company | Enclosed, off-axis solar concentrator |
JP5352421B2 (ja) * | 2009-10-30 | 2013-11-27 | 株式会社エヌ・ティ・ティ・データ | データアクセス装置、データアクセス方法およびデータアクセスプログラム |
JP5509839B2 (ja) | 2009-12-22 | 2014-06-04 | 富士通株式会社 | 通信装置、受信データ長判定方法、倍数判定回路及び受信データ長判定プログラム |
US8284801B1 (en) * | 2010-01-26 | 2012-10-09 | Xilinx, Inc. | Method and apparatus for controlling an operating mode for an embedded Ethernet media access controller |
US8934028B2 (en) * | 2011-12-15 | 2015-01-13 | Samsung Electronics Co., Ltd. | Imaging apparatus and image processing method |
JP2016119512A (ja) * | 2014-12-18 | 2016-06-30 | 株式会社 ディー・エヌ・エー | 通信システム |
US10644976B2 (en) * | 2015-05-18 | 2020-05-05 | Denso Corporation | Relay apparatus |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1231455A (en) * | 1984-04-09 | 1988-01-12 | Masayuki Ikeda | Nonrestoring divider |
FR2622713A1 (fr) * | 1987-10-30 | 1989-05-05 | Thomson Csf | Circuit de calcul utilisant une arithmetique residuelle |
JP2984463B2 (ja) * | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
JP3796867B2 (ja) | 1996-12-26 | 2006-07-12 | 富士ゼロックス株式会社 | 素数判定方法および装置 |
JP3544821B2 (ja) * | 1997-04-07 | 2004-07-21 | 株式会社東芝 | 除算回路 |
JP3173419B2 (ja) * | 1997-05-08 | 2001-06-04 | 日本電気株式会社 | 倍数判定回路及びその判定方法 |
US5910910A (en) * | 1997-06-23 | 1999-06-08 | Sun Microsystems, Inc. | Circuit and method for rapid calculation of quotients and square roots |
US6401185B1 (en) * | 1999-05-27 | 2002-06-04 | Oracle Corp. | Method and apparatus for accessing paged objects using a fast division technique |
US7197526B1 (en) * | 1999-05-28 | 2007-03-27 | Lucent Technologies Inc. | Method and apparatus for calculating the remainder of a modulo division |
US20010044719A1 (en) * | 1999-07-02 | 2001-11-22 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for recognizing, indexing, and searching acoustic signals |
JP2002014805A (ja) | 2000-06-30 | 2002-01-18 | Sharp Corp | 倍数演算回路 |
EP1367827A1 (en) * | 2001-03-09 | 2003-12-03 | Sony Corporation | Data recording method, recording apparatus, and data output method |
JP3793050B2 (ja) | 2001-07-04 | 2006-07-05 | シャープ株式会社 | 倍数演算回路 |
US7321916B2 (en) * | 2003-07-28 | 2008-01-22 | Intel Corporation | Methods and apparatus for extracting integer remainders |
US7512648B2 (en) * | 2004-12-22 | 2009-03-31 | Intel Corporation | Division algorithm |
US7839936B2 (en) * | 2005-05-05 | 2010-11-23 | Hewlett-Packard Development Company, L.P. | Method and system for determining a number of data packets required to transport a data block |
JP2009301265A (ja) * | 2008-06-12 | 2009-12-24 | Fujitsu Microelectronics Ltd | 倍数判定方法、倍数判定装置および倍数判定プログラム |
-
2008
- 2008-11-14 JP JP2008292812A patent/JP5169760B2/ja not_active Expired - Fee Related
-
2009
- 2009-01-28 US US12/360,863 patent/US8489665B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090193066A1 (en) | 2009-07-30 |
US8489665B2 (en) | 2013-07-16 |
JP2009205667A (ja) | 2009-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5169760B2 (ja) | 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法 | |
US8006160B2 (en) | Efficient encoding and decoding methods for representing schedules and processing forward error correction codes | |
US9847913B2 (en) | System and method for gathering information | |
US5689518A (en) | Method and an apparatus to modify CRC in intermediate high speed network nodes | |
CN107360591B (zh) | 一种上报缓存状态报告的方法和设备 | |
JP3499500B2 (ja) | 遠隔通信システムの構成方法、ならびに、データ通信手段を含む基地局および移動局 | |
US20050010630A1 (en) | Method and apparatus for determining a remainder in a polynomial ring | |
US8787563B2 (en) | Data converter, data conversion method and program | |
US11955992B2 (en) | Rate matching method and apparatus for polar code | |
KR102043019B1 (ko) | 무선 통신 환경에서 프래그먼트 가능 데이터 유닛들을 송신 및 수신하는 방법 및 시스템 | |
JPH0117295B2 (ja) | ||
JP2004504753A (ja) | プロトコル・ヘッダの圧縮 | |
CN104135452A (zh) | 一种iq数据同步压缩还原算法及装置 | |
US8380683B2 (en) | Data conversion device, data conversion method, and program | |
CN112153696A (zh) | Rlc sdu分段处理方法、装置及终端 | |
US6738946B1 (en) | Methods, communication devices, and computer program products for communicating information via a frame check sequence having an information block associated therewith | |
US20010019610A1 (en) | Method and apparatus for designing cipher logic, and a computer product | |
CN112019322B (zh) | 密码流生成方法及其装置 | |
CN117240409B (zh) | 一种用于智能手机与智能穿戴设备的数据处理方法 | |
EP3664357B1 (en) | Device and method for implementing a cryptographic hash function | |
US6477556B1 (en) | Method and apparatus for arithmetic operation and recording medium of method of operation | |
US8843457B2 (en) | Data conversion device, data conversion method, and program | |
Wang et al. | Optimized implementations of stream cipher ZUC-256 algorithm | |
CN118643537B (zh) | 安全多方计算中截断和升环的融合处理方法及装置 | |
US20110145311A1 (en) | Method and apparatus for modulo n operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110808 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5169760 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |