JPH0773292B2 - プロトコル符号化/復号化装置 - Google Patents
プロトコル符号化/復号化装置Info
- Publication number
- JPH0773292B2 JPH0773292B2 JP5091564A JP9156493A JPH0773292B2 JP H0773292 B2 JPH0773292 B2 JP H0773292B2 JP 5091564 A JP5091564 A JP 5091564A JP 9156493 A JP9156493 A JP 9156493A JP H0773292 B2 JPH0773292 B2 JP H0773292B2
- Authority
- JP
- Japan
- Prior art keywords
- vtl
- function
- storage device
- abstract syntax
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【産業上の利用分野】本発明は、抽象構文と転送構文と
の間の構文変換に使用されるプロトコル符号化/復号化
装置に関する。
の間の構文変換に使用されるプロトコル符号化/復号化
装置に関する。
【0002】
【従来の技術】周知のように、開放形システム間相互接
続(OSI)の層プロトコルは、物理層、データリンク
層、ネットワーク層、トランスポート層、セッション
層、プレゼンテーション層、及びアプリケーション層の
7層から成る。
続(OSI)の層プロトコルは、物理層、データリンク
層、ネットワーク層、トランスポート層、セッション
層、プレゼンテーション層、及びアプリケーション層の
7層から成る。
【0003】プレゼンテーション層及びアプリケーショ
ン層に注意を向けよう。アプリケーション層において、
その層プロトコルは抽象構文記法1(ASN.1)を使
用した抽象で記述されており、ASN.1は国際標準化
機構(ISO)8824および国際電信電話諮問委員会
(CCITT)勧告X.208で規定されている。AS
N.1はアプリケーション層における複雑なデータ構造
を記述するためのプログラミング言語である。ASN.
1は、通常のプログラミング言語と同様に、単純なデー
タ型を組み合わせて、複雑なデータ構造を記述すること
ができる。ASN.1によって記述されたデータ型の集
合は抽象構文と呼ばれる。抽象構文は実際のシステムに
おけるその符号化フォーマットから独立している。プレ
ゼンテーション層において、抽象構文はASN.1基本
符号化規則に基づいて転送構文に符号化される。AS
N.1基本符号化規則はISO8825およびCCIT
T勧告X.209で規定されている。アプリケーション
層の機能はアプリケーションエンティティと呼ばれる機
能モジュールによって実現され、プレゼンテーション層
の機能はプレゼンテーションエンティティと呼ばれる機
能モジュールによって実現される。アプリケーションエ
ンティティは抽象構文を用いてデータのセマンティクス
(意味内容)を表現する。転送構文はプレゼンテーショ
ンエンティティ間で転送されるデータのシンタックス
(形式)を表現する。各OSIプレゼンテーション層プ
ロトコルは、転送構文によって記述されたプロトコルデ
ータ単位(PDU)の集合として表される。各PDUは
複数の構成要素を含む。
ン層に注意を向けよう。アプリケーション層において、
その層プロトコルは抽象構文記法1(ASN.1)を使
用した抽象で記述されており、ASN.1は国際標準化
機構(ISO)8824および国際電信電話諮問委員会
(CCITT)勧告X.208で規定されている。AS
N.1はアプリケーション層における複雑なデータ構造
を記述するためのプログラミング言語である。ASN.
1は、通常のプログラミング言語と同様に、単純なデー
タ型を組み合わせて、複雑なデータ構造を記述すること
ができる。ASN.1によって記述されたデータ型の集
合は抽象構文と呼ばれる。抽象構文は実際のシステムに
おけるその符号化フォーマットから独立している。プレ
ゼンテーション層において、抽象構文はASN.1基本
符号化規則に基づいて転送構文に符号化される。AS
N.1基本符号化規則はISO8825およびCCIT
T勧告X.209で規定されている。アプリケーション
層の機能はアプリケーションエンティティと呼ばれる機
能モジュールによって実現され、プレゼンテーション層
の機能はプレゼンテーションエンティティと呼ばれる機
能モジュールによって実現される。アプリケーションエ
ンティティは抽象構文を用いてデータのセマンティクス
(意味内容)を表現する。転送構文はプレゼンテーショ
ンエンティティ間で転送されるデータのシンタックス
(形式)を表現する。各OSIプレゼンテーション層プ
ロトコルは、転送構文によって記述されたプロトコルデ
ータ単位(PDU)の集合として表される。各PDUは
複数の構成要素を含む。
【0004】構成要素の1つとしてあるデータ値を入力
/参照するために、抽象構文の複雑なデータ構造を理解
することが必要である。そのために、従来においては、
構造体と値木リスト(VTL)とを人手によって抽象構
文に基づいて生成しなければならい。値木リストは生成
された構造体と抽象構文のデータ構造に対するデータ値
との間の対応づけを示すテーブルである。更に、値木リ
ストと利用者プログラムとの間の複雑なインタフェース
変換を人手を介して行わなければならない。したがっ
て、OSIアプリケーション層プロトコルの符号化/復
号化のために、それぞれ、個別の処理を行う必要があ
る。
/参照するために、抽象構文の複雑なデータ構造を理解
することが必要である。そのために、従来においては、
構造体と値木リスト(VTL)とを人手によって抽象構
文に基づいて生成しなければならい。値木リストは生成
された構造体と抽象構文のデータ構造に対するデータ値
との間の対応づけを示すテーブルである。更に、値木リ
ストと利用者プログラムとの間の複雑なインタフェース
変換を人手を介して行わなければならない。したがっ
て、OSIアプリケーション層プロトコルの符号化/復
号化のために、それぞれ、個別の処理を行う必要があ
る。
【0005】
【発明が解決しようとする課題】その結果、従来におい
ては、目的のデータ値を入力/参照する作業が難しい。
特に、抽象構文のデータ構造が複雑な場合には、データ
値の入力/参照のミスによる情報の欠落、抽象構文それ
自体のデータ構造を理解することが難しく、各OSIア
プリケーション層プロトコルに対応した処理に多くの工
数を必要とする。
ては、目的のデータ値を入力/参照する作業が難しい。
特に、抽象構文のデータ構造が複雑な場合には、データ
値の入力/参照のミスによる情報の欠落、抽象構文それ
自体のデータ構造を理解することが難しく、各OSIア
プリケーション層プロトコルに対応した処理に多くの工
数を必要とする。
【0006】したがって、本発明の目的は、抽象構文の
複雑なデータ構造を意識することなく、プロトコルデー
タ単位の構成要素であるデータ値の入力/参照を容易に
行うことができるプロトコル符号化/復号化装置を提供
することにある。
複雑なデータ構造を意識することなく、プロトコルデー
タ単位の構成要素であるデータ値の入力/参照を容易に
行うことができるプロトコル符号化/復号化装置を提供
することにある。
【0007】本発明の他の目的は、データ値の入力/参
照ミスによる情報の欠落をなくすことができるプロトコ
ル符号化/復号化装置を提供することにある。
照ミスによる情報の欠落をなくすことができるプロトコ
ル符号化/復号化装置を提供することにある。
【0008】本発明の更に他の目的は、抽象構文のデー
タ構造を容易に理解することができるプロトコル符号化
/復号化装置を提供することにある。
タ構造を容易に理解することができるプロトコル符号化
/復号化装置を提供することにある。
【0009】本発明のもっと他の目的は、各OSIアプ
リケーション層プロトコルに対応した処理に多くの工数
を必要としないプロトコル符号化/復号化装置を提供す
ることにある。
リケーション層プロトコルに対応した処理に多くの工数
を必要としないプロトコル符号化/復号化装置を提供す
ることにある。
【0010】
【課題を解決するための手段】本発明は、OSIアプリ
ケーション層用の抽象構文とOSIプレゼンテーション
層用の転送構文との間の構文変換に使用されるプロトコ
ル符号化/復号化装置に係る。抽象構文は抽象構文記法
1(ASN.1)によって記述されたデータ型の集合か
らなる。
ケーション層用の抽象構文とOSIプレゼンテーション
層用の転送構文との間の構文変換に使用されるプロトコ
ル符号化/復号化装置に係る。抽象構文は抽象構文記法
1(ASN.1)によって記述されたデータ型の集合か
らなる。
【0011】本発明によれば、上記プロトコル符号化/
復号化装置は、抽象構文を格納する抽象構文記憶装置を
有する。抽象構文記憶装置に接続された構造体生成ユニ
ットは、抽象構文で表現されたデータ構造に対応したデ
ータ値を入力/参照するための構造体の枠を自動的に生
成する。構造体生成ユニットに接続された構造体記憶装
置は、構造体の枠を格納する。構造体生成ユニットと抽
象構文記憶装置とに接続されたVTL関数生成ユニット
は、構造体と抽象構文で表現されたデータ構造用のデー
タ値との間の対応づけを示すテーブルである値木リスト
(VTL)用のVTL関数を自動的に生成する。VTL
関数生成ユニットに接続されたVTL関数記憶装置は、
VTL関数を格納する。抽象構文記憶装置に接続された
AST生成ユニットは、抽象構文で表現されたデータ構
造からプログラム処理可能な木構造であるASN.1構
文木(AST)を自動的に生成する。AST生成ユニッ
トに接続されたAST記憶装置は、ASTを格納する。
AST記憶装置とVTL関数記憶装置とに接続されたP
DU符号化/復号化ユニットは、ASTに基づいてVT
L関数から呼ばれたプロトコルデータ単位(PDU)を
符号化/復号化する。利用者プログラムは、VTL関数
記憶装置と構造体記憶装置とに接続され、VTL関数を
利用してPDUの構成要素であるデータ値を入力/参照
する。
復号化装置は、抽象構文を格納する抽象構文記憶装置を
有する。抽象構文記憶装置に接続された構造体生成ユニ
ットは、抽象構文で表現されたデータ構造に対応したデ
ータ値を入力/参照するための構造体の枠を自動的に生
成する。構造体生成ユニットに接続された構造体記憶装
置は、構造体の枠を格納する。構造体生成ユニットと抽
象構文記憶装置とに接続されたVTL関数生成ユニット
は、構造体と抽象構文で表現されたデータ構造用のデー
タ値との間の対応づけを示すテーブルである値木リスト
(VTL)用のVTL関数を自動的に生成する。VTL
関数生成ユニットに接続されたVTL関数記憶装置は、
VTL関数を格納する。抽象構文記憶装置に接続された
AST生成ユニットは、抽象構文で表現されたデータ構
造からプログラム処理可能な木構造であるASN.1構
文木(AST)を自動的に生成する。AST生成ユニッ
トに接続されたAST記憶装置は、ASTを格納する。
AST記憶装置とVTL関数記憶装置とに接続されたP
DU符号化/復号化ユニットは、ASTに基づいてVT
L関数から呼ばれたプロトコルデータ単位(PDU)を
符号化/復号化する。利用者プログラムは、VTL関数
記憶装置と構造体記憶装置とに接続され、VTL関数を
利用してPDUの構成要素であるデータ値を入力/参照
する。
【0012】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。
て説明する。
【0013】図1を参照すると、本発明の好ましい実施
例によるプロトコル符号化/復号化装置は、抽象構文と
転送構文との間の構文変換に使用される。
例によるプロトコル符号化/復号化装置は、抽象構文と
転送構文との間の構文変換に使用される。
【0014】図示のプロトコル符号化/復号化装置は、
抽象構文記憶装置10と、生成ユニット12と、構造体
記憶装置14と、VTL関数記憶装置16と、AST記
憶装置18と、PDU符号化/復号化ユニット20と、
送信PDU記憶装置22と、受信PDU記憶装置24
と、使用者プログラム26とを有する。抽象構文記憶装
置10は抽象構文を格納している。
抽象構文記憶装置10と、生成ユニット12と、構造体
記憶装置14と、VTL関数記憶装置16と、AST記
憶装置18と、PDU符号化/復号化ユニット20と、
送信PDU記憶装置22と、受信PDU記憶装置24
と、使用者プログラム26とを有する。抽象構文記憶装
置10は抽象構文を格納している。
【0015】図2は抽象構文のデータ構造の枠の一例を
示す。図示の例において、PDUは複数のデータ型のな
かのいずれかのデータ型である“CHOICE”データ
型をもつ。“CHOICE”データ型は、aで示される
“INTEGER”データ型と、bで示される“SEQ
UENCE”データ型と、cで示される“OCTETS
TRING”データ型とをネストしている。“INTE
GER”データ型は整数値を示すデータ型である。“S
EQUENCE”データ型は複数個のデータ型の値の順
序列からなるデータ型である。“OCTET STRI
NG”データ型は、各々が8ビットからなるオクテット
の列を示すデータ型である。“SEQUENCE”デー
タ型は、dで示される“IA5 String OPT
IONAL”データ型と、eで示される“[0] BI
T STRING”データ型と、fで示される“[1]
IMPLICIT NULL”データ型とをネストし
ている。“IA5 String OPTIONAL”
データ型は、IA5/ISO 646で定義された任意
の文字列を示すデータ型である。“BIT STRIN
G”データ型は、ビット列を示すデータ型である。“I
MPLICITNULL”データ型は、暗黙のヌルのデ
ータ型である。
示す。図示の例において、PDUは複数のデータ型のな
かのいずれかのデータ型である“CHOICE”データ
型をもつ。“CHOICE”データ型は、aで示される
“INTEGER”データ型と、bで示される“SEQ
UENCE”データ型と、cで示される“OCTETS
TRING”データ型とをネストしている。“INTE
GER”データ型は整数値を示すデータ型である。“S
EQUENCE”データ型は複数個のデータ型の値の順
序列からなるデータ型である。“OCTET STRI
NG”データ型は、各々が8ビットからなるオクテット
の列を示すデータ型である。“SEQUENCE”デー
タ型は、dで示される“IA5 String OPT
IONAL”データ型と、eで示される“[0] BI
T STRING”データ型と、fで示される“[1]
IMPLICIT NULL”データ型とをネストし
ている。“IA5 String OPTIONAL”
データ型は、IA5/ISO 646で定義された任意
の文字列を示すデータ型である。“BIT STRIN
G”データ型は、ビット列を示すデータ型である。“I
MPLICITNULL”データ型は、暗黙のヌルのデ
ータ型である。
【0016】図3に移って、図2に示された抽象構文に
は図3に示されるデータ値の記述が与えられる。図2に
示された“SEQUENCE”データ型において、“I
A5String OPTIONAL”データ型はdで
示される“ABC”のデータ値をもち、“[0] BI
T STRING”データ型はeで示される´101´
Bのデータ値をもち、“[1] IMPLICIT N
ULL”データ型はfで示されるNULLのデータ値を
もつ。
は図3に示されるデータ値の記述が与えられる。図2に
示された“SEQUENCE”データ型において、“I
A5String OPTIONAL”データ型はdで
示される“ABC”のデータ値をもち、“[0] BI
T STRING”データ型はeで示される´101´
Bのデータ値をもち、“[1] IMPLICIT N
ULL”データ型はfで示されるNULLのデータ値を
もつ。
【0017】図1に戻って、抽象構文記憶装置10は生
成ユニット12に接続されている。生成ユニット12
は、構造体生成ユニット28と、VTL関数生成ユニッ
ト30と、AST生成ユニット32とを有する。構造体
生成ユニット28は、抽象構文記憶装置10から抽象構
文を読み込んで、予め定められた変換規則に基づいて、
抽象構文のデータ構造の枠に対応した構造体の枠を自動
的に生成する。構造体生成ユニット28は、生成した構
造体の枠を構造体記憶装置14に書き込む。すなわち、
構造体記憶装置14は構造体の枠を格納する。
成ユニット12に接続されている。生成ユニット12
は、構造体生成ユニット28と、VTL関数生成ユニッ
ト30と、AST生成ユニット32とを有する。構造体
生成ユニット28は、抽象構文記憶装置10から抽象構
文を読み込んで、予め定められた変換規則に基づいて、
抽象構文のデータ構造の枠に対応した構造体の枠を自動
的に生成する。構造体生成ユニット28は、生成した構
造体の枠を構造体記憶装置14に書き込む。すなわち、
構造体記憶装置14は構造体の枠を格納する。
【0018】図4は構造体生成ユニット28における変
換規則の一例を示す。図示の例において、変換規則はA
SN.1のデータ型からC言語のデータ型への変換を定
義している。図4は、その左側および右側にそれぞれA
SN.1のデータ型(ASN.1型)およびC言語のデ
ータ型(Cデータ型)を示している。
換規則の一例を示す。図示の例において、変換規則はA
SN.1のデータ型からC言語のデータ型への変換を定
義している。図4は、その左側および右側にそれぞれA
SN.1のデータ型(ASN.1型)およびC言語のデ
ータ型(Cデータ型)を示している。
【0019】ASN.1型は既に図2で述べた“INT
EGER”データ型、“NULL”データ型、“SEQ
UENCE”データ型、および“CHOICE”データ
型ばかりでなく、“BOOLEAN”データ型、“EN
UMERATED”データ型、“SET”データ型、
“SEQUENCE OF”データ型、および“SET
OF”データ型を有している。“BOOLEAN”デー
タ型は“真”または“偽”のどちら示すデータ型であ
る。“ENUMERATED”データ型は明示的に定義
された有限個の値を示すデータ型である。“SET”デ
ータ型は複数個のデータ型の値の集合からなるデータ型
である。“SEQUENCE OF”データ型は単一の
データ型の値の順序列からなるデータ型である。“SE
T OF”データ型は単一のデータ型の値の集合からな
るデータ型である。
EGER”データ型、“NULL”データ型、“SEQ
UENCE”データ型、および“CHOICE”データ
型ばかりでなく、“BOOLEAN”データ型、“EN
UMERATED”データ型、“SET”データ型、
“SEQUENCE OF”データ型、および“SET
OF”データ型を有している。“BOOLEAN”デー
タ型は“真”または“偽”のどちら示すデータ型であ
る。“ENUMERATED”データ型は明示的に定義
された有限個の値を示すデータ型である。“SET”デ
ータ型は複数個のデータ型の値の集合からなるデータ型
である。“SEQUENCE OF”データ型は単一の
データ型の値の順序列からなるデータ型である。“SE
T OF”データ型は単一のデータ型の値の集合からな
るデータ型である。
【0020】ASN.1型において、“SEQUENC
E”データ型、“SET”データ型、および“CHOI
CE”データ型の各々は、C言語の“Struct”に
よって示された構造型に変換される。周知のように、構
造体は、1つの対象として参照することができるデータ
対象の集合からなる。そのようなデータ対象は構造体の
メンバと呼ばれる。特に、“CHOICE”データ型
は、第1メンバとして、“long id”によって示
される、変数idの整数データ型longを含む構造型
に変換され、これによって“CHOICE”データ型に
よって選択された要素を識別する。“SEQUENCE
OF”データ型および“SET OF”データ型は、
第1メンバとして、“struct … *next”
によって示される、変数*nextのそれ自身の構造型
を含む構造型に変換され、それによって要素の繰り返し
を表す。ここで、星印*はポインタ型を表す。“BOO
LEAN”データ型は、C言語の文字データ型char
に変換される。“INTEGER(ENUMERATE
D)”データ型は、C言語の整数データ型longに変
換される。“NULL”データ型は、“char *”
によって示される、ポインタ*をもつ文字データ型ch
arに変換される。その他の文字列データ型および時間
データ型の各々は、メンバとして、それぞれ、“lon
g ing”および“char *ptr”によって示
される、要素長および要素の先頭アドレスを含む、構造
型に変換される。
E”データ型、“SET”データ型、および“CHOI
CE”データ型の各々は、C言語の“Struct”に
よって示された構造型に変換される。周知のように、構
造体は、1つの対象として参照することができるデータ
対象の集合からなる。そのようなデータ対象は構造体の
メンバと呼ばれる。特に、“CHOICE”データ型
は、第1メンバとして、“long id”によって示
される、変数idの整数データ型longを含む構造型
に変換され、これによって“CHOICE”データ型に
よって選択された要素を識別する。“SEQUENCE
OF”データ型および“SET OF”データ型は、
第1メンバとして、“struct … *next”
によって示される、変数*nextのそれ自身の構造型
を含む構造型に変換され、それによって要素の繰り返し
を表す。ここで、星印*はポインタ型を表す。“BOO
LEAN”データ型は、C言語の文字データ型char
に変換される。“INTEGER(ENUMERATE
D)”データ型は、C言語の整数データ型longに変
換される。“NULL”データ型は、“char *”
によって示される、ポインタ*をもつ文字データ型ch
arに変換される。その他の文字列データ型および時間
データ型の各々は、メンバとして、それぞれ、“lon
g ing”および“char *ptr”によって示
される、要素長および要素の先頭アドレスを含む、構造
型に変換される。
【0021】図5は抽象構文記憶装置10が図2に示す
抽象構文を格納している場合に構造体生成ユニット28
によって生成された構造体の枠の一例を示す。
抽象構文を格納している場合に構造体生成ユニット28
によって生成された構造体の枠の一例を示す。
【0022】図1に戻って、VTL関数生成ユニット3
0は抽象構文記憶装置10から抽象構文を読み込み、自
動的にVTL関数を生成する。後で説明するように、プ
ロトコル符号化/復号化装置は、符号化モードか復号化
モードのいずれか1つで動作する。符号化モードにおい
て、VTL関数生成ユニット30はVTL関数として自
動的にVTL生成関数16Gを生成する。復号化モード
において、VTL関数生成ユニット30はVTL関数と
して自動的にVTL参照関数16Rを生成する。
0は抽象構文記憶装置10から抽象構文を読み込み、自
動的にVTL関数を生成する。後で説明するように、プ
ロトコル符号化/復号化装置は、符号化モードか復号化
モードのいずれか1つで動作する。符号化モードにおい
て、VTL関数生成ユニット30はVTL関数として自
動的にVTL生成関数16Gを生成する。復号化モード
において、VTL関数生成ユニット30はVTL関数と
して自動的にVTL参照関数16Rを生成する。
【0023】VTL関数記憶装置16はVTL関数生成
ユニット30に接続され、VTL関数生成ユニット30
によって生成されたVTL関数を格納する。特に、VT
L関数記憶装置16は、符号化モードにおいてVTL生
成関数16Gを格納し、復号化モードにおいてVTL参
照関数16Rを格納する。VTL生成関数16GとVT
L参照関数16Rの動作については後で説明する。
ユニット30に接続され、VTL関数生成ユニット30
によって生成されたVTL関数を格納する。特に、VT
L関数記憶装置16は、符号化モードにおいてVTL生
成関数16Gを格納し、復号化モードにおいてVTL参
照関数16Rを格納する。VTL生成関数16GとVT
L参照関数16Rの動作については後で説明する。
【0024】図6は図3に示されるデータ値が図2に示
される抽象構文のデータ構造の枠に与えられた場合のV
TLの一例を示す。図示のVTLは、それぞれ、VTL
[0]〜VTL[4]で描かれた第0乃至第4のVTL
要素から成る。第0乃至第4のVTL要素の各々は、そ
れぞれ、ID、LNGおよびPTRと付けられた識別子
フィールド、長さフィールドおよびアドレスフィールド
を有する。識別子フィールドIDは、抽象構文の各デー
タ型を識別するためのものである。長さフィールドLN
Gは、図3に示されるデータ値の記述によって示される
各データ値の長さを示す。アドレスフィールドPTR
は、図3に示されるデータ値の記述によって示されるデ
ータ値が格納されるべきメモリ領域用のアドレスを示
す。第0および第4のVTL要素VTL[0]およびV
TL[4]は、その長さフィールドLNGに、“{”お
よび“}”を格納し、それらは図2に示される抽象構文
の“SEQUENCE”データ型の始まり(“{”)と
終わり(“}”)を表す。
される抽象構文のデータ構造の枠に与えられた場合のV
TLの一例を示す。図示のVTLは、それぞれ、VTL
[0]〜VTL[4]で描かれた第0乃至第4のVTL
要素から成る。第0乃至第4のVTL要素の各々は、そ
れぞれ、ID、LNGおよびPTRと付けられた識別子
フィールド、長さフィールドおよびアドレスフィールド
を有する。識別子フィールドIDは、抽象構文の各デー
タ型を識別するためのものである。長さフィールドLN
Gは、図3に示されるデータ値の記述によって示される
各データ値の長さを示す。アドレスフィールドPTR
は、図3に示されるデータ値の記述によって示されるデ
ータ値が格納されるべきメモリ領域用のアドレスを示
す。第0および第4のVTL要素VTL[0]およびV
TL[4]は、その長さフィールドLNGに、“{”お
よび“}”を格納し、それらは図2に示される抽象構文
の“SEQUENCE”データ型の始まり(“{”)と
終わり(“}”)を表す。
【0025】図1に戻って、AST生成ユニット32は
構造体記憶装置10から抽象構文を読み込み、自動的に
ASTを生成する。ASTは抽象構文のデータ構造を表
す。AST記憶装置18はAST生成ユニット32に接
続され、AST生成ユニット32によって生成されたA
STを格納する。
構造体記憶装置10から抽象構文を読み込み、自動的に
ASTを生成する。ASTは抽象構文のデータ構造を表
す。AST記憶装置18はAST生成ユニット32に接
続され、AST生成ユニット32によって生成されたA
STを格納する。
【0026】図7は構造体記憶装置10が図2に示す抽
象構文を格納している場合のASTの一例を示す。AS
Tは抽象構文で表現されたデータ構造からプログラム処
理可能な木構造を意味する。
象構文を格納している場合のASTの一例を示す。AS
Tは抽象構文で表現されたデータ構造からプログラム処
理可能な木構造を意味する。
【0027】図1に戻って、利用者プログラム26は構
造体記憶装置14とVTL関数記憶装置16とに接続さ
れている。構造体記憶装置14に記憶されている構造体
の枠とVTL関数記憶装置16に記憶されているVTL
関数とを使用して、利用者プログラム26はPDUの構
成要素であるデータ値の入力/参照を実行する。
造体記憶装置14とVTL関数記憶装置16とに接続さ
れている。構造体記憶装置14に記憶されている構造体
の枠とVTL関数記憶装置16に記憶されているVTL
関数とを使用して、利用者プログラム26はPDUの構
成要素であるデータ値の入力/参照を実行する。
【0028】PDU符号化/復号化装置20はAST記
憶装置18、VTL関数記憶装置16、送信PDU記憶
装置22および受信PDU記憶装置24に接続されてい
る。符号化モードにおいて、PDU符号化/復号化装置
20は、後で明らかになるような方法で、VTL生成関
数16Gによって生成されたVTLを参照することによ
ってAST記憶装置18に記憶されたASTに基づいて
送信PDUを符号化する。PDU符号化/復号化装置2
0によって符号化された送信PDUは送信PDU記憶装
置22に格納される。受信PDU記憶装置24は受信P
DUを格納する。復号化モードにおいて、PDU符号化
/復号化ユニット20は、後で明らかになるような方法
で、AST記憶装置18に記憶されたASTに基づいて
受信PDU記憶装置24に記憶された受信PDUを復号
化して、VTLを生成する。
憶装置18、VTL関数記憶装置16、送信PDU記憶
装置22および受信PDU記憶装置24に接続されてい
る。符号化モードにおいて、PDU符号化/復号化装置
20は、後で明らかになるような方法で、VTL生成関
数16Gによって生成されたVTLを参照することによ
ってAST記憶装置18に記憶されたASTに基づいて
送信PDUを符号化する。PDU符号化/復号化装置2
0によって符号化された送信PDUは送信PDU記憶装
置22に格納される。受信PDU記憶装置24は受信P
DUを格納する。復号化モードにおいて、PDU符号化
/復号化ユニット20は、後で明らかになるような方法
で、AST記憶装置18に記憶されたASTに基づいて
受信PDU記憶装置24に記憶された受信PDUを復号
化して、VTLを生成する。
【0029】図1に加えて図8を参照して、符号化モー
ド時のVTL生成関数16Gの動作について説明する。
利用者プログラム26は、構造体生成ユニット28によ
って生成され、図5に示される構造体用の所望のデータ
値を入力する。引き続いて、利用者プログラム26は、
VTL関数記憶装置16に記憶されたVTL生成関数1
6Gを呼ぶ。VTL生成関数16Gは、VTL領域確保
部16G−1と、VTL生成部16G−2と、PDU領
域確保部16G−3とを有する。VTL領域確保部16
G−1は、図5に示された構造体が変換されるVTL用
のVTL領域16Mを確保する。VTL生成部16G−
2は、図2に示される抽象構文のデータ構造に基づい
て、図5に示される構造体の枠を参照することによって
VTLを生成する。生成されたVTLはVTL領域確保
部16G−1によって確保されたVTL領域16Mに格
納される。PDU領域確保部16G−3は、送信PDU
用のPDU領域を送信PDU記憶装置22として確保す
る。PDU符号化/復号化ユニット20は、SAT記憶
装置18に記憶されたASTに基づいて、VTL領域1
6Mに記憶されたVTLを参照することによって、送信
PDUを符号化する。符号化された送信PDUは送信P
DU記憶装置22に格納される。
ド時のVTL生成関数16Gの動作について説明する。
利用者プログラム26は、構造体生成ユニット28によ
って生成され、図5に示される構造体用の所望のデータ
値を入力する。引き続いて、利用者プログラム26は、
VTL関数記憶装置16に記憶されたVTL生成関数1
6Gを呼ぶ。VTL生成関数16Gは、VTL領域確保
部16G−1と、VTL生成部16G−2と、PDU領
域確保部16G−3とを有する。VTL領域確保部16
G−1は、図5に示された構造体が変換されるVTL用
のVTL領域16Mを確保する。VTL生成部16G−
2は、図2に示される抽象構文のデータ構造に基づい
て、図5に示される構造体の枠を参照することによって
VTLを生成する。生成されたVTLはVTL領域確保
部16G−1によって確保されたVTL領域16Mに格
納される。PDU領域確保部16G−3は、送信PDU
用のPDU領域を送信PDU記憶装置22として確保す
る。PDU符号化/復号化ユニット20は、SAT記憶
装置18に記憶されたASTに基づいて、VTL領域1
6Mに記憶されたVTLを参照することによって、送信
PDUを符号化する。符号化された送信PDUは送信P
DU記憶装置22に格納される。
【0030】図1に加えて図9を参照して、復号化モー
ド時のVTL参照関数16Rの動作について説明する。
利用者プログラム26は、受信PDU記憶装置24に記
憶された受信PDUを受信する。引き続いて、利用者プ
ログラム26は、VTL関数記憶装置16に記憶された
VTL参照関数16Rを呼ぶ。VTL参照関数16R
は、VTL領域確保部16R−1と、構造体領域確保部
16R−2と、VTR参照部16R−3とを有する。V
TL領域確保部16R−1は、VTL用のVTL領域1
6Mを確保する。PDU符号化/復号化ユニット20
は、AST記憶装置24に記憶されたASTに基づい
て、受信PDU記憶装置24に記憶された受信PDUを
復号化して、VTLを生成する。VTLはVTL領域1
6Mに格納される。構造体領域確保部16R−2は、構
造体用の構造体領域を構造体記憶装置14として確保す
る。VTR参照部16R−3は、VTL領域16Mに記
憶されたVTLを参照して、構造体を変更する。変更さ
れた構造体は、構造体記憶装置14に格納される。構造
体記憶装置14に記憶された構造体を参照することによ
って、利用者プログラム24は、受信PDUの構成要素
の1つである任意のデータ値を容易に参照できる。
ド時のVTL参照関数16Rの動作について説明する。
利用者プログラム26は、受信PDU記憶装置24に記
憶された受信PDUを受信する。引き続いて、利用者プ
ログラム26は、VTL関数記憶装置16に記憶された
VTL参照関数16Rを呼ぶ。VTL参照関数16R
は、VTL領域確保部16R−1と、構造体領域確保部
16R−2と、VTR参照部16R−3とを有する。V
TL領域確保部16R−1は、VTL用のVTL領域1
6Mを確保する。PDU符号化/復号化ユニット20
は、AST記憶装置24に記憶されたASTに基づい
て、受信PDU記憶装置24に記憶された受信PDUを
復号化して、VTLを生成する。VTLはVTL領域1
6Mに格納される。構造体領域確保部16R−2は、構
造体用の構造体領域を構造体記憶装置14として確保す
る。VTR参照部16R−3は、VTL領域16Mに記
憶されたVTLを参照して、構造体を変更する。変更さ
れた構造体は、構造体記憶装置14に格納される。構造
体記憶装置14に記憶された構造体を参照することによ
って、利用者プログラム24は、受信PDUの構成要素
の1つである任意のデータ値を容易に参照できる。
【0031】
【発明の効果】上述した説明から明らかなように、本発
明によれば、PDUの符号化/復号化を行うにあたっ
て、抽象構文の複雑なデータ構造を意識することなく、
PDUの構成要素であるデータ値の入力/参照を容易に
行うことができる。何故なら、データ値を構造体によっ
て定義し、VTLと利用者プログラム間のインタフェー
ス変換をVTL関数を利用して行っているからである。
したがって、データ値の入力/参照ミスによる情報の欠
落をなくすことができる。さらに、省力化をはかり、処
理の自動化により様々なOSIアプリケーション層プロ
トコルに容易に対応できるという効果がある。
明によれば、PDUの符号化/復号化を行うにあたっ
て、抽象構文の複雑なデータ構造を意識することなく、
PDUの構成要素であるデータ値の入力/参照を容易に
行うことができる。何故なら、データ値を構造体によっ
て定義し、VTLと利用者プログラム間のインタフェー
ス変換をVTL関数を利用して行っているからである。
したがって、データ値の入力/参照ミスによる情報の欠
落をなくすことができる。さらに、省力化をはかり、処
理の自動化により様々なOSIアプリケーション層プロ
トコルに容易に対応できるという効果がある。
【図1】本発明の一実施例によるプロトコル符号化/復
号化装置のブロック図である。
号化装置のブロック図である。
【図2】抽象構文のデータ構造の枠の一例を示す図であ
る。
る。
【図3】図2に示される抽象構文用のデータ値の記述の
一例を示す図である。
一例を示す図である。
【図4】図1に示されたプロトコル符号化/復号化装置
に用いられる構造体生成ユニット用の変換規則の一例を
示す図である。
に用いられる構造体生成ユニット用の変換規則の一例を
示す図である。
【図5】抽象構文記憶装置が図2に示された抽象構文を
格納している場合に、構造体生成ユニットによって生成
された構造体の枠の一例を示す図である。
格納している場合に、構造体生成ユニットによって生成
された構造体の枠の一例を示す図である。
【図6】図3に示されたデータ値が図2に示される抽象
構文のデータ構造の枠に与えられた場合の、値木リスト
(VTL)の一例を示す図である。
構文のデータ構造の枠に与えられた場合の、値木リスト
(VTL)の一例を示す図である。
【図7】抽象構文記憶装置が図2に示された抽象構文を
格納している場合の、ASN.1構文木(AST)の一
例を示す図である。
格納している場合の、ASN.1構文木(AST)の一
例を示す図である。
【図8】符号化モード時の、図1に示されたプロトコル
符号化/復号化装置に用いられるVTL生成関数の動作
を説明するためのブロック図である。
符号化/復号化装置に用いられるVTL生成関数の動作
を説明するためのブロック図である。
【図9】復号化モード時の、図1に示されたプロトコル
符号化/復号化装置に用いられるVTL参照関数の動作
を説明するためのブロック図である。
符号化/復号化装置に用いられるVTL参照関数の動作
を説明するためのブロック図である。
10 記憶装置 12 生成ユニット 14 記憶装置 16 記憶装置 16G VTL生成関数 16R VTL参照関数 18 記憶装置 20 PDU符号化/復号化ユニット 22 記憶装置 24 記憶装置 26 利用者プログラム 28 構造体生成ユニット 30 VTL関数生成ユニット 32 AST生成ユニット
Claims (8)
- 【請求項1】 OSIアプリケーション層用の抽象構文
とOSIプレゼンテーション層用の転送構文との間の構
文変換に使用されるプロトコル符号化/復号化装置であ
って、前記抽象構文は抽象構文記法1(ASN.1)に
よって記述されたデータ型の集合からなり、前記プロト
コル符号化/復号化装置は、 前記抽象構文を格納する抽象構文記憶装置と、 該抽象構文記憶装置に接続され、前記抽象構文で表現さ
れたデータ構造に対応したデータ値を入力/参照するた
めの構造体の枠を自動的に生成する構造体生成ユニット
と、 該構造体生成ユニットに接続され、前記構造体の枠を格
納する構造体記憶装置と、 前記構造体生成ユニットと前記抽象構文記憶装置とに接
続され、前記構造体と前記抽象構文で表現された前記デ
ータ構造用の前記データ値との間の対応づけを示すテー
ブルである値木リスト(VTL)用のVTL関数を自動
的に生成するVTL関数生成ユニットと、 該VTL関数生成ユニットに接続され、前記VTL関数
を格納するVTL関数記憶装置と、 前記抽象構文記憶装置に接続され、前記抽象構文で表現
された前記データ構造からプログラム処理可能な木構造
であるASN.1構文木(AST)を自動的に生成する
AST生成ユニットと、 該AST生成ユニットに接続され、前記ASTを格納す
るAST記憶装置と、 該AST記憶装置と前記VTL関数記憶装置とに接続さ
れ、前記ASTに基づいて前記VTL関数から呼ばれた
プロトコルデータ単位(PDU)を符号化/復号化する
PDU符号化/復号化ユニットと、 前記VTL関数記憶装置と前記構造体記憶装置とに接続
され、前記VTL関数を利用して前記PDUの構成要素
である前記データ値を入力/参照する利用者プログラム
と有することを特徴とするプロトコル符号化/復号化装
置。 - 【請求項2】 前記プロトコル符号化/復号化装置は、
符号化モードと復号化モードのいづれか1つで動作し、
前記VTL関数生成ユニットは、前記符号化モードおよ
び前記復号化モードで、それぞれ、前記VTL関数とし
て、VTL生成関数およびVTL参照関数を生成する、
請求項1記載のプロトコル符号化/復号化装置。 - 【請求項3】 前記VTL生成関数は、 前記構造体が変換される前記VTL用のVTL領域を確
保するVTL領域確保部と、 前記構造体記憶装置に接続され、前記構造体を参照する
ことによって前記抽象構文の前記データ構造に基づいて
前記VTLを生成して、前記VTL領域に前記VTLを
書き込むVTL生成部と、 前記PDU用のPDU領域を確保するPDU領域確保部
とを有する、請求項2記載のプロトコル符号化/復号化
装置。 - 【請求項4】 前記VTL参照関数は、 前記VTLが格納されるVTL領域を確保するVTL領
域確保部と、 前記構造体用の構造体領域を前記構造体記憶装置として
確保する構造体領域確保部と、 前記構造体記憶装置に接続され、前記VTL領域に記憶
された前記VTLを参照して前記構造体を変更するVT
L参照部とを有する、請求項2記載のプロトコル符号化
/復号化装置。 - 【請求項5】 OSIアプリケーション層用の抽象構文
をOSIプレゼンテーション層用の転送構文に符号化す
るために使用されるプロトコル符号化装置であって、前
記抽象構文は抽象構文記法1(ASN.1)によって記
述されたデータ型の集合からなり、前記プロトコル符号
化装置は、 前記抽象構文を格納する抽象構文記憶装置と、 該抽象構文記憶装置に接続され、前記抽象構文で表現さ
れたデータ構造に対応したデータ値を入力するための構
造体の枠を自動的に生成する構造体生成ユニットと、 該構造体生成ユニットに接続され、前記構造体の枠を格
納する構造体記憶装置と、 前記構造体生成ユニットと前記抽象構文記憶装置とに接
続され、前記構造体と前記抽象構文で表現された前記デ
ータ構造用の前記データ値との間の対応づけを示すテー
ブルである値木リスト(VTL)を生成するためのVT
L生成関数を自動的に生成するVTL関数生成ユニット
と、 該VTL関数生成ユニットに接続され、前記VTL生成
関数を格納するVTL関数記憶装置と、 前記VTL関数記憶装置と前記構造体記憶装置とに接続
され、前記VTL生成関数を利用してプロトコルデータ
単位(PDU)の構成要素である前記データ値を入力す
る利用者プログラムと、 前記抽象構文記憶装置に接続され、前記抽象構文で表現
された前記データ構造からプログラム処理可能な木構造
であるASN.1構文木(AST)を自動的に生成する
AST生成ユニットと、 該AST生成ユニットに接続され、前記ASTを格納す
るAST記憶装置と、 該AST記憶装置と前記VTL関数記憶装置とに接続さ
れ、前記ASTに基づいて前記VTL生成関数から呼ば
れた前記PDUを符号化するPDU符号化ユニットと有
することを特徴とするプロトコル符号化装置。 - 【請求項6】 前記VTL生成関数は、 前記構造体が変換される前記VTL用のVTL領域を確
保するVTL領域確保部と、 前記構造体記憶装置に接続され、前記構造体を参照する
ことによって前記抽象構文の前記データ構造に基づいて
前記VTLを生成して、前記VTL領域に前記VTLを
書き込むVTL生成部と、 前記PDU用のPDU領域を確保するPDU領域確保部
とを有する、請求項5記載のプロトコル符号化装置。 - 【請求項7】 OSIプレゼンテーション層用の転送構
文をOSIアプリケーション層用の抽象構文に復号化す
るために使用されるプロトコル復号化装置であって、前
記抽象構文は抽象構文記法1(ASN.1)によって記
述されたデータ型の集合からなり、前記プロトコル復号
化装置は、 前記抽象構文を格納する抽象構文記憶装置と、 該抽象構文記憶装置に接続され、前記抽象構文で表現さ
れたデータ構造に対応したデータ値を参照するための構
造体の枠を自動的に生成する構造体生成ユニットと、 該構造体生成ユニットに接続され、前記構造体の枠を格
納する構造体記憶装置と、 前記抽象構文記憶装置に接続され、前記抽象構文で表現
された前記データ構造からプログラム処理可能な木構造
であるASN.1構文木(AST)を自動的に生成する
AST生成ユニットと、 該AST生成ユニットに接続され、前記ASTを格納す
るAST記憶装置と、 プロトコルデータ単位(PDU)が供給され、該AST
記憶装置に接続され、前記ASTに基づいて前記PDU
を復号化して、前記構造体と前記抽象構文で表現された
前記データ構造用の前記データ値との対応づけを示すテ
ーブルである値木リスト(VTL)を生成するPDU復
号化ユニットと、 該PDU復号化ユニットに接続され、前記VTLの参照
用のVTL参照関数を自動的に生成するVTL関数生成
ユニットと、 該VTL関数生成ユニットに接続され、前記VTL参照
関数を格納するVTL関数記憶装置と、 前記VTL関数記憶装置と前記構造体記憶装置とに接続
され、前記VTL参照関数を利用して前記PDUの構成
要素である前記データ値を参照する利用者プログラムと
有することを特徴とするプロトコル復号化装置。 - 【請求項8】 前記VTL参照関数は、 前記VTLが格納されるVTL領域を確保するVTL領
域確保部と、 前記構造体用の構造体領域を前記構造体記憶装置として
確保する構造体領域確保部と、 前記構造体記憶装置に接続され、前記VTL領域に記憶
された前記VTLを参照して前記構造体を変更するVT
L参照部とを有する、請求項7記載のプロトコル復号化
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5091564A JPH0773292B2 (ja) | 1992-04-23 | 1993-04-19 | プロトコル符号化/復号化装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10445592 | 1992-04-23 | ||
| JP4-104455 | 1992-04-23 | ||
| JP5091564A JPH0773292B2 (ja) | 1992-04-23 | 1993-04-19 | プロトコル符号化/復号化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0646099A JPH0646099A (ja) | 1994-02-18 |
| JPH0773292B2 true JPH0773292B2 (ja) | 1995-08-02 |
Family
ID=26433001
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5091564A Expired - Lifetime JPH0773292B2 (ja) | 1992-04-23 | 1993-04-19 | プロトコル符号化/復号化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0773292B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19717948C2 (de) * | 1997-04-29 | 2003-07-31 | Deutsche Telekom Ag | Verfahren zur Übertragung von Informationen |
| KR100460645B1 (ko) * | 2002-09-13 | 2004-12-08 | 유티스타콤코리아 유한회사 | Wcdma 비동기 시스템에서의 메시지 자동 패킹 방법 |
| CN112188211B (zh) * | 2020-08-21 | 2024-09-17 | 北京新媒传信科技有限公司 | 一种转码实现方法和装置 |
-
1993
- 1993-04-19 JP JP5091564A patent/JPH0773292B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0646099A (ja) | 1994-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5418963A (en) | Protocol encoding/decoding device capable of easily inputting/referring to a desired data value | |
| JP3272014B2 (ja) | 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置 | |
| US6275570B1 (en) | System and method of provisioning subscribers in a messaging environment comprising two messaging systems | |
| US5483556A (en) | Data compression-decompression method and apparatus for synchronous terminal means | |
| US7233982B2 (en) | Arrangement for accessing an IP-based messaging server by telephone for management of stored messages | |
| CN110457143B (zh) | 微服务的调用方法及装置 | |
| AU756264B2 (en) | Message processing device and method thereof and storage medium storing message processing control program | |
| US5574919A (en) | Method for thinning a protocol | |
| US5649227A (en) | System for supporting a conversion between abstract syntax and transfer syntax | |
| JPH03171243A (ja) | データ・ストリーム修正方法 | |
| US5418972A (en) | Protocol data generator-analyzer | |
| CN116627498A (zh) | 一种编排指令管理方法、装置、电子设备及存储介质 | |
| US20010056470A1 (en) | Electronic mail transmission/reception system and devices therefor | |
| JPH0595385A (ja) | 通信用プロセツサ | |
| JPH0773292B2 (ja) | プロトコル符号化/復号化装置 | |
| EP0327058A2 (en) | Protocol data unit encoding/decoding system | |
| US5790812A (en) | Method of encoding or decoding protocol data units (PDUS) | |
| US5126738A (en) | Circuit for decoding a sequentially and serially inputted, variable length code | |
| Krishnakumar et al. | The programmable protocol VLSI engine (PROVE) | |
| WO2004061651A2 (en) | A method and system for dynamically creating parsers in a message broker | |
| JP3593244B2 (ja) | データ圧縮装置 | |
| KR100566980B1 (ko) | 화상데이터전송기능이 구비된 통합 메시징시스템과 그제어방법 | |
| US20030095310A1 (en) | Optical communication apparatus and method | |
| JPH09149080A (ja) | データ伝送装置 | |
| Holz et al. | Introduction of Gate Types into SDL. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960123 |