(57)【要約】【課題】データの伝送効率が低下するのを抑制する。【解決手段】実施形態によるゲートウェイ装置は、バッファメモリと、変換テーブルと、第１制御部と、第２制御部と、第３制御部とを備える。バッファメモリには、第１ネットワーク内で伝送される第１データと、第２ネットワーク内で伝送される第２データとが一時的に記憶される。変換テーブルには、第１データおよび第２データに対する相互のフォーマット変換を行うための変換情報が登録されている。第１制御部は、変換情報に基づいて、バッファメモリに記憶された第２データから第１データを生成する。第２制御部は、変換情報に基づいて、バッファメモリに記憶された第１データから第２データを生成する。第３制御部は、変換テーブルから変換情報を読み出し、読み出した変換情報を第１制御部および第２制御部に通知する。【選択図】図１
2015216494.tif 000002
【特許請求の範囲】
【請求項１】
サイクリック伝送が行われる第１ネットワークおよび第２ネットワークを中継するゲートウェイ装置であって、
前記第１ネットワーク内で伝送される第１データと、前記第２ネットワーク内で伝送される第２データとが一時的に記憶されるバッファメモリと、
前記第１データおよび前記第２データに対する相互のフォーマット変換を行うための変換情報が登録された変換テーブルと、
前記変換情報に基づいて、前記バッファメモリに記憶された前記第２データから前記第１データを生成する第１制御部と、
前記変換情報に基づいて、前記バッファメモリに記憶された前記第１データから前記第２データを生成する第２制御部と、
前記変換テーブルから前記変換情報を読み出し、読み出した前記変換情報を前記第１制御部および前記第２制御部に通知する第３制御部とを備える、ゲートウェイ装置。
【請求項２】
前記第２制御部は、前記変換情報に基づいて、前記バッファメモリに記憶された、連続する複数フレーム分の前記第１データに基づく第３データを結合することにより、１フレーム分の前記第２データを生成するように構成されている、請求項１に記載のゲートウェイ装置。
【請求項３】
前記変換情報は、１フレーム分の前記第２データを生成するのに何フレーム分の前記第１データが必要かを示す第１情報を含む、請求項２に記載のゲートウェイ装置。
【請求項４】
前記第３データは、前記第１データに含まれる有効データであり、
前記変換情報は、前記有効データが前記第１データのどのビット位置に配置されているかを示す第２情報を含む、請求項２または３に記載のゲートウェイ装置。
【請求項５】
前記第１制御部は、前記変換情報に基づいて、前記バッファメモリに記憶された１フレーム分の前記第２データが分割されることにより構成された複数の第４データの各々に所定の付加データを付加することにより、連続する複数フレーム分の前記第１データを生成するように構成されている、請求項１〜４のいずれか１項に記載のゲートウェイ装置。
【請求項６】
前記変換情報は、１フレーム分の前記第２データに基づいて何フレーム分の前記第１データを生成するかを示す第３情報を含む、請求項５に記載のゲートウェイ装置。
【請求項７】
前記変換テーブルは、前記複数の第４データの各々を前記第１データのどのビット位置に配置するかを示す第４情報を含む、請求項５または６に記載のゲートウェイ装置。
【請求項８】
前記変換テーブルは、前記フォーマット変換を行う必要があるか否かを示す第５情報を含み、
前記第１制御部および前記第２制御部は、前記第５情報に基づいて、前記フォーマット変換を行うか否かを決定するように構成されている、請求項１〜７のいずれか１項に記載のゲートウェイ装置。
【請求項９】
前記変換テーブルは、前記第１データに対する前記フォーマット変換が行われる場合に参照される第１変換テーブルと、前記第２データに対する前記フォーマット変換が行われる場合に参照される第２変換テーブルとを含む、請求項１〜８のいずれか１項に記載のゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ゲートウェイ装置に関する。
【背景技術】
【０００２】
従来、互いに異なる２つのネットワークを中継する中継装置（ゲートウェイ装置）が知られている。この中継装置は、一方のネットワークで伝送されているデータを他方のネットワークに転送したり、他方のネットワークで伝送されているデータを一方のネットワークに転送したりする機能を有する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９４２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような構成では、一方のネットワークで伝送されているデータと、他方のネットワークで伝送されているデータとで、データフォーマットが異なる場合がある。この場合、たとえば一方のネットワークで伝送されているデータをそのまま他方のネットワークに転送すると、他方のネットワークでは不要なデータまで転送されてしまうことがあり、データの伝送効率が低下することがある。
【課題を解決するための手段】
【０００５】
実施形態によるゲートウェイ装置は、サイクリック伝送が行われる第１ネットワークおよび第２ネットワークを中継する。ゲートウェイ装置は、バッファメモリと、変換テーブルと、第１制御部と、第２制御部と、第３制御部とを備える。バッファメモリには、第１ネットワーク内で伝送される第１データと、第２ネットワーク内で伝送される第２データとが一時的に記憶される。変換テーブルには、第１データおよび第２データに対する相互のフォーマット変換を行うための変換情報が登録されている。第１制御部は、変換情報に基づいて、バッファメモリに記憶された第２データから第１データを生成する。第２制御部は、変換情報に基づいて、バッファメモリに記憶された第１データから第２データを生成する。第３制御部は、変換テーブルから変換情報を読み出し、読み出した変換情報を第１制御部および第２制御部に通知する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態によるゲートウェイ装置の構成の一例を示した例示ブロック図である。
【図２】図２は、実施形態による第１変換テーブルの一例を示した例示図である。
【図３】図３は、実施形態によるゲートウェイ装置が結合する第１データのデータ構造の一例を示した例示図である。
【図４】図４は、実施形態によるバッファメモリに図３に示した第１データがどのように記憶されるかの一例を示した例示図である。
【図５】図５は、実施形態によるゲートウェイ装置が図３に示した第１データに基づいて生成した第２データのデータ構造の一例を示した例示図である。
【図６】図６は、実施形態による第２変換テーブルの一例を示した例示図である。
【図７】図７は、実施形態によるゲートウェイ装置が分割する第２データのデータ構造の一例を示した例示図である。
【図８】図８は、実施形態によるバッファメモリに図７に示した第２データがどのように記憶されるかの一例を示した例示図である。
【図９】図９は、実施形態によるゲートウェイ装置が図７に示した第２データに基づいて生成した第１データのデータ構造の一例を示した例示図である。
【図１０】図１０は、実施形態によるゲートウェイ装置が結合処理を行う場合における第１制御部、第２制御部、および第３制御部の動作の一例を説明するための例示シーケンス図である。
【図１１】図１１は、実施形態によるゲートウェイ装置が分割処理を行う場合における第１制御部、第２制御部、および第３制御部の動作の一例を説明するための例示シーケンス図である。
【図１２】図１２は、変形例による第１変換テーブルの一例を示した例示図である。
【図１３】図１３は、変形例によるゲートウェイ装置が結合する第１データのデータ構造の一例を示した例示図である。
【図１４】図１４は、変形例によるバッファメモリに図１３に示した第１データがどのように記憶されるかの一例を示した例示図である。
【図１５】図１５は、変形例によるゲートウェイ装置が図１３に示した第１データに基づいて生成した第２データのデータ構造の一例を示した例示図である。
【図１６】図１６は、変形例による第２変換テーブルの一例を示した例示図である。
【発明を実施するための形態】
【０００７】
以下、実施形態を図面に基づいて説明する。
【０００８】
まず、図１〜図９を参照して、実施形態によるゲートウェイ装置１００の構成の一例について説明する。
【０００９】
図１に示すように、ゲートウェイ装置１００は、互いに異なる２つのネットワーク（第１ネットワーク２０１および第２ネットワーク２０２）を中継するように設けられている。第１ネットワーク２０１および第２ネットワーク２０２には、それぞれ、各種プラント設備などの監視制御を行う監視制御システムに備えられたステーション３０１および３０２が接続されている。
【００１０】
ステーション３０１および３０２は、それぞれ、コモンメモリ３０１ａおよび３０２ａを備え、第１ネットワーク２０１および第２ネットワーク２０２に接続された他のステーション（図示せず）との間でサイクリック伝送（スキャン伝送）を行うように構成されている。コモンメモリ３０１ａおよび３０２ａには、一定周期で更新される共有データが記憶される。共有データとは、第１ネットワーク２０１および第２ネットワーク２０２上の各ステーション間でサイクリック伝送により送受信される制御データ（スキャンデータ）の群である。
【００１１】
サイクリック伝送とは、ＴＣｎｅｔに対応したネットワーク上に設けられた複数のステーションの全てが同一内容の共有データを有するように、複数のステーションが一定周期で互いにスキャンデータを送受信するデータ伝送方式である。ＴＣｎｅｔとは、サイクリック伝送で用いられるリアルタイム通信プロトコルの一例であり、上記のような通信機能をイーサネット（登録商標）上で実現するネットワーク技術である。
【００１２】
図１に示すように、ゲートウェイ装置１００は、第１制御部１と、第２制御部２と、第１メモリ３と、第２メモリ４と、バッファメモリ５とを備える。バッファメモリ５は、第１エリア５１と、第２エリア５２とを含む。なお、図１には図示していないが、ゲートウェイ装置１００は、上記の各部を統括的に制御するＣＰＵ（中央演算処理装置）なども備える。
【００１３】
第１制御部１は、ゲートウェイ装置１００と第１ネットワーク２０１との間の通信を制御するモジュールである。たとえば、第１制御部１は、第１ネットワーク２０１から受信した第１データ（第１ネットワーク２０１内で伝送されるスキャンデータ）を第１メモリ３およびバッファメモリ５（第１エリア５１）に記憶したり、第１メモリ３やバッファメモリ５に記憶されたデータを第１データとして第１ネットワーク２０１に送信したりするように構成されている。なお、後述するように、第１データのヘッダ部分には、その第１データが何フレーム目のデータであるかを示すブロック番号が含まれている。
【００１４】
同様に、第２制御部２は、ゲートウェイ装置１００と第２ネットワーク２０２との間の通信を制御するモジュールである。たとえば、第２制御部２は、第２ネットワーク２０２から受信した第２データ（第２ネットワーク２０２内で伝送されるスキャンデータ）を第２メモリ４およびバッファメモリ５（第２エリア５２）に記憶したり、第１メモリ３やバッファメモリ５に記憶されたデータを第２データとして第２ネットワーク２０２に送信したりするように構成されている。なお、第２データのヘッダ部分にも、第１データと同様に、その第２データが何フレーム目のデータであるかを示すブロック番号が含まれている。
【００１５】
ここで、ゲートウェイ装置１００に接続される第１ネットワーク２０１および第２ネットワーク２０２は、互いに異なるネットワークであるため、第１ネットワーク２０１で伝送される第１データと、第２ネットワーク２０２で伝送される第２データとで、データフォーマットが異なる場合がある。したがって、第１データを第２ネットワーク２０２に送信する場合や、第２データを第１ネットワーク２０１に送信する場合に、第１データおよび第２データに対する相互のフォーマット変換を行うことが必要になることがある。
【００１６】
そこで、実施形態によるゲートウェイ装置１００は、第１データおよび第２データに対する相互のフォーマット変換を行うための変換情報が登録された変換テーブル６を備える。また、ゲートウェイ装置１００は、変換テーブル６に登録された変換情報を読み出し、読み出した変換情報を第１制御部１および第２制御部２に通知する第３制御部７を備える。
【００１７】
なお、第３制御部７は、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）などのハードウェアによって実現されている。これにより、ゲートウェイ装置１００の各部を統括的に制御するＣＰＵ（図示せず）などを用いてソフトウェア的に変換情報の読み出しなどを行う場合と異なり、ＣＰＵとは別個のハードウェアを用いて変換情報の読み出しなどを行うことができる。この結果、ＣＰＵのリソースが変換情報の読み出しなどに割かれることがないので、ＣＰＵの処理負担を軽減することができる。
【００１８】
変換テーブル６は、第１データに対するフォーマット変換が行われる場合に参照される第１変換テーブル６１（図２参照）と、第２データに対するフォーマット変換（後述する分割処理）が行われる場合に参照される第２変換テーブル６２とを含む。なお、第１変換テーブル６１および第２変換テーブル６２の各々に登録された変換情報の詳細については、後述する。
【００１９】
ここで、フォーマット変換の手法の例としては、結合処理と、分割処理とが挙げられる。結合処理とは、複数フレーム分のデータを結合することにより１フレーム分の新たなデータを生成する処理である。また、分割処理とは、１フレーム分のデータを分割することにより複数フレーム分のデータを生成する処理である。以下、実施形態による結合処理および分割処理についてより具体的に説明する。
【００２０】
（実施形態による結合処理）
実施形態では、第２制御部２は、連続する２フレーム分の第１データに含まれる有効データを結合することにより、１フレーム分の第２データを生成するように構成されている。ここで、有効データとは、第１データから、第２ネットワーク２０１では必要とされない無効データを除いたデータである。
【００２１】
一例として、第２制御部２は、図３（ａ）および（ｂ）に示す２フレーム分の第１データＸ１０およびＸ１１に基づいて、図５に示す１フレーム分の第２データＹ１０を生成するように構成されている。なお、第１データＸ１０は、第１ネットワーク２０１から０フレーム目に受信されたデータであり、第１データＸ１１は、第１ネットワーク２０１から１フレーム目に受信されたデータである。第１データＸ１０およびＸ１１は、図４に示すような状態でバッファメモリ５（第１エリア５１）に一時的に記憶されている。
【００２２】
より具体的には、第２制御部２は、第１エリア５１に記憶された第１データＸ１０およびＸ１１のうちの有効データ（図４の点状の網目が付された部分参照）のみを結合することにより、第２データＹ１０を生成するように構成されている。図３（ａ）の点状の網目が付された部分に示すように、第１データＸ１０の有効データは、第１データＸ１０の偶数ビットに対応するビット位置に配置されている。また、図３（ｂ）の点状の網目が付された部分に示すように、第１データＸ１１の有効データは、第１データＸ１１の偶数ビットに対応するビット位置に配置されている。
【００２３】
第２制御部２は、上記のように生成した第２データＹ１０を、０フレーム目のデータとして第２ネットワーク２０２に送信するように構成されている。
【００２４】
上記のような結合処理は、図２に示す第１変換テーブル６１に基づいて行われる。第１変換テーブル６１には、変換情報として、テーブル番号と、登録有効情報と、有効開始位置情報と、有効終了位置情報と、偶数／奇数情報と、結合／分割情報と、結合／分割ブロック数と、スキャン番号とが互いに対応付けられた状態で登録されている。
【００２５】
図２におけるテーブル番号は、第１ネットワーク２０１から受信された第１データのヘッダ部分に含まれるブロック番号に対応している。第３制御部７は、第１ネットワーク２０１から第１データが受信された場合に、その第１データのブロック番号に対応するテーブル番号の行に登録された変換情報を第１変換テーブル６１から読み出し、読み出した変換情報を第２制御部２に通知するように構成されている。たとえば、図３（ａ）に示す第１データＸ１０は、０フレーム目に受信されるため、そのブロック番号は「０」である。したがって、第３制御部７は、第１データＸ１０が受信された場合、第１変換テーブル６１のテーブル番号が「０」の行の変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。同様に、第３制御部７は、図３（ｂ）に示す第１データＸ１１が受信された場合、第１変換テーブル６１のテーブル番号が「１」の行の変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。
【００２６】
図２における有効開始位置情報、有効終了位置情報、および偶数／奇数情報は、上記テーブル番号において指定されたブロック番号を有する第１データのどのビット位置に有効データが配置されているかを示す情報である。
【００２７】
具体的には、有効開始位置情報は、有効データの始点となるビット位置を示す情報である。また、有効終了位置情報は、有効データの終点となるビット位置を示す情報である。有効開始位置情報および有効終了位置情報が共に「０」に設定されている場合には、有効データのビット位置の判定の際に有効開始位置情報および有効終了位置情報が考慮されることはない。なお、有効開始位置情報および有効終了位置情報が「０」以外に設定されていることにより、有効データの配置位置が有効開始位置情報および有効終了位置情報によって特定されている場合については、後述する変形例において説明する。
【００２８】
また、偶数／奇数情報は、有効データが第１データの偶数ビットに対応するビット位置に配置されているか、または奇数ビットに対応するビット位置に配置されているかを示す情報である。偶数／奇数情報が「１」に設定されている場合、有効データは偶数ビットに対応するビット位置に配置されていると判定され、偶数／奇数情報が「２」に設定されている場合、有効データは奇数ビットに対応するビット位置に配置されていると判定される。なお、偶数／奇数情報が「０」に設定されている場合には、有効データのビット位置の判定の際に偶数／奇数情報が考慮されることはない。
【００２９】
図２における登録有効情報は、第１ネットワーク２０１から受信された第１データを第２データとして第２ネットワーク２０２に送信する場合に第１データに対してフォーマット変換を行う必要があるか否かを示す情報である。第２制御部２は、登録有効情報に基づいて、フォーマット変換を行うか否かを決定する。第２制御部２は、登録有効情報が「１」に設定されていることを確認すると、フォーマット変換を行うことを決定し、登録有効情報が「０」に設定されていることを確認すると、フォーマット変換を行わないことを決定する。なお、第２制御部２は、フォーマット変換を行わないことを決定した場合、第１ネットワーク２０１から受信された第１データをそのまま第２データとして第２ネットワーク２０２に送信する。
【００３０】
図２における結合／分割情報は、第１データに対して行われるフォーマット変換の手法が結合処理であることを示す情報である。図２に示す第１変換テーブル６１では、後述する第２変換テーブル６２（図６参照）と異なり、結合／分割情報が「１」に設定されている。
【００３１】
図２における結合／分割ブロック数は、１フレーム分の第２データを生成するのに何フレーム分の第１データが必要であるかを示す情報である。図２に示す第１変換テーブル６１では、結合／分割ブロック数が「２」に設定されている。したがって、この第１変換テーブル６１によれば、１フレーム分の第２データ（たとえば、図５に示す第２データＹ１０）を生成するのに２フレーム分の第１データ（たとえば、図３に示す第１データＸ１０およびＸ１１）が必要であることが分かる。
【００３２】
図２におけるスキャン番号は、上記テーブル番号において指定されたブロック番号を有する第１データに基づいて何フレーム目の第２データが生成されるかを示す情報である。したがって、図２に示す第１変換テーブルによれば、ブロック番号が「０」の第１データ（たとえば、図３（ａ）に示す第１データＸ１０）と、ブロック番号が「１」の第１データ（たとえば、図３（ａ）に示す第１データＸ１０）とに基づいて、０フレーム目の第２データ（たとえば、図５に示す第２データＹ１０）が生成されることが分かる。
【００３３】
（実施形態による分割処理）
実施形態では、第１制御部１は、１フレーム分の第２データに基づく２つの分割データの各々に所定の付加データを付加することにより、連続する２フレーム分の第１データを生成するように構成されている。ここで、分割データとは、１フレーム分の第２データが２つに分割されることにより構成されたデータである。
【００３４】
一例として、第１制御部１は、図７に示す１フレーム分の第２データＹ２０に基づいて、図９（ａ）および（ｂ）に示す２フレーム分の第１データＸ２０およびＸ２１を生成するように構成されている。なお、第２データＹ２０は、第２ネットワーク２０２から０フレーム目に受信されたデータである。第２データＹ２０は、図８に示すような状態でバッファメモリ５（第２エリア５２）に一時的に記憶されている。
【００３５】
より具体的には、第１制御部１は、第２エリア５２に記憶された第２データＹ２０を２つに分割することにより構成される２つの分割データ（図８参照）の各々に所定の付加データを付加することにより、第１データＸ２０およびＸ２１を生成するように構成されている。図９（ａ）および（ｂ）の点状の網目が付された部分に示すように、分割データは、第１データＸ２０およびＸ２１の各々の偶数ビットに対応するビット位置に配置されている。また、図９の点状の網目が付された部分に挟まれた白抜きの部分に示すように、付加データは、第１データＸ２０およびＸ２１の各々の奇数ビットに対応するビット位置に配置されている。
【００３６】
第１制御部１は、上記のように生成した２フレーム分の第１データＸ２０およびＸ２１を、１フレームずつ順番に第１ネットワーク２０１に送信するように構成されている。具体的には、第１制御部１は、第１データＸ２０を０フレーム目のデータとして第１ネットワーク２０１に送信し、第１データＸ２１を１フレーム目のデータとして第１ネットワーク２０１に送信するように構成されている。
【００３７】
上記のような分割処理は、図６に示す第２変換テーブル６２に基づいて行われる。第２変換テーブル６２にも、上記第１変換テーブル（図２参照）と同様に、変換情報として、テーブル番号と、登録有効情報と、有効開始位置情報と、有効終了位置情報と、偶数／奇数情報と、結合／分割情報と、結合／分割ブロック数と、スキャン番号とが互いに対応付けられた状態で登録されている。
【００３８】
図６におけるテーブル番号は、第２ネットワーク２０２から受信された第２データのヘッダ部分に含まれるブロック番号に対応している。第３制御部７は、第２ネットワーク２０２から第２データが受信された場合に、その第２データのブロック番号に対応するテーブル番号の行に登録された変換情報を第２変換テーブル６２から読み出し、読み出した変換情報を第１制御部１に通知するように構成されている。たとえば、図７に示す第２データＹ２０は、０フレーム目に受信されるため、そのブロック番号は「０」である。したがって、第３制御部７は、第２データＹ２０が受信された場合、第２変換テーブル６２のテーブル番号が「０」の行の変換情報を読み出し、読み出した変換情報を第１制御部１に通知する。
【００３９】
図６おける有効開始位置情報、有効終了位置情報、および偶数／奇数情報は、第２データに基づく複数の分割データの各々に付加データが付加されることにより第１データが生成される場合に、各分割データを第１データのどのビット位置に配置するかを示す情報である。
【００４０】
具体的には、有効開始位置情報は、分割データを配置する始点となるビット位置を決定するための情報である。また、有効終了位置情報は、分割データを配置する終点となるビット位置を決定するための情報である。なお、上記第１変換テーブル６１（図２参照）の場合と同様に、第２変換テーブル６２における有効開始位置情報および有効終了位置情報が共に「０」に設定されている場合には、分割データを配置するビット位置が決定される際に有効開始位置情報および有効終了位置情報が考慮されることはない。
【００４１】
また、偶数／奇数情報は、分割データを第１データの偶数ビットに対応するビット位置に配置するか、または奇数ビットに対応するビット位置に配置するかを決定するための情報である。偶数／奇数情報が「１」に設定されている場合、第１制御部１は、分割データを偶数ビットに対応するビット位置に配置することを決定し、偶数／奇数情報が「２」に設定されている場合、分割データを奇数ビットに対応するビット位置に配置することを決定する。なお、上記第１変換テーブル６１（図２参照）の場合と同様に、第２変換テーブル６１における偶数／奇数情報が「０」に設定されている場合には、分割データを配置するビット位置が決定される際に偶数／奇数情報が考慮されることはない。
【００４２】
図６における登録有効情報は、第２ネットワーク２０２から受信された第２データを第１データとして第１ネットワーク２０１に送信する場合に第２データに対してフォーマット変換を行う必要があるか否かを示す情報である。第１制御部１は、登録有効情報に基づいて、フォーマット変換を行うか否かを決定する。上記第１変換テーブル６１（図２参照）の場合と同様に、第１制御部１は、登録有効情報が「１」に設定されていることを確認すると、フォーマット変換を行うことを決定し、登録有効情報が「０」に設定されていることを確認すると、フォーマット変換を行わないことを決定する。
【００４３】
図６における結合／分割情報は、第２データに対して行われるフォーマット変換の手法が分割処理であることを示す情報である。図６に示す第２変換テーブル６２では、上記第１変換テーブル６１（図２参照）と異なり、結合／分割情報が「０」に設定されている。
【００４４】
図６における結合／分割ブロック数は、１フレーム分の第２データが何個に分割されるか、すなわち１フレーム分の第２データに基づいて何フレーム分の第１データを生成するかを示す情報である。図６に示す第２変換テーブル６２では、結合／分割ブロック数が「２」に設定されている。したがって、この第２変換テーブル６２によれば、１フレーム分の第２データ（たとえば、図７に示す第２データＹ２０）に基づいて、２個の分割データが生成され、２フレーム分の第１データ（たとえば、図９に示す第１データＸ２０およびＸ２１）が生成されることが分かる。
【００４５】
図６におけるスキャン番号は、分割データの生成の基になる第２データのブロック番号に対応している。このスキャン番号において指定されたブロック番号を有する第２データは、結合／分割ブロック数において指定された個数の分割データに分割され、これら複数の分割データの各々に基づいて、テーブル番号において指定されたブロック番号を有する第１データが生成される。図６に示す第２変換テーブル６２では、テーブル番号が「０」の行と「１」の行とにおいて、スキャン番号が「０」になっている。したがって、図６に示す第２変換テーブル６２によれば、ブロック番号が「０」の第２データ（たとえば、図７に示す第２データＹ２０）に基づいて、ブロック番号が「０」の第１データ（たとえば、図９（ａ）に示す第１データＸ２０）と、ブロック番号が「１」の第１データ（たとえば、図９（ｂ）に示す第１データＸ２１）とが生成されることが分かる。
【００４６】
次に、図２〜図５、および図１０を参照して、実施形態によるゲートウェイ装置１００が結合処理を行う場合における第１制御部１、第２制御部２、および第３制御部７の動作シーケンスの一例について説明する。以下では、連続する２フレーム分の第１データＸ１０およびＸ１１（図３参照）に基づいて１フレーム分の第２データＹ１０（図５参照）が生成される例について説明する。
【００４７】
この動作シーケンスでは、図１０に示すように、第１制御部１は、まず、ステップＳ１において、０フレーム目の第１データＸ１０（図３（ａ）参照）を第１ネットワーク２０１から受信する。
【００４８】
次に、ステップＳ２において、第１制御部１は、ステップＳ１において受信した第１データＸ１０を第１メモリ３に書き込む。
【００４９】
次に、ステップＳ３において、第１制御部１は、ステップＳ１において受信した第１データＸ１０をバッファメモリ５（第１エリア５１）に書き込む。
【００５０】
次に、ステップＳ４において、第１制御部１は、ステップＳ１において受信した第１データＸ１０のヘッダ部分からブロック番号を抽出し、抽出したブロック番号を第３制御部７に通知する。上述したように、ブロック番号とは、何フレーム目のデータであるかを示す情報であるので、第１データＸ１０のブロック番号は、「０」である。
【００５１】
次に、ステップＳ５において、第３制御部７は、第１制御部１から通知されたブロック番号に基づいて、第１変換テーブル６１（図２参照）から変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。ここでは、第１制御部１から通知されるブロック番号が「０」であるとしているので、第３制御部７は、第１変換テーブル６１のうち、テーブル番号が「０」の行に登録された変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。
【００５２】
図２に示した第１変換テーブル６１では、テーブル番号が「０」の行において、登録有効情報は「１」に、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」に、結合／分割情報は「１」に、結合／分割ブロック数は「２」に、スキャン番号は「０」にそれぞれ設定されている。結合／分割情報が「１」に、結合／分割ブロック数が「２」にそれぞれ設定されていることから、第２制御部２は、第１データＸ１０と、第１データＸ１０の次のフレーム（１フレーム目）の第１データＸ１１（図３（ｂ）参照）とに対して結合処理を行うことを決定する。ここでは、第１データＸ１１に対応する変換情報はまだ第３制御部７から通知されていないので、第２制御部２は、第１データＸ１１に対応する変換情報が第３制御部７から通知されるまで（後述するステップＳ１０の処理が行われるまで）待機する。
【００５３】
次に、ステップＳ６において、第１制御部１は、１フレーム目の第１データＸ１１（図３（ｂ）参照）を受信する。
【００５４】
次に、ステップＳ７において、第１制御部１は、ステップＳ６において受信した第１データＸ１１を第１メモリ３に書き込む。
【００５５】
次に、ステップＳ８において、第１制御部１は、ステップＳ６において受信した第１データＸ１１をバッファメモリ５（第１エリア５１）に書き込む。これにより、連続する２フレーム分の第１データＸ１０およびＸ１１が、図４に示すような状態で第１エリア５１に記憶される。
【００５６】
次に、ステップＳ９において、第１制御部１は、ステップＳ６において受信した第１データＸ１１のヘッダからブロック番号を抽出し、抽出したブロック番号を第３制御部７に通知する。上記のように、第１データＸ１１は、１フレーム目のデータであるため、第１制御部１は、第１データＸ１１のブロック番号が「１」であることを第３制御部７に通知する。
【００５７】
次に、ステップＳ１０において、第３制御部７は、第１制御部１から通知されたブロック番号に基づいて、第１変換テーブル６１（図２参照）から変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。すなわち、第１制御部１は、第１変換テーブル６１のうちテーブル番号が「１」の行に登録された変換情報を第２制御部２に通知する。図２に示した第１変換テーブル６１では、テーブル番号が「１」の行において、登録有効情報は「１」に、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」に、結合／分割情報は「１」に、結合／分割ブロック数は「２」に、スキャン番号は「０」にそれぞれ設定されている。
【００５８】
以上の処理により、第２制御部２は、１フレーム分の第２データＹ１０（図５参照）を生成するのに必要な、２フレーム分の第１データＸ１０およびＸ１１の変換情報を取得する。そして、ステップＳ１１において、第２制御部２は、第３制御部７から取得した変換情報に基づいて、バッファメモリ５（第１エリア５１）にアクセスするためのアドレス情報および制御信号を生成する。アドレス情報とは、第１データＸ１０およびＸ１１の各々の有効データ（図３の点状の網目が付された部分参照）が、第１エリア５１のどのアドレスに記憶されているかを示す情報である。また、制御信号とは、有効データを第１エリア５１から読み出すために用いる信号である。
【００５９】
図２に示した第１変換テーブル６１では、上記のように、テーブル番号が「０」の行と「１」の行との両方において、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」にそれぞれ設定されている。したがって、ステップＳ１１において生成されるアドレス情報は、第１エリア５１のうち、第１データＸ１０およびＸ１１の偶数ビットに位置する有効データが記憶された部分のアドレスとなる（図３および図４の点状の網目が付された部分参照）。
【００６０】
次に、ステップＳ１２において、第２制御部２は、ステップＳ１１において生成したアドレス情報および制御信号を用いて、バッファメモリ５（第１エリア５１）から有効データを読み出し、読み出した有効データを結合することにより、１フレーム分の第２データＹ１０を生成する。
【００６１】
次に、ステップＳ１３において、第２制御部２は、ステップＳ１３において生成した第２データＹ１０を第２メモリ４に書き込む。
【００６２】
次に、ステップＳ１４において、第２制御部２は、ステップＳ１３において生成した１フレーム分の第２データＹ１０を第２ネットワーク２０２に送信する。上記のように、図２に示した第１変換テーブル６１では、テーブル番号が「０」の行と「１」の行との両方において、スキャン番号は「０」に設定されているので、第２制御部２は、第２データＹ１０を０フレーム目のデータとして第２ネットワーク２０２に送信する。
【００６３】
次に、図６〜図９、および図１１を参照して、実施形態によるゲートウェイ装置１００が分割処理を行う場合における第１制御部１、第２制御部２、および第３制御部７の動作シーケンスの一例について説明する。以下では、１フレーム分の第２データＹ２０（図７参照）に基づいて、連続する２フレーム分の第１データＸ２０およびＸ２１（図９参照）が生成される例について説明する。
【００６４】
この動作シーケンスでは、図１１に示すように、第２制御部２は、まず、ステップＳ２１において、０フレーム目の第２データＹ２０（図７参照）を第２ネットワーク２０２から受信する。
【００６５】
次に、ステップＳ２２において、第２制御部２は、ステップＳ２１において受信した第２データＹ２０を第２メモリ４に書き込む。
【００６６】
次に、ステップＳ２３において、第２制御部２は、ステップＳ２１において受信した第２データＹ２０をバッファメモリ５（第２エリア５２）に書き込む。これにより、第２データＹ２０が、図８に示すような状態で第２エリア５２に記憶される。
【００６７】
次に、ステップＳ２４において、第２制御部２は、ステップＳ２１において受信した第２データＹ２０のヘッダ部分からブロック番号を抽出し、抽出したブロック番号を第３制御部７に通知する。上記のように、第２データＹ２０は、０フレーム目のデータであるため、第２制御部２は、第２データＹ２０のブロック番号が「０」であることを第３制御部７に通知する。
【００６８】
次に、ステップＳ２５において、第３制御部７は、第２制御部２から通知されたブロック番号に基づいて、第２変換テーブル６２（図６参照）から変換情報を読み出し、読み出した変換情報を第２制御部２に通知する。ここでは、第２制御部２から通知されるブロック番号が「０」であるとしているので、第３制御部７は、まず、第２変換テーブル６２のうち、テーブル番号が「０」の行に登録された変換情報を読み出す。
【００６９】
図６に示した第２変換テーブル６２では、テーブル番号が「０」の行において、登録有効情報は「１」に、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」に、結合／分割情報は「０」に、結合／分割ブロック数は「２」に、スキャン番号は「０」にそれぞれ設定されている。結合／分割情報が「０」に設定されていることから、第２データＹ２０に対して分割処理が行われることが分かるので、第３制御部７は、第２変換テーブル６２のうちスキャン番号が「０」に設定された行が他にあるか否かを検索し、スキャン番号が「０」に設定された行の変換情報を全て第１制御部１に通知する。
【００７０】
図６に示した第２変換テーブル６２では、テーブル番号が「１」の行のスキャン番号も「０」に設定されているので、第３制御部７は、テーブル番号が「０」の行に登録された変換情報に加えて、テーブル番号が「１」の行に登録された変換情報も第２変換テーブル６２から読み出し、読み出した変換情報を第１制御部１に通知する。なお、図６に示した第２変換テーブル６２では、テーブル番号が「１」の行において、登録有効情報は「１」に、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」に、結合／分割情報は「０」に、結合／分割ブロック数は「２」に、スキャン番号は「０」にそれぞれ設定されている。
【００７１】
以上の処理により、第１制御部１は、第３制御部７から通知された変換情報に基づいて、第２データＹ２０に対して分割処理を行うことを決定する。具体的には、第１制御部１は、第２データＹ２０を２つに分割することにより、２フレーム分の第１データＸ２０およびＸ２１（図９参照）を生成することを決定する。そして、ステップＳ２６において、第１制御部１は、第３制御部７から取得した変換情報に基づいて、バッファメモリ５（第２エリア５２）へのアドレス情報および制御信号を生成する。アドレス情報とは、第２エリア５２のうち、第２データＹ２０が記憶された部分（図８の点状の網目が付された部分参照）のアドレスを示す情報であり、制御信号とは、有効データを第２エリア５２から読み出すために用いる信号である。
【００７２】
次に、ステップＳ２７において、第１制御部１は、ステップＳ２６において生成したアドレス情報および制御信号を用いて、第２データＹ２０に基づく２つの分割データ（図８参照）をバッファメモリ５（第２エリア５２）から読み出す。分割データとは、第２データＹ２０が分割されることにより構成されたデータである。
【００７３】
次に、ステップＳ２８において、第１制御部１は、ステップＳ２７において読み出した２つの分割データの各々に所定の付加データを付加することにより、２フレーム分の第１データＸ２０およびＸ２１を生成する。上記のように、図６に示した第２変換テーブル６２では、テーブル番号が「０」の行と「１」の行との両方において、有効開始位置情報および有効終了位置情報は「０」に、偶数／奇数情報は「１」にそれぞれ設定されているので、このステップＳ２８では、２つの分割データは、第１データＸ２０およびＸ２１の各々の偶数ビットに対応する位置（図９の点状の網目が付された部分参照）に配置され、付加データは、第１データＸ２０およびＸ２１の各々の奇数ビットに対応する位置（図９の点状の網目が付された部分に挟まれた白抜きの部分参照）に配置される。
【００７４】
次に、ステップＳ２９において、第１制御部１は、ステップＳ２８において生成した２フレーム分の第１データＸ２０およびＸ２１を第１メモリ３に書き込む。
【００７５】
次に、ステップＳ３０において、ステップＳ２８において生成した２フレーム分の第１データＸ２０およびＸ２１を順番に第１ネットワーク２０１に送信する。上記のように、図２に示した第１変換テーブル６１では、スキャン番号が「０」に設定された行のテーブル番号は「０」と「１」との２つであるので、第１制御部１は、第１データＸ２０を０フレーム目のデータとして第１ネットワーク２０１に送信し、その後、第１データＸ２１を１フレーム目のデータとして第１ネットワーク２０１に送信する。
【００７６】
以上説明したように、実施形態によるゲートウェイ装置１００は、第１データおよび第２データに対する相互のフォーマット変換を行うための変換情報が登録された変換テーブル６と、変換情報に基づいて第２データから第１データを生成する第１制御部１と、変換情報に基づいて第１データから第２データを生成する第２制御部２と、変換テーブル６から変換情報を読み出し、読み出した変換情報を第１制御部１および第２制御部２に通知する第３制御部７とを備える。これにより、第１データと第２データとでデータフォーマットが異なる場合でも、変換テーブル６、第１制御部１、第２制御部２、および第３制御部７によって、第１データと第２データとを相互にフォーマット変換することができる。この結果、第１ネットワーク２０１の第１データをそのまま第２データとして第２ネットワーク２０２に転送したり、第２ネットワーク２０２の第２データをそのまま第１データとして第１ネットワーク２０１に転送したりする場合と異なり、転送するデータを転送先のネットワークに応じたデータフォーマットに変換することができる。この結果、データの転送の際に不要なデータまで転送されるのを抑制することができるので、データの伝送効率を高めることができる。
【００７７】
（変形例）
次に、図１２〜図１６を参照して、変形例について説明する。この変形例は、結合処理において有効データが第１データのどのビット位置に配置されているかを判定する手法と、分割処理において分割データを第１データのどのビット位置に配置するかを決定する方法とにおいて、上記実施形態と異なっている。
【００７８】
（変形例による結合処理）
変形例では、上記実施形態と同様に、結合処理として、２フレーム分の第１データの各々に含まれる有効データを結合することにより１フレーム分の第２データを生成する処理が行われる。この変形例による結合処理は、図１２に示す第１変換テーブル６１ａに基づいて行われる。
【００７９】
ここで、変形例による第１変換テーブル６１ａでは、上記実施形態による第１変換テーブル６１（図２参照）と異なり、有効データの配置位置が、偶数／奇数情報ではなく、有効開始位置情報および有効終了位置情報によって指定されている。
【００８０】
より具体的には、図１２に示す第１変換テーブル６１ａでは、一例として、テーブル番号が「０」の行において、有効開始位置情報が「０」に設定されており、有効終了位置情報が「３」に設定されており、偶数／奇数情報が「０」に設定されている。また、第１変換テーブル６１ａでは、テーブル番号が「１」の行において、有効開始位置情報が「４」に設定されており、有効終了位置情報が「７」に設定されており、偶数／奇数情報が「０」に設定されている。
【００８１】
したがって、図１２に示す第１変換テーブル６１ａによれば、一例として、ブロック番号が「０」の第１データＸ３０（図１３（ａ）参照）の有効データは、その第１データＸ３０の０ビット目から３ビット目までのデータ（図１３（ａ）の点状の網目が付された部分参照）であることが分かる。また、図１２に示す第１変換テーブル６１ａによれば、ブロック番号が「１」の第１データＸ３１（図１３（ｂ）参照）の有効データは、その第１データＸ３１の４ビット目から７ビット目までのデータ（図１３（ｂ）の点状の網目が付された部分参照）であることが分かる。なお、第１データＸ３０およびＸ３１は、一例として、図１４に示すような状態で、バッファメモリ５０の第１エリア５１に一時的に記憶されている。
【００８２】
さらに、図１２に示す第１変換テーブル６１ａでは、一例として、テーブル番号が「０」の行と「１」の行との両方において、スキャン番号が「０」に設定されている。したがって、第１変換テーブル６１ａによれば、ブロック番号が「０」の第１データＸ３０の有効データ（図１３（ａ）の点状の網目が付された部分参照）と、ブロック番号が「１」の第１データＸ３１の有効データ（図１３（ｂ）の点状の網目が付された部分参照）とが結合されることにより、ブロック番号が「０」の第２データＹ３０（図１５参照）が生成されることが分かる。
【００８３】
（変形例による分割処理）
変形例では、上記実施形態と同様に、分割処理として、１フレーム分の第２データが２分割されることにより構成された２つの分割データの各々に所定の付加データを付加することにより２フレーム分の第１データを生成する処理が行われる。この変形例による分割処理は、図１６に示す第２変換テーブル６２ａに基づいて行われる。
【００８４】
ここで、図１６に示す第２変換テーブル６２ａは、結合／分割情報が「０」に設定されている点以外は、上記第１変換テーブル６１ａ（図１２参照）と同様である。この第２変換テーブル６２ａによれば、ブロック番号が「０」の第２データが２分割されることにより構成される２つの分割データが、ブロック番号が「０」の第１データの０ビット目から３ビット目までの領域と、ブロック番号が「１」の第１データの４ビット目から７ビット目までの領域とにそれぞれ配置されることが分かる。なお、ブロック番号が「０」の第１データの４ビット目から７ビット目までの領域と、ブロック番号が「１」の第１データの０ビット目から３ビット目までの領域とには、付加データが配置される。
【００８５】
以上、本発明の実施形態を説明したが、上記実施形態はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態は、様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８６】
１  第１制御部
２  第２制御部
５  バッファメモリ
６  変換テーブル
７  第３制御部
６１、６１ａ  第１変換テーブル
６２、６２ａ  第２変換テーブル
１００  ゲートウェイ装置
【図１】
2015216494.tif 000003
【図２】
2015216494.tif 000004
【図３】
2015216494.tif 000005
【図４】
2015216494.tif 000006
【図５】
2015216494.tif 000007
【図６】
2015216494.tif 000008
【図７】
2015216494.tif 000009
【図８】
2015216494.tif 000010
【図９】
2015216494.tif 000011
【図１０】
2015216494.tif 000012
【図１１】
2015216494.tif 000013
【図１２】
2015216494.tif 000014
【図１３】
2015216494.tif 000015
【図１４】
2015216494.tif 000016
【図１５】
2015216494.tif 000017
【図１６】
2015216494.tif 000018