(57)【要約】【課題】入力値を複数の出力値に変換することができるテーブルの汎用性を高くすること。【解決手段】  本実施の形態にかかるテーブル変換方法は、複数の出力ＩＤが１つの入力ＩＤに割り当てられているテーブルを変換するテーブル変換方法であって、入力ＩＤを入力ＩＤカラムとし、入力ＩＤに割り当てられた複数の出力ＩＤを出力ＩＤカラムとし、入力ＩＤに割り当てられた複数の出力ＩＤを１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとするものである。【選択図】図７
2019115001.tif 000002
【特許請求の範囲】
【請求項１】
複数の出力値が１つの入力値に割り当てられているテーブルを変換するテーブル変換装置であって、
前記テーブルを保持するメモリを備え、
前記テーブル変換装置は、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換装置。
【請求項２】
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする請求項１に記載のテーブル変換装置。
【請求項３】
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする請求項１に記載のテーブル変換装置。
【請求項４】
行数を減らすように、前記出力値カラムの行の順番が最適化されている請求項３に記載のテーブル変換装置。
【請求項５】
前記入力値カラムと前記出力値カラムとが入出力値カラムとして１つのカラムとなっている請求項１に記載のテーブル変換装置。
【請求項６】
前記入力値が入力ＩＤであり、前記出力値が出力先を示す出力ＩＤであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである請求項１に記載のテーブル変換装置。
【請求項７】
前記出力ＩＤに対応付けられたメタ情報をメタ情報カラムとする請求項６に記載のテーブル変換装置。
【請求項８】
前記入力ＩＤに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする請求項６に記載のテーブル変換装置。
【請求項９】
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第１のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第２のテーブルの行番号を指定する請求項１に記載のテーブル変換装置。
【請求項１０】
前記第１のテーブルを第1のメモリに格納し、
前記第１のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第２のメモリに前記第２のテーブルを格納する請求項９に記載のテーブル変換装置。
【請求項１１】
複数の出力値が１つの入力値に割り当てられているテーブルを変換するテーブル変換方法であって、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換方法。
【請求項１２】
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする請求項１１に記載のテーブル変換方法。
【請求項１３】
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする請求項１１に記載のテーブル変換方法。
【請求項１４】
行数を減らすように、前記出力値カラムの行の順番が最適化されている請求項１３に記載のテーブル変換方法。
【請求項１５】
前記入力値カラムと前記出力値カラムとが入出力値カラムとして１つのカラムとなっている請求項１１に記載のテーブル変換方法。
【請求項１６】
前記入力値が入力ＩＤであり、前記出力値が出力先を示す出力ＩＤであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである請求項１１に記載のテーブル変換方法。
【請求項１７】
前記入力ＩＤに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする請求項１６に記載のテーブル変換方法。
【請求項１８】
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第１のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第２のテーブルの行番号を指定する請求項１１に記載のテーブル変換方法。
【請求項１９】
前記第１のテーブルを第１のメモリに格納し、
前記第１のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第２のメモリに前記第２のテーブルを格納する請求項１８に記載のテーブル変換方法。
【請求項２０】
請求項１１に記載のテーブル変換方法で変換されたテーブルを用いて、ＩＤ変換を行うゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテーブル変換装置、テーブル変換方法、及びゲートウェイ装置に関する。
【背景技術】
【０００２】
特許文献１には、与えられた仮想アドレスを実アドレスに変換するアドレス変換システムが開示されている。このシステムは、仮想アドレスと実アドレスとを対応付けて記憶するメモリを有している。システムは、メモリを参照して、仮想アドレスを実アドレスに変換している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許４４５３２３０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、アドレスなどの値を変換するためのテーブルにおいて、１つの入力値に対して複数の出力値が対応付けられている場合がある。このような場合において、入力値を複数の出力値に変換することができるテーブルの汎用性を高くすることが望まれる。
【０００５】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態によれば、テーブル変換方法は、入力値に割り当てられた複数の出力値を出力値カラムとし、前記入力値に割り当てられた複数の出力値を１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする。
【発明の効果】
【０００７】
前記一実施の形態によれば、入力値を複数の出力値に変換することができるテーブルの汎用性を高くすることができる。
【図面の簡単な説明】
【０００８】
【図１】マルチキャストテーブルを用いてメッセージをマルチキャスト送信するＣＰＵシステムを示す図である。
【図２】マルチキャストテーブルを用いてメッセージをマルチキャスト送信するシステムを示す図である。
【図３】マルチキャストテーブルを示す図である。
【図４】送信先ＩＤを追加した場合のシステムを示す図である。
【図５】送信先ＩＤを追加した場合の問題点を示す図である。
【図６】実施の形態１にかかるマルチキャストテーブルを示す図である。
【図７】本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。
【図８】本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。
【図９】本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。
【図１０】本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。
【図１１】本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。
【図１２】図５に示すマルチキャストテーブルに送信先アドレスを追加する例を示す図である。
【図１３】実施の形態２において、マルチキャストテーブルを最適化する例を示す図である。
【図１４】マルチキャストテーブルの具体的なサイズを説明するための図である。
【図１５】マルチキャストテーブルの具体的なサイズを説明するための図である。
【図１６】実施の形態３にかかるマルチキャストテーブルを示す図である。
【図１７】実施の形態４にかかるマルチキャストテーブルを示す図である。
【図１８】実施の形態５にかかるマルチキャストテーブルを示す図である。
【図１９】実施の形態５にかかるマルチキャストテーブルの一例を示す図である。
【図２０】図１８に示すマルチキャストテーブルを２つのテーブルに分けた例を示す図である。
【図２１】図１９に示すマルチキャストテーブルを２つのテーブルに分けた例を示す図である。
【図２２】実施の形態６にかかるマルチキャストテーブルを示す図である。
【図２３】テーブルを変換するテーブル変換装置を示す図である。
【図２４】テーブルを用いてＩＤ変換を行うゲートウェイ装置を示す図である。
【発明を実施するための形態】
【０００９】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１０】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１１】
実施の形態１．
まず、本実施の形態で用いられるテーブルは、入力値に対して、複数の出力値が対応付けられているテーブルである。具体的には、入力ＩＤ（入力値）が、複数の出力ＩＤ（出力値）に対応付けられているマルチキャストテーブルが用いられている。入力ＩＤが入力アドレスとして入力された場合、マルチキャストテーブルを参照することで、入力ＩＤに対応する複数の出力ＩＤを出力アドレスとしてメッセージ等がマルチキャスト送信される。
【００１２】
マルチキャストテーブルが適用される車載システムについて説明する。図１は、マルチキャストテーブルが適用される車載システムを示す図である。車載システム２００は、転送部２０１と、ゲートウェイ２０２と、マルチキャストテーブル２０４と、ＣＰＵインタフェース２０３と、複数のＣＰＵ２１１〜２１４と、を備えている。
【００１３】
ゲートウェイ２０２は、半導体回路などのハードウェアで構成され、複数のポートを備えている。ゲートウェイ２０２は、各ポートを介して、各車載機器（不図示）に接続されている。ゲートウェイは、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、イーサネット（登録商標）等のネットワーク規格に応じて、通信を中継する。ゲートウェイ２０２によって、通信プロトコルの異なるネットワーク間で通信が可能となる。
【００１４】
ゲートウェイ２０２は、ＣＰＵインタフェース２０３を介して、複数のＣＰＵ２１１〜２１４に接続されている。転送部２０１は、車載機器からのメッセージを、ゲートウェイ２０２のある１つポートを介して受信する（矢印Ａ）。転送部２０１は、受信したメッセージを、ゲートウェイ２０２を介して、他のポートに接続された車載機器に転送する(矢印Ｂ)。
【００１５】
さらに、転送部２０１は、受信したメッセージにラベルを付与する。このラベルには入力ＩＤが含まれている。よって、ラベルは、マルチキャストテーブル２０４において、ＣＰＵ２１１〜２１４のＣＰＵアドレスに変換される。  ＣＰＵインタフェース２０３を介して、ＣＰＵアドレスに対応するＣＰＵ２１２、２１３にメッセージをマルチキャスト送信することが可能となる(矢印Ｃ)。すなわち、マルチキャストテーブル２０４に基づいて、ＣＰＵアドレスに対応する２以上のＣＰＵにメッセージが転送される。
【００１６】
ＣＰＵ２１１〜２１４のサブシステムではＣＰＵに基づくアドレスが冗長性を有している。したがって、異なるラベルが付された場合であっても、メッセージが同じＣＰＵ（例えば、ＣＰＵ２１２）に送信されることがある。このような場合、適宜、メッセージの出力ＩＤを変更できるような、汎用性の高いテーブルを作成することが望まれる。
【００１７】
次に、図２、および図３を用いて、マルチキャストテーブルを用いたマルチキャスト送信について、説明する。図２は、マルチキャスト送信が行われるシステム１００を示す図である。図２は、図３のシステム１００に用いられるマルチキャストテーブルを示す図である。なお、以下に示すテーブルは簡略化して示されている。実際のマルチキャストテーブルは、数千程度のＩＤが設けられているが、説明の簡略化のため、ＩＤ数を少なくしている。
【００１８】
図２に示すようにシステム１００は、複数のサブシステム１０〜１４を備えている。サブシステム１０〜１４は、例えば、図１のＣＰＵシステム２１１〜２１４に対応している。サブシステム１０には、ＩＤ０、ＩＤ１、及びＩＤ２が割り当てられている。サブシステム１１には、ＩＤ３、及びＩＤ４が割り当てられている。サブシステム１２には、ＩＤ５、及びＩＤ６が割り当てられている。サブシステム１４には、ＩＤ７、及びＩＤ８が割り当てられている。サブシステム１３には、ＩＤ９が割り当てられている。各サブシステムでＩＤが固定されている。各ＩＤは、メッセージのアドレスを示す。
【００１９】
図２に示すように、ＩＤ０にメッセージが送信された場合、ＩＤ３、ＩＤ５、ＩＤ７にメッセージが転送される場合について説明する。このようなシステム１００におけるマルチキャストテーブルは、図３のようになる。ＩＤ０の入力ＩＤには、ＩＤ３、ＩＤ５、ＩＤ７の３つの出力ＩＤが対応付けられている。したがって、ＩＤ０を入力ＩＤとして指定するメッセージが送信されると、ＩＤ３、ＩＤ５、ＩＤ７が出力ＩＤとなる。
【００２０】
ＩＤ変換テーブル２０は、入力ＩＤと複数の出力ＩＤが対応付けられたマルチキャストテーブルである。そして、ＩＤ変換テーブル２０は、各サブシステム１１〜１４の間で、ＩＤ変換を行うために参照される。
【００２１】
上記の例では、入力ＩＤであるＩＤ０には、ＩＤ３、ＩＤ５、ＩＤ７の３つの出力ＩＤが対応付けられている。したがって、ＩＤ０を入力ＩＤとするメッセージをサブシステム１０が受信すると、サブシステム１０は、ＩＤ３、ＩＤ５、ＩＤ７を出力ＩＤとしてメッセージを送信する。これにより、ＩＤ３が割り当てられたサブシステム１１、ＩＤ５が割り当てられたサブシステム１２、及び、ＩＤ７が割り当てられたサブシステム１４にメッセージが転送される。なお、サブシステム１０は、転送するメッセージにラベルなどを付加してもよい。
【００２２】
出力ＩＤのセルに格納されたＩＤがメッセージの転送先を示すアドレスとなる。このように、図３に示すような典型的なマルチキャストテーブルは、入力ＩＤカラム（ＩInput ID Column）と、複数の出力ＩＤカラム（Output ID column）とを含んでいる。出力ＩＤカラムに格納されているＩＤ数に応じて、マルチキャスト数が決まる。
【００２３】
このようなマルチキャストテーブルでは、転送先アドレスとなる出力ＩＤの数が制限されることがある。例えば、図３に示すマルチキャストテーブルでは、マルチキャストテーブルの列数（カラム数）が４つになっている。すなわち、１つの入力ＩＤに対して、最大３つの出力ＩＤが対応付けられている。転送先アドレスとなる出力ＩＤの数は最大で３つとなり、４つ以上の出力ＩＤにメッセージを転送することができない。
【００２４】
入力ＩＤに対応する出力ＩＤを増やす場合について、図４、図５を用いて説明する。図４、図５では、図２、図３に示されたマルチキャストテーブルにおいて、ＩＤ９を転送先として追加しようとする例を示している（図４の矢印Ａ０）。図４、図５には、ＩＤ０にメッセージが送信された場合、ＩＤ３、ＩＤ５、ＩＤ７、ＩＤ９にメッセージが転送される例が示されている。
【００２５】
マルチキャストテーブルのカラム数に制限がある場合、ＩＤ９を出力ＩＤとして追加することができない。例えば、図５に示すように、３つの出力ＩＤカラムには、ＩＤ３、ＩＤ５，ＩＤ７が格納されている。よって、テーブルの各セルのメモリサイズやカラム数に制限がある場合、入力ＩＤがＩＤ０の行（row）には、出力ＩＤとしてＩＤ９を追加することができない。出力ＩＤのカラム数を予め多くした場合、一部のカラムが無駄となり、テーブルサイズが大きくなってしまう。
【００２６】
さらに、入力ＩＤに対応する出力ＩＤの数が異なっているため、未使用（unused）のセルが存在する。つまり、最大の出力ＩＤ数よりも少ない出力ＩＤがある場合、メモリの一部の領域を使用できなくなってしまう。例えば、入力ＩＤ０に対応する出力ＩＤの数は４つであり、入力ＩＤ７に対応する出力ＩＤの数は１つである。よって、入力ＩＤ７の行では、２つのセルが未使用となっている。１つのセルは３２ビットのビット長になっている。未使用のセルについてもメモリを確保しなければならないハードウェア構成では、メモリサイズがさらに大きくなってしまう。
【００２７】
上記した課題を解決するためのマルチキャストテーブルについて、図６を用いて説明する。図６は、本実施の形態にかかるマルチキャストテーブルのテーブル構造を示す図である。
【００２８】
マルチキャストテーブルは、入力ＩＤ(Input ID)カラムと、マルチキャスト数（multicast number）カラムと、同一ＩＤ(same ID)カラムと、ポインタ(Pointer)カラムとの４つのカラムを備えている。第１のカラムである入力ＩＤカラムは、受信したメッセージの入力ＩＤを示すカラムである。第２のカラムであるマルチキャスト数カラムは、対応する入力ＩＤのマルチキャスト数を示すカラムである。すなわち、対応する入力ＩＤにメッセージが送信された場合に、転送先アドレスとして指定される出力ＩＤの数がマルチキャスト数となる。
【００２９】
第３のカラムである同一ＩＤカラムは、対応する入力ＩＤと同じＩＤにメッセージを転送するか否かを示すカラムとなる。例えば、入力ＩＤと同じＩＤが出力ＩＤとなっている場合、同一ＩＤカラムのセルの値が第１の値、例えば、“１”となり、入力ＩＤと同じＩＤが出力ＩＤとなっていない場合、同一ＩＤカラムのセルの値が第２の値、例えば、“０“となる。このように、同一ＩＤカラムのセルの値に応じて、同一ＩＤにメッセージを転送するか否かが決まる。
【００３０】
第４のカラムであるポインタカラムは、１つの入力ＩＤに割り当てられた複数の出力ＩＤを１つずつ順番に指定していくように、行番号を示すカラムである。すなわち、ポインタカラムの各セルには、１つの入力ＩＤに対応付けられた出力ＩＤを示す行番号がポインタとして、格納される。テーブルの各列において、ＩＤと、ポインタと、マルチキャスト数と、同一ＩＤか否かを示す値と、が対応付けられている。
【００３１】
次、本実施の形態にかかるマルチキャストテーブルを生成する手順について説明する。図７〜図１１は、図２に示すマルチキャストテーブル（以下、テーブルＴ１）を本実施の形態にかかるマルチキャストテーブル（以下、テーブルＴ２）に変換する手順を説明するための図である。なお、テーブルＴ２には行番号０〜１３を付している。上記の通り、テーブルＴ１、Ｔ２は，ゲートウェイ装置等において、メッセージをマルチキャスト送信するために参照されるマルチキャストテーブルである。よって、テーブルＴ２は、ゲートウェイのＩＤ変換に適用することができる。
【００３２】
まず、テーブルＴ１の入力ＩＤをテーブルＴ２のＩＤカラムとする（図７の矢印Ａ１）。テーブルＴ１が５つの行から構成されているため、テーブルＴ２のＩＤカラムの先頭から５つのセルに、出力ＩＤが格納される。すなわち、テーブルＴ２のＩＤカラムの行番号０〜４のセルに、ＩＤ０、ＩＤ９、ＩＤ６、ＩＤ７、ＩＤ５がそれぞれコピーされる。
【００３３】
次に、テーブルＴ１の出力ＩＤを、テーブルＴ２のＩＤカラムとする（図７の矢印Ａ２）。ここでは、テーブルＴ２のＩＤカラムにおいて、入力ＩＤが格納された次のセルから、出力ＩＤが順番に格納される。また、出力ＩＤが格納された行では、マルチキャスト数カラムと同一ＩＤカラムとが未使用（unused）となる。テーブルＴ１には、上記のように５つの入力ＩＤが格納されているため、出力ＩＤは行番号５のセルから順番に格納されていく。また、テーブルＴ１には８個の出力ＩＤが格納されているため、テーブルＴ２のＩＤカラムの行番号５〜１２のセルに出力ＩＤが格納される。
【００３４】
具体的には、テーブルＴ２のＩＤカラムの行番号５〜７のセルには、ＩＤ０の入力ＩＤに対応付けられた出力ＩＤとして、ＩＤ３、ＩＤ５、ＩＤ７がそれぞれコピーされる。テーブルＴ２のＩＤカラムの行番号８のセルには、ＩＤ９の入力ＩＤに対応付けられた出力ＩＤとして、ＩＤ８がコピーされる。テーブルＴ２のＩＤカラムの行番号９、１０のセルには、ＩＤ６の入力ＩＤに対応付けられた出力ＩＤとして、ＩＤ２、ＩＤ５がそれぞれコピーされる。テーブルＴ２のＩＤカラムの行番号１１には、ＩＤ７の入力ＩＤに対応付けられた出力ＩＤとして、ＩＤ０がコピーされる。テーブルＴ２のＩＤカラムの行番号１２のセルには、ＩＤ５の入力ＩＤに対応付けられた出力ＩＤとして、ＩＤ６がコピーされる。このように、ＩＤカラムの１つのセルには１つの入力ＩＤ又は１つの出力ＩＤが格納されている。
【００３５】
次に、図８に示すようにテーブルＴ２のマルチキャスト数カラムに、それぞれの入力ＩＤに対応するマルチキャスト数を格納する（図８の枠Ａ３）。ここでは、テーブルＴ１において、それぞれの入力ＩＤに対応するマルチキャスト数（出力ＩＤ数）が、テーブルＴ２のマルチキャスト数カラムの行番号０〜４のセルに入力される。例えば、テーブルＴ１において、入力ＩＤ０に対応付けられた出力ＩＤ数は、３となっているため、テーブルＴ２の行番号０のセルにおいて、マルチキャスト数が３となる。同様に、テーブルＴ２の行番号１〜４において、マルチキャスト数は、それぞれ１、２、１、１となる。なお、出力ＩＤが入力された行、すなわち行番号５〜１２については、マルチキャスト数カラムのセルは未使用（unused）になっている。
【００３６】
そして、図９に示すように、入力ＩＤと同じＩＤが出力ＩＤになっている否かに応じて、テーブルＴ２の同一ＩＤカラムに値を格納する（図９の枠Ａ４）。ここで、全ての入力ＩＤにおいて、入力ＩＤと同じＩＤが出力ＩＤとなっていないため、同一ＩＤカラムには、全て０が格納される。例えば、テーブルＴ１の入力ＩＤ０に対応する出力ＩＤには、ＩＤ０が含まれていない。よって、テーブルＴ２の行番号０において、同一ＩＤカラムの値が０となる。同様に、テーブルＴ２の行番号１〜４においても、同一ＩＤカラムの値が０となる。なお、出力ＩＤが入力された行、すなわち行番号５〜１２については、同一ＩＤカラムのセルは未使用（unused）になっている。同一ＩＤカラムを設けることで、同一ＩＤを出力先アドレスとして指定することができる。
【００３７】
次に、図１０に示すように、テーブルＴ２のポインタカラムにＩＤカラムの行番号を示す値を格納する（図１０の枠Ａ５）。ポインタカラムには、１つの入力ＩＤに割り当てられた複数の出力ＩＤを１つずつ順番に指定していくように、ＩＤカラムの行番号が格納される。例えば、テーブルＴ１において、ＩＤ０の入力ＩＤには、出力ＩＤとして、ＩＤ３，ＩＤ５、ＩＤ７が対応付けられている。よって、テーブルＴ２の行番号０のセルでは、ＩＤ０の入力ＩＤに対応付けられた１つ目の出力ＩＤ（ＩＤ３）を指定する行番号５がポインタとして入力される（図１０の矢印Ａ６）。
【００３８】
次に、テーブルＴ２のポインタカラムの行番号５のセルには、ＩＤ０の入力ＩＤに対応付けられた２つ目の出力ＩＤ（ＩＤ５）を指定する行番号６が入力される（図１０の矢印Ａ７）。さらに、テーブルＴ２のポインタカラムの行番号６のセルには、ＩＤ０の入力ＩＤに対応付けられた３つ目の出力ＩＤ（ＩＤ７）を指定する行番号７が入力される。なお、テーブルＴ２のＩＤカラムにおいて、１つの入力ＩＤに対応する最後の出力ＩＤが格納されている行番号、例えば、行番号７では、ポインタカラムのセルは未使用となる
【００３９】
このようにして、入力ＩＤ＝ＩＤ０に対応する出力ＩＤを指定するポインタが、テーブルＴ２に保持される。ポインタカラムに入力されるポインタは、１つの入力ＩＤに対応する出力ＩＤを順番に示す値となる。同様に、テーブルＴ１の入力ＩＤ＝ＩＤ９、ＩＤ６、ＩＤ７、ＩＤ５に対応する出力ＩＤをそれぞれテーブルＴ２に格納すると、本実施の形態にかかるマルチキャストテーブルが完成する。テーブルＴ１を本実施の形態にかかるテーブル形式に変換したテーブルＴ２は図１１のようになる。図１１に示すテーブルＴ２は、テーブルＴ１と等価となっている。
【００４０】
例えば、入力ＩＤがＩＤ０のメッセージを受信すると、ゲートウェイ装置は、ＩＤカラムの先頭から順にＩＤ０となるセルをサーチする。行番号０のセルのＩＤカラムがＩＤ０となっているので、ゲートウェイ装置は、行番号０のマルチキャスト数カラム、同一ＩＤカラム、及びポインタカラムを参照する。マルチキャスト数は３となっているので転送先の出力ＩＤが３となる。また、同一ＩＤカラムの値が０であるので、ＩＤ０には、メッセージが転送されないことが分かる。行番号０のポインタが５となっているので、ゲートウェイ装置は、行番号５のＩＤを参照して、ＩＤ３をメッセージの転送先とする。さらに、行番号５のポインタが６となっているので、ゲートウェイ装置は、行番号６のＩＤカラムを参照して、ＩＤ５をメッセージの転送先とする。さらに、行番号６のポインタが７となっているので、ゲートウェイ装置は、行番号７のＩＤカラムを参照して、ＩＤ７をメッセージの転送先とする。メッセージ転送先となるＩＤ数が３となり、マルチキャスト数に到達したため、探索処理を終了する。ゲートウェイ装置は、マルチキャスト数だけ、ポインタが示す行番号を順番にたどっていくことで、入力ＩＤに対応する全ての出力ＩＤを探索することができる。
【００４１】
テーブルＴ２では、メモリサイズが予め設定されている場合でも、１つの入力ＩＤに対応する出力ＩＤを追加することができる。例えば、図１２に示すように、新たな行を追加すればよい。具体的には、ＩＤ０の入力ＩＤに出力ＩＤとしてＩＤ９を追加したい場合、テーブルＴ２の行番号１３にＩＤを入力する。さらに、行番号０のマルチキャスト数を４に更新するとともに、行番号を指定する１３をポインタカラムの行番号７のセルに入力する。
【００４２】
このように、テーブルＴ１をテーブルＴ２に変換することで、メッセージの転送先を追加することができる。例えば、テーブルの列数が予め決まっている場合であっても、テーブルＴ２に行(row)を追加することで、入力ＩＤに対応付けられた出力ＩＤを増やすことができる。よって、マルチキャスト数を自由に設定することができる。よって、汎用性を高くすることができる。
【００４３】
さらに、カラム（列）毎にビット長を変えて設計することで、メモリコストを抑制することができる。例えば、マルチキャスト数カラム、同一ＩＤカラム、ポインタカラムのセルでは、ＩＤセルよりも少ないビット数とすることができる。これにより、テーブルサイズを小さくすることができるため、メモリコストを抑制することができる。
【００４４】
実施の形態２．
実施の形態２では、実施の形態１に対して、行数を減らすように、ＩＤカラムの順番が最適化されている。図１３は、テーブルＴ２と、ＩＤカラムの順番を最適化したテーブルＴ３を示す図である。すなわち、テーブルＴ２において、出力ＩＤが格納されている行の順番を最適化することで、テーブルＴ３が得られる。最適化を行うことで、未使用の行数を増やすことができる。よって、行数を削減することができ、テーブルサイズを小さくすることができる。
【００４５】
具体的には、ＩＤが共通の２以上の行を統一して、１つの行とする。これにより、行の重複が解消されるため、行数を削減することができる。例えば、テーブルＴ２では、ＩＤカラムの行番号４、６、１０にＩＤ５が存在する。よって、この３つの行が、行番号４の１行に統一されている。テーブルＴ３のＩＤカラムにおいて、行番号４のみがＩＤ５となっている。
【００４６】
また、テーブルＴ２では、行番号０、１１にＩＤ０が存在しているため、この２つの行が行番号０に統一される。同様に、テーブルＴ２では、行番号２、１２にＩＤ６が存在しているため、この２つの行が行番号２の１つの行に統一される。このように、ＩＤが重複する２以上の行を１つの行に統一することで、行数を減らすことができる。例えば、テーブルＴ２では、行番号０〜１３が使用されているが、テーブルＴ３では、行番号０〜８が使用される。
【００４７】
最適化を行うことで、行数を削減することができるため、テーブルサイズを小さくすることができる。テーブルＴ３では、マルチキャスト数が設けられているため、異なる入力ＩＤに対応する出力ＩＤを指定するポインタが同じ行番号を指定することが可能となる。なお、統一する行でポインタが異なる場合は、転送順を変更すればよい。例えば、テーブルＴ２において、ＩＤが共通する行番号４、６ではポインタが１２、７となっているため、転送順を最適化する。共通化する行の出力ＩＤをポインタで最後に指定するようにすればよい。このような最適化は、コンピュータプログラムにより実行することができる。
【００４８】
上記の最適化を施したテーブルのテーブルサイズについて説明する。図１４は、変換処理を行う前のテーブルＴ４を示す図である。つまり、テーブルＴ４はポインタカラムを有していないテーブルである。図１５は、テーブル変換、及び最適化の処理を施した後のテーブルＴ５を示す図である。
【００４９】
図１４のテーブルＴ４では、入力ＩＤに対して、最大４つの出力ＩＤが設定されている。また、５つの入力ＩＤが設定されている。よって、テーブルのセル数は、２５＝（５*５）となる。そして、各ＩＤのセルは３２ｂｉｔｓとなっている。よって、テーブルＴ４のテーブルサイズは、８００Ｂｉｔｓ（＝３２＊２５）となる。
【００５０】
テーブルＴ５は、ＩＤカラムと、マルチキャスト数カラムと、同一ＩＤカラムと、ポインタカラムを含んでいる。テーブルＴ４の入力ＩＤ、及び出力ＩＤのセルと同様に、ＩＤカラムのセルは、３２ｂｉｔｓである。マルチキャスト数カラムのセル、同一ＩＤカラムのセル、及びポインタのセルは、それぞれ、３ｂｉｔｓ、１ｂｉｔ、４ｂｉｔｓとなっている。また、テーブルＴ５の行数が９となっている。したがって、テーブルＴ５のテーブルサイズは、（３２＋３＋１＋４）＊９＝３６０ｂｉｔｓとなる。よって、小さいテーブルサイズで、テーブルＴ４と等価なテーブルＴ５を作成することができる。
【００５１】
一般化したテーブルサイズについて説明する。変換前のテーブルサイズSizeは、以下の式（１）で示される。
Size = ID_size*input_ID_nbr*(1+max_mul_nbr)  ・・・（１）
【００５２】
ここで、ID_sizeは入力ＩＤカラムのセルのビット長、input_ID_nbrは、入力ＩＤの総数、max_mul_nbrは、マルチキャスト数の最大値である。
【００５３】
変換後のテーブルサイズworst_sizeは、以下の式（２）で示される。
worst_size=(ID_size+([log2(max_mul_nbr)]+1)+1+[log2(input_ID_nbr+output_ID_nbr)])*(input_ID_nbr+output_ID_nbr) ・・・（２）
【００５４】
ここで、ID_sizeは、ＩＤカラムのセルのビット長、max_mul_nbrは、マルチキャスト数の最大値、input_ID_nbrは入力ＩＤの総数、output_ID_nbrは出力ＩＤの総数である。なお、変換後のテーブルサイズworst_sizeは、最適化を行う前の値であり、重複するＩＤが考慮されている。上記の最適化を行うことで、テーブルサイズを小さくすることができる。
【００５５】
実施の形態３．
実施の形態３にかかるマルチキャストテーブルについて、図１６を用いて、説明する。図１６に示すテーブルＴ６では、同一ＩＤカラムが省略されている。同一ＩＤカラムが省略されている点以外は、実施の形態１と同様である。テーブルＴ６を用いた場合であっても、ポインタをたどっていくことで、入力ＩＤに対応付けられた出力ＩＤをメッセージの転送先とすることができる。よって、実施の形態１、２と同様の効果を得ることができる。
【００５６】
実施の形態４．
実施の形態４にかかるマルチキャストテーブルについて、図１７を用いて、説明する。図１７に示すテーブルＴ７では、マルチキャスト数カラムの代わりに、ポインタ有効（Ｐｏｉｎｔｅｒ  Ｖａｌｉｄ）カラムが設けられている。ポインタ有効カラムはＩＤカラムに対応付けてられている。そして、ポインタ有効カラムのセルが第１の値、例えば、１の時、ポインタが示す行番号のＩＤを出力ＩＤとして、転送先とする。一方、ポインタ有効カラムのセルが第２の値、例えば、０の時、次の出力ＩＤの指定を終了する。このように、ポインタ有効カラムは、次の出力ＩＤの指定を停止するか否かを示す値を格納する。実施の形態４のテーブルＴ７では、実施の形態２で示した最適化が困難であるため、重複の少ないテーブルに好適である。
【００５７】
実施の形態５．
実施の形態５にかかるマルチキャストテーブルについて、図１８を用いて説明する。図１８に示すテーブルＴ７では、テーブルＴ２に対して、ハッシュ制御情報（Ｈａｓｈ  Ｃｏｎｔｒｏｌ  Ｉｎｆｏ）カラムと、ハッシュポインタ（Ｈａｓｈ  Ｐｏｉｎｔｅｒ）カラムが追加されている。
【００５８】
ハッシュ制御情報カラムには、入力ＩＤに対応付けられたハッシュ制御情報が格納されている。ハッシュ制御情報は、例えば、ハッシュ値を含んでいる。ハッシュポインタカラムには、ハッシュ衝突が生じた場合に、誤って探索された入力ＩＤを訂正するためのハッシュポインタが格納されている。すなわち、ハッシュポインタは、ハッシュが衝突した場合に、マルチキャストポインタ（テーブルＴ２のポインタカラムに対応する）での指定を訂正するための情報である。
【００５９】
本実施の形態では、入力ＩＤの探索にハッシュ制御情報が用いられる。例えば、メッセージを受信した場合、受信したメッセージデータのハッシュ値と一致するハッシュ値をハッシュ制御情報カラムから探索する。ハッシュ制御情報を用いて探索することで、探索時間を短くすることができる。そして、探索されたハッシュ値に対応する入力ＩＤが、メッセージの入力ＩＤと一致する場合、実施の形態１等と同様に出力ＩＤを探索する。すなわち、ポインタを順番にたどっていくことで、入力ＩＤに対応する出力ＩＤを探索する。
【００６０】
一方、ハッシュ衝突が発生した場合、探索されたハッシュ値に対応する入力ＩＤが、メッセージの入力ＩＤと一致しない。この場合、ハッシュポインタを参照することで、正しい入力ＩＤに訂正される。そして、訂正された入力ＩＤから、ポインタが指定する行番号を順番にたどっていくことで、入力ＩＤに対応する出力ＩＤを探索する。
【００６１】
本実施の形態にかかるテーブルの具体例を図１９に示す。図１９は、ハッシュ制御情報とハッシュポインタカラムとを有するテーブルＴ９を示す図であり、図１４のテーブルＴ４に対応するテーブルである。テーブルＴ９は、ＩＤカラム、マルチキャストポインタカラム、同一ＩＤカラムと、マルチキャスト数カラムと、ハッシュ制御情報カラムと、ハッシュポインタカラムとを備えている。マルチキャストポインタカラムは、テーブルＴ２のポインタカラムに対応する。このようなハッシュ制御情報などを備えたテーブルは、実施の形態１で示した方法と同様の方法により作成することができる。
【００６２】
ＩＤカラム、マルチキャストポインタカラム、同一ＩＤカラムと、マルチキャスト数カラムと、ハッシュ制御情報カラムと、ハッシュポインタカラムのビット長はそれぞれ、３２ビット、４ビット、１ビット、３ビット、３ビット、４ビットなっている。テーブルＴ９は、行番号０〜８の９行を備えているため、テーブルサイズは、４２３（＝４７*９）ビットとなる。
【００６３】
さらに、本実施の形態では、入力ＩＤと出力ＩＤとを別のテーブルに分けることも可能である。図２０は、入力ＩＤと、出力ＩＤとを別のテーブルに分けた例を示す図である。図１８に示すＴ８を２つのテーブルＴ１０、Ｔ１１に分けている。図２０では、入力ＩＤ用テーブルＴ１０と出力ＩＤ用テーブルＴ１１の２つのテーブルが示されている。
【００６４】
入力ＩＤ用テーブルＴ１０は、図１８のテーブルＴ７と同様のカラムを備えている。一方、出力ＩＤ用テーブルＴ１１は、出力ＩＤカラムと、マルチキャストポインタカラムのみから構成されている。出力ＩＤ用テーブルＴ１１では、ハッシュ制御情報と、ハッシュポインタは使用されないため、ハッシュ制御情報カラム、及びハッシュポインタカラムを省略することができる。これにより、全体として、テーブルサイズを削減することができる。
【００６５】
図２１は、入力ＩＤと出力ＩＤを別のテーブルに分けた具体例を示す図である。図２１では、入力ＩＤ用テーブルＴ１２と，出力ＩＤ用テーブルＴ１３が示されている。なお、図２１は、図１９に示すテーブルＴ９を２つのテーブルに分けたものである。このような入力ＩＤ用テーブルＴ１２と、出力ＩＤ用テーブルＴ１３は、実施の形態１で示した方法と同様の方法により作成することができる。
【００６６】
入力ＩＤ用テーブルＴ１２において、入力ＩＤが探索されると、ゲートウェイ装置は、入力ＩＤに対応するマルチキャストポインタを参照して、出力ＩＤ用テーブルＴ１３の行番号を指定する。これにより、入力ＩＤに対応する出力ＩＤとなる行番号が指定される。そして、ゲートウェイ装置は、上記と同様に、出力ＩＤ用テーブルＴ１３のポインタカラムを参照して、入力ＩＤに対応する出力ＩＤの行番号を順番に指定していく。これにより、１つの入力ＩＤに対応する全ての出力ＩＤをメッセージの転送先とすることができる。
【００６７】
図２１に示す入力用テーブルＴ１２は、３２ビットの入力ＩＤカラム、２ビットのマルチキャストポインタカラム、１ビットの同一ＩＤカラム、３ビットのマルチキャスト数カラム、３ビットのハッシュ制御情報カラム、３ビットのハッシュポインタカラムを備えている。入力ＩＤ用テーブルＴ１２の行数は、５である。したがって、入力ＩＤ用テーブルＴ１２のテーブルサイズは、２２０（＝４４*５）ビットとなる。
【００６８】
図２１に示す出力ＩＤ用テーブルＴ１３は、３２ビットの出力ＩＤカラムと２ビットのマルチキャストポインタカラムとを備えている。出力ＩＤ用テーブルＴ１３の行数は、４である。したがって、出力ＩＤ用テーブルＴ１３のテーブルサイズは、１３６（＝３４*４）ビットとなる。したがって、入力ＩＤ用テーブルＴ１２と出力ＩＤ用テーブルＴ１３との合計テーブルサイズは３５６ビットとなる。
【００６９】
なお、本実施の形態のみではなく、実施の形態１〜４に示したテーブルＴ２〜Ｔ７についても、入力ＩＤと出力ＩＤとを別のテーブルに分けることができる。この場合、出力ＩＤ用テーブルでは、同一ＩＤカラムと、マルチキャスト数カラムを省略することができる。
【００７０】
さらに、入力ＩＤと出力ＩＤとを別のテーブルに分けて、それぞれのテーブルを別のメモリに格納する。第１のメモリが入力ＩＤ用テーブルを保持し、第１のメモリと異なる第２のメモリが出力ＩＤ用テーブルを保持する。このようにすることで、入力ＩＤの探索と、出力ＩＤの追跡とを並行して行うことができる。
【００７１】
例えば、２つのメッセージが連続して受信された場合を説明する。ゲートウェイ装置が、入力ＩＤ用テーブルにおいて、１つ目のメッセージに対して入力ＩＤを探索した後に、出力ＩＤ用テーブルにおいて、ポインタを用いて出力ＩＤを追跡する。ゲートウェイ装置は、出力ＩＤ用テーブルで、出力ＩＤを追跡している間に、２つ目のメッセージに対して、入力ＩＤを探索する。すなわち、入力ＩＤ用テーブルでは、１つ目のメッセージの入力ＩＤの探索が終了しているため、２つ目のメッセージの入力ＩＤを探索することができる。このように、２つのテーブルを異なるメモリに格納することで、入力ＩＤの探索と、出力ＩＤの追跡を並行して行うことで、処理を高速化することができる。
【００７２】
なお、入力ＩＤ用テーブルにおいて、バイナリサーチにより、入力ＩＤを探索してもよく、線形サーチにより入力ＩＤを探索してもよい。バイナリサーチでは、入力ＩＤを降順又は昇順にソートして、中央値から探索を開始していく。線形サーチでは、先頭から順番に入力ＩＤをサーチしていく。これにより高速に探索することができる。
【００７３】
実施の形態６．
本実施の形態にかかるマルチキャストテーブルについて、図２２を用いて説明する。図２２はテーブルＴ１４を示す図である。本実施の形態では、テーブルＴ１４には、ルーティング情報が追加されている。ルーティング情報カラム以外は、テーブルＴ２と同様であるため，説明を省略する。
【００７４】
ルーティング情報は、連絡先などのディスティネーション情報を含んでいる。なお、テーブルＴ１４には、ルーティング情報に代えて、あるいは、ルーティング情報に加えて、フィルタリングルールなどの他のメタ情報が追加されていてもよい。メタ情報カラムを設けることで、様々なメタ情報を追加することができる。これにより、汎用性を高くすることができる。
【００７５】
上記のテーブル変換方法で変換されたテーブルは、車載用ゲートウェイのマルチキャストテーブルに好適である。図１に示したような車載システムでは、メモリ容量、ＣＰＵ速度、消費電力などの制約がある一方で、遅滞なくメッセージを送信することが要求される。レイテンシを少なくするためには、図１に示したゲートウェイをハードウェアで構成することが望ましい。よって、本実施の形態に示すように、ポインタを有するマルチキャストテーブルを用いることで、速やかにメッセージをマルチキャスト送信することができる。
【００７６】
また、ハードウェアでゲートウェイを構成した場合、テーブルサイズやテーブル形式を変更することができない場合がある。具体的には、テーブルにカラムを追加することや、カラムのビット長を変更することができない。したがって、上記のテーブル変換方法で変換したテーブルを用いることで、転送先の追加などを容易に行うことができる。
【００７７】
（テーブル変換装置）
実施の形態１〜６で示したテーブルを作成するためのテーブル変換装置について、図２３を用いて説明する。図２３は、テーブル変換装置３００を示すブロックである。テーブル変換装置３００は、プロセッサ３０１とメモリ３０２とを備えている。
【００７８】
メモリ３０２には、図７〜図１１で示した手順でテーブル変換を行うためのテーブル変換プログラムが保持されている。プロセッサ３０１は、ＣＰＵなどであり、プログラムを実行する。変換前のテーブル、例えば、テーブルＴ１が入力されると、プロセッサ３０１がメモリ３０２に格納されたプログラムを実行する。このようにすることで、図７〜図１１で示した手順で、テーブルＴ１をテーブルＴ２に変換する。これにより、汎用性の高いテーブルに変換することができる。
【００７９】
さらに、メモリ３０２には、実施の形態２で示したような最適化処理を行うためのプログラムが保持されていてもよい。そして、プロセッサがプログラムを実行することで、テーブルの最適化が行われる。よって、テーブルサイズを小さくすることができる。
【００８０】
図２４に、テーブル４０３を用いてマルチキャスト送信するゲートウェイ装置４００を示す。ゲートウェイ装置４００は、複数のサブシステム４０１、４０２に接続されている。ゲートウェイ装置４００は、サブシステム４０１、４０２とＣＡＮ又はイーサネットなどのプロトコルに応じて，通信を行う。ゲートウェイ装置４００は、異なるネットワーク間の通信を中継する。ゲートウェイ装置４００は車載システムなどに適用可能である。
【００８１】
ゲートウェイ装置４００は、ハードウェアにより構成されている。ゲートウェイ装置４００は、入力ＩＤの探索を行う回路や、ポインタを参照して出力ＩＤを指定する回路等を備えている。そして、上記のように、ゲートウェイ装置４００が、テーブル４０３を参照することで、ＩＤ変換を行う。これにより、複数のサブシステム間において、メッセージのマルチキャスト送信を行うことが可能となる。
【００８２】
さらに、上記のテーブルは、ゲートウェイ装置４００のＩＤ変換以外の用途に使用することも可能である。例えば、テーブルは、入力値を複数の出力値に変換する用途に使用可能である。
【００８３】
上記実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
付記
（付記１）
複数の出力値が１つの入力値に割り当てられているテーブルを変換するテーブル変換装置であって、
前記テーブルを保持するメモリを備え、
前記テーブル変換装置は、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換装置。
（付記２）
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする付記１に記載のテーブル変換装置。
（付記３）
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする付記１、又は２に記載のテーブル変換装置。
（付記４）
行数を減らすように、前記出力値カラムの行の順番が最適化されている付記３に記載のテーブル変換装置。
（付記５）
前記入力値カラムと前記出力値カラムとが入出力値カラムとして１つのカラムとなっている付記１〜４のいずれか１つに記載のテーブル変換装置。
（付記６）
前記入力値が入力ＩＤであり、前記出力値が出力先を示す出力ＩＤであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである付記１〜５のいずれか１つに記載のテーブル変換装置。
（付記７）
前記出力ＩＤに対応付けられたメタ情報をメタ情報カラムとする付記６に記載のテーブル変換装置。
（付記８）
前記入力ＩＤに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする付記６、又は７に記載のテーブル変換装置。
（付記９）
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第１のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第２のテーブルの行番号を指定する付記１〜８のいずれか１つに記載のテーブル変換装置。
（付記１０）
前記第１のテーブルを第1のメモリに格納し、
前記第１のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第２のメモリに前記第２のテーブルを格納する付記９に記載のテーブル変換装置。
（付記１１）
前記第１のテーブルでは、バイナリサーチ、又は線形サーチが行われる付記９に記載のテーブル変換装置。
（付記１２）
複数の出力値が１つの入力値に割り当てられているテーブルを変換するテーブル変換方法であって、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を１つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換方法。
（付記１３）
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする付記１２に記載のテーブル変換方法。
（付記１４）
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする付記１２、又は１３に記載のテーブル変換方法。
（付記１５）
行数を減らすように、前記出力値カラムの行の順番が最適化されている付記１３に記載のテーブル変換方法。
（付記１６）
前記入力値カラムと前記出力値カラムとが入出力値カラムとして１つのカラムとなっている付記１１〜１５のいずれか１つに記載のテーブル変換方法。
（付記１７）
前記入力値が入力ＩＤであり、前記出力値が出力先を示す出力ＩＤであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである付記１１〜１６のいずれか１つに記載のテーブル変換方法。
（付記１８）
前記出力ＩＤに対応付けられたメタ情報をメタ情報カラムとする付記１６、又は１７に記載のテーブル変換方法。
（付記１９）
前記入力ＩＤに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする付記１６〜１８のいずれか１つに記載のテーブル変換方法。
（付記２０）
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第１のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第２のテーブルの行番号を指定する付記１１〜１９のいずれか１つに記載のテーブル変換方法。
（付記２１）
前記第１のテーブルを第１のメモリに格納し、
前記第１のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第２のメモリに前記第２のテーブルを格納する付記１９に記載のテーブル変換方法。
（付記２２）
前記第１のテーブルでは、バイナリサーチ、又は線形サーチが行われる付記１２〜２１のいずれか１つに記載のテーブル変換装置。
（付記２３）
付記１１〜２２のいずれか１つに記載のテーブル変換方法で変換されたテーブルを用いて、ＩＤ変換を行うゲートウェイ装置。
【００８４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００８５】
１００  システム
２００  車載システム
２０１  転送部
２０２  ゲートウェイ
２０４  マルチキャストテーブル
２１１  ＣＰＵ
２１２  ＣＰＵ
２１３  ＣＰＵ
２１４  ＣＰＵ
【図１】
2019115001.tif 000003
【図２】
2019115001.tif 000004
【図３】
2019115001.tif 000005
【図４】
2019115001.tif 000006
【図５】
2019115001.tif 000007
【図６】
2019115001.tif 000008
【図７】
2019115001.tif 000009
【図８】
2019115001.tif 000010
【図９】
2019115001.tif 000011
【図１０】
2019115001.tif 000012
【図１１】
2019115001.tif 000013
【図１２】
2019115001.tif 000014
【図１３】
2019115001.tif 000015
【図１４】
2019115001.tif 000016
【図１５】
2019115001.tif 000017
【図１６】
2019115001.tif 000018
【図１７】
2019115001.tif 000019
【図１８】
2019115001.tif 000020
【図１９】
2019115001.tif 000021
【図２０】
2019115001.tif 000022
【図２１】
2019115001.tif 000023
【図２２】
2019115001.tif 000024
【図２３】
2019115001.tif 000025
【図２４】
2019115001.tif 000026