JP2019115001A - Table conversion apparatus, table conversion method, and gateway apparatus - Google Patents

Table conversion apparatus, table conversion method, and gateway apparatus Download PDF

Info

Publication number
JP2019115001A
JP2019115001A JP2017248979A JP2017248979A JP2019115001A JP 2019115001 A JP2019115001 A JP 2019115001A JP 2017248979 A JP2017248979 A JP 2017248979A JP 2017248979 A JP2017248979 A JP 2017248979A JP 2019115001 A JP2019115001 A JP 2019115001A
Authority
JP
Japan
Prior art keywords
column
input
output
value
pointer
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.)
Pending
Application number
JP2017248979A
Other languages
Japanese (ja)
Inventor
ジャンノエル ムテ
Mute Jean-Noel
ジャンノエル ムテ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017248979A priority Critical patent/JP2019115001A/en
Publication of JP2019115001A publication Critical patent/JP2019115001A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

To increase versatility of a table that can convert input values into multiple output values.SOLUTION: The table conversion method is a method for converting a table in which a plurality of output IDs is allocated to one input ID, which makes an input ID an input ID column, makes a plurality of output IDs assigned to the input ID an output ID column, and makes a line number of an output value column a pointer column, so that a plurality of output IDs assigned to the input ID is designated one by one in order.SELECTED DRAWING: Figure 7

Description

本発明はテーブル変換装置、テーブル変換方法、及びゲートウェイ装置に関する。   The present invention relates to a table conversion device, a table conversion method, and a gateway device.

特許文献1には、与えられた仮想アドレスを実アドレスに変換するアドレス変換システムが開示されている。このシステムは、仮想アドレスと実アドレスとを対応付けて記憶するメモリを有している。システムは、メモリを参照して、仮想アドレスを実アドレスに変換している。   Patent Document 1 discloses an address conversion system which converts a given virtual address into a real address. This system has a memory that stores a virtual address and a real address in association with each other. The system refers to the memory and translates the virtual address into a real address.

米国特許4453230号明細書U.S. Pat. No. 4,453,230

ところで、アドレスなどの値を変換するためのテーブルにおいて、1つの入力値に対して複数の出力値が対応付けられている場合がある。このような場合において、入力値を複数の出力値に変換することができるテーブルの汎用性を高くすることが望まれる。   By the way, in a table for converting values such as addresses, there are cases where a plurality of output values are associated with one input value. In such a case, it is desirable to increase the versatility of a table that can convert an input value into a plurality of output values.

その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   Other problems and novel features will be apparent from the description of the present specification and the accompanying drawings.

一実施の形態によれば、テーブル変換方法は、入力値に割り当てられた複数の出力値を出力値カラムとし、前記入力値に割り当てられた複数の出力値を1つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする。   According to one embodiment, the table conversion method uses a plurality of output values assigned to input values as output value columns, and sequentially designates a plurality of output values assigned to the input values one by one. Thus, let the row number of the output value column be a pointer column.

前記一実施の形態によれば、入力値を複数の出力値に変換することができるテーブルの汎用性を高くすることができる。   According to the embodiment, it is possible to increase the versatility of the table capable of converting the input value into a plurality of output values.

マルチキャストテーブルを用いてメッセージをマルチキャスト送信するCPUシステムを示す図である。It is a figure which shows the CPU system which carries out multicast transmission of a message using a multicast table. マルチキャストテーブルを用いてメッセージをマルチキャスト送信するシステムを示す図である。FIG. 1 illustrates a system for multicasting messages using a multicast table. マルチキャストテーブルを示す図である。It is a figure which shows a multicast table. 送信先IDを追加した場合のシステムを示す図である。It is a figure which shows the system at the time of adding transmission destination ID. 送信先IDを追加した場合の問題点を示す図である。It is a figure which shows the problem at the time of adding transmission destination ID. 実施の形態1にかかるマルチキャストテーブルを示す図である。FIG. 2 is a diagram showing a multicast table according to the first embodiment. 本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。It is a figure which shows the procedure in the case of producing | generating the multicast table concerning this embodiment. 本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。It is a figure which shows the procedure in the case of producing | generating the multicast table concerning this embodiment. 本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。It is a figure which shows the procedure in the case of producing | generating the multicast table concerning this embodiment. 本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。It is a figure which shows the procedure in the case of producing | generating the multicast table concerning this embodiment. 本実施形態にかかるマルチキャストテーブルを生成する場合の手順を示す図である。It is a figure which shows the procedure in the case of producing | generating the multicast table concerning this embodiment. 図5に示すマルチキャストテーブルに送信先アドレスを追加する例を示す図である。It is a figure which shows the example which adds a transmission destination address to the multicast table shown in FIG. 実施の形態2において、マルチキャストテーブルを最適化する例を示す図である。FIG. 16 is a diagram showing an example of optimizing a multicast table in Embodiment 2; マルチキャストテーブルの具体的なサイズを説明するための図である。It is a figure for demonstrating the concrete size of a multicast table. マルチキャストテーブルの具体的なサイズを説明するための図である。It is a figure for demonstrating the concrete size of a multicast table. 実施の形態3にかかるマルチキャストテーブルを示す図である。FIG. 16 is a diagram showing a multicast table according to the third embodiment. 実施の形態4にかかるマルチキャストテーブルを示す図である。FIG. 18 is a diagram showing a multicast table according to a fourth embodiment. 実施の形態5にかかるマルチキャストテーブルを示す図である。FIG. 18 is a diagram showing a multicast table according to the fifth embodiment. 実施の形態5にかかるマルチキャストテーブルの一例を示す図である。FIG. 18 is a diagram illustrating an example of a multicast table according to a fifth embodiment. 図18に示すマルチキャストテーブルを2つのテーブルに分けた例を示す図である。It is a figure which shows the example which divided | segmented the multicast table shown in FIG. 18 into two tables. 図19に示すマルチキャストテーブルを2つのテーブルに分けた例を示す図である。It is a figure which shows the example which divided | segmented the multicast table shown in FIG. 19 into two tables. 実施の形態6にかかるマルチキャストテーブルを示す図である。FIG. 18 is a diagram showing a multicast table according to a sixth embodiment. テーブルを変換するテーブル変換装置を示す図である。It is a figure which shows the table conversion apparatus which converts a table. テーブルを用いてID変換を行うゲートウェイ装置を示す図である。It is a figure which shows the gateway apparatus which performs ID conversion using a table.

説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。   The following description and drawings are omitted and simplified as appropriate for clarification of the explanation. In addition, each element described in the drawing as a functional block that performs various processing can be configured by a CPU, a memory, and other circuits in terms of hardware, and in terms of software, a program loaded into a memory And so on. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any of them. In the drawings, the same elements are denoted by the same reference numerals, and the redundant description is omitted as necessary.

また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   Also, the programs described above can be stored and provided to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media are magnetic recording media (eg flexible disk, magnetic tape, hard disk drive), magneto-optical recording media (eg magneto-optical disk), CD-ROM (Read Only Memory) CD-R, CD -R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)) is included. The programs may also be supplied to the computer by various types of temporary computer readable media. Examples of temporary computer readable media include electrical signals, light signals, and electromagnetic waves. The temporary computer readable medium can provide the program to the computer via a wired communication path such as electric wire and optical fiber, or a wireless communication path.

実施の形態1.
まず、本実施の形態で用いられるテーブルは、入力値に対して、複数の出力値が対応付けられているテーブルである。具体的には、入力ID(入力値)が、複数の出力ID(出力値)に対応付けられているマルチキャストテーブルが用いられている。入力IDが入力アドレスとして入力された場合、マルチキャストテーブルを参照することで、入力IDに対応する複数の出力IDを出力アドレスとしてメッセージ等がマルチキャスト送信される。
Embodiment 1
First, the table used in the present embodiment is a table in which a plurality of output values are associated with input values. Specifically, a multicast table in which an input ID (input value) is associated with a plurality of output IDs (output values) is used. When the input ID is input as the input address, by referring to the multicast table, a message or the like is multicast transmitted using the plurality of output IDs corresponding to the input ID as the output address.

マルチキャストテーブルが適用される車載システムについて説明する。図1は、マルチキャストテーブルが適用される車載システムを示す図である。車載システム200は、転送部201と、ゲートウェイ202と、マルチキャストテーブル204と、CPUインタフェース203と、複数のCPU211〜214と、を備えている。   An in-vehicle system to which a multicast table is applied will be described. FIG. 1 is a diagram showing an in-vehicle system to which a multicast table is applied. The in-vehicle system 200 includes a transfer unit 201, a gateway 202, a multicast table 204, a CPU interface 203, and a plurality of CPUs 211 to 214.

ゲートウェイ202は、半導体回路などのハードウェアで構成され、複数のポートを備えている。ゲートウェイ202は、各ポートを介して、各車載機器(不図示)に接続されている。ゲートウェイは、CAN(Controller Area Network)、イーサネット(登録商標)等のネットワーク規格に応じて、通信を中継する。ゲートウェイ202によって、通信プロトコルの異なるネットワーク間で通信が可能となる。   The gateway 202 is configured by hardware such as a semiconductor circuit and includes a plurality of ports. The gateway 202 is connected to each in-vehicle device (not shown) through each port. The gateway relays communication according to a network standard such as CAN (Controller Area Network) or Ethernet (registered trademark). The gateway 202 enables communication between networks with different communication protocols.

ゲートウェイ202は、CPUインタフェース203を介して、複数のCPU211〜214に接続されている。転送部201は、車載機器からのメッセージを、ゲートウェイ202のある1つポートを介して受信する(矢印A)。転送部201は、受信したメッセージを、ゲートウェイ202を介して、他のポートに接続された車載機器に転送する(矢印B)。   The gateway 202 is connected to the plurality of CPUs 211 to 214 via the CPU interface 203. The transfer unit 201 receives a message from the on-vehicle device via one port of the gateway 202 (arrow A). The transfer unit 201 transfers the received message to the on-vehicle device connected to another port via the gateway 202 (arrow B).

さらに、転送部201は、受信したメッセージにラベルを付与する。このラベルには入力IDが含まれている。よって、ラベルは、マルチキャストテーブル204において、CPU211〜214のCPUアドレスに変換される。 CPUインタフェース203を介して、CPUアドレスに対応するCPU212、213にメッセージをマルチキャスト送信することが可能となる(矢印C)。すなわち、マルチキャストテーブル204に基づいて、CPUアドレスに対応する2以上のCPUにメッセージが転送される。   Furthermore, the transfer unit 201 adds a label to the received message. This label contains the input ID. Therefore, the label is converted to the CPU address of the CPUs 211 to 214 in the multicast table 204. A message can be multicast transmitted to the CPUs 212 and 213 corresponding to the CPU address via the CPU interface 203 (arrow C). That is, based on the multicast table 204, the message is transferred to two or more CPUs corresponding to the CPU address.

CPU211〜214のサブシステムではCPUに基づくアドレスが冗長性を有している。したがって、異なるラベルが付された場合であっても、メッセージが同じCPU(例えば、CPU212)に送信されることがある。このような場合、適宜、メッセージの出力IDを変更できるような、汎用性の高いテーブルを作成することが望まれる。   In the sub-systems of the CPUs 211 to 214, addresses based on the CPUs have redundancy. Thus, messages may be sent to the same CPU (e.g., CPU 212) even if they have different labels. In such a case, it is desirable to create a highly versatile table that can change the message output ID as appropriate.

次に、図2、および図3を用いて、マルチキャストテーブルを用いたマルチキャスト送信について、説明する。図2は、マルチキャスト送信が行われるシステム100を示す図である。図2は、図3のシステム100に用いられるマルチキャストテーブルを示す図である。なお、以下に示すテーブルは簡略化して示されている。実際のマルチキャストテーブルは、数千程度のIDが設けられているが、説明の簡略化のため、ID数を少なくしている。   Next, multicast transmission using a multicast table will be described using FIG. 2 and FIG. FIG. 2 is a diagram illustrating a system 100 in which multicast transmission is performed. FIG. 2 is a diagram showing a multicast table used in the system 100 of FIG. In addition, the table shown below is simplified and shown. Although an actual multicast table is provided with several thousands of IDs, the number of IDs is reduced for simplification of the description.

図2に示すようにシステム100は、複数のサブシステム10〜14を備えている。サブシステム10〜14は、例えば、図1のCPUシステム211〜214に対応している。サブシステム10には、ID0、ID1、及びID2が割り当てられている。サブシステム11には、ID3、及びID4が割り当てられている。サブシステム12には、ID5、及びID6が割り当てられている。サブシステム14には、ID7、及びID8が割り当てられている。サブシステム13には、ID9が割り当てられている。各サブシステムでIDが固定されている。各IDは、メッセージのアドレスを示す。   As shown in FIG. 2, the system 100 comprises a plurality of subsystems 10-14. The subsystems 10 to 14 correspond to, for example, the CPU systems 211 to 214 in FIG. 1. The subsystem 10 is assigned ID0, ID1, and ID2. The subsystem 11 is assigned ID3 and ID4. The subsystem 12 is assigned ID5 and ID6. The subsystem 14 is assigned an ID 7 and an ID 8. The subsystem 13 is assigned an ID 9. The ID is fixed in each subsystem. Each ID indicates the address of the message.

図2に示すように、ID0にメッセージが送信された場合、ID3、ID5、ID7にメッセージが転送される場合について説明する。このようなシステム100におけるマルチキャストテーブルは、図3のようになる。ID0の入力IDには、ID3、ID5、ID7の3つの出力IDが対応付けられている。したがって、ID0を入力IDとして指定するメッセージが送信されると、ID3、ID5、ID7が出力IDとなる。   As shown in FIG. 2, when the message is transmitted to ID0, the case where the message is transferred to ID3, ID5, and ID7 will be described. The multicast table in such a system 100 is as shown in FIG. Three output IDs of ID3, ID5, and ID7 are associated with the input ID of ID0. Therefore, when a message specifying ID 0 as an input ID is transmitted, ID 3, ID 5, and ID 7 become output IDs.

ID変換テーブル20は、入力IDと複数の出力IDが対応付けられたマルチキャストテーブルである。そして、ID変換テーブル20は、各サブシステム11〜14の間で、ID変換を行うために参照される。   The ID conversion table 20 is a multicast table in which an input ID is associated with a plurality of output IDs. Then, the ID conversion table 20 is referred to in order to perform ID conversion among the subsystems 11 to 14.

上記の例では、入力IDであるID0には、ID3、ID5、ID7の3つの出力IDが対応付けられている。したがって、ID0を入力IDとするメッセージをサブシステム10が受信すると、サブシステム10は、ID3、ID5、ID7を出力IDとしてメッセージを送信する。これにより、ID3が割り当てられたサブシステム11、ID5が割り当てられたサブシステム12、及び、ID7が割り当てられたサブシステム14にメッセージが転送される。なお、サブシステム10は、転送するメッセージにラベルなどを付加してもよい。   In the above example, three output IDs ID3, ID5, and ID7 are associated with the input ID ID0. Therefore, when the subsystem 10 receives a message having ID 0 as an input ID, the subsystem 10 transmits a message with ID 3, ID 5, and ID 7 as output IDs. As a result, the message is transferred to the subsystem 11 to which the ID 3 is assigned, the subsystem 12 to which the ID 5 is assigned, and the subsystem 14 to which the ID 7 is assigned. The subsystem 10 may add a label or the like to the message to be transferred.

出力IDのセルに格納されたIDがメッセージの転送先を示すアドレスとなる。このように、図3に示すような典型的なマルチキャストテーブルは、入力IDカラム(IInput ID Column)と、複数の出力IDカラム(Output ID column)とを含んでいる。出力IDカラムに格納されているID数に応じて、マルチキャスト数が決まる。   The ID stored in the cell of the output ID is an address indicating the transfer destination of the message. Thus, a typical multicast table as shown in FIG. 3 includes an input ID column (IInput ID Column) and a plurality of output ID columns (Output ID column). The number of multicasts is determined according to the number of IDs stored in the output ID column.

このようなマルチキャストテーブルでは、転送先アドレスとなる出力IDの数が制限されることがある。例えば、図3に示すマルチキャストテーブルでは、マルチキャストテーブルの列数(カラム数)が4つになっている。すなわち、1つの入力IDに対して、最大3つの出力IDが対応付けられている。転送先アドレスとなる出力IDの数は最大で3つとなり、4つ以上の出力IDにメッセージを転送することができない。   In such a multicast table, the number of output IDs serving as transfer destination addresses may be limited. For example, in the multicast table shown in FIG. 3, the number of columns (the number of columns) of the multicast table is four. That is, up to three output IDs are associated with one input ID. The number of output IDs serving as transfer destination addresses is three at maximum, and it is not possible to transfer a message to four or more output IDs.

入力IDに対応する出力IDを増やす場合について、図4、図5を用いて説明する。図4、図5では、図2、図3に示されたマルチキャストテーブルにおいて、ID9を転送先として追加しようとする例を示している(図4の矢印A0)。図4、図5には、ID0にメッセージが送信された場合、ID3、ID5、ID7、ID9にメッセージが転送される例が示されている。   The case of increasing the output ID corresponding to the input ID will be described with reference to FIGS. 4 and 5. 4 and 5 show an example in which the ID 9 is to be added as a transfer destination in the multicast table shown in FIGS. 2 and 3 (arrow A0 in FIG. 4). FIGS. 4 and 5 show an example in which when a message is transmitted to ID0, the message is transferred to ID3, ID5, ID7, and ID9.

マルチキャストテーブルのカラム数に制限がある場合、ID9を出力IDとして追加することができない。例えば、図5に示すように、3つの出力IDカラムには、ID3、ID5,ID7が格納されている。よって、テーブルの各セルのメモリサイズやカラム数に制限がある場合、入力IDがID0の行(row)には、出力IDとしてID9を追加することができない。出力IDのカラム数を予め多くした場合、一部のカラムが無駄となり、テーブルサイズが大きくなってしまう。   If the number of columns in the multicast table is limited, ID 9 can not be added as an output ID. For example, as shown in FIG. 5, ID3, ID5, and ID7 are stored in the three output ID columns. Therefore, when the memory size and the number of columns of each cell of the table are limited, ID9 can not be added as an output ID to a row (row) whose input ID is ID0. If the number of columns of the output ID is increased in advance, some of the columns are wasted and the table size becomes large.

さらに、入力IDに対応する出力IDの数が異なっているため、未使用(unused)のセルが存在する。つまり、最大の出力ID数よりも少ない出力IDがある場合、メモリの一部の領域を使用できなくなってしまう。例えば、入力ID0に対応する出力IDの数は4つであり、入力ID7に対応する出力IDの数は1つである。よって、入力ID7の行では、2つのセルが未使用となっている。1つのセルは32ビットのビット長になっている。未使用のセルについてもメモリを確保しなければならないハードウェア構成では、メモリサイズがさらに大きくなってしまう。   Furthermore, since the number of output IDs corresponding to the input ID is different, there are unused cells. That is, when there are output IDs smaller than the maximum number of output IDs, a part of the memory area can not be used. For example, the number of output IDs corresponding to the input ID 0 is four, and the number of output IDs corresponding to the input ID 7 is one. Therefore, in the row of the input ID 7, two cells are unused. One cell has a bit length of 32 bits. In a hardware configuration in which memory must be secured even for unused cells, the memory size becomes larger.

上記した課題を解決するためのマルチキャストテーブルについて、図6を用いて説明する。図6は、本実施の形態にかかるマルチキャストテーブルのテーブル構造を示す図である。   A multicast table for solving the above problems will be described with reference to FIG. FIG. 6 is a diagram showing the table structure of the multicast table according to the present embodiment.

マルチキャストテーブルは、入力ID(Input ID)カラムと、マルチキャスト数(multicast number)カラムと、同一ID(same ID)カラムと、ポインタ(Pointer)カラムとの4つのカラムを備えている。第1のカラムである入力IDカラムは、受信したメッセージの入力IDを示すカラムである。第2のカラムであるマルチキャスト数カラムは、対応する入力IDのマルチキャスト数を示すカラムである。すなわち、対応する入力IDにメッセージが送信された場合に、転送先アドレスとして指定される出力IDの数がマルチキャスト数となる。   The multicast table includes four columns: an input ID (Input ID) column, a multicast number (multicast number) column, an identical ID (same ID) column, and a pointer (Pointer) column. The first column, the input ID column, is a column indicating the input ID of the received message. The second column, ie, the multicast number column, is a column indicating the multicast number of the corresponding input ID. That is, when a message is transmitted to the corresponding input ID, the number of output IDs designated as the transfer destination address is the number of multicasts.

第3のカラムである同一IDカラムは、対応する入力IDと同じIDにメッセージを転送するか否かを示すカラムとなる。例えば、入力IDと同じIDが出力IDとなっている場合、同一IDカラムのセルの値が第1の値、例えば、“1”となり、入力IDと同じIDが出力IDとなっていない場合、同一IDカラムのセルの値が第2の値、例えば、“0“となる。このように、同一IDカラムのセルの値に応じて、同一IDにメッセージを転送するか否かが決まる。   The same ID column, which is the third column, is a column indicating whether or not to transfer the message to the same ID as the corresponding input ID. For example, when the same ID as the input ID is the output ID, the value of the cell in the same ID column is the first value, for example, "1", and the same ID as the input ID is not the output ID. The value of the cell of the same ID column is the second value, for example, "0". Thus, depending on the value of the cell of the same ID column, it is determined whether or not to transfer the message to the same ID.

第4のカラムであるポインタカラムは、1つの入力IDに割り当てられた複数の出力IDを1つずつ順番に指定していくように、行番号を示すカラムである。すなわち、ポインタカラムの各セルには、1つの入力IDに対応付けられた出力IDを示す行番号がポインタとして、格納される。テーブルの各列において、IDと、ポインタと、マルチキャスト数と、同一IDか否かを示す値と、が対応付けられている。   The pointer column, which is the fourth column, is a column that indicates a row number so that a plurality of output IDs assigned to one input ID are sequentially designated one by one. That is, in each cell of the pointer column, a row number indicating an output ID associated with one input ID is stored as a pointer. In each column of the table, an ID, a pointer, the number of multicasts, and a value indicating whether or not the same ID is associated.

次、本実施の形態にかかるマルチキャストテーブルを生成する手順について説明する。図7〜図11は、図2に示すマルチキャストテーブル(以下、テーブルT1)を本実施の形態にかかるマルチキャストテーブル(以下、テーブルT2)に変換する手順を説明するための図である。なお、テーブルT2には行番号0〜13を付している。上記の通り、テーブルT1、T2は,ゲートウェイ装置等において、メッセージをマルチキャスト送信するために参照されるマルチキャストテーブルである。よって、テーブルT2は、ゲートウェイのID変換に適用することができる。   Next, a procedure for generating a multicast table according to the present embodiment will be described. FIGS. 7 to 11 are diagrams for explaining the procedure for converting the multicast table (hereinafter, table T1) shown in FIG. 2 into the multicast table (hereinafter, table T2) according to the present embodiment. The table T2 is assigned line numbers 0 to 13. As described above, the tables T1 and T2 are multicast tables to be referred to for multicast transmission of a message in the gateway device or the like. Thus, the table T2 can be applied to gateway ID conversion.

まず、テーブルT1の入力IDをテーブルT2のIDカラムとする(図7の矢印A1)。テーブルT1が5つの行から構成されているため、テーブルT2のIDカラムの先頭から5つのセルに、出力IDが格納される。すなわち、テーブルT2のIDカラムの行番号0〜4のセルに、ID0、ID9、ID6、ID7、ID5がそれぞれコピーされる。   First, the input ID of the table T1 is set to the ID column of the table T2 (arrow A1 in FIG. 7). Since the table T1 is composed of five rows, the output ID is stored in the five cells from the top of the ID column of the table T2. That is, ID0, ID9, ID6, ID7, and ID5 are copied to cells of row numbers 0 to 4 in the ID column of the table T2, respectively.

次に、テーブルT1の出力IDを、テーブルT2のIDカラムとする(図7の矢印A2)。ここでは、テーブルT2のIDカラムにおいて、入力IDが格納された次のセルから、出力IDが順番に格納される。また、出力IDが格納された行では、マルチキャスト数カラムと同一IDカラムとが未使用(unused)となる。テーブルT1には、上記のように5つの入力IDが格納されているため、出力IDは行番号5のセルから順番に格納されていく。また、テーブルT1には8個の出力IDが格納されているため、テーブルT2のIDカラムの行番号5〜12のセルに出力IDが格納される。   Next, the output ID of the table T1 is set to the ID column of the table T2 (arrow A2 in FIG. 7). Here, in the ID column of the table T2, the output ID is stored in order from the next cell in which the input ID is stored. Further, in the row in which the output ID is stored, the multicast number column and the same ID column become unused. Since five input IDs are stored in the table T1 as described above, the output IDs are stored in order from the cell of row number 5. Further, since eight output IDs are stored in the table T1, the output IDs are stored in the cells of row numbers 5 to 12 in the ID column of the table T2.

具体的には、テーブルT2のIDカラムの行番号5〜7のセルには、ID0の入力IDに対応付けられた出力IDとして、ID3、ID5、ID7がそれぞれコピーされる。テーブルT2のIDカラムの行番号8のセルには、ID9の入力IDに対応付けられた出力IDとして、ID8がコピーされる。テーブルT2のIDカラムの行番号9、10のセルには、ID6の入力IDに対応付けられた出力IDとして、ID2、ID5がそれぞれコピーされる。テーブルT2のIDカラムの行番号11には、ID7の入力IDに対応付けられた出力IDとして、ID0がコピーされる。テーブルT2のIDカラムの行番号12のセルには、ID5の入力IDに対応付けられた出力IDとして、ID6がコピーされる。このように、IDカラムの1つのセルには1つの入力ID又は1つの出力IDが格納されている。   Specifically, ID3, ID5, and ID7 are copied to cells of row numbers 5 to 7 in the ID column of the table T2 as output IDs associated with the input ID of ID0. ID8 is copied to the cell of row number 8 of the ID column of the table T2 as an output ID associated with the input ID of ID9. In cells of row numbers 9 and 10 in the ID column of the table T2, ID2 and ID5 are copied as output IDs associated with the input ID of ID6. In the row number 11 of the ID column of the table T2, ID0 is copied as an output ID associated with the input ID of ID7. In the cell of the row number 12 of the ID column of the table T2, ID6 is copied as an output ID associated with the input ID of ID5. As described above, one input ID or one output ID is stored in one cell of the ID column.

次に、図8に示すようにテーブルT2のマルチキャスト数カラムに、それぞれの入力IDに対応するマルチキャスト数を格納する(図8の枠A3)。ここでは、テーブルT1において、それぞれの入力IDに対応するマルチキャスト数(出力ID数)が、テーブルT2のマルチキャスト数カラムの行番号0〜4のセルに入力される。例えば、テーブルT1において、入力ID0に対応付けられた出力ID数は、3となっているため、テーブルT2の行番号0のセルにおいて、マルチキャスト数が3となる。同様に、テーブルT2の行番号1〜4において、マルチキャスト数は、それぞれ1、2、1、1となる。なお、出力IDが入力された行、すなわち行番号5〜12については、マルチキャスト数カラムのセルは未使用(unused)になっている。   Next, as shown in FIG. 8, the multicast number corresponding to each input ID is stored in the multicast number column of the table T2 (box A3 in FIG. 8). Here, in the table T1, the number of multicasts (the number of output IDs) corresponding to each input ID is input to cells of row numbers 0 to 4 in the column of the number of multicasts of the table T2. For example, in the table T1, since the number of output IDs associated with the input ID 0 is 3, the number of multicasts is 3 in the cell of the row number 0 of the table T2. Similarly, in the row numbers 1 to 4 of the table T2, the number of multicasts is 1, 2, 1, and 1, respectively. In addition, for the row in which the output ID is input, that is, for the row numbers 5 to 12, cells in the multicast number column are unused.

そして、図9に示すように、入力IDと同じIDが出力IDになっている否かに応じて、テーブルT2の同一IDカラムに値を格納する(図9の枠A4)。ここで、全ての入力IDにおいて、入力IDと同じIDが出力IDとなっていないため、同一IDカラムには、全て0が格納される。例えば、テーブルT1の入力ID0に対応する出力IDには、ID0が含まれていない。よって、テーブルT2の行番号0において、同一IDカラムの値が0となる。同様に、テーブルT2の行番号1〜4においても、同一IDカラムの値が0となる。なお、出力IDが入力された行、すなわち行番号5〜12については、同一IDカラムのセルは未使用(unused)になっている。同一IDカラムを設けることで、同一IDを出力先アドレスとして指定することができる。   Then, as shown in FIG. 9, the value is stored in the same ID column of the table T2 according to whether or not the same ID as the input ID is the output ID (frame A4 in FIG. 9). Here, in all input IDs, since the same ID as the input ID is not the output ID, all 0s are stored in the same ID column. For example, the output ID corresponding to the input ID0 of the table T1 does not include ID0. Therefore, in the row number 0 of the table T2, the value of the same ID column is 0. Similarly, in the row numbers 1 to 4 of the table T2, the value of the same ID column is zero. In the row in which the output ID is input, that is, the row numbers 5 to 12, cells of the same ID column are unused. By providing the same ID column, the same ID can be designated as the output destination address.

次に、図10に示すように、テーブルT2のポインタカラムにIDカラムの行番号を示す値を格納する(図10の枠A5)。ポインタカラムには、1つの入力IDに割り当てられた複数の出力IDを1つずつ順番に指定していくように、IDカラムの行番号が格納される。例えば、テーブルT1において、ID0の入力IDには、出力IDとして、ID3,ID5、ID7が対応付けられている。よって、テーブルT2の行番号0のセルでは、ID0の入力IDに対応付けられた1つ目の出力ID(ID3)を指定する行番号5がポインタとして入力される(図10の矢印A6)。   Next, as shown in FIG. 10, a value indicating the row number of the ID column is stored in the pointer column of the table T2 (frame A5 in FIG. 10). In the pointer column, row numbers of ID columns are stored so that a plurality of output IDs assigned to one input ID are sequentially designated one by one. For example, in the table T1, as the output ID, ID3, ID5, and ID7 are associated with the input ID of ID0. Thus, in the cell of row number 0 in table T2, row number 5 specifying the first output ID (ID3) associated with the input ID of ID0 is input as a pointer (arrow A6 in FIG. 10).

次に、テーブルT2のポインタカラムの行番号5のセルには、ID0の入力IDに対応付けられた2つ目の出力ID(ID5)を指定する行番号6が入力される(図10の矢印A7)。さらに、テーブルT2のポインタカラムの行番号6のセルには、ID0の入力IDに対応付けられた3つ目の出力ID(ID7)を指定する行番号7が入力される。なお、テーブルT2のIDカラムにおいて、1つの入力IDに対応する最後の出力IDが格納されている行番号、例えば、行番号7では、ポインタカラムのセルは未使用となる   Next, line number 6 specifying the second output ID (ID5) associated with the input ID of ID0 is input to the cell of line number 5 of the pointer column of table T2 (arrow in FIG. 10) A7). Furthermore, in the cell of row number 6 in the pointer column of table T2, row number 7 specifying the third output ID (ID7) associated with the input ID of ID0 is input. In the ID column of table T2, the row number where the last output ID corresponding to one input ID is stored, for example, in row number 7, the cell of the pointer column is not used

このようにして、入力ID=ID0に対応する出力IDを指定するポインタが、テーブルT2に保持される。ポインタカラムに入力されるポインタは、1つの入力IDに対応する出力IDを順番に示す値となる。同様に、テーブルT1の入力ID=ID9、ID6、ID7、ID5に対応する出力IDをそれぞれテーブルT2に格納すると、本実施の形態にかかるマルチキャストテーブルが完成する。テーブルT1を本実施の形態にかかるテーブル形式に変換したテーブルT2は図11のようになる。図11に示すテーブルT2は、テーブルT1と等価となっている。   In this way, a pointer specifying the output ID corresponding to the input ID = ID0 is held in the table T2. The pointer input to the pointer column has a value indicating the output ID corresponding to one input ID in order. Similarly, when the output ID corresponding to the input ID of the table T1 = ID9, ID6, ID7, and ID5 is stored in the table T2, the multicast table according to the present embodiment is completed. A table T2 obtained by converting the table T1 into the table format according to the present embodiment is as shown in FIG. The table T2 shown in FIG. 11 is equivalent to the table T1.

例えば、入力IDがID0のメッセージを受信すると、ゲートウェイ装置は、IDカラムの先頭から順にID0となるセルをサーチする。行番号0のセルのIDカラムがID0となっているので、ゲートウェイ装置は、行番号0のマルチキャスト数カラム、同一IDカラム、及びポインタカラムを参照する。マルチキャスト数は3となっているので転送先の出力IDが3となる。また、同一IDカラムの値が0であるので、ID0には、メッセージが転送されないことが分かる。行番号0のポインタが5となっているので、ゲートウェイ装置は、行番号5のIDを参照して、ID3をメッセージの転送先とする。さらに、行番号5のポインタが6となっているので、ゲートウェイ装置は、行番号6のIDカラムを参照して、ID5をメッセージの転送先とする。さらに、行番号6のポインタが7となっているので、ゲートウェイ装置は、行番号7のIDカラムを参照して、ID7をメッセージの転送先とする。メッセージ転送先となるID数が3となり、マルチキャスト数に到達したため、探索処理を終了する。ゲートウェイ装置は、マルチキャスト数だけ、ポインタが示す行番号を順番にたどっていくことで、入力IDに対応する全ての出力IDを探索することができる。   For example, when a message whose input ID is ID0 is received, the gateway device searches for cells having ID0 in order from the top of the ID column. Since the ID column of the cell of row number 0 is ID 0, the gateway apparatus refers to the multicast number column of row number 0, the same ID column, and the pointer column. Since the number of multicasts is three, the output ID of the transfer destination is three. Further, since the value of the same ID column is 0, it can be seen that no message is transferred to ID0. Since the pointer of the line number 0 is 5, the gateway device refers to the ID of the line number 5 and sets the ID 3 as the transfer destination of the message. Further, since the pointer of the line number 5 is 6, the gateway apparatus refers to the ID column of the line number 6 and sets the ID 5 as the transfer destination of the message. Furthermore, since the pointer of the line number 6 is 7, the gateway apparatus refers to the ID column of the line number 7 and sets the ID 7 as the transfer destination of the message. Since the number of IDs to which the message is to be transferred is 3 and the number of multicasts has been reached, the search process is ended. The gateway apparatus can search for all output IDs corresponding to the input ID by tracing the line numbers indicated by the pointer in order by the number of multicasts.

テーブルT2では、メモリサイズが予め設定されている場合でも、1つの入力IDに対応する出力IDを追加することができる。例えば、図12に示すように、新たな行を追加すればよい。具体的には、ID0の入力IDに出力IDとしてID9を追加したい場合、テーブルT2の行番号13にIDを入力する。さらに、行番号0のマルチキャスト数を4に更新するとともに、行番号を指定する13をポインタカラムの行番号7のセルに入力する。   In the table T2, even when the memory size is set in advance, an output ID corresponding to one input ID can be added. For example, as shown in FIG. 12, new lines may be added. Specifically, when it is desired to add ID 9 as an output ID to the input ID of ID 0, the ID is input to row number 13 of table T2. Furthermore, while updating the multicast number of row number 0 to 4, 13 specifying the row number is input to the cell of row number 7 of the pointer column.

このように、テーブルT1をテーブルT2に変換することで、メッセージの転送先を追加することができる。例えば、テーブルの列数が予め決まっている場合であっても、テーブルT2に行(row)を追加することで、入力IDに対応付けられた出力IDを増やすことができる。よって、マルチキャスト数を自由に設定することができる。よって、汎用性を高くすることができる。   As described above, by converting the table T1 into the table T2, it is possible to add a message transfer destination. For example, even when the number of rows in the table is determined in advance, the output ID associated with the input ID can be increased by adding a row to the table T2. Therefore, the number of multicasts can be set freely. Therefore, versatility can be enhanced.

さらに、カラム(列)毎にビット長を変えて設計することで、メモリコストを抑制することができる。例えば、マルチキャスト数カラム、同一IDカラム、ポインタカラムのセルでは、IDセルよりも少ないビット数とすることができる。これにより、テーブルサイズを小さくすることができるため、メモリコストを抑制することができる。   Furthermore, memory cost can be suppressed by changing the bit length for each column and designing. For example, in the cell of the multicast number column, the same ID column, and the pointer column, the number of bits can be smaller than that of the ID cell. As a result, the table size can be reduced, and memory costs can be reduced.

実施の形態2.
実施の形態2では、実施の形態1に対して、行数を減らすように、IDカラムの順番が最適化されている。図13は、テーブルT2と、IDカラムの順番を最適化したテーブルT3を示す図である。すなわち、テーブルT2において、出力IDが格納されている行の順番を最適化することで、テーブルT3が得られる。最適化を行うことで、未使用の行数を増やすことができる。よって、行数を削減することができ、テーブルサイズを小さくすることができる。
Second Embodiment
In the second embodiment, the order of the ID columns is optimized so as to reduce the number of rows as compared with the first embodiment. FIG. 13 shows a table T2 and a table T3 in which the order of the ID columns is optimized. That is, in the table T2, the table T3 is obtained by optimizing the order of the rows in which the output ID is stored. Optimization can increase the number of unused lines. Therefore, the number of rows can be reduced, and the table size can be reduced.

具体的には、IDが共通の2以上の行を統一して、1つの行とする。これにより、行の重複が解消されるため、行数を削減することができる。例えば、テーブルT2では、IDカラムの行番号4、6、10にID5が存在する。よって、この3つの行が、行番号4の1行に統一されている。テーブルT3のIDカラムにおいて、行番号4のみがID5となっている。   Specifically, two or more lines having a common ID are unified into one line. As a result, the duplication of rows is eliminated, and the number of rows can be reduced. For example, in the table T2, ID5 exists in the row numbers 4, 6, 10 of the ID column. Therefore, these three lines are unified into one line of line number 4. In the ID column of the table T3, only the row number 4 is ID5.

また、テーブルT2では、行番号0、11にID0が存在しているため、この2つの行が行番号0に統一される。同様に、テーブルT2では、行番号2、12にID6が存在しているため、この2つの行が行番号2の1つの行に統一される。このように、IDが重複する2以上の行を1つの行に統一することで、行数を減らすことができる。例えば、テーブルT2では、行番号0〜13が使用されているが、テーブルT3では、行番号0〜8が使用される。   Further, in the table T2, since ID0 is present in the row numbers 0 and 11, these two rows are unified to the row number 0. Similarly, in the table T2, since the ID 6 is present in the row numbers 2 and 12, these two rows are unified into one row of the row number 2. Thus, the number of lines can be reduced by unifying two or more lines whose IDs overlap with each other into one line. For example, while the row numbers 0 to 13 are used in the table T2, the row numbers 0 to 8 are used in the table T3.

最適化を行うことで、行数を削減することができるため、テーブルサイズを小さくすることができる。テーブルT3では、マルチキャスト数が設けられているため、異なる入力IDに対応する出力IDを指定するポインタが同じ行番号を指定することが可能となる。なお、統一する行でポインタが異なる場合は、転送順を変更すればよい。例えば、テーブルT2において、IDが共通する行番号4、6ではポインタが12、7となっているため、転送順を最適化する。共通化する行の出力IDをポインタで最後に指定するようにすればよい。このような最適化は、コンピュータプログラムにより実行することができる。   Since the number of rows can be reduced by performing the optimization, the table size can be reduced. In the table T3, since the number of multicasts is provided, it becomes possible to designate the same line number as the pointers which designate output IDs corresponding to different input IDs. If the pointers are different in the same line, the transfer order may be changed. For example, in the table T2, since the pointers are 12 and 7 in the row numbers 4 and 6 in which the IDs are common, the transfer order is optimized. The output ID of the row to be shared may be specified last by the pointer. Such optimization can be performed by a computer program.

上記の最適化を施したテーブルのテーブルサイズについて説明する。図14は、変換処理を行う前のテーブルT4を示す図である。つまり、テーブルT4はポインタカラムを有していないテーブルである。図15は、テーブル変換、及び最適化の処理を施した後のテーブルT5を示す図である。   The table size of the table subjected to the above optimization will be described. FIG. 14 is a diagram showing the table T4 before the conversion process. That is, the table T4 is a table having no pointer column. FIG. 15 is a diagram showing the table T5 after the table conversion and optimization processing.

図14のテーブルT4では、入力IDに対して、最大4つの出力IDが設定されている。また、5つの入力IDが設定されている。よって、テーブルのセル数は、25=(5*5)となる。そして、各IDのセルは32bitsとなっている。よって、テーブルT4のテーブルサイズは、800Bits(=32*25)となる。   In the table T4 of FIG. 14, a maximum of four output IDs are set for the input ID. In addition, five input IDs are set. Therefore, the number of cells in the table is 25 = (5 * 5). And the cell of each ID is 32 bits. Therefore, the table size of the table T4 is 800 bits (= 32 * 25).

テーブルT5は、IDカラムと、マルチキャスト数カラムと、同一IDカラムと、ポインタカラムを含んでいる。テーブルT4の入力ID、及び出力IDのセルと同様に、IDカラムのセルは、32bitsである。マルチキャスト数カラムのセル、同一IDカラムのセル、及びポインタのセルは、それぞれ、3bits、1bit、4bitsとなっている。また、テーブルT5の行数が9となっている。したがって、テーブルT5のテーブルサイズは、(32+3+1+4)*9=360bitsとなる。よって、小さいテーブルサイズで、テーブルT4と等価なテーブルT5を作成することができる。   The table T5 includes an ID column, a multicast number column, an identical ID column, and a pointer column. Similar to the cells of the input ID and the output ID of the table T4, the cell of the ID column is 32 bits. The cell of the multicast number column, the cell of the same ID column, and the cell of the pointer are 3 bits, 1 bit and 4 bits, respectively. Further, the number of rows of the table T5 is nine. Therefore, the table size of the table T5 is (32 + 3 + 1 + 4) * 9 = 360 bits. Therefore, the table T5 equivalent to the table T4 can be created with a small table size.

一般化したテーブルサイズについて説明する。変換前のテーブルサイズSizeは、以下の式(1)で示される。
Size = ID_size*input_ID_nbr*(1+max_mul_nbr) ・・・(1)
The generalized table size will be described. The table size Size before conversion is expressed by the following equation (1).
Size = ID_size * input_ID_nbr * (1 + max_mul_nbr) (1)

ここで、ID_sizeは入力IDカラムのセルのビット長、input_ID_nbrは、入力IDの総数、max_mul_nbrは、マルチキャスト数の最大値である。   Here, ID_size is the bit length of the cell of the input ID column, input_ID_nbr is the total number of input IDs, and max_mul_nbr is the maximum value of the multicast number.

変換後のテーブルサイズworst_sizeは、以下の式(2)で示される。
worst_size=(ID_size+([log2(max_mul_nbr)]+1)+1+[log2(input_ID_nbr+output_ID_nbr)])*(input_ID_nbr+output_ID_nbr) ・・・(2)
The table size worst_size after conversion is expressed by the following equation (2).
worst_size = (ID_size + ([log2 (max_mul_nbr)] + 1) +1+ [log2 (input_ID_nbr + output_ID_nbr)]) * (input_ID_nbr + output_ID_nbr) (2)

ここで、ID_sizeは、IDカラムのセルのビット長、max_mul_nbrは、マルチキャスト数の最大値、input_ID_nbrは入力IDの総数、output_ID_nbrは出力IDの総数である。なお、変換後のテーブルサイズworst_sizeは、最適化を行う前の値であり、重複するIDが考慮されている。上記の最適化を行うことで、テーブルサイズを小さくすることができる。   Here, ID_size is the bit length of the cell of the ID column, max_mul_nbr is the maximum value of the multicast number, input_ID_nbr is the total number of input IDs, and output_ID_nbr is the total number of output IDs. The table size worst_size after conversion is a value before optimization, and duplicate IDs are considered. The table size can be reduced by performing the above optimization.

実施の形態3.
実施の形態3にかかるマルチキャストテーブルについて、図16を用いて、説明する。図16に示すテーブルT6では、同一IDカラムが省略されている。同一IDカラムが省略されている点以外は、実施の形態1と同様である。テーブルT6を用いた場合であっても、ポインタをたどっていくことで、入力IDに対応付けられた出力IDをメッセージの転送先とすることができる。よって、実施の形態1、2と同様の効果を得ることができる。
Third Embodiment
The multicast table according to the third embodiment will be described with reference to FIG. In the table T6 shown in FIG. 16, the same ID column is omitted. The second embodiment is the same as the first embodiment except that the same ID column is omitted. Even when the table T6 is used, by following the pointer, the output ID associated with the input ID can be set as the transfer destination of the message. Therefore, the same effects as in the first and second embodiments can be obtained.

実施の形態4.
実施の形態4にかかるマルチキャストテーブルについて、図17を用いて、説明する。図17に示すテーブルT7では、マルチキャスト数カラムの代わりに、ポインタ有効(Pointer Valid)カラムが設けられている。ポインタ有効カラムはIDカラムに対応付けてられている。そして、ポインタ有効カラムのセルが第1の値、例えば、1の時、ポインタが示す行番号のIDを出力IDとして、転送先とする。一方、ポインタ有効カラムのセルが第2の値、例えば、0の時、次の出力IDの指定を終了する。このように、ポインタ有効カラムは、次の出力IDの指定を停止するか否かを示す値を格納する。実施の形態4のテーブルT7では、実施の形態2で示した最適化が困難であるため、重複の少ないテーブルに好適である。
Fourth Embodiment
The multicast table according to the fourth embodiment will be described with reference to FIG. In the table T7 shown in FIG. 17, a pointer valid column is provided instead of the multicast number column. The pointer valid column is associated with the ID column. Then, when the cell of the pointer valid column has a first value, eg, 1, the ID of the row number indicated by the pointer is taken as the output ID to be the transfer destination. On the other hand, when the cell of the pointer valid column has a second value, for example, 0, designation of the next output ID is ended. Thus, the pointer valid column stores a value indicating whether to stop designation of the next output ID. Since the optimization shown in the second embodiment is difficult in the table T7 of the fourth embodiment, it is suitable for a table with little duplication.

実施の形態5.
実施の形態5にかかるマルチキャストテーブルについて、図18を用いて説明する。図18に示すテーブルT7では、テーブルT2に対して、ハッシュ制御情報(Hash Control Info)カラムと、ハッシュポインタ(Hash Pointer)カラムが追加されている。
Embodiment 5
The multicast table according to the fifth embodiment will be described with reference to FIG. In the table T7 shown in FIG. 18, a hash control information (Hash Control Info) column and a hash pointer (Hash Pointer) column are added to the table T2.

ハッシュ制御情報カラムには、入力IDに対応付けられたハッシュ制御情報が格納されている。ハッシュ制御情報は、例えば、ハッシュ値を含んでいる。ハッシュポインタカラムには、ハッシュ衝突が生じた場合に、誤って探索された入力IDを訂正するためのハッシュポインタが格納されている。すなわち、ハッシュポインタは、ハッシュが衝突した場合に、マルチキャストポインタ(テーブルT2のポインタカラムに対応する)での指定を訂正するための情報である。   Hash control information associated with the input ID is stored in the hash control information column. The hash control information includes, for example, a hash value. The hash pointer column stores a hash pointer for correcting an input ID which is erroneously searched when a hash collision occurs. That is, the hash pointer is information for correcting the designation in the multicast pointer (corresponding to the pointer column of the table T2) when the hash collides.

本実施の形態では、入力IDの探索にハッシュ制御情報が用いられる。例えば、メッセージを受信した場合、受信したメッセージデータのハッシュ値と一致するハッシュ値をハッシュ制御情報カラムから探索する。ハッシュ制御情報を用いて探索することで、探索時間を短くすることができる。そして、探索されたハッシュ値に対応する入力IDが、メッセージの入力IDと一致する場合、実施の形態1等と同様に出力IDを探索する。すなわち、ポインタを順番にたどっていくことで、入力IDに対応する出力IDを探索する。   In the present embodiment, hash control information is used to search for an input ID. For example, when a message is received, a hash value that matches the received message data hash value is searched from the hash control information column. The search time can be shortened by searching using hash control information. Then, when the input ID corresponding to the searched hash value matches the input ID of the message, the output ID is searched as in the first embodiment and the like. That is, the output ID corresponding to the input ID is searched by tracing the pointer in order.

一方、ハッシュ衝突が発生した場合、探索されたハッシュ値に対応する入力IDが、メッセージの入力IDと一致しない。この場合、ハッシュポインタを参照することで、正しい入力IDに訂正される。そして、訂正された入力IDから、ポインタが指定する行番号を順番にたどっていくことで、入力IDに対応する出力IDを探索する。   On the other hand, when a hash collision occurs, the input ID corresponding to the searched hash value does not match the input ID of the message. In this case, the correct input ID is corrected by referring to the hash pointer. Then, from the corrected input ID, the output ID corresponding to the input ID is searched by tracing the line numbers designated by the pointer in order.

本実施の形態にかかるテーブルの具体例を図19に示す。図19は、ハッシュ制御情報とハッシュポインタカラムとを有するテーブルT9を示す図であり、図14のテーブルT4に対応するテーブルである。テーブルT9は、IDカラム、マルチキャストポインタカラム、同一IDカラムと、マルチキャスト数カラムと、ハッシュ制御情報カラムと、ハッシュポインタカラムとを備えている。マルチキャストポインタカラムは、テーブルT2のポインタカラムに対応する。このようなハッシュ制御情報などを備えたテーブルは、実施の形態1で示した方法と同様の方法により作成することができる。   A specific example of the table according to the present embodiment is shown in FIG. FIG. 19 is a diagram showing a table T9 having hash control information and a hash pointer column, and is a table corresponding to the table T4 of FIG. The table T9 includes an ID column, a multicast pointer column, an identical ID column, a multicast number column, a hash control information column, and a hash pointer column. The multicast pointer column corresponds to the pointer column of the table T2. A table provided with such hash control information and the like can be created by the same method as the method described in the first embodiment.

IDカラム、マルチキャストポインタカラム、同一IDカラムと、マルチキャスト数カラムと、ハッシュ制御情報カラムと、ハッシュポインタカラムのビット長はそれぞれ、32ビット、4ビット、1ビット、3ビット、3ビット、4ビットなっている。テーブルT9は、行番号0〜8の9行を備えているため、テーブルサイズは、423(=47*9)ビットとなる。   Bit length of ID column, multicast pointer column, same ID column, multicast number column, hash control information column, and hash pointer column is 32 bits, 4 bits, 1 bit, 3 bits, 3 bits, 4 bits respectively ing. Since the table T9 includes nine rows of row numbers 0 to 8, the table size is 423 (= 47 * 9) bits.

さらに、本実施の形態では、入力IDと出力IDとを別のテーブルに分けることも可能である。図20は、入力IDと、出力IDとを別のテーブルに分けた例を示す図である。図18に示すT8を2つのテーブルT10、T11に分けている。図20では、入力ID用テーブルT10と出力ID用テーブルT11の2つのテーブルが示されている。   Furthermore, in the present embodiment, it is possible to divide the input ID and the output ID into separate tables. FIG. 20 is a diagram showing an example in which the input ID and the output ID are divided into different tables. T8 shown in FIG. 18 is divided into two tables T10 and T11. In FIG. 20, two tables, an input ID table T10 and an output ID table T11, are shown.

入力ID用テーブルT10は、図18のテーブルT7と同様のカラムを備えている。一方、出力ID用テーブルT11は、出力IDカラムと、マルチキャストポインタカラムのみから構成されている。出力ID用テーブルT11では、ハッシュ制御情報と、ハッシュポインタは使用されないため、ハッシュ制御情報カラム、及びハッシュポインタカラムを省略することができる。これにより、全体として、テーブルサイズを削減することができる。   The input ID table T10 has the same columns as the table T7 of FIG. On the other hand, the output ID table T11 comprises only an output ID column and a multicast pointer column. In the output ID table T11, the hash control information and the hash pointer are not used, so the hash control information column and the hash pointer column can be omitted. This makes it possible to reduce the table size as a whole.

図21は、入力IDと出力IDを別のテーブルに分けた具体例を示す図である。図21では、入力ID用テーブルT12と,出力ID用テーブルT13が示されている。なお、図21は、図19に示すテーブルT9を2つのテーブルに分けたものである。このような入力ID用テーブルT12と、出力ID用テーブルT13は、実施の形態1で示した方法と同様の方法により作成することができる。   FIG. 21 is a diagram showing a specific example in which the input ID and the output ID are divided into different tables. FIG. 21 shows an input ID table T12 and an output ID table T13. FIG. 21 shows the table T9 shown in FIG. 19 divided into two tables. Such an input ID table T12 and an output ID table T13 can be created by the same method as that described in the first embodiment.

入力ID用テーブルT12において、入力IDが探索されると、ゲートウェイ装置は、入力IDに対応するマルチキャストポインタを参照して、出力ID用テーブルT13の行番号を指定する。これにより、入力IDに対応する出力IDとなる行番号が指定される。そして、ゲートウェイ装置は、上記と同様に、出力ID用テーブルT13のポインタカラムを参照して、入力IDに対応する出力IDの行番号を順番に指定していく。これにより、1つの入力IDに対応する全ての出力IDをメッセージの転送先とすることができる。   When the input ID is searched in the input ID table T12, the gateway device refers to the multicast pointer corresponding to the input ID and designates the row number of the output ID table T13. Thereby, a line number to be an output ID corresponding to the input ID is designated. Then, in the same manner as described above, the gateway device refers to the pointer column of the output ID table T13, and sequentially designates the line numbers of the output ID corresponding to the input ID. Thus, all output IDs corresponding to one input ID can be set as the transfer destination of the message.

図21に示す入力用テーブルT12は、32ビットの入力IDカラム、2ビットのマルチキャストポインタカラム、1ビットの同一IDカラム、3ビットのマルチキャスト数カラム、3ビットのハッシュ制御情報カラム、3ビットのハッシュポインタカラムを備えている。入力ID用テーブルT12の行数は、5である。したがって、入力ID用テーブルT12のテーブルサイズは、220(=44*5)ビットとなる。   The input table T12 shown in FIG. 21 includes a 32-bit input ID column, a 2-bit multicast pointer column, a 1-bit identical ID column, a 3-bit multicast number column, a 3-bit hash control information column, and a 3-bit hash. It has a pointer column. The number of rows of the input ID table T12 is five. Therefore, the table size of the input ID table T12 is 220 (= 44 * 5) bits.

図21に示す出力ID用テーブルT13は、32ビットの出力IDカラムと2ビットのマルチキャストポインタカラムとを備えている。出力ID用テーブルT13の行数は、4である。したがって、出力ID用テーブルT13のテーブルサイズは、136(=34*4)ビットとなる。したがって、入力ID用テーブルT12と出力ID用テーブルT13との合計テーブルサイズは356ビットとなる。   The output ID table T13 shown in FIG. 21 includes a 32-bit output ID column and a 2-bit multicast pointer column. The number of rows of the output ID table T13 is four. Therefore, the table size of the output ID table T13 is 136 (= 34 * 4) bits. Therefore, the total table size of the input ID table T12 and the output ID table T13 is 356 bits.

なお、本実施の形態のみではなく、実施の形態1〜4に示したテーブルT2〜T7についても、入力IDと出力IDとを別のテーブルに分けることができる。この場合、出力ID用テーブルでは、同一IDカラムと、マルチキャスト数カラムを省略することができる。   The input ID and the output ID can be divided into different tables not only for this embodiment but also for the tables T2 to T7 shown in the first to fourth embodiments. In this case, in the output ID table, the same ID column and the multicast number column can be omitted.

さらに、入力IDと出力IDとを別のテーブルに分けて、それぞれのテーブルを別のメモリに格納する。第1のメモリが入力ID用テーブルを保持し、第1のメモリと異なる第2のメモリが出力ID用テーブルを保持する。このようにすることで、入力IDの探索と、出力IDの追跡とを並行して行うことができる。   Furthermore, the input ID and the output ID are divided into separate tables, and the respective tables are stored in separate memories. A first memory holds an input ID table, and a second memory different from the first memory holds an output ID table. By doing this, the search for the input ID and the tracking of the output ID can be performed in parallel.

例えば、2つのメッセージが連続して受信された場合を説明する。ゲートウェイ装置が、入力ID用テーブルにおいて、1つ目のメッセージに対して入力IDを探索した後に、出力ID用テーブルにおいて、ポインタを用いて出力IDを追跡する。ゲートウェイ装置は、出力ID用テーブルで、出力IDを追跡している間に、2つ目のメッセージに対して、入力IDを探索する。すなわち、入力ID用テーブルでは、1つ目のメッセージの入力IDの探索が終了しているため、2つ目のメッセージの入力IDを探索することができる。このように、2つのテーブルを異なるメモリに格納することで、入力IDの探索と、出力IDの追跡を並行して行うことで、処理を高速化することができる。   For example, the case where two messages are received consecutively will be described. The gateway device searches the input ID for the first message in the input ID table, and then tracks the output ID using the pointer in the output ID table. The gateway device searches the input ID for the second message while tracking the output ID in the output ID table. That is, in the input ID table, since the search for the input ID of the first message is completed, the input ID of the second message can be searched. As described above, by storing two tables in different memories, the processing can be speeded up by performing the search of the input ID and the tracking of the output ID in parallel.

なお、入力ID用テーブルにおいて、バイナリサーチにより、入力IDを探索してもよく、線形サーチにより入力IDを探索してもよい。バイナリサーチでは、入力IDを降順又は昇順にソートして、中央値から探索を開始していく。線形サーチでは、先頭から順番に入力IDをサーチしていく。これにより高速に探索することができる。   In the input ID table, the input ID may be searched by binary search, or the input ID may be searched by linear search. In binary search, input IDs are sorted in descending or ascending order, and the search is started from the median value. In linear search, input IDs are searched in order from the top. This makes it possible to search at high speed.

実施の形態6.
本実施の形態にかかるマルチキャストテーブルについて、図22を用いて説明する。図22はテーブルT14を示す図である。本実施の形態では、テーブルT14には、ルーティング情報が追加されている。ルーティング情報カラム以外は、テーブルT2と同様であるため,説明を省略する。
Sixth Embodiment
The multicast table according to the present embodiment will be described with reference to FIG. FIG. 22 shows the table T14. In the present embodiment, routing information is added to the table T14. Except for the routing information column, the table is the same as the table T2, so the description is omitted.

ルーティング情報は、連絡先などのディスティネーション情報を含んでいる。なお、テーブルT14には、ルーティング情報に代えて、あるいは、ルーティング情報に加えて、フィルタリングルールなどの他のメタ情報が追加されていてもよい。メタ情報カラムを設けることで、様々なメタ情報を追加することができる。これにより、汎用性を高くすることができる。   The routing information includes destination information such as contacts. In addition, in place of the routing information or in addition to the routing information, other meta information such as a filtering rule may be added to the table T14. Various meta information can be added by providing a meta information column. Thereby, versatility can be improved.

上記のテーブル変換方法で変換されたテーブルは、車載用ゲートウェイのマルチキャストテーブルに好適である。図1に示したような車載システムでは、メモリ容量、CPU速度、消費電力などの制約がある一方で、遅滞なくメッセージを送信することが要求される。レイテンシを少なくするためには、図1に示したゲートウェイをハードウェアで構成することが望ましい。よって、本実施の形態に示すように、ポインタを有するマルチキャストテーブルを用いることで、速やかにメッセージをマルチキャスト送信することができる。   The table converted by the above table conversion method is suitable for the multicast table of the on-vehicle gateway. In the on-vehicle system as shown in FIG. 1, it is required to transmit a message without delay while being restricted by memory capacity, CPU speed, power consumption and the like. In order to reduce the latency, it is desirable to configure the gateway shown in FIG. 1 by hardware. Therefore, as described in the present embodiment, by using a multicast table having a pointer, it is possible to rapidly multicast a message.

また、ハードウェアでゲートウェイを構成した場合、テーブルサイズやテーブル形式を変更することができない場合がある。具体的には、テーブルにカラムを追加することや、カラムのビット長を変更することができない。したがって、上記のテーブル変換方法で変換したテーブルを用いることで、転送先の追加などを容易に行うことができる。   In addition, when the gateway is configured by hardware, the table size and table format may not be able to be changed. Specifically, it is not possible to add a column to the table or to change the bit length of the column. Therefore, the transfer destination can be easily added by using the table converted by the above table conversion method.

(テーブル変換装置)
実施の形態1〜6で示したテーブルを作成するためのテーブル変換装置について、図23を用いて説明する。図23は、テーブル変換装置300を示すブロックである。テーブル変換装置300は、プロセッサ301とメモリ302とを備えている。
(Table converter)
A table conversion apparatus for creating the tables shown in the first to sixth embodiments will be described with reference to FIG. FIG. 23 is a block diagram showing the table conversion apparatus 300. The table conversion device 300 includes a processor 301 and a memory 302.

メモリ302には、図7〜図11で示した手順でテーブル変換を行うためのテーブル変換プログラムが保持されている。プロセッサ301は、CPUなどであり、プログラムを実行する。変換前のテーブル、例えば、テーブルT1が入力されると、プロセッサ301がメモリ302に格納されたプログラムを実行する。このようにすることで、図7〜図11で示した手順で、テーブルT1をテーブルT2に変換する。これにより、汎用性の高いテーブルに変換することができる。   The memory 302 holds a table conversion program for performing table conversion according to the procedure shown in FIGS. The processor 301 is a CPU or the like and executes a program. When a pre-conversion table, for example, a table T1 is input, the processor 301 executes a program stored in the memory 302. By doing this, the table T1 is converted to the table T2 according to the procedure shown in FIGS. This makes it possible to convert to a highly versatile table.

さらに、メモリ302には、実施の形態2で示したような最適化処理を行うためのプログラムが保持されていてもよい。そして、プロセッサがプログラムを実行することで、テーブルの最適化が行われる。よって、テーブルサイズを小さくすることができる。   Furthermore, the memory 302 may hold a program for performing the optimization process as described in the second embodiment. Then, the processor executes the program to optimize the table. Thus, the table size can be reduced.

図24に、テーブル403を用いてマルチキャスト送信するゲートウェイ装置400を示す。ゲートウェイ装置400は、複数のサブシステム401、402に接続されている。ゲートウェイ装置400は、サブシステム401、402とCAN又はイーサネットなどのプロトコルに応じて,通信を行う。ゲートウェイ装置400は、異なるネットワーク間の通信を中継する。ゲートウェイ装置400は車載システムなどに適用可能である。   FIG. 24 shows a gateway apparatus 400 that performs multicast transmission using the table 403. The gateway device 400 is connected to the plurality of subsystems 401 and 402. The gateway device 400 communicates with the subsystems 401 and 402 according to a protocol such as CAN or Ethernet. The gateway device 400 relays communication between different networks. The gateway device 400 is applicable to an in-vehicle system and the like.

ゲートウェイ装置400は、ハードウェアにより構成されている。ゲートウェイ装置400は、入力IDの探索を行う回路や、ポインタを参照して出力IDを指定する回路等を備えている。そして、上記のように、ゲートウェイ装置400が、テーブル403を参照することで、ID変換を行う。これにより、複数のサブシステム間において、メッセージのマルチキャスト送信を行うことが可能となる。   The gateway device 400 is configured by hardware. The gateway device 400 includes a circuit for searching for an input ID, and a circuit for specifying an output ID with reference to a pointer. Then, as described above, the gateway device 400 performs ID conversion by referring to the table 403. This makes it possible to perform multicast transmission of messages between multiple subsystems.

さらに、上記のテーブルは、ゲートウェイ装置400のID変換以外の用途に使用することも可能である。例えば、テーブルは、入力値を複数の出力値に変換する用途に使用可能である。   Furthermore, the above table can be used for applications other than the ID conversion of the gateway device 400. For example, the table can be used to convert input values into multiple output values.

上記実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
付記
(付記1)
複数の出力値が1つの入力値に割り当てられているテーブルを変換するテーブル変換装置であって、
前記テーブルを保持するメモリを備え、
前記テーブル変換装置は、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を1つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換装置。
(付記2)
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする付記1に記載のテーブル変換装置。
(付記3)
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする付記1、又は2に記載のテーブル変換装置。
(付記4)
行数を減らすように、前記出力値カラムの行の順番が最適化されている付記3に記載のテーブル変換装置。
(付記5)
前記入力値カラムと前記出力値カラムとが入出力値カラムとして1つのカラムとなっている付記1〜4のいずれか1つに記載のテーブル変換装置。
(付記6)
前記入力値が入力IDであり、前記出力値が出力先を示す出力IDであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである付記1〜5のいずれか1つに記載のテーブル変換装置。
(付記7)
前記出力IDに対応付けられたメタ情報をメタ情報カラムとする付記6に記載のテーブル変換装置。
(付記8)
前記入力IDに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする付記6、又は7に記載のテーブル変換装置。
(付記9)
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第1のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第2のテーブルの行番号を指定する付記1〜8のいずれか1つに記載のテーブル変換装置。
(付記10)
前記第1のテーブルを第1のメモリに格納し、
前記第1のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第2のメモリに前記第2のテーブルを格納する付記9に記載のテーブル変換装置。
(付記11)
前記第1のテーブルでは、バイナリサーチ、又は線形サーチが行われる付記9に記載のテーブル変換装置。
(付記12)
複数の出力値が1つの入力値に割り当てられているテーブルを変換するテーブル変換方法であって、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を1つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換方法。
(付記13)
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする付記12に記載のテーブル変換方法。
(付記14)
それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする付記12、又は13に記載のテーブル変換方法。
(付記15)
行数を減らすように、前記出力値カラムの行の順番が最適化されている付記13に記載のテーブル変換方法。
(付記16)
前記入力値カラムと前記出力値カラムとが入出力値カラムとして1つのカラムとなっている付記11〜15のいずれか1つに記載のテーブル変換方法。
(付記17)
前記入力値が入力IDであり、前記出力値が出力先を示す出力IDであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである付記11〜16のいずれか1つに記載のテーブル変換方法。
(付記18)
前記出力IDに対応付けられたメタ情報をメタ情報カラムとする付記16、又は17に記載のテーブル変換方法。
(付記19)
前記入力IDに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする付記16〜18のいずれか1つに記載のテーブル変換方法。
(付記20)
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第1のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第2のテーブルの行番号を指定する付記11〜19のいずれか1つに記載のテーブル変換方法。
(付記21)
前記第1のテーブルを第1のメモリに格納し、
前記第1のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第2のメモリに前記第2のテーブルを格納する付記19に記載のテーブル変換方法。
(付記22)
前記第1のテーブルでは、バイナリサーチ、又は線形サーチが行われる付記12〜21のいずれか1つに記載のテーブル変換装置。
(付記23)
付記11〜22のいずれか1つに記載のテーブル変換方法で変換されたテーブルを用いて、ID変換を行うゲートウェイ装置。
Although a part or all of the above-mentioned embodiment may be described as the following supplementary notes, it is not limited to the following.
Appendix (Supplementary Note 1)
A table conversion apparatus for converting a table in which a plurality of output values are assigned to one input value, the table conversion apparatus comprising:
A memory for holding the table;
The table conversion device is
Let the input value be an input value column,
Let a plurality of output values assigned to the input value be an output value column,
A table conversion apparatus, wherein a row number of an output value column is used as a pointer column so that a plurality of output values assigned to the input value are sequentially designated one by one.
(Supplementary Note 2)
The table conversion device according to appendix 1, wherein a value indicating whether or not the same value as the input value is assigned as the output value of the input value is a same value column.
(Supplementary Note 3)
The table conversion device according to any one of Appendices 1 or 2, wherein the number of output values corresponding to each of the input values is used as an output value number column.
(Supplementary Note 4)
The table conversion device according to appendix 3, wherein the order of the rows of the output value column is optimized to reduce the number of rows.
(Supplementary Note 5)
The table conversion device according to any one of appendices 1 to 4, wherein the input value column and the output value column are one column as an input / output value column.
(Supplementary Note 6)
The input value is an input ID, and the output value is an output ID indicating an output destination,
The table conversion device according to any one of appendices 1 to 5, wherein the table is a multicast table used for multicast transmission.
(Appendix 7)
The table conversion device according to claim 6, wherein meta information associated with the output ID is a meta information column.
(Supplementary Note 8)
Let hash control information associated with the input ID be a hash control information column,
6. The table conversion apparatus according to claim 6, wherein a pointer for correcting designation by the pointer column is a hash pointer column when a hash collision occurs.
(Appendix 9)
The input value column and the output value column are divided into separate tables,
The table conversion device according to any one of appendices 1 to 8, wherein in the first table having the input value column, the pointer column designates a row number of the second table having the output value column.
(Supplementary Note 10)
Storing the first table in a first memory;
10. The table conversion apparatus according to appendix 9, wherein the second table is stored in a second memory capable of tracking in a row number indicated by the pointer column in parallel with the search of the input value in the first memory.
(Supplementary Note 11)
The table conversion device according to appendix 9, wherein a binary search or a linear search is performed in the first table.
(Supplementary Note 12)
A table conversion method for converting a table in which a plurality of output values are assigned to one input value,
Let the input value be an input value column,
Let a plurality of output values assigned to the input value be an output value column,
A table conversion method, wherein a row number of an output value column is used as a pointer column so that a plurality of output values assigned to the input value are sequentially designated one by one.
(Supplementary Note 13)
15. The table conversion method according to appendix 12, wherein a value indicating whether or not the same value as the input value is assigned as the output value of the input value is a same value column.
(Supplementary Note 14)
15. The table conversion method according to appendix 12 or 13, wherein the number of output values corresponding to each of the input values is used as an output value number column.
(Supplementary Note 15)
15. The table conversion method according to appendix 13, wherein the order of the rows of the output value column is optimized to reduce the number of rows.
(Supplementary Note 16)
The table conversion method according to any one of Appendices 11 to 15, wherein the input value column and the output value column are one column as an input / output value column.
(Supplementary Note 17)
The input value is an input ID, and the output value is an output ID indicating an output destination,
The table conversion method according to any one of Appendices 11 to 16, wherein the table is a multicast table used for multicast transmission.
(Appendix 18)
24. The table conversion method according to appendix 16 or 17, wherein meta information associated with the output ID is a meta information column.
(Appendix 19)
Let hash control information associated with the input ID be a hash control information column,
The table conversion method according to any one of appendices 16 to 18, wherein a pointer for correcting designation by the pointer column is a hash pointer column when a hash collision occurs.
(Supplementary Note 20)
The input value column and the output value column are divided into separate tables,
The table conversion method according to any one of Appendices 11 to 19, wherein, in the first table having the input value column, the pointer column designates a row number of the second table having the output value column.
(Supplementary Note 21)
Storing the first table in a first memory;
20. The table conversion method according to appendix 19, wherein the second table is stored in a second memory capable of tracking in a row number indicated by the pointer column in parallel with the search of the input value in the first memory.
(Supplementary Note 22)
The table conversion device according to any one of appendices 21 to 21, wherein in the first table, a binary search or a linear search is performed.
(Supplementary Note 23)
The gateway apparatus which performs ID conversion using the table converted by the table conversion method as described in any one of supplementary notes 11-22.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。   As mentioned above, although the invention made by the present inventor was concretely explained based on an embodiment, the present invention is not limited to the embodiment mentioned already, A various change in the range which does not deviate from the gist It goes without saying that it is possible.

100 システム
200 車載システム
201 転送部
202 ゲートウェイ
204 マルチキャストテーブル
211 CPU
212 CPU
213 CPU
214 CPU
100 system 200 in-vehicle system 201 transfer unit 202 gateway 204 multicast table 211 CPU
212 CPU
213 CPU
214 CPU

Claims (20)

複数の出力値が1つの入力値に割り当てられているテーブルを変換するテーブル変換装置であって、
前記テーブルを保持するメモリを備え、
前記テーブル変換装置は、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を1つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換装置。
A table conversion apparatus for converting a table in which a plurality of output values are assigned to one input value, the table conversion apparatus comprising:
A memory for holding the table;
The table conversion device is
Let the input value be an input value column,
Let a plurality of output values assigned to the input value be an output value column,
A table conversion apparatus, wherein a row number of an output value column is used as a pointer column so that a plurality of output values assigned to the input value are sequentially designated one by one.
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする請求項1に記載のテーブル変換装置。   The table conversion device according to claim 1, wherein a value indicating whether or not the same value as the input value is assigned as the output value of the input value is a same value column. それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする請求項1に記載のテーブル変換装置。   The table conversion apparatus according to claim 1, wherein the number of the output values corresponding to each of the input values is set as an output value number column. 行数を減らすように、前記出力値カラムの行の順番が最適化されている請求項3に記載のテーブル変換装置。   4. The table conversion apparatus according to claim 3, wherein the order of the rows of the output value column is optimized so as to reduce the number of rows. 前記入力値カラムと前記出力値カラムとが入出力値カラムとして1つのカラムとなっている請求項1に記載のテーブル変換装置。   The table conversion apparatus according to claim 1, wherein the input value column and the output value column are one column as an input / output value column. 前記入力値が入力IDであり、前記出力値が出力先を示す出力IDであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである請求項1に記載のテーブル変換装置。
The input value is an input ID, and the output value is an output ID indicating an output destination,
The table conversion apparatus according to claim 1, wherein the table is a multicast table used for multicast transmission.
前記出力IDに対応付けられたメタ情報をメタ情報カラムとする請求項6に記載のテーブル変換装置。   7. The table conversion apparatus according to claim 6, wherein the meta information associated with the output ID is a meta information column. 前記入力IDに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする請求項6に記載のテーブル変換装置。
Let hash control information associated with the input ID be a hash control information column,
7. The table conversion apparatus according to claim 6, wherein a pointer that corrects designation by the pointer column is a hash pointer column when a hash collision occurs.
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第1のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第2のテーブルの行番号を指定する請求項1に記載のテーブル変換装置。
The input value column and the output value column are divided into separate tables,
The table conversion apparatus according to claim 1, wherein, in the first table having the input value column, the pointer column designates a row number of the second table having the output value column.
前記第1のテーブルを第1のメモリに格納し、
前記第1のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第2のメモリに前記第2のテーブルを格納する請求項9に記載のテーブル変換装置。
Storing the first table in a first memory;
10. The table conversion apparatus according to claim 9, wherein the second table is stored in a second memory capable of tracking in a row number indicated by the pointer column in parallel with the search for an input value in the first memory. .
複数の出力値が1つの入力値に割り当てられているテーブルを変換するテーブル変換方法であって、
前記入力値を入力値カラムとし、
前記入力値に割り当てられた複数の出力値を出力値カラムとし、
前記入力値に割り当てられた複数の出力値を1つずつ順番に指定していくように、出力値カラムの行番号をポインタカラムとする、テーブル変換方法。
A table conversion method for converting a table in which a plurality of output values are assigned to one input value,
Let the input value be an input value column,
Let a plurality of output values assigned to the input value be an output value column,
A table conversion method, wherein a row number of an output value column is used as a pointer column so that a plurality of output values assigned to the input value are sequentially designated one by one.
前記入力値と同じ値が当該入力値の前記出力値として割り当てられているか否かを示す値を同一値カラムとする請求項11に記載のテーブル変換方法。   The table conversion method according to claim 11, wherein a value indicating whether or not the same value as the input value is assigned as the output value of the input value is a same value column. それぞれの前記入力値に対応する前記出力値の数を出力値数カラムとする請求項11に記載のテーブル変換方法。   The table conversion method according to claim 11, wherein the number of the output values corresponding to each of the input values is set as an output value number column. 行数を減らすように、前記出力値カラムの行の順番が最適化されている請求項13に記載のテーブル変換方法。   The table conversion method according to claim 13, wherein the order of the rows of the output value column is optimized to reduce the number of rows. 前記入力値カラムと前記出力値カラムとが入出力値カラムとして1つのカラムとなっている請求項11に記載のテーブル変換方法。   The table conversion method according to claim 11, wherein the input value column and the output value column are one column as an input / output value column. 前記入力値が入力IDであり、前記出力値が出力先を示す出力IDであり、
前記テーブルがマルチキャスト送信に用いられるマルチキャストテーブルである請求項11に記載のテーブル変換方法。
The input value is an input ID, and the output value is an output ID indicating an output destination,
The table conversion method according to claim 11, wherein the table is a multicast table used for multicast transmission.
前記入力IDに対応付けられたハッシュ制御情報をハッシュ制御情報カラムとし、
ハッシュ衝突が生じた場合に、前記ポインタカラムによる指定を訂正するポインタをハッシュポインタカラムとする請求項16に記載のテーブル変換方法。
Let hash control information associated with the input ID be a hash control information column,
17. The table conversion method according to claim 16, wherein a pointer that corrects designation by the pointer column is a hash pointer column when a hash collision occurs.
前記入力値カラムと前記出力値カラムとが別のテーブルに分けられており、
前記入力値カラムを有する第1のテーブルでは、前記ポインタカラムが、前記出力値カラムを有する第2のテーブルの行番号を指定する請求項11に記載のテーブル変換方法。
The input value column and the output value column are divided into separate tables,
The table conversion method according to claim 11, wherein, in the first table having the input value column, the pointer column designates a row number of the second table having the output value column.
前記第1のテーブルを第1のメモリに格納し、
前記第1のメモリにおける入力値の探索と並行して、前記ポインタカラムが示す行番号での追跡が可能な第2のメモリに前記第2のテーブルを格納する請求項18に記載のテーブル変換方法。
Storing the first table in a first memory;
The table conversion method according to claim 18, wherein the second table is stored in a second memory capable of tracking in a row number indicated by the pointer column in parallel with the search of the input value in the first memory. .
請求項11に記載のテーブル変換方法で変換されたテーブルを用いて、ID変換を行うゲートウェイ装置。   The gateway apparatus which performs ID conversion using the table converted by the table conversion method of Claim 11.
JP2017248979A 2017-12-26 2017-12-26 Table conversion apparatus, table conversion method, and gateway apparatus Pending JP2019115001A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017248979A JP2019115001A (en) 2017-12-26 2017-12-26 Table conversion apparatus, table conversion method, and gateway apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017248979A JP2019115001A (en) 2017-12-26 2017-12-26 Table conversion apparatus, table conversion method, and gateway apparatus

Publications (1)

Publication Number Publication Date
JP2019115001A true JP2019115001A (en) 2019-07-11

Family

ID=67223309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017248979A Pending JP2019115001A (en) 2017-12-26 2017-12-26 Table conversion apparatus, table conversion method, and gateway apparatus

Country Status (1)

Country Link
JP (1) JP2019115001A (en)

Similar Documents

Publication Publication Date Title
US10545914B2 (en) Distributed object storage
US6272134B1 (en) Multicast frame support in hardware routing assist
JP2007249810A (en) Reduction method for parallel computer, and parallel computer
JP6845934B2 (en) Multicast data packet transfer method, multicast data packet transfer device and multicast data packet transfer system
CN104468401A (en) Message processing method and device
CN111382114B (en) Data transmission method and device for network on chip and electronic equipment
JP2019531563A (en) Data processing method, storage system, and switching device
CN111327651A (en) Resource downloading method, device, edge node and storage medium
EP1673920B1 (en) Method and apparatus for translating data packets from one network protocol to another
CN103873464A (en) Message processing method and forwarding equipment
CN108037725A (en) A kind of method and apparatus for reading and writing plc data
CN107547378B (en) VPN route learning method and device
CN101547209B (en) Method and device for updating information table
CN106878185B (en) Message IP address matching circuit and method
JP2019115001A (en) Table conversion apparatus, table conversion method, and gateway apparatus
US10025752B2 (en) Data processing method, processor, and data processing device
US11032216B2 (en) Merging read requests in network device architecture
JP4704252B2 (en) Network system broadcast processing method and network system
CN113497765B (en) Method and device for route management, electronic equipment and storage medium
CN111679918A (en) Message transmission method and device
US8316169B2 (en) Physical to hierarchical bus translation
US8606984B2 (en) Hierarchical to physical bus translation
CN115408328A (en) Many-core system, processing method and processing unit
JP7142665B2 (en) Method, apparatus, apparatus, computer readable storage medium and computer program for storage management
CN107547684A (en) A kind of IPv6 address distribution methods and device