JPH11249987A - メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 - Google Patents
メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体Info
- Publication number
- JPH11249987A JPH11249987A JP10073401A JP7340198A JPH11249987A JP H11249987 A JPH11249987 A JP H11249987A JP 10073401 A JP10073401 A JP 10073401A JP 7340198 A JP7340198 A JP 7340198A JP H11249987 A JPH11249987 A JP H11249987A
- Authority
- JP
- Japan
- Prior art keywords
- node
- parse tree
- message
- preamble
- field
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【課題】 圧縮された符号化データを取り扱うことが可
能なメッセージ処理装置、特にPERに従ってメッセー
ジの符号化および復号化を行なうことが可能なメッセー
ジ処理装置を提供する。 【解決手段】 送受されるメッセージの構造を定義する
構文記述から生成された構文解析木を保持する構文解析
木保持部104と、処理対象とするメッセージデータの
入力とともに構文解析木を走査し、値を符号化および復
号化して出力する構文解析木走査部101と、送受され
るメッセージデータ内における要素の存在の有無を示す
ために用いられる、メッセージのプリアンブルフィール
ドを処理するプリアンブル処理部102と、複数の要素
から1つを選択して送受されるメッセージデータ内にお
いて、何番目の要素が選択されたかを示すために用いら
れる、メッセージのインデックスフィールドを処理する
インデックス処理部103とを備える。
能なメッセージ処理装置、特にPERに従ってメッセー
ジの符号化および復号化を行なうことが可能なメッセー
ジ処理装置を提供する。 【解決手段】 送受されるメッセージの構造を定義する
構文記述から生成された構文解析木を保持する構文解析
木保持部104と、処理対象とするメッセージデータの
入力とともに構文解析木を走査し、値を符号化および復
号化して出力する構文解析木走査部101と、送受され
るメッセージデータ内における要素の存在の有無を示す
ために用いられる、メッセージのプリアンブルフィール
ドを処理するプリアンブル処理部102と、複数の要素
から1つを選択して送受されるメッセージデータ内にお
いて、何番目の要素が選択されたかを示すために用いら
れる、メッセージのインデックスフィールドを処理する
インデックス処理部103とを備える。
Description
【0001】
【発明の属する技術分野】本発明は、メッセージ処理装
置に関し、特に抽象構文記法(AbstractSyn
tax Notation One、以下ASN.1)
により定義されたメッセージを圧縮符号化規則(Pac
ked Encoding Rule、以下PER)に
従って処理するメッセージ処理装置およびその方法なら
びにメッセージ処理制御プログラムを格納した記憶媒体
に関する。
置に関し、特に抽象構文記法(AbstractSyn
tax Notation One、以下ASN.1)
により定義されたメッセージを圧縮符号化規則(Pac
ked Encoding Rule、以下PER)に
従って処理するメッセージ処理装置およびその方法なら
びにメッセージ処理制御プログラムを格納した記憶媒体
に関する。
【0002】
【従来の技術】従来、この種のメッセージ処理装置は、
異機種間通信において、送信するメッセージを通信ネッ
トワークに依存しない形式に符号化を行なったり、ネッ
トワークに依存しない形式に符号化されたメッセージを
受信した際に、受信側で取り扱うことが可能な形式に復
号化したりするために用いられており、このメッセージ
処理装置は、ファイル転送システム(File Tra
nsfer, Access and Managem
ent、以下FTAM)およびネットワーク管理などの
分野において広く使用されている。符号化および復号化
の手順については、国際標準化機構(Internat
ional Organizationfor Sta
ndardization、以下ISO)によって定め
られた標準に基づいているため、メッセージ処理装置の
適用範囲は非常に広範なものとなっている。
異機種間通信において、送信するメッセージを通信ネッ
トワークに依存しない形式に符号化を行なったり、ネッ
トワークに依存しない形式に符号化されたメッセージを
受信した際に、受信側で取り扱うことが可能な形式に復
号化したりするために用いられており、このメッセージ
処理装置は、ファイル転送システム(File Tra
nsfer, Access and Managem
ent、以下FTAM)およびネットワーク管理などの
分野において広く使用されている。符号化および復号化
の手順については、国際標準化機構(Internat
ional Organizationfor Sta
ndardization、以下ISO)によって定め
られた標準に基づいているため、メッセージ処理装置の
適用範囲は非常に広範なものとなっている。
【0003】ISOで規定されている符号化および復号
化の手順には、大きく分類して2種類ある。これらはそ
れぞれ、基本符号化規則(Basic Encodin
gRule、以下、BER)(ISO/IEC 882
5−1:1995 Information tech
nology −− ASN.1 encoding
rules: Specification of B
asic Encoding Rules(BER),
Canonical EncodingRules
(CER) and Distinguished E
ncoding Rules(DER))および圧縮符
号化規則(Packed Encoding Rul
e、以下、PER)(ISO/IEC 8825−2:
1996Information technolog
y −− ASN.1 encoding rule
s: Specification of Packe
dEncoding Rules(PER))と呼ばれ
ている。以下、BERおよびPERについて簡単に説明
する。
化の手順には、大きく分類して2種類ある。これらはそ
れぞれ、基本符号化規則(Basic Encodin
gRule、以下、BER)(ISO/IEC 882
5−1:1995 Information tech
nology −− ASN.1 encoding
rules: Specification of B
asic Encoding Rules(BER),
Canonical EncodingRules
(CER) and Distinguished E
ncoding Rules(DER))および圧縮符
号化規則(Packed Encoding Rul
e、以下、PER)(ISO/IEC 8825−2:
1996Information technolog
y −− ASN.1 encoding rule
s: Specification of Packe
dEncoding Rules(PER))と呼ばれ
ている。以下、BERおよびPERについて簡単に説明
する。
【0004】現在、ASN.1抽象構文によって定義さ
れたメッセージの符号化および復号化については、BE
Rが広く用いられている。BERでは、メッセージを符
号化する際に、各要素の値ごとに、該当する要素の型が
何であるかを識別するためのタグフィールド、符号化さ
れた値のオクテット長を示す長さフィールド、および実
際に符号化された値を格納する値フィールドという3つ
のフィールドを構成する。また、構造型の値を符号化す
る場合などのように、値フィールドの中に再びタグフィ
ールド、長さフィールドおよび値フィールドが含まれる
という入れ子構造をとることも可能である。
れたメッセージの符号化および復号化については、BE
Rが広く用いられている。BERでは、メッセージを符
号化する際に、各要素の値ごとに、該当する要素の型が
何であるかを識別するためのタグフィールド、符号化さ
れた値のオクテット長を示す長さフィールド、および実
際に符号化された値を格納する値フィールドという3つ
のフィールドを構成する。また、構造型の値を符号化す
る場合などのように、値フィールドの中に再びタグフィ
ールド、長さフィールドおよび値フィールドが含まれる
という入れ子構造をとることも可能である。
【0005】BERにおいては、各要素の値を符号化す
る際に、必ずタグフィールド、長さフィールドおよび値
フィールドという形式に符号化を行なうため、符号化結
果が冗長になる場合がある。PERでは、冗長なタグフ
ィールドや長さフィールドを生成しないことにより、符
号化結果を圧縮する手法である。PERには以下のよう
な特徴がある。
る際に、必ずタグフィールド、長さフィールドおよび値
フィールドという形式に符号化を行なうため、符号化結
果が冗長になる場合がある。PERでは、冗長なタグフ
ィールドや長さフィールドを生成しないことにより、符
号化結果を圧縮する手法である。PERには以下のよう
な特徴がある。
【0006】1.型を識別するためのタグフィールドを
生成しない。
生成しない。
【0007】2.値フィールドの長さがASN.1抽象
構文記述から確定できない場合または確定できても非常
に長くなる場合にのみ長さフィールドを生成する。
構文記述から確定できない場合または確定できても非常
に長くなる場合にのみ長さフィールドを生成する。
【0008】3.論理(BOOLEAN)型やビット列
(BIT STRING)型などの値を符号化する際は
ビット単位で行なう。
(BIT STRING)型などの値を符号化する際は
ビット単位で行なう。
【0009】4.順序列(SEQUENCE)型や集合
(SET)型において、その構成要素がオプショナル
(OPTIONAL)指定またはデフォルト(DEFA
ULT)指定されているかどうかの情報をプリアンブル
(Preamble)と呼ばれるフィールドとして符号
化する。
(SET)型において、その構成要素がオプショナル
(OPTIONAL)指定またはデフォルト(DEFA
ULT)指定されているかどうかの情報をプリアンブル
(Preamble)と呼ばれるフィールドとして符号
化する。
【0010】5.選択(CHOICE)型において、ど
の要素が選択されたかを示す情報をインデックス(In
dex)と呼ばれるフィールドとして符号化する。
の要素が選択されたかを示す情報をインデックス(In
dex)と呼ばれるフィールドとして符号化する。
【0011】6.SET型を符号化する際には、その要
素に付されているタグ(アプリケーションタグ、コンテ
クストスペシフィックタグなど)の番号の小さいものか
ら符号化する。
素に付されているタグ(アプリケーションタグ、コンテ
クストスペシフィックタグなど)の番号の小さいものか
ら符号化する。
【0012】7.整数(INTEGER)型などの値の
範囲等に制約が付加されている場合は、この制約を利用
して値の符号化結果を圧縮する。
範囲等に制約が付加されている場合は、この制約を利用
して値の符号化結果を圧縮する。
【0013】8.転送構文は、ビット単位の符号化結果
にパディング(Padding)を行なってオクテット
境界に合わせる整列(Aligned)転送構文と、パ
ディングを行なわない非整列(Unaligned)転
送構文の2種類がある。
にパディング(Padding)を行なってオクテット
境界に合わせる整列(Aligned)転送構文と、パ
ディングを行なわない非整列(Unaligned)転
送構文の2種類がある。
【0014】従来のメッセージ処理装置は、前記2種類
の符号化規則のうちのBERに関するものであり、特開
平1−198145号公報に記載されているように、符
号化されるメッセージの構造を定義するASN.1抽象
構文記述から生成した構文解析木を保持し、処理対象の
メッセージの入力に従って、前記構文解析木を走査する
ことにより、メッセージをタグフィールド、長さフィー
ルドおよび値フィールドという三つのフィールドへと符
号化を行なったり、前記三つのフィールドから抽象構文
の各要素に対応する値を取り出す復号化を行なうもので
ある。また、1997年3月、電子情報通信学会199
7年総合大会講演論文集(通信2)、148頁および1
997年9月、電子情報通信学会1997年通信ソサイ
エティ大会講演論文集2、145頁に記載されているメ
ッセージ処理装置においては、符号化および復号化を行
なう際に、前記構文解析木から、これに対応する有限状
態機械(Finite−State Machine,
以下、FSM)を生成し、このFSMを利用することに
よって、メッセージ処理のハードウェアによる実現を可
能としている。
の符号化規則のうちのBERに関するものであり、特開
平1−198145号公報に記載されているように、符
号化されるメッセージの構造を定義するASN.1抽象
構文記述から生成した構文解析木を保持し、処理対象の
メッセージの入力に従って、前記構文解析木を走査する
ことにより、メッセージをタグフィールド、長さフィー
ルドおよび値フィールドという三つのフィールドへと符
号化を行なったり、前記三つのフィールドから抽象構文
の各要素に対応する値を取り出す復号化を行なうもので
ある。また、1997年3月、電子情報通信学会199
7年総合大会講演論文集(通信2)、148頁および1
997年9月、電子情報通信学会1997年通信ソサイ
エティ大会講演論文集2、145頁に記載されているメ
ッセージ処理装置においては、符号化および復号化を行
なう際に、前記構文解析木から、これに対応する有限状
態機械(Finite−State Machine,
以下、FSM)を生成し、このFSMを利用することに
よって、メッセージ処理のハードウェアによる実現を可
能としている。
【0015】従来のメッセージ処理装置の一例を図面を
参照して説明する。従来のメッセージ処理装置の概略ブ
ロック構成を図32に示す。図32に示すように、従来
のメッセージ処理装置32は、構文解析木走査部320
1と、構文解析木保持部3202とから構成されてい
る。
参照して説明する。従来のメッセージ処理装置の概略ブ
ロック構成を図32に示す。図32に示すように、従来
のメッセージ処理装置32は、構文解析木走査部320
1と、構文解析木保持部3202とから構成されてい
る。
【0016】構文解析木保持部3202は、ASN.1
抽象構文記述3206から生成された構文解析木320
3を保持する機能を有する。構文解析木走査部3201
は、ASN.1値記法3204(処理対象メッセージ)
の入力とともに、構文解析木3203を走査し、値の符
号化を行なってASN.1転送構文3205(符号化結
果)を生成する機能を有するとともに、ASN.1転送
構文3205(処理対象メッセージ)の入力とともに、
構文解析木3203を走査し、値の復号化を行なってA
SN.1値記法3204(復号化結果)を生成する機能
を有する。
抽象構文記述3206から生成された構文解析木320
3を保持する機能を有する。構文解析木走査部3201
は、ASN.1値記法3204(処理対象メッセージ)
の入力とともに、構文解析木3203を走査し、値の符
号化を行なってASN.1転送構文3205(符号化結
果)を生成する機能を有するとともに、ASN.1転送
構文3205(処理対象メッセージ)の入力とともに、
構文解析木3203を走査し、値の復号化を行なってA
SN.1値記法3204(復号化結果)を生成する機能
を有する。
【0017】次にASN.1抽象構文について簡単に説
明する。ASN.1抽象構文の例を図33に示す。図3
3の記述は、Example3というメッセージの構造
を定義しており、Example3がSEQUENCE
型であり、id, subid, length, c
ontentおよび trailerという五つの要素
の系列であることを示している。また、id, sub
idおよびlengthはINTEGER型、cont
entはSEQUENCE型、trailerはOCT
ET STRING型である。contentがSEQ
UENCE型であると定義されていることからわかるよ
うに、ASN.1抽象構文においては入れ子構造を持つ
定義が可能であり、SEQUENCE型の要素が再びS
EQUENCE型であることも可能である。
明する。ASN.1抽象構文の例を図33に示す。図3
3の記述は、Example3というメッセージの構造
を定義しており、Example3がSEQUENCE
型であり、id, subid, length, c
ontentおよび trailerという五つの要素
の系列であることを示している。また、id, sub
idおよびlengthはINTEGER型、cont
entはSEQUENCE型、trailerはOCT
ET STRING型である。contentがSEQ
UENCE型であると定義されていることからわかるよ
うに、ASN.1抽象構文においては入れ子構造を持つ
定義が可能であり、SEQUENCE型の要素が再びS
EQUENCE型であることも可能である。
【0018】要素subidおよび要素lengthに
は、コンテクストスペシフィックタグ(context
−specific tag)である[0],[1]が
付されている。BERに従ってメッセージの処理を行な
う場合には、コンテクストスペシフィックタグを利用し
て同一の型の複数の要素と、これに対する各々の値の対
応関係があいまいになることを防いでいる。たとえば、
要素subidおよび要素lengthはいずれもIN
TEGER型であり、かつ要素subidがOPTIO
NAL指定されているため、要素subidに対応する
値が以下に説明するASN.1値記法において省略され
ている場合、要素subidおよび要素lengthに
付されたコンテクストスペシフィックタグを利用して、
要素lengthとこれに対応する値を正しく対応付け
ることができる。
は、コンテクストスペシフィックタグ(context
−specific tag)である[0],[1]が
付されている。BERに従ってメッセージの処理を行な
う場合には、コンテクストスペシフィックタグを利用し
て同一の型の複数の要素と、これに対する各々の値の対
応関係があいまいになることを防いでいる。たとえば、
要素subidおよび要素lengthはいずれもIN
TEGER型であり、かつ要素subidがOPTIO
NAL指定されているため、要素subidに対応する
値が以下に説明するASN.1値記法において省略され
ている場合、要素subidおよび要素lengthに
付されたコンテクストスペシフィックタグを利用して、
要素lengthとこれに対応する値を正しく対応付け
ることができる。
【0019】また、要素subidはOPTIONAL
指定されており、ASN.1値記法において、要素su
bidに対応する値が省略可能であることを示してい
る。さらに、要素subidおよび要素lengthは
IMPLICIT指定されており、BERに従って符号
化を行なう場合に、当該要素に付随するタグ(ここで
は、コンテクストスペシフィックタグ[0]および
[1])については符号化を行なうが、当該要素のデー
タ型(ここでは、INTEGER型)を示すタグについ
ては符号化を行なわないことを示している。これらに加
え、id, subid, lengthおよびage
については、ASN.1値記法において取り得る値の範
囲に制約が設けられている。たとえば、要素idについ
ては、取り得る値の範囲は0以上かつ63以下となって
いる。また、trailerについては値のオクテット
列の長さの範囲について制約が設けられており、長さの
範囲は0以上かつ15以下である。しかしながら、BE
Rに関するメッセージ処理装置においては、符号化およ
び復号化の際にこれらの制約は使用されない。
指定されており、ASN.1値記法において、要素su
bidに対応する値が省略可能であることを示してい
る。さらに、要素subidおよび要素lengthは
IMPLICIT指定されており、BERに従って符号
化を行なう場合に、当該要素に付随するタグ(ここで
は、コンテクストスペシフィックタグ[0]および
[1])については符号化を行なうが、当該要素のデー
タ型(ここでは、INTEGER型)を示すタグについ
ては符号化を行なわないことを示している。これらに加
え、id, subid, lengthおよびage
については、ASN.1値記法において取り得る値の範
囲に制約が設けられている。たとえば、要素idについ
ては、取り得る値の範囲は0以上かつ63以下となって
いる。また、trailerについては値のオクテット
列の長さの範囲について制約が設けられており、長さの
範囲は0以上かつ15以下である。しかしながら、BE
Rに関するメッセージ処理装置においては、符号化およ
び復号化の際にこれらの制約は使用されない。
【0020】図34は、値記法(Value Nota
tion)と呼ばれており、図33のASN.1抽象構
文で定義されるメッセージに対応する具体的な値の一例
を示している。すなわち、INTEGER型の要素であ
るidには値3が対応しており、これ以外の要素も同様
の対応関係となっている。
tion)と呼ばれており、図33のASN.1抽象構
文で定義されるメッセージに対応する具体的な値の一例
を示している。すなわち、INTEGER型の要素であ
るidには値3が対応しており、これ以外の要素も同様
の対応関係となっている。
【0021】次に、従来のメッセージ処理装置において
用いられる構文解析木について簡単に説明する。図35
に、図33のASN.1抽象構文記述から生成された構
文解析木を示す。構文解析木は、ASN.1抽象構文記
述によって定義されたメッセージの構造を木構造を用い
て表現するものである。構文解析木の各ノードは、6つ
のフィールドから構成されており、それぞれ「当該ノー
ドに対応する要素の型」、「当該ノードに対応する要素
に付されているタグ」、「当該ノードに対応する要素が
IMPLICIT指定されているがどうかを示す」、
「当該ノードに対応する要素がOPTIONAL指定ま
たはDEFAULT指定されているかどうかを示す」、
「同一ネスト階層の次のノードへのポインタ」および
「下位ネスト階層のノードへのポインタ」を表す働きを
もっている。
用いられる構文解析木について簡単に説明する。図35
に、図33のASN.1抽象構文記述から生成された構
文解析木を示す。構文解析木は、ASN.1抽象構文記
述によって定義されたメッセージの構造を木構造を用い
て表現するものである。構文解析木の各ノードは、6つ
のフィールドから構成されており、それぞれ「当該ノー
ドに対応する要素の型」、「当該ノードに対応する要素
に付されているタグ」、「当該ノードに対応する要素が
IMPLICIT指定されているがどうかを示す」、
「当該ノードに対応する要素がOPTIONAL指定ま
たはDEFAULT指定されているかどうかを示す」、
「同一ネスト階層の次のノードへのポインタ」および
「下位ネスト階層のノードへのポインタ」を表す働きを
もっている。
【0022】以下、従来のメッセージ処理装置を用いた
場合に、どのようにしてメッセージが取り扱われるかを
具体的に説明する。
場合に、どのようにしてメッセージが取り扱われるかを
具体的に説明する。
【0023】まず、メッセージの符号化を行なう場合か
ら説明する。図36に、従来までのメッセージ処理装置
によるメッセージ符号化の流れを示す。
ら説明する。図36に、従来までのメッセージ処理装置
によるメッセージ符号化の流れを示す。
【0024】メッセージ処理装置32は、符号化処理を
開始する時点において、構文解析木走査部3201で
は、構文解析木の根ノードであるノード3501を走査
できる状態にある。メッセージ処理装置32は、処理対
象の入力メッセージを受け取ると処理を開始する。以
下、メッセージ処理装置32による符号化の様子を図3
4、図35および図36を使用して各ステップごとに説
明する。符号化の流れとしては、図34のメッセージを
受け取るに従って、図35の構文解析木を走査しなが
ら、図36のメッセージを生成してゆく。
開始する時点において、構文解析木走査部3201で
は、構文解析木の根ノードであるノード3501を走査
できる状態にある。メッセージ処理装置32は、処理対
象の入力メッセージを受け取ると処理を開始する。以
下、メッセージ処理装置32による符号化の様子を図3
4、図35および図36を使用して各ステップごとに説
明する。符号化の流れとしては、図34のメッセージを
受け取るに従って、図35の構文解析木を走査しなが
ら、図36のメッセージを生成してゆく。
【0025】ステップ1(3401までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
01を走査し、入力されたメッセージExample3
がSEQUENCE型であることを検知する。したがっ
て、SEQUENCE型に対応するタグフィールド’3
0’を生成する。また、SEQUENCE型は構造型で
あるので、長さフィールドについては長さ未確定を示す
オクテット’80’を生成する(図36の3601)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
01を走査し、入力されたメッセージExample3
がSEQUENCE型であることを検知する。したがっ
て、SEQUENCE型に対応するタグフィールド’3
0’を生成する。また、SEQUENCE型は構造型で
あるので、長さフィールドについては長さ未確定を示す
オクテット’80’を生成する(図36の3601)。
【0026】ステップ2(3402までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
02を走査し、idがINTEGER型であることを検
知する。したがって、INTEGER型に対応するタグ
フィールド’02’を生成する。また、値は3であるか
ら、長さフィールド’01’および値フィールド’0
3’を生成する(図36の3602)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
02を走査し、idがINTEGER型であることを検
知する。したがって、INTEGER型に対応するタグ
フィールド’02’を生成する。また、値は3であるか
ら、長さフィールド’01’および値フィールド’0
3’を生成する(図36の3602)。
【0027】ステップ3(3403までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
03を走査し、subidがINTEGER型であり、
OPTIONAL指定されており、かつIMPLICI
T指定されており、さらにコンテクストスペシフィック
タグ[0]が付されていることを検知する。ここで、入
力された要素はlengthである(subidではな
い)ので、構文解析木走査部3201は、構文解析木の
ノード3504を走査し、lengthがINTEGE
R型であり、かつIMPLICIT指定されており、さ
らにコンテクストスペシフィックタグ[1]が付されて
いることを検知する。したがって、コンテクストスペシ
フィックタグ[1]に対応するタグフィールド’81’
を生成する。また、値は4であるから、長さフィール
ド’01’および値フィールド’04’を生成する(図
36の3603)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
03を走査し、subidがINTEGER型であり、
OPTIONAL指定されており、かつIMPLICI
T指定されており、さらにコンテクストスペシフィック
タグ[0]が付されていることを検知する。ここで、入
力された要素はlengthである(subidではな
い)ので、構文解析木走査部3201は、構文解析木の
ノード3504を走査し、lengthがINTEGE
R型であり、かつIMPLICIT指定されており、さ
らにコンテクストスペシフィックタグ[1]が付されて
いることを検知する。したがって、コンテクストスペシ
フィックタグ[1]に対応するタグフィールド’81’
を生成する。また、値は4であるから、長さフィール
ド’01’および値フィールド’04’を生成する(図
36の3603)。
【0028】ステップ4(3404までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
05を走査し、contentがSEQUENCE型で
あることを検知する。したがって、SEQUENCE型
に対応するタグフィールド’30’を生成する。また、
SEQUENCE型は構造型であるので、長さフィール
ドについては長さ未確定を示すオクテット’80’を生
成する(図36の3604)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
05を走査し、contentがSEQUENCE型で
あることを検知する。したがって、SEQUENCE型
に対応するタグフィールド’30’を生成する。また、
SEQUENCE型は構造型であるので、長さフィール
ドについては長さ未確定を示すオクテット’80’を生
成する(図36の3604)。
【0029】ステップ5(3405までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
06を走査し、nameがPrintable Str
ing型であることを検知する。したがって、Prin
table String型に対応するタグフィール
ド’13’を生成する。また、値は"foo"であるか
ら、長さフィールド’03’および値フィールド’66
6F6F’を生成する(図36の3605)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
06を走査し、nameがPrintable Str
ing型であることを検知する。したがって、Prin
table String型に対応するタグフィール
ド’13’を生成する。また、値は"foo"であるか
ら、長さフィールド’03’および値フィールド’66
6F6F’を生成する(図36の3605)。
【0030】ステップ6(3406までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
07を走査し、ageがINTEGER型であることを
検知する。従って、INTEGER型に対応するタグフ
ィールド’02’を生成する。また、値は26であるか
ら、長さフィールド’01’および値フィールド’1
A’を生成する(図36の3606)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
07を走査し、ageがINTEGER型であることを
検知する。従って、INTEGER型に対応するタグフ
ィールド’02’を生成する。また、値は26であるか
ら、長さフィールド’01’および値フィールド’1
A’を生成する(図36の3606)。
【0031】ステップ7(3407までメッセージを受
け取った時点) 構文解析木走査部3201は、ノード3505を根とす
る部分木の走査をすべて終えたことを検知し、ステップ
4で生成した長さ未確定オクテット’80’に対応す
る、値フィールド終了オクテット’0000’を生成
し、最後尾に付加する(図36の3607)。
け取った時点) 構文解析木走査部3201は、ノード3505を根とす
る部分木の走査をすべて終えたことを検知し、ステップ
4で生成した長さ未確定オクテット’80’に対応す
る、値フィールド終了オクテット’0000’を生成
し、最後尾に付加する(図36の3607)。
【0032】ステップ8(3408までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
08を走査し、trailerがOCTET STRI
NG型であることを検知する。したがって、OCTET
STRING型に対応するタグフィールド’04’を
生成する。また、値はABCD’Hであるから、長さフ
ィールド’02’および値フィールド’ABCD’を生
成する(図36の3608)。
け取った時点) 構文解析木走査部3201は、構文解析木のノード35
08を走査し、trailerがOCTET STRI
NG型であることを検知する。したがって、OCTET
STRING型に対応するタグフィールド’04’を
生成する。また、値はABCD’Hであるから、長さフ
ィールド’02’および値フィールド’ABCD’を生
成する(図36の3608)。
【0033】ステップ9(3409までメッセージを受
け取った時点) 構文解析木走査部3201は、構文解析木の走査をすべ
て終えたことを検知し、ステップ1で生成した長さ未確
定オクテット’80’に対応する、値フィールド終了オ
クテット’0000’を生成して、最後尾に付加する
(図36の3609)。
け取った時点) 構文解析木走査部3201は、構文解析木の走査をすべ
て終えたことを検知し、ステップ1で生成した長さ未確
定オクテット’80’に対応する、値フィールド終了オ
クテット’0000’を生成して、最後尾に付加する
(図36の3609)。
【0034】従来のメッセージ処理装置32によって、
図34に示されるメッセージを符号化した最終結果を図
37に示す。図37では、符号化されたメッセージの入
れ子の階層がわかりやすいように結果のオクテット列を
整形して示している。図37に示されるように、符号化
されたメッセージは、各要素がタグ(T)、長さ(L)
および値(V)の三つのフィールドから構成されている
ことがわかる。
図34に示されるメッセージを符号化した最終結果を図
37に示す。図37では、符号化されたメッセージの入
れ子の階層がわかりやすいように結果のオクテット列を
整形して示している。図37に示されるように、符号化
されたメッセージは、各要素がタグ(T)、長さ(L)
および値(V)の三つのフィールドから構成されている
ことがわかる。
【0035】次に、メッセージの復号化を行なう場合に
ついて説明する。図38は、復号化を行なう場合の、従
来のメッセージ処理装置32に対する入力データ(AS
N.1転送構文381)および復号化結果(ASN.1
値記法382)を示している。ASN.1値記法382
の構造を定義するのは図33のASN.1抽象構文であ
る。以下、従来のメッセージ処理装置32による復号化
の様子を図35および図38を使用して各ステップごと
に説明する。復号化の流れとしては、図38のASN.
1転送構文381を受け取るに従って、図35の構文解
析木を走査しながら、図38のASN.1値記法382
を生成してゆく。
ついて説明する。図38は、復号化を行なう場合の、従
来のメッセージ処理装置32に対する入力データ(AS
N.1転送構文381)および復号化結果(ASN.1
値記法382)を示している。ASN.1値記法382
の構造を定義するのは図33のASN.1抽象構文であ
る。以下、従来のメッセージ処理装置32による復号化
の様子を図35および図38を使用して各ステップごと
に説明する。復号化の流れとしては、図38のASN.
1転送構文381を受け取るに従って、図35の構文解
析木を走査しながら、図38のASN.1値記法382
を生成してゆく。
【0036】ステップ1(3801までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’30’
を受け取ると構文解析木のノード3501を走査し、’
30’がSEQUENCE型を示すタグであることを検
知する。したがって、SEQUENCE型の値の開始を
示すシンボル’{’を生成する。次に長さフィールド’
80’を受け取ると’80’は長さ未確定を示すオクテ
ットであることを検知する(図38の3811)。
け取った時点) 構文解析木走査部3201は、タグフィールド’30’
を受け取ると構文解析木のノード3501を走査し、’
30’がSEQUENCE型を示すタグであることを検
知する。したがって、SEQUENCE型の値の開始を
示すシンボル’{’を生成する。次に長さフィールド’
80’を受け取ると’80’は長さ未確定を示すオクテ
ットであることを検知する(図38の3811)。
【0037】ステップ2(3802までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’02’
を受け取ると構文解析木のノード3502を走査し、’
02’がINTEGER型を示すタグであることを検知
する。次に長さフィールド’01’を受け取ると値フィ
ールドの長さが1オクテットであることを検知する。し
たがって、さらに次の1オクテット’03’を読み込ん
で、要素idに対応する値3として復号化する(図38
の3812)。
け取った時点) 構文解析木走査部3201は、タグフィールド’02’
を受け取ると構文解析木のノード3502を走査し、’
02’がINTEGER型を示すタグであることを検知
する。次に長さフィールド’01’を受け取ると値フィ
ールドの長さが1オクテットであることを検知する。し
たがって、さらに次の1オクテット’03’を読み込ん
で、要素idに対応する値3として復号化する(図38
の3812)。
【0038】ステップ3(3803までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’81’
を受け取ると構文解析木のノード3503を走査し、’
80’がコンテクストスペシフィックタグ[0]を示す
タグであることを検知する。ここで入力されたタグフィ
ールドは’80’ではないので、構文解析木走査部32
01は、構文解析木のノード3504を走査し、’8
1’がコンテクストスペシフィックタグ[1]を示すタ
グであることを検知する。次に長さフィールド’01’
を受け取ると値フィールドの長さが1オクテットである
ことを検知する。したがって、さらに次の1オクテッ
ト’04’を読み込んで、要素lengthに対応する
値4として復号化する(図38の3813)。
け取った時点) 構文解析木走査部3201は、タグフィールド’81’
を受け取ると構文解析木のノード3503を走査し、’
80’がコンテクストスペシフィックタグ[0]を示す
タグであることを検知する。ここで入力されたタグフィ
ールドは’80’ではないので、構文解析木走査部32
01は、構文解析木のノード3504を走査し、’8
1’がコンテクストスペシフィックタグ[1]を示すタ
グであることを検知する。次に長さフィールド’01’
を受け取ると値フィールドの長さが1オクテットである
ことを検知する。したがって、さらに次の1オクテッ
ト’04’を読み込んで、要素lengthに対応する
値4として復号化する(図38の3813)。
【0039】ステップ4(3804までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’30’
を受け取ると構文解析木のノード3505を走査し、’
30’がSEQUENCE型を示すタグであることを検
知する。したがって、SEQUENCE型の開始を示す
シンボル’{’を生成する。次に長さフィールド’8
0’を受け取ると’80’は長さ未確定を示すオクテッ
トであることを検知する(図38の3814)。
け取った時点) 構文解析木走査部3201は、タグフィールド’30’
を受け取ると構文解析木のノード3505を走査し、’
30’がSEQUENCE型を示すタグであることを検
知する。したがって、SEQUENCE型の開始を示す
シンボル’{’を生成する。次に長さフィールド’8
0’を受け取ると’80’は長さ未確定を示すオクテッ
トであることを検知する(図38の3814)。
【0040】ステップ5(3805までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’13’
を受け取ると構文解析木のノード3506を走査し、’
13’がPrintable String型を示すタ
グであることを検知する。次に長さフィールド’03’
を受け取ると値フィールドの長さが3オクテットである
ことを検知する。したがって、さらに次の3オクテッ
ト’666F6F’を読み込んで、要素nameに対応
する値"foo"として復号化する(図38の381
5)。
け取った時点) 構文解析木走査部3201は、タグフィールド’13’
を受け取ると構文解析木のノード3506を走査し、’
13’がPrintable String型を示すタ
グであることを検知する。次に長さフィールド’03’
を受け取ると値フィールドの長さが3オクテットである
ことを検知する。したがって、さらに次の3オクテッ
ト’666F6F’を読み込んで、要素nameに対応
する値"foo"として復号化する(図38の381
5)。
【0041】ステップ6(3806までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’02’
を受け取ると構文解析木のノード3507を走査し、’
02’がINTEGER型を示すタグであることを検知
する。次に長さフィールド’01’を受け取ると値フィ
ールドの長さが1オクテットであることを検知する。し
たがって、さらに次の1オクテット’1A’を読み込ん
で、要素ageに対応する値26として復号化する(図
38の3816)。
け取った時点) 構文解析木走査部3201は、タグフィールド’02’
を受け取ると構文解析木のノード3507を走査し、’
02’がINTEGER型を示すタグであることを検知
する。次に長さフィールド’01’を受け取ると値フィ
ールドの長さが1オクテットであることを検知する。し
たがって、さらに次の1オクテット’1A’を読み込ん
で、要素ageに対応する値26として復号化する(図
38の3816)。
【0042】ステップ7(3807までメッセージを受
け取った時点) 構文解析木走査部3201は、フィールド’0000’
を受け取ると、これが値フィールドの終わりを示すオク
テットであることを検知する。従って、SEQUENC
E型の終了を示すシンボル’}’を生成する(図38の
3817)。
け取った時点) 構文解析木走査部3201は、フィールド’0000’
を受け取ると、これが値フィールドの終わりを示すオク
テットであることを検知する。従って、SEQUENC
E型の終了を示すシンボル’}’を生成する(図38の
3817)。
【0043】ステップ8(3808までメッセージを受
け取った時点) 構文解析木走査部3201は、タグフィールド’04’
を受け取ると構文解析木のノード3508を走査し、’
04’がOCTET STRING型を示すタグである
ことを検知する。次に長さフィールド’02’を受け取
ると値フィールドの長さが2オクテットであることを検
知する。したがって、さらに次の2オクテットを’AB
CD’を読み込んで、要素trailerに対応する値
ABCD’Hとして復号化する(図38の3818)。
け取った時点) 構文解析木走査部3201は、タグフィールド’04’
を受け取ると構文解析木のノード3508を走査し、’
04’がOCTET STRING型を示すタグである
ことを検知する。次に長さフィールド’02’を受け取
ると値フィールドの長さが2オクテットであることを検
知する。したがって、さらに次の2オクテットを’AB
CD’を読み込んで、要素trailerに対応する値
ABCD’Hとして復号化する(図38の3818)。
【0044】ステップ9(3809までメッセージを受
け取った時点) 構文解析木走査部3201は、フィールド’0000’
を受け取ると、これが値フィールドの終わりを示すオク
テットであることを検知する。従って、SEQUENC
E型の終了を示すシンボル’}’を生成する(図38の
3819)。
け取った時点) 構文解析木走査部3201は、フィールド’0000’
を受け取ると、これが値フィールドの終わりを示すオク
テットであることを検知する。従って、SEQUENC
E型の終了を示すシンボル’}’を生成する(図38の
3819)。
【0045】従来のメッセージ処理装置32によって、
図38のASN.1転送構文381を復号化した最終結
果は図38のASN.1値記法382のようになる。
図38のASN.1転送構文381を復号化した最終結
果は図38のASN.1値記法382のようになる。
【0046】
【発明が解決しようとする課題】これまでに述べたよう
に、従来のメッセージ処理装置は、メッセージの符号化
規則(符号化および復号化の手順)としてBERに従っ
ている。すなわち、メッセージを符号化する際には、各
々の要素について、タグフィールド、長さフィールドお
よび値フィールドを生成するものであり、また、復号化
を行なう際には、入力されるメッセージが前記の3つの
フィールドから構成されていることを前提としている。
したがって、従来のメッセージ処理装置を用いた場合、
BER以外の符号化規則に従って、メッセージの符号化
および復号化を行なうことは不可能であり、以下に示す
ような問題点があった。
に、従来のメッセージ処理装置は、メッセージの符号化
規則(符号化および復号化の手順)としてBERに従っ
ている。すなわち、メッセージを符号化する際には、各
々の要素について、タグフィールド、長さフィールドお
よび値フィールドを生成するものであり、また、復号化
を行なう際には、入力されるメッセージが前記の3つの
フィールドから構成されていることを前提としている。
したがって、従来のメッセージ処理装置を用いた場合、
BER以外の符号化規則に従って、メッセージの符号化
および復号化を行なうことは不可能であり、以下に示す
ような問題点があった。
【0047】第一の問題点は、BERに従う従来のメッ
セージ処理装置では、各要素ごとに必ずタグフィール
ド、長さフィールドおよび値フィールドという形式で符
号化が行なわれるために、冗長なタグフィールドや長さ
フィールドが存在することが避けられないことである。
また、ASN.1抽象構文中に取り得る値の範囲が制限
されている場合でも、これをまったく考慮しないために
値フィールドの内容を圧縮することができないという問
題もある。ASN.1抽象構文で定義されたメッセージ
を異機種間で交換する場合、メッセージを交換するため
の通信路の容量に余裕がある場合は、冗長なフィールド
を生成するBERを使用してもさほど重要な問題とはな
らないが、通信路の容量に制約がある場合においては、
冗長なフィールドは生成せず値についても可能な限り圧
縮して送受することが求められる場合がある。しかしな
がら、従来のメッセージ処理装置においては、BERの
みを符号化規則として用いることが可能であるため、前
記のような要求に対応することができない。
セージ処理装置では、各要素ごとに必ずタグフィール
ド、長さフィールドおよび値フィールドという形式で符
号化が行なわれるために、冗長なタグフィールドや長さ
フィールドが存在することが避けられないことである。
また、ASN.1抽象構文中に取り得る値の範囲が制限
されている場合でも、これをまったく考慮しないために
値フィールドの内容を圧縮することができないという問
題もある。ASN.1抽象構文で定義されたメッセージ
を異機種間で交換する場合、メッセージを交換するため
の通信路の容量に余裕がある場合は、冗長なフィールド
を生成するBERを使用してもさほど重要な問題とはな
らないが、通信路の容量に制約がある場合においては、
冗長なフィールドは生成せず値についても可能な限り圧
縮して送受することが求められる場合がある。しかしな
がら、従来のメッセージ処理装置においては、BERの
みを符号化規則として用いることが可能であるため、前
記のような要求に対応することができない。
【0048】第二の問題点は、従来のメッセージ処理装
置を用いた場合、高速にデータを転送する必要のあるア
プリケーションにおいては、満足できる処理性能が得ら
れない可能性があることである。この理由は、従来のメ
ッセージ処理装置では、タグ、長さおよび値フィールド
の内容が冗長であっても、前記フィールドの生成を行な
わないことは認められないため、冗長なフィールドを生
成するための時間的なオーバヘッドが大きいためであ
る。
置を用いた場合、高速にデータを転送する必要のあるア
プリケーションにおいては、満足できる処理性能が得ら
れない可能性があることである。この理由は、従来のメ
ッセージ処理装置では、タグ、長さおよび値フィールド
の内容が冗長であっても、前記フィールドの生成を行な
わないことは認められないため、冗長なフィールドを生
成するための時間的なオーバヘッドが大きいためであ
る。
【0049】第三の問題点は、従来のメッセージ処理装
置を用いた場合、処理対象のメッセージや処理途中での
一時的なデータを格納しておくための、記憶領域が大量
に必要なことである。この理由は、従来のメッセージ処
理装置では、タグ、長さおよび値フィールドの内容が冗
長であっても、前記フィールドの生成を行なわないこと
は認められないため、冗長なフィールドを生成し、これ
をメッセージ処理装置の利用者に対して出力するまで
に、装置内で冗長なフィールドを含んだメッセージを保
持しておくための領域的なオーバヘッドが大きいためで
ある。
置を用いた場合、処理対象のメッセージや処理途中での
一時的なデータを格納しておくための、記憶領域が大量
に必要なことである。この理由は、従来のメッセージ処
理装置では、タグ、長さおよび値フィールドの内容が冗
長であっても、前記フィールドの生成を行なわないこと
は認められないため、冗長なフィールドを生成し、これ
をメッセージ処理装置の利用者に対して出力するまで
に、装置内で冗長なフィールドを含んだメッセージを保
持しておくための領域的なオーバヘッドが大きいためで
ある。
【0050】第四の問題点は、従来のメッセージ処理装
置を用いた場合、装置の利用者が処理対象のメッセージ
をメッセージ処理装置に入力してから、所望の出力が得
られるまでの遅延時間が大きいことである。この理由
は、従来までのメッセージ処理装置では、タグ、長さお
よび値フィールドの内容が冗長であっても、前記フィー
ルドの生成を行なわないことは認められないため、冗長
なフィールドを生成するための時間的なオーバヘッドが
大きいためである。リアルタイムシステムなどにおいて
は、装置の利用者が処理対象のメッセージを装置に入力
してから、応答(処理結果)が得られるまでの時間に非
常に厳しい制約が課せられる場合があるが、このような
場合に従来のメッセージ処理装置を用いると、非常に深
刻な不具合が発生する恐れがある。
置を用いた場合、装置の利用者が処理対象のメッセージ
をメッセージ処理装置に入力してから、所望の出力が得
られるまでの遅延時間が大きいことである。この理由
は、従来までのメッセージ処理装置では、タグ、長さお
よび値フィールドの内容が冗長であっても、前記フィー
ルドの生成を行なわないことは認められないため、冗長
なフィールドを生成するための時間的なオーバヘッドが
大きいためである。リアルタイムシステムなどにおいて
は、装置の利用者が処理対象のメッセージを装置に入力
してから、応答(処理結果)が得られるまでの時間に非
常に厳しい制約が課せられる場合があるが、このような
場合に従来のメッセージ処理装置を用いると、非常に深
刻な不具合が発生する恐れがある。
【0051】本発明の目的は、前記のような問題点を解
決し、圧縮された符号化データを取り扱うことが可能な
メッセージ処理装置、特にPERに従ってメッセージの
符号化および復号化を行なうことが可能なメッセージ処
理装置およびその方法ならびにメッセージ処理制御プロ
グラムを格納した記憶媒体を提供することである。
決し、圧縮された符号化データを取り扱うことが可能な
メッセージ処理装置、特にPERに従ってメッセージの
符号化および復号化を行なうことが可能なメッセージ処
理装置およびその方法ならびにメッセージ処理制御プロ
グラムを格納した記憶媒体を提供することである。
【0052】
【課題を解決するための手段】上記の目的を達成する本
発明は、異機種間で1つ以上の要素から成るメッセージ
を送受するメッセージ処理装置において、送受されるメ
ッセージの構造を定義する構文記述から生成された構文
解析木を保持する機能を有する構文解析木保持部と、前
記構文解析木保持部に接続され、処理対象とするメッセ
ージデータの入力とともに前記構文解析木を走査し、値
を符号化および復号化して出力する機能を有する構文解
析木走査部と、前記構文解析木走査部に接続され、送受
されるメッセージデータ内における要素の存在の有無を
示すために用いられる、メッセージのプリアンブルフィ
ールドを処理する機能を有するプリアンブル処理部と、
前記構文解析木走査部に接続され、複数の要素から1つ
を選択して送受されるメッセージデータ内において、何
番目の要素が選択されたかを示すために用いられる、メ
ッセージのインデックスフィールドを処理する機能を有
するインデックス処理部とを備えることを特徴とする。
発明は、異機種間で1つ以上の要素から成るメッセージ
を送受するメッセージ処理装置において、送受されるメ
ッセージの構造を定義する構文記述から生成された構文
解析木を保持する機能を有する構文解析木保持部と、前
記構文解析木保持部に接続され、処理対象とするメッセ
ージデータの入力とともに前記構文解析木を走査し、値
を符号化および復号化して出力する機能を有する構文解
析木走査部と、前記構文解析木走査部に接続され、送受
されるメッセージデータ内における要素の存在の有無を
示すために用いられる、メッセージのプリアンブルフィ
ールドを処理する機能を有するプリアンブル処理部と、
前記構文解析木走査部に接続され、複数の要素から1つ
を選択して送受されるメッセージデータ内において、何
番目の要素が選択されたかを示すために用いられる、メ
ッセージのインデックスフィールドを処理する機能を有
するインデックス処理部とを備えることを特徴とする。
【0053】請求項2の本発明のメッセージ処理装置
は、前記プリアンブル処理部が、走査中のノードが省略
可能であるかどうかを示す信号を入力し、前記信号が省
略可能である旨を示していればカウント値をカウントア
ップし、カウント値を後述のデコーダに対して出力する
機能を有するカウンタと、前記カウンタのカウント値を
入力し、該カウント値をデコードして後述のレジスタを
構成する各フリップフロップに対する書き込み許可信号
として出力する機能を有するデコーダと、符号化および
復号化のどちらの処理を実行中かを示す信号を入力し、
該信号が符号化を示していれば、走査中の構文解析木の
ノードに対応する要素が存在するかどうかを示す信号を
後述のレジスタに対して出力し、該信号が復号化を示し
ていれば、プリアンブルフィールド入力信号を後述のレ
ジスタに対して出力する機能を有する第一のマルチプレ
クサと、前記第一のマルチプレクサからの信号および前
記デコーダからの書き込み許可信号とを入力し、前記書
き込み許可信号が有効になっているフリップフロップに
ついては前記マルチプレクサからの信号を読み込んで、
該信号の内容を保持し、前記書き込み信号が有効になっ
ていないフリップフロップについては現在保持している
内容を保持し続ける機能を有するとともに、現在保持し
ている内容をプリアンブルフィールド出力信号として出
力する機能を有するレジスタと、前記レジスタからのプ
リアンブルフィールド出力信号および前記カウンタから
のカウント値とを入力し、プリアンブルフィールド中の
カウント値に対応するビット位置のビットの内容を、次
のノードに対応する要素を復号化する旨の指示信号とし
て出力する機能を有する第二のマルチプレクサとを備え
ることを特徴とする。
は、前記プリアンブル処理部が、走査中のノードが省略
可能であるかどうかを示す信号を入力し、前記信号が省
略可能である旨を示していればカウント値をカウントア
ップし、カウント値を後述のデコーダに対して出力する
機能を有するカウンタと、前記カウンタのカウント値を
入力し、該カウント値をデコードして後述のレジスタを
構成する各フリップフロップに対する書き込み許可信号
として出力する機能を有するデコーダと、符号化および
復号化のどちらの処理を実行中かを示す信号を入力し、
該信号が符号化を示していれば、走査中の構文解析木の
ノードに対応する要素が存在するかどうかを示す信号を
後述のレジスタに対して出力し、該信号が復号化を示し
ていれば、プリアンブルフィールド入力信号を後述のレ
ジスタに対して出力する機能を有する第一のマルチプレ
クサと、前記第一のマルチプレクサからの信号および前
記デコーダからの書き込み許可信号とを入力し、前記書
き込み許可信号が有効になっているフリップフロップに
ついては前記マルチプレクサからの信号を読み込んで、
該信号の内容を保持し、前記書き込み信号が有効になっ
ていないフリップフロップについては現在保持している
内容を保持し続ける機能を有するとともに、現在保持し
ている内容をプリアンブルフィールド出力信号として出
力する機能を有するレジスタと、前記レジスタからのプ
リアンブルフィールド出力信号および前記カウンタから
のカウント値とを入力し、プリアンブルフィールド中の
カウント値に対応するビット位置のビットの内容を、次
のノードに対応する要素を復号化する旨の指示信号とし
て出力する機能を有する第二のマルチプレクサとを備え
ることを特徴とする。
【0054】請求項3の本発明のメッセージ処理装置
は、インデックス処理部が、複数の要素から1つを選択
して送受されるメッセージに対応する構文解析木のノー
ドを走査中であるかどうかを示す信号を入力し、当該ノ
ードを走査中である旨を示していれば、カウント値をカ
ウントアップし、カウント値を後述の第一のレジスタお
よび後述の比較器に対して出力する機能を有するととも
に、カウント値をインデックス値出力信号として出力す
る機能を有するカウンタと、前記カウント値および複数
の要素から1つを選択して送受されるメッセージの選択
された要素に対応するノードを走査中であるかどうかを
示す信号とを入力し、当該ノードを走査中である旨を示
していれば、現在保持している内容をインデックスフィ
ールド出力信号として出力し、当該ノードを走査中でな
い旨を示していれば、前記カウント値を保持する機能を
有する第一のレジスタと、インデックスフィールド入力
信号を入力し、前記インデックスフィールド入力信号を
保持するとともに、現在保持している内容を後述の比較
器に対して出力する機能を有する第二のレジスタと、前
記カウント値および前記第二のレジスタからの信号とを
入力し、両者の内容を比較して、内容が一致していれ
ば、現在出力中のインデックス値に対応する構文解析木
のノードに対応する要素の値を復号化する旨の指示信号
を出力する機能を有する比較器とを備えることを特徴と
する。
は、インデックス処理部が、複数の要素から1つを選択
して送受されるメッセージに対応する構文解析木のノー
ドを走査中であるかどうかを示す信号を入力し、当該ノ
ードを走査中である旨を示していれば、カウント値をカ
ウントアップし、カウント値を後述の第一のレジスタお
よび後述の比較器に対して出力する機能を有するととも
に、カウント値をインデックス値出力信号として出力す
る機能を有するカウンタと、前記カウント値および複数
の要素から1つを選択して送受されるメッセージの選択
された要素に対応するノードを走査中であるかどうかを
示す信号とを入力し、当該ノードを走査中である旨を示
していれば、現在保持している内容をインデックスフィ
ールド出力信号として出力し、当該ノードを走査中でな
い旨を示していれば、前記カウント値を保持する機能を
有する第一のレジスタと、インデックスフィールド入力
信号を入力し、前記インデックスフィールド入力信号を
保持するとともに、現在保持している内容を後述の比較
器に対して出力する機能を有する第二のレジスタと、前
記カウント値および前記第二のレジスタからの信号とを
入力し、両者の内容を比較して、内容が一致していれ
ば、現在出力中のインデックス値に対応する構文解析木
のノードに対応する要素の値を復号化する旨の指示信号
を出力する機能を有する比較器とを備えることを特徴と
する。
【0055】請求項4の本発明のメッセージ処理装置
は、プリアンブル処理部がプリアンブルを取り扱い、送
受されるメッセージデータ内において、存在する要素に
対応する構文解析木のノードのみを走査するように構文
解析木走査部に指示することによって、走査する必要の
ないノードの走査を不要にしたことを特徴とする。
は、プリアンブル処理部がプリアンブルを取り扱い、送
受されるメッセージデータ内において、存在する要素に
対応する構文解析木のノードのみを走査するように構文
解析木走査部に指示することによって、走査する必要の
ないノードの走査を不要にしたことを特徴とする。
【0056】請求項5の本発明のメッセージ処理装置
は、メッセージを符号化する場合において、メッセージ
データが入力されると、メッセージデータ内にまだ符号
化されていない要素があるかどうかを検査し、未符号化
の要素がなければ、プリアンブルの後に各要素の符号化
結果を連結したものを、符号化結果として出力し、未符
号化の要素があれば、構文解析木走査部が構文解析木の
次のノードを走査して、当該要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、構文解析木走査部が当該ノードが未符号化の要素
に対応するノードであるかどうかを検査し、対応するノ
ードでなければ、再び未符号化の要素があるかどうかの
検査に戻り、対応するノードであれば、当該要素を符号
化して再び未符号化の要素があるかどうかの検査に戻
り、当該要素が省略可能な要素であれば、構文解析木走
査部がプリアンブル処理部に指示を出して、プリアンブ
ル処理部内に1ビットのフィールドが生成され、既存の
プリアンブルの最後尾に連結され、構文解析木走査部が
当該ノードが未符号化の要素に対応するノードであるか
どうかを検査し、対応するノードでなければ、構文解析
木走査部がプリアンブル処理部に指示を出して、プリア
ンブル処理部内に生成されたフィールドの内容を「省略
可能な要素が省略されている」旨の内容とし、再び未符
号化の要素があるかどうかの検査に戻り、当該ノードが
未符号化の要素に対応するノードであれば、構文解析木
走査部がプリアンブル処理部に指示を出して、プリアン
ブル処理部内に生成されたフィールドの内容を「省略可
能な要素が省略されていない」旨の内容とし、構文解析
木走査部が当該要素を符号化し、再び未符号化の要素が
あるかどうかの検査に戻ることを特徴とする。
は、メッセージを符号化する場合において、メッセージ
データが入力されると、メッセージデータ内にまだ符号
化されていない要素があるかどうかを検査し、未符号化
の要素がなければ、プリアンブルの後に各要素の符号化
結果を連結したものを、符号化結果として出力し、未符
号化の要素があれば、構文解析木走査部が構文解析木の
次のノードを走査して、当該要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、構文解析木走査部が当該ノードが未符号化の要素
に対応するノードであるかどうかを検査し、対応するノ
ードでなければ、再び未符号化の要素があるかどうかの
検査に戻り、対応するノードであれば、当該要素を符号
化して再び未符号化の要素があるかどうかの検査に戻
り、当該要素が省略可能な要素であれば、構文解析木走
査部がプリアンブル処理部に指示を出して、プリアンブ
ル処理部内に1ビットのフィールドが生成され、既存の
プリアンブルの最後尾に連結され、構文解析木走査部が
当該ノードが未符号化の要素に対応するノードであるか
どうかを検査し、対応するノードでなければ、構文解析
木走査部がプリアンブル処理部に指示を出して、プリア
ンブル処理部内に生成されたフィールドの内容を「省略
可能な要素が省略されている」旨の内容とし、再び未符
号化の要素があるかどうかの検査に戻り、当該ノードが
未符号化の要素に対応するノードであれば、構文解析木
走査部がプリアンブル処理部に指示を出して、プリアン
ブル処理部内に生成されたフィールドの内容を「省略可
能な要素が省略されていない」旨の内容とし、構文解析
木走査部が当該要素を符号化し、再び未符号化の要素が
あるかどうかの検査に戻ることを特徴とする。
【0057】請求項6の本発明のメッセージ処理装置
は、メッセージを復号化する場合において、メッセージ
データが入力されると、まずプリアンブルフィールドを
読み込み、プリアンブル処理部内に格納し、プリアンブ
ルフィールド内でのビット位置を示す変数を0に初期化
し、メッセージデータ内に、まだ復号化されていない要
素があるかどうかを検査し、未復号化の要素がなけれ
ば、各要素の復号化結果を出力し、未復号化の要素があ
れば、構文解析木走査部が構文解析木の次のノードを走
査し、当該ノードに対応する要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、当該要素を復号化し、再び未復号化の要素がある
かどうかの検査に戻り、当該要素が省略可能な要素であ
れば、プリアンブルフィールド内の現在のビット位置の
内容が「省略可能な要素が省略されている」旨の内容で
あれば、現在のビット位置を示す変数に1を加えて、未
復号化の要素があるかどうかの検査に戻り、プリアンブ
ルフィールド内の現在のビット位置の内容が「省略可能
な要素が省略されていない」旨の内容であれば、当該要
素を復号化し、現在のビット位置を示す変数に1を加え
て、未復号化の要素があるかどうかの検査に戻ることを
特徴とする。
は、メッセージを復号化する場合において、メッセージ
データが入力されると、まずプリアンブルフィールドを
読み込み、プリアンブル処理部内に格納し、プリアンブ
ルフィールド内でのビット位置を示す変数を0に初期化
し、メッセージデータ内に、まだ復号化されていない要
素があるかどうかを検査し、未復号化の要素がなけれ
ば、各要素の復号化結果を出力し、未復号化の要素があ
れば、構文解析木走査部が構文解析木の次のノードを走
査し、当該ノードに対応する要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、当該要素を復号化し、再び未復号化の要素がある
かどうかの検査に戻り、当該要素が省略可能な要素であ
れば、プリアンブルフィールド内の現在のビット位置の
内容が「省略可能な要素が省略されている」旨の内容で
あれば、現在のビット位置を示す変数に1を加えて、未
復号化の要素があるかどうかの検査に戻り、プリアンブ
ルフィールド内の現在のビット位置の内容が「省略可能
な要素が省略されていない」旨の内容であれば、当該要
素を復号化し、現在のビット位置を示す変数に1を加え
て、未復号化の要素があるかどうかの検査に戻ることを
特徴とする。
【0058】請求項7の本発明のメッセージ処理装置
は、構文解析木を構文解析木保持部の記憶領域上の連続
した領域に格納し、メッセージを復号化する場合におい
て、メッセージデータが入力されると、まずプリアンブ
ルフィールドを読み込み、プリアンブル処理部内に格納
し、プリアンブルフィールド内でのビット位置を示す変
数を0に初期化し、構文解析木のノードのアドレスを示
す変数に、現在走査中のノードのアドレスを格納し、メ
ッセージデータ内に、まだ復号化されていない要素があ
るかどうかを検査し、未復号化の要素がなければ、各要
素の復号化結果を出力し、未復号化の要素があれば、当
該要素が省略可能な要素であるかどうかを検査し、当該
要素が省略不可能な要素であれば、構文解析木のノード
のアドレスを示す変数に、次のノードのアドレスを格納
し、当該アドレスを持つ構文解析木のノードを走査し、
当該要素を復号化して、未復号化の要素があるかどうか
の検査に戻り、当該要素が省略可能な要素であれば、プ
リアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されている」旨の内容であれ
ば、構文解析木のノードのアドレスを示す変数に、次の
ノードのアドレスを格納し、現在のビット位置を示す変
数に1を加えて、未復号化の要素があるかどうかの検査
に戻り、プリアンブルフィールド内の現在のビット位置
の内容が「省略可能な要素が省略されていない」旨の内
容であれば、構文解析木のノードのアドレスを示す変数
に、次のノードのアドレスを格納し、当該アドレスを持
つ構文解析木のノードを走査し、当該要素を復号化し、
現在のビット位置を示す変数に1を加えて、未復号化の
要素があるかどうかの検査に戻ることを特徴とする。
は、構文解析木を構文解析木保持部の記憶領域上の連続
した領域に格納し、メッセージを復号化する場合におい
て、メッセージデータが入力されると、まずプリアンブ
ルフィールドを読み込み、プリアンブル処理部内に格納
し、プリアンブルフィールド内でのビット位置を示す変
数を0に初期化し、構文解析木のノードのアドレスを示
す変数に、現在走査中のノードのアドレスを格納し、メ
ッセージデータ内に、まだ復号化されていない要素があ
るかどうかを検査し、未復号化の要素がなければ、各要
素の復号化結果を出力し、未復号化の要素があれば、当
該要素が省略可能な要素であるかどうかを検査し、当該
要素が省略不可能な要素であれば、構文解析木のノード
のアドレスを示す変数に、次のノードのアドレスを格納
し、当該アドレスを持つ構文解析木のノードを走査し、
当該要素を復号化して、未復号化の要素があるかどうか
の検査に戻り、当該要素が省略可能な要素であれば、プ
リアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されている」旨の内容であれ
ば、構文解析木のノードのアドレスを示す変数に、次の
ノードのアドレスを格納し、現在のビット位置を示す変
数に1を加えて、未復号化の要素があるかどうかの検査
に戻り、プリアンブルフィールド内の現在のビット位置
の内容が「省略可能な要素が省略されていない」旨の内
容であれば、構文解析木のノードのアドレスを示す変数
に、次のノードのアドレスを格納し、当該アドレスを持
つ構文解析木のノードを走査し、当該要素を復号化し、
現在のビット位置を示す変数に1を加えて、未復号化の
要素があるかどうかの検査に戻ることを特徴とする。
【0059】請求項8の本発明のメッセージ処理装置
は、インデックス処理部がインデックスを取り扱い、送
受されるメッセージデータ内において、選択された要素
に対応する構文解析木のノードのみを走査するように構
文解析木走査部に指示することによって、走査する必要
のないノードの走査を不要にしたことを特徴とする。
は、インデックス処理部がインデックスを取り扱い、送
受されるメッセージデータ内において、選択された要素
に対応する構文解析木のノードのみを走査するように構
文解析木走査部に指示することによって、走査する必要
のないノードの走査を不要にしたことを特徴とする。
【0060】請求項9の本発明のメッセージ処理装置
は、メッセージを符号化する場合において、メッセージ
データが入力されると、現在走査中の構文解析木のノー
ドが、選択された要素に対応するノードであるかどうか
を検査し、対応するノードでなければ、インデックス処
理部が現在のインデックス値に1を加え、構文解析木走
査部が構文解析木の次のノードを走査して、再び走査中
のノードが選択された要素に対応するかどうかの検査に
戻り、対応するノードであれば、インデックス走査部が
現在のインデックス値を符号化し、構文解析木走査部が
当該要素を符号化して、インデックス値および当該要素
の符号化結果を連結したものを出力することを特徴とす
る。
は、メッセージを符号化する場合において、メッセージ
データが入力されると、現在走査中の構文解析木のノー
ドが、選択された要素に対応するノードであるかどうか
を検査し、対応するノードでなければ、インデックス処
理部が現在のインデックス値に1を加え、構文解析木走
査部が構文解析木の次のノードを走査して、再び走査中
のノードが選択された要素に対応するかどうかの検査に
戻り、対応するノードであれば、インデックス走査部が
現在のインデックス値を符号化し、構文解析木走査部が
当該要素を符号化して、インデックス値および当該要素
の符号化結果を連結したものを出力することを特徴とす
る。
【0061】請求項10の本発明のメッセージ処理装置
は、メッセージを復号化する場合において、メッセージ
データが入力されると、まずインデックスフィールドを
読み込み、インデックス処理部内に格納し、インデック
スフィールドの内容を復号化してインデックス値を取得
し、選択肢番号を示す変数を0に初期化し、構文解析木
走査部が構文解析木の次のノードを走査し、前記変数と
インデックス値が等しいかどうかを検査し、等しくなけ
れば前記変数に1を加えて、再び構文解析木の次のノー
ドの走査に戻り、前記変数とインデックス値が等しけれ
ば、当該要素を復号化することを特徴とする。
は、メッセージを復号化する場合において、メッセージ
データが入力されると、まずインデックスフィールドを
読み込み、インデックス処理部内に格納し、インデック
スフィールドの内容を復号化してインデックス値を取得
し、選択肢番号を示す変数を0に初期化し、構文解析木
走査部が構文解析木の次のノードを走査し、前記変数と
インデックス値が等しいかどうかを検査し、等しくなけ
れば前記変数に1を加えて、再び構文解析木の次のノー
ドの走査に戻り、前記変数とインデックス値が等しけれ
ば、当該要素を復号化することを特徴とする。
【0062】請求項11の本発明のメッセージ処理装置
は、構文解析木を構文解析木保持部の記憶領域上の連続
した領域に格納し、メッセージを復号化する場合におい
て、メッセージデータが入力されると、まずインデック
スフィールドを読み込み、インデックス処理部内に格納
し、インデックスフィールドの内容を復号化してインデ
ックス値を取得し、構文解析木のノードのアドレスを示
す変数に、現在走査中のノードのアドレスを格納し、前
記変数と、構文解析木の1つのノードを保持するのに必
要な記憶領域の大きさとインデックス値の積との和で参
照される構文解析木のノードを構文解析木走査部が走査
し、当該要素を復号化することを特徴とする。
は、構文解析木を構文解析木保持部の記憶領域上の連続
した領域に格納し、メッセージを復号化する場合におい
て、メッセージデータが入力されると、まずインデック
スフィールドを読み込み、インデックス処理部内に格納
し、インデックスフィールドの内容を復号化してインデ
ックス値を取得し、構文解析木のノードのアドレスを示
す変数に、現在走査中のノードのアドレスを格納し、前
記変数と、構文解析木の1つのノードを保持するのに必
要な記憶領域の大きさとインデックス値の積との和で参
照される構文解析木のノードを構文解析木走査部が走査
し、当該要素を復号化することを特徴とする。
【0063】請求項12の本発明のメッセージ処理装置
は、プリアンブル処理部がプリアンブルを取り扱い、送
受されるメッセージデータ内における存在する要素に対
応する構文解析木のノードのみを走査するように構文解
析木走査部に指示するとともに、インデックス処理部が
インデックスを取り扱い、送受されるメッセージデータ
内において、選択された要素に対応する構文解析木のノ
ードのみを走査するように構文解析木走査部に指示する
ことによって、走査する必要のないノードの走査を不要
にしたことを特徴とする。
は、プリアンブル処理部がプリアンブルを取り扱い、送
受されるメッセージデータ内における存在する要素に対
応する構文解析木のノードのみを走査するように構文解
析木走査部に指示するとともに、インデックス処理部が
インデックスを取り扱い、送受されるメッセージデータ
内において、選択された要素に対応する構文解析木のノ
ードのみを走査するように構文解析木走査部に指示する
ことによって、走査する必要のないノードの走査を不要
にしたことを特徴とする。
【0064】請求項13の本発明のメッセージ処理装置
は、送受されるメッセージの構造を定義する構文記述か
ら生成された構文解析木において、ノードの形式が、
「要素の型」、「要素に付されたタグ」、「要素に関す
る制約」、「要素が省略可能であるかどうか」、「同一
ネスト階層の次のノードへのポインタ」および「下位ネ
スト階層のノードへのポインタ」という6つのフィール
ドであるような構文解析木を構文解析木保持部が保持す
ることを特徴とする。
は、送受されるメッセージの構造を定義する構文記述か
ら生成された構文解析木において、ノードの形式が、
「要素の型」、「要素に付されたタグ」、「要素に関す
る制約」、「要素が省略可能であるかどうか」、「同一
ネスト階層の次のノードへのポインタ」および「下位ネ
スト階層のノードへのポインタ」という6つのフィール
ドであるような構文解析木を構文解析木保持部が保持す
ることを特徴とする。
【0065】請求項14の本発明のメッセージ処理装置
は、抽象構文記法(ASN.1)により構造が定義され
るメッセージを、圧縮符号化規則(PER)に従って取
り扱うことを特徴とする。
は、抽象構文記法(ASN.1)により構造が定義され
るメッセージを、圧縮符号化規則(PER)に従って取
り扱うことを特徴とする。
【0066】以上のように構成された本発明のメッセー
ジ処理装置は、従来のメッセージ処理装置にプリアンブ
ル処理部とインデックス処理部を追加することによっ
て、従来のメッセージ処理装置が扱うことのできなかっ
た、符号化データ長を圧縮するための符号化規則に従っ
てメッセージを取り扱うこと、特にPERに従ってメッ
セージの符号化および復号化を行なうことが可能であ
る。
ジ処理装置は、従来のメッセージ処理装置にプリアンブ
ル処理部とインデックス処理部を追加することによっ
て、従来のメッセージ処理装置が扱うことのできなかっ
た、符号化データ長を圧縮するための符号化規則に従っ
てメッセージを取り扱うこと、特にPERに従ってメッ
セージの符号化および復号化を行なうことが可能であ
る。
【0067】具体的には、SEQUENCE型およびS
ET型の値を取り扱う場合に、OPTIONAL指定ま
たはDEFAULT指定されている要素がある場合、符
号化データ長を圧縮するための符号化規則では、従来の
メッセージ処理装置で用いられるタグを符号化しないか
わりに、プリアンブルと呼ばれるフィールドを設けてO
PTIONAL指定またはDEFAULT指定された要
素の存在の有無を示すが、プリアンブル処理部が前記プ
リアンブルを取り扱い、構文解析木走査部との間で指示
をやりとりすることにより、タグを用いないでOPTI
ONAL指定またはDEFAULT指定の要素を取り扱
うことが可能になっている。したがって、SEQUEN
CE型やSET型の要素を取り扱う場合に、冗長なタグ
フィールドの生成を行なわずにメッセージの符号化およ
び復号化を行なうことが可能である。
ET型の値を取り扱う場合に、OPTIONAL指定ま
たはDEFAULT指定されている要素がある場合、符
号化データ長を圧縮するための符号化規則では、従来の
メッセージ処理装置で用いられるタグを符号化しないか
わりに、プリアンブルと呼ばれるフィールドを設けてO
PTIONAL指定またはDEFAULT指定された要
素の存在の有無を示すが、プリアンブル処理部が前記プ
リアンブルを取り扱い、構文解析木走査部との間で指示
をやりとりすることにより、タグを用いないでOPTI
ONAL指定またはDEFAULT指定の要素を取り扱
うことが可能になっている。したがって、SEQUEN
CE型やSET型の要素を取り扱う場合に、冗長なタグ
フィールドの生成を行なわずにメッセージの符号化およ
び復号化を行なうことが可能である。
【0068】また、CHOICE型の値を取り扱う場合
にも、インデックスと呼ばれるフィールドを設けて、イ
ンデックス処理部が前記インデックスを取り扱い、構文
解析木走査部との間で指示をやりとりすることにより、
タグを用いないでCHOICE型の値が何番目の要素に
対応するものであるかを判別することが可能になってい
る。したがって、CHOICE型の要素を取り扱う場合
に、冗長なタグフィールドの生成を行なわずにメッセー
ジの符号化および復号化を行なうことが可能である。
にも、インデックスと呼ばれるフィールドを設けて、イ
ンデックス処理部が前記インデックスを取り扱い、構文
解析木走査部との間で指示をやりとりすることにより、
タグを用いないでCHOICE型の値が何番目の要素に
対応するものであるかを判別することが可能になってい
る。したがって、CHOICE型の要素を取り扱う場合
に、冗長なタグフィールドの生成を行なわずにメッセー
ジの符号化および復号化を行なうことが可能である。
【0069】さらに、構文解析木のノードの形式を変更
し、ASN.1抽象構文で示される各要素の取り得る値
の範囲や値の長さの範囲を示す制約情報を保持できるよ
うにして、構文解析木走査部が前記制約情報を利用して
符号化データ長を圧縮することを可能にしている。した
がって、冗長な長さフィールドを用いる必要がなくな
り、値フィールドの内容についても圧縮を行なうことが
可能となっている。
し、ASN.1抽象構文で示される各要素の取り得る値
の範囲や値の長さの範囲を示す制約情報を保持できるよ
うにして、構文解析木走査部が前記制約情報を利用して
符号化データ長を圧縮することを可能にしている。した
がって、冗長な長さフィールドを用いる必要がなくな
り、値フィールドの内容についても圧縮を行なうことが
可能となっている。
【0070】
【発明の実施の形態】以下、本発明の実施例について図
面を参照して詳細に説明する。図1は本発明の実施の形
態における、メッセージ処理装置の概略構成を示すブロ
ック図である。図1に示すように、本実施の形態におけ
るメッセージ処理装置10は、構文解析木保持部104
と、構文解析木走査部101と、プリアンブル処理部1
02と、インデックス処理部103とから構成されてい
る。なお、図1には本実施の形態の特徴的な構成のみを
記載し、他の一般的な構成については記載を省略してあ
る。
面を参照して詳細に説明する。図1は本発明の実施の形
態における、メッセージ処理装置の概略構成を示すブロ
ック図である。図1に示すように、本実施の形態におけ
るメッセージ処理装置10は、構文解析木保持部104
と、構文解析木走査部101と、プリアンブル処理部1
02と、インデックス処理部103とから構成されてい
る。なお、図1には本実施の形態の特徴的な構成のみを
記載し、他の一般的な構成については記載を省略してあ
る。
【0071】本実施の形態のメッセージ処理装置におけ
る各構成要素は、ワークステーションやパーソナルコン
ピュータその他のコンピュータシステムにおけるプログ
ラム制御された処理装置で実現される。処理装置を制御
するコンピュータプログラムは、磁気ディスクや半導体
メモリその他の記憶媒体に格納して提供され、処理装置
にロードされて、以下に説明する機能を実行する。
る各構成要素は、ワークステーションやパーソナルコン
ピュータその他のコンピュータシステムにおけるプログ
ラム制御された処理装置で実現される。処理装置を制御
するコンピュータプログラムは、磁気ディスクや半導体
メモリその他の記憶媒体に格納して提供され、処理装置
にロードされて、以下に説明する機能を実行する。
【0072】構文解析木保持部104は、ASN.1抽
象構文108から生成された構文解析木105を保持す
る機能を有する。構文解析木走査部101は、ASN.
1値記法106(処理対象メッセージ)の入力ととも
に、プリアンブル処理部102およびインデックス処理
部103との間で指示をやりとりして、構文解析木10
5を走査し、値の符号化を行なってASN.1転送構文
107(符号化結果)を生成する機能を有するととも
に、ASN.1転送構文107(処理対象メッセージ)
の入力とともに、プリアンブル処理部102およびイン
デックス処理部103との間で指示をやりとりして、構
文解析木105を走査し、値の復号化を行なって、AS
N.1値記法106(復号化結果)を生成する機能を有
する。プリアンブル処理部102は、値を符号化する際
には、SEQUENCE型およびSET型の要素がOP
TIONAL指定またはDEFAULT指定されている
場合に、構文解析木走査部101からの指示に基づい
て、プリアンブルと呼ばれるビットフィールドを生成
し、プリアンブル中の各ビットに所定の値(要素が存在
する場合には’1’、存在しない場合には’0’)を設
定する。また、プリアンブル処理部102は、値を復号
化する際には、入力されるプリアンブルを解析して、構
文解析木走査部101に対して次に走査すべき構文解析
木105のノードを指示する機能を有する。インデック
ス処理部103は、値を符号化する際には、CHOIC
E型の要素を取り扱う場合に、構文解析木走査部101
からの指示に基づいて、インデックス値をカウントし、
インデックスフィールドを生成する機能を有する。ま
た、インデックス処理部102は、値を復号化する際に
は、入力されたインデックスフィールドを解析して、構
文解析木走査部101に対して次に走査すべき構文解析
木105のノードを指示する機能を有する。
象構文108から生成された構文解析木105を保持す
る機能を有する。構文解析木走査部101は、ASN.
1値記法106(処理対象メッセージ)の入力ととも
に、プリアンブル処理部102およびインデックス処理
部103との間で指示をやりとりして、構文解析木10
5を走査し、値の符号化を行なってASN.1転送構文
107(符号化結果)を生成する機能を有するととも
に、ASN.1転送構文107(処理対象メッセージ)
の入力とともに、プリアンブル処理部102およびイン
デックス処理部103との間で指示をやりとりして、構
文解析木105を走査し、値の復号化を行なって、AS
N.1値記法106(復号化結果)を生成する機能を有
する。プリアンブル処理部102は、値を符号化する際
には、SEQUENCE型およびSET型の要素がOP
TIONAL指定またはDEFAULT指定されている
場合に、構文解析木走査部101からの指示に基づい
て、プリアンブルと呼ばれるビットフィールドを生成
し、プリアンブル中の各ビットに所定の値(要素が存在
する場合には’1’、存在しない場合には’0’)を設
定する。また、プリアンブル処理部102は、値を復号
化する際には、入力されるプリアンブルを解析して、構
文解析木走査部101に対して次に走査すべき構文解析
木105のノードを指示する機能を有する。インデック
ス処理部103は、値を符号化する際には、CHOIC
E型の要素を取り扱う場合に、構文解析木走査部101
からの指示に基づいて、インデックス値をカウントし、
インデックスフィールドを生成する機能を有する。ま
た、インデックス処理部102は、値を復号化する際に
は、入力されたインデックスフィールドを解析して、構
文解析木走査部101に対して次に走査すべき構文解析
木105のノードを指示する機能を有する。
【0073】次に本実施の形態のメッセージ処理装置の
プリアンブル処理部102の構成について説明する。図
2は、本実施の形態のメッセージ処理装置10におけ
る、プリアンブル処理部102の概略構成を示すブロッ
ク図である。図2に示すように、本実施の形態における
プリアンブル処理部102は、カウンタ201と、デコ
ーダ202と、第一のマルチプレクサ203と、レジス
タ204と、第二のマルチプレクサ205とから構成さ
れている。また、プリアンブル処理部102に関する入
出力信号は、メッセージを復号化する際のプリアンブル
フィールド入力信号211と、メッセージを符号化する
際のプリアンブルフィールド出力信号212と、構文解
析木走査部から入力される、走査中のノードがOPTI
ONAL指定またはDEFAULT指定されているかど
うかを示す信号213と、構文解析木走査部から入力さ
れる、走査中のノードに対応する要素が存在するかどう
かを示す信号214と、構文解析木から入力される、現
在符号化および復号化のどちらの処理を行なっているか
を示す信号215と、構文解析木走査部に対して出力さ
れる、次のノードを走査し対応する要素を復号化するよ
うに指示する信号216である。
プリアンブル処理部102の構成について説明する。図
2は、本実施の形態のメッセージ処理装置10におけ
る、プリアンブル処理部102の概略構成を示すブロッ
ク図である。図2に示すように、本実施の形態における
プリアンブル処理部102は、カウンタ201と、デコ
ーダ202と、第一のマルチプレクサ203と、レジス
タ204と、第二のマルチプレクサ205とから構成さ
れている。また、プリアンブル処理部102に関する入
出力信号は、メッセージを復号化する際のプリアンブル
フィールド入力信号211と、メッセージを符号化する
際のプリアンブルフィールド出力信号212と、構文解
析木走査部から入力される、走査中のノードがOPTI
ONAL指定またはDEFAULT指定されているかど
うかを示す信号213と、構文解析木走査部から入力さ
れる、走査中のノードに対応する要素が存在するかどう
かを示す信号214と、構文解析木から入力される、現
在符号化および復号化のどちらの処理を行なっているか
を示す信号215と、構文解析木走査部に対して出力さ
れる、次のノードを走査し対応する要素を復号化するよ
うに指示する信号216である。
【0074】カウンタ201は、走査中のノードがOP
TIONAL指定またはDEFAULT指定されている
がどうかを示す信号213を入力され、信号213がノ
ードが当該指定されている旨を示していれば、カウント
値をカウントアップする機能を有し、カウント値をデコ
ーダ202に対して出力する機能を有する。デコーダ2
02は、前記カウント値を入力され、これをデコード
し、レジスタ204を構成する各フリップフロップに対
する書き込み許可信号として出力する機能を有する。第
一のマルチプレクサ203は、現在符号化および復号化
のどちらの処理を行なっているかを示す信号215を入
力され、信号215が符号化を示していれば、信号21
4をレジスタ204に対して出力し、信号215が復号
化を示していれば、信号211をレジスタ204に対し
て出力する機能を有する。レジスタ204は、第一のマ
ルチプレクサ203からの信号およびデコーダ202か
らの書き込み許可信号を入力され、前記書き込み許可信
号が有効になっているフリップフロップについては第一
のマルチプレクサ203からの信号を読み込んで、その
内容を保持し、前記書き込み許可信号が有効になってい
ないフリップフロップについては現在保持している内容
を保持し続ける機能を有し、さらに現在保持している内
容を信号212として出力する機能および第二のマルチ
プレクサ205に対して出力する機能を有する。第二の
マルチプレクサ205は、レジスタ204からのプリア
ンブルフィールド出力信号212およびカウンタ202
からのカウント値を入力され、プリアンブルフィールド
中のカウント値に対応するビット位置のビットの内容
を、次のノードに対応する要素を復号化する旨の指示信
号216として構文解析木走査部に対して出力する機能
を有する。
TIONAL指定またはDEFAULT指定されている
がどうかを示す信号213を入力され、信号213がノ
ードが当該指定されている旨を示していれば、カウント
値をカウントアップする機能を有し、カウント値をデコ
ーダ202に対して出力する機能を有する。デコーダ2
02は、前記カウント値を入力され、これをデコード
し、レジスタ204を構成する各フリップフロップに対
する書き込み許可信号として出力する機能を有する。第
一のマルチプレクサ203は、現在符号化および復号化
のどちらの処理を行なっているかを示す信号215を入
力され、信号215が符号化を示していれば、信号21
4をレジスタ204に対して出力し、信号215が復号
化を示していれば、信号211をレジスタ204に対し
て出力する機能を有する。レジスタ204は、第一のマ
ルチプレクサ203からの信号およびデコーダ202か
らの書き込み許可信号を入力され、前記書き込み許可信
号が有効になっているフリップフロップについては第一
のマルチプレクサ203からの信号を読み込んで、その
内容を保持し、前記書き込み許可信号が有効になってい
ないフリップフロップについては現在保持している内容
を保持し続ける機能を有し、さらに現在保持している内
容を信号212として出力する機能および第二のマルチ
プレクサ205に対して出力する機能を有する。第二の
マルチプレクサ205は、レジスタ204からのプリア
ンブルフィールド出力信号212およびカウンタ202
からのカウント値を入力され、プリアンブルフィールド
中のカウント値に対応するビット位置のビットの内容
を、次のノードに対応する要素を復号化する旨の指示信
号216として構文解析木走査部に対して出力する機能
を有する。
【0075】次に本実施の形態のメッセージ処理装置の
インデックス処理部103の構成について説明する。図
3は、本実施の形態のメッセージ処理装置10におけ
る、インデックス処理部103の概略構成を示すブロッ
ク図である。図3に示すように、本実施の形態における
インデックス処理部103は、カウンタ301と、第一
のレジスタ302と、第二のレジスタ303と、比較器
304とから構成されている。また、インデックス処理
部103に関する入出力信号は、メッセージを復号化す
る際のインデックスフィールド入力信号311と、メッ
セージを復号化する際のインデックス値出力信号312
と、メッセージを符号化する際のインデックスフィール
ド出力信号313と、構文解析木走査部から入力され
る、現在CHOICE型のノードを根ノードとする部分
木を走査中であるかどうかを示す信号314と、構文解
析木走査部から入力される、CHOICE型の選択され
た要素に対応するノードを走査中であるかどうかを示す
信号315と、構文解析木走査部に対して出力される、
現在出力中のインデックス値に対応する構文解析木のノ
ードに対応する要素の値を復号化するように指示する信
号316である。
インデックス処理部103の構成について説明する。図
3は、本実施の形態のメッセージ処理装置10におけ
る、インデックス処理部103の概略構成を示すブロッ
ク図である。図3に示すように、本実施の形態における
インデックス処理部103は、カウンタ301と、第一
のレジスタ302と、第二のレジスタ303と、比較器
304とから構成されている。また、インデックス処理
部103に関する入出力信号は、メッセージを復号化す
る際のインデックスフィールド入力信号311と、メッ
セージを復号化する際のインデックス値出力信号312
と、メッセージを符号化する際のインデックスフィール
ド出力信号313と、構文解析木走査部から入力され
る、現在CHOICE型のノードを根ノードとする部分
木を走査中であるかどうかを示す信号314と、構文解
析木走査部から入力される、CHOICE型の選択され
た要素に対応するノードを走査中であるかどうかを示す
信号315と、構文解析木走査部に対して出力される、
現在出力中のインデックス値に対応する構文解析木のノ
ードに対応する要素の値を復号化するように指示する信
号316である。
【0076】カウンタ201は、CHOICE型のノー
ドを根ノードとする部分木を走査中であるかどうかを示
す信号314を入力され、信号314が当該部分木を走
査中である旨を示していれば、カウント値をカウントア
ップする機能を有し、カウント値を第一のレジスタ30
2および比較器304に対して出力する機能を有し、ま
た、カウント値をインデックス値出力信号312として
出力する機能を有する。第一のレジスタ302は、前記
カウント値およびCHOICE型の選択された要素に対
応するノードを走査中であるかどうかを示す信号315
とを入力され、信号315が当該ノードを走査中である
旨を示していれば、現在保持している内容をインデック
スフィールド出力信号313として出力する機能を有
し、当該ノードを走査中でない旨を示していれば、前記
カウント値を保持する機能を有する。第二のレジスタ3
03は、インデックスフィールド信号311を入力さ
れ、信号311を保持するとともに、比較器314に対
して現在保持している内容を出力する機能を有する。比
較器314は、前記カウント値および第二のレジスタ3
03からの信号を入力され、両者の内容を比較して、内
容が一致していれば、現在出力中のインデックス値に対
応する構文解析木のノードに対応する要素の値を復号化
するように指示する信号316を出力する機能を有す
る。
ドを根ノードとする部分木を走査中であるかどうかを示
す信号314を入力され、信号314が当該部分木を走
査中である旨を示していれば、カウント値をカウントア
ップする機能を有し、カウント値を第一のレジスタ30
2および比較器304に対して出力する機能を有し、ま
た、カウント値をインデックス値出力信号312として
出力する機能を有する。第一のレジスタ302は、前記
カウント値およびCHOICE型の選択された要素に対
応するノードを走査中であるかどうかを示す信号315
とを入力され、信号315が当該ノードを走査中である
旨を示していれば、現在保持している内容をインデック
スフィールド出力信号313として出力する機能を有
し、当該ノードを走査中でない旨を示していれば、前記
カウント値を保持する機能を有する。第二のレジスタ3
03は、インデックスフィールド信号311を入力さ
れ、信号311を保持するとともに、比較器314に対
して現在保持している内容を出力する機能を有する。比
較器314は、前記カウント値および第二のレジスタ3
03からの信号を入力され、両者の内容を比較して、内
容が一致していれば、現在出力中のインデックス値に対
応する構文解析木のノードに対応する要素の値を復号化
するように指示する信号316を出力する機能を有す
る。
【0077】次に本実施の形態のメッセージ処理装置1
0の構文解析木保持部104によって保持される構文解
析木105について説明する。構文解析木105は、A
SN.1コンパイラなどの技術を利用することによっ
て、ASN.1抽象構文108より生成することができ
る。図4は、構文解析木105のノードの形式を示す図
である。図4に示されるように、構文解析木105の1
つのノードは、6つのフィールドより構成される。第1
フィールド401は、ノードに対応するASN.1抽象
構文108の要素の型を示すフィールドである。第2フ
ィールド402は、ノードに対応するASN.1抽象構
文108の要素に付けられたタグ(アプリケーションタ
グ、コンテクストスペシフィックタグなど)を示すフィ
ールドである。第3フィールド403は、ノードに対応
するASN.1抽象構文108の要素に付けられた制約
(取り得る値の範囲および値の長さの範囲)を示すフィ
ールドである。第4フィールド404は、ノードに対応
するASN.1抽象構文108の要素がOPTIONA
L指定またはDEFAULT指定されているかどうかを
示すフィールドである。第5フィールド405は、AS
N.1抽象構文108中においてノードに対応する要素
について、この要素と同一ネスト階層にある次の要素に
対応するノードへのポインタを格納するフィールドであ
る。第6フィールド406は、ASN.1抽象構文10
8中においてノードに対応する要素について、この要素
より1つ深いネスト階層にある要素に対応するノードへ
のポインタを格納する。例えば、図5のASN.1抽象
構文501に対応する構文解析木は図5の502で示さ
れる構文解析木である。
0の構文解析木保持部104によって保持される構文解
析木105について説明する。構文解析木105は、A
SN.1コンパイラなどの技術を利用することによっ
て、ASN.1抽象構文108より生成することができ
る。図4は、構文解析木105のノードの形式を示す図
である。図4に示されるように、構文解析木105の1
つのノードは、6つのフィールドより構成される。第1
フィールド401は、ノードに対応するASN.1抽象
構文108の要素の型を示すフィールドである。第2フ
ィールド402は、ノードに対応するASN.1抽象構
文108の要素に付けられたタグ(アプリケーションタ
グ、コンテクストスペシフィックタグなど)を示すフィ
ールドである。第3フィールド403は、ノードに対応
するASN.1抽象構文108の要素に付けられた制約
(取り得る値の範囲および値の長さの範囲)を示すフィ
ールドである。第4フィールド404は、ノードに対応
するASN.1抽象構文108の要素がOPTIONA
L指定またはDEFAULT指定されているかどうかを
示すフィールドである。第5フィールド405は、AS
N.1抽象構文108中においてノードに対応する要素
について、この要素と同一ネスト階層にある次の要素に
対応するノードへのポインタを格納するフィールドであ
る。第6フィールド406は、ASN.1抽象構文10
8中においてノードに対応する要素について、この要素
より1つ深いネスト階層にある要素に対応するノードへ
のポインタを格納する。例えば、図5のASN.1抽象
構文501に対応する構文解析木は図5の502で示さ
れる構文解析木である。
【0078】
【動作の説明】次に、本実施の形態において、メッセー
ジ処理装置10がどのように動作するかを説明する。S
EQUENCE型またはSET型を扱う場合(構文解析
木走査部101がプリアンブル処理部102との間で指
示をやりとりして動作する場合)、CHOICE型を扱
う場合(構文解析木走査部101がインデックス処理部
103との間で指示をやりとりして動作する場合)およ
びこれら以外の型を扱う場合(構文解析木走査部101
はプリアンブル処理部102、インデックス処理部10
3のいずれとも指示をやりとりしないで動作する場合)
の3つのケースについて説明する。
ジ処理装置10がどのように動作するかを説明する。S
EQUENCE型またはSET型を扱う場合(構文解析
木走査部101がプリアンブル処理部102との間で指
示をやりとりして動作する場合)、CHOICE型を扱
う場合(構文解析木走査部101がインデックス処理部
103との間で指示をやりとりして動作する場合)およ
びこれら以外の型を扱う場合(構文解析木走査部101
はプリアンブル処理部102、インデックス処理部10
3のいずれとも指示をやりとりしないで動作する場合)
の3つのケースについて説明する。
【0079】ケース1(SEQUENCE型、SET型
およびCHOICE型以外の型を扱う場合)。
およびCHOICE型以外の型を扱う場合)。
【0080】符号化を行なう場合は、ASN.1値記法
106(符号化対象の入力データ)が入力されるに従っ
て、構文解析木保持部104によって保持されている構
文解析木105を構文解析木走査部101が走査し、構
文解析木105のノードの第1フィールドに示されてい
る当該要素の型に従った符号化を行なう。符号化を行な
う際に、構文解析木のノードの第3フィールドに示され
る当該型の要素に関する制約を利用して、符号化結果の
データ長を圧縮する。
106(符号化対象の入力データ)が入力されるに従っ
て、構文解析木保持部104によって保持されている構
文解析木105を構文解析木走査部101が走査し、構
文解析木105のノードの第1フィールドに示されてい
る当該要素の型に従った符号化を行なう。符号化を行な
う際に、構文解析木のノードの第3フィールドに示され
る当該型の要素に関する制約を利用して、符号化結果の
データ長を圧縮する。
【0081】復号化を行なう場合は、ASN.1転送構
文107(復号化対象の入力データ)が入力されるに従
って、構文解析木保持部104によって保持されている
構文解析木105を構文解析木走査部101が走査し、
構文解析木105のノードの第1フィールドに示されて
いる当該要素の型に従った復号化を行なう。復号化を行
なう際に、構文解析木のノードの第3フィールドに示さ
れる当該型の要素に関する制約を利用して、復号化対象
のデータがどのような圧縮形式で圧縮されているかを判
断し、当該要素の値として復号化する。
文107(復号化対象の入力データ)が入力されるに従
って、構文解析木保持部104によって保持されている
構文解析木105を構文解析木走査部101が走査し、
構文解析木105のノードの第1フィールドに示されて
いる当該要素の型に従った復号化を行なう。復号化を行
なう際に、構文解析木のノードの第3フィールドに示さ
れる当該型の要素に関する制約を利用して、復号化対象
のデータがどのような圧縮形式で圧縮されているかを判
断し、当該要素の値として復号化する。
【0082】ケース1の例として、INTEGER型の
要素を符号化する場合の処理の流れ図を図6に示す。I
NTEGER型の値を符号化する場合は、構文解析木走
査部101が、構文解析木105の当該ノードを走査
し、第3フィールドを検査する(ステップ601)。制
約がない場合は、値を符号化するのに必要なオクテット
数を長さフィールドとして符号化し、値そのものを値フ
ィールドして符号化して終了する(ステップ606,6
07)。制約がある場合は、取り得る値の上限と下限が
一致するかどうかを検査する(ステップ602)。一致
する場合は、何も出力せずに終了する(ステップ60
8)。一致しない場合は、取り得る値の上限と下限がい
ずれも定められているかどうかを検査する(ステップ6
03)。定められている場合は、取り得る値の下限から
のオフセット値を値フィールドとして符号化して終了す
る(ステップ609)。定められていない場合は、取り
得る値の下限からのオフセット値を符号化するのに必要
なオクテット数を長さフィールドとして符号化し、オフ
セット値を値フィールドとして符号化して終了する(ス
テップ604,0605)。
要素を符号化する場合の処理の流れ図を図6に示す。I
NTEGER型の値を符号化する場合は、構文解析木走
査部101が、構文解析木105の当該ノードを走査
し、第3フィールドを検査する(ステップ601)。制
約がない場合は、値を符号化するのに必要なオクテット
数を長さフィールドとして符号化し、値そのものを値フ
ィールドして符号化して終了する(ステップ606,6
07)。制約がある場合は、取り得る値の上限と下限が
一致するかどうかを検査する(ステップ602)。一致
する場合は、何も出力せずに終了する(ステップ60
8)。一致しない場合は、取り得る値の上限と下限がい
ずれも定められているかどうかを検査する(ステップ6
03)。定められている場合は、取り得る値の下限から
のオフセット値を値フィールドとして符号化して終了す
る(ステップ609)。定められていない場合は、取り
得る値の下限からのオフセット値を符号化するのに必要
なオクテット数を長さフィールドとして符号化し、オフ
セット値を値フィールドとして符号化して終了する(ス
テップ604,0605)。
【0083】次に、INTEGER型の要素を復号化す
る場合の処理の流れ図を図7に示す。INTEGER型
の値を復号化する場合は、構文解析木走査部101が、
構文解析木105の当該ノードを走査し、第3フィール
ドを検査する(ステップ701)。
る場合の処理の流れ図を図7に示す。INTEGER型
の値を復号化する場合は、構文解析木走査部101が、
構文解析木105の当該ノードを走査し、第3フィール
ドを検査する(ステップ701)。
【0084】制約がない場合は、長さフィールドを読み
込み、値フィールドのオクテット数nを求める(ステッ
プ707)。次に入力データをnオクテットだけ読み込
み、これを復号化してINTEGER型の値として出力
する(ステップ708,709)。制約がある場合は、
取り得る値の上限と下限が一致するかどうかを検査する
(ステップ702)。一致する場合は、取り得る値の上
限(これは下限でもある)の値をINTEGER型の値
として出力する(ステップ710)。一致しない場合
は、取り得る値の上限と下限がいずれも定められている
かどうかを検査する(ステップ703)。定められてい
る場合は、mビットまたはmオクテットだけ入力を読み
込み、これを復号化する(ここで、mの値およびビット
かオクテットかは、取り得る値の上限、下限より決定さ
れる。たとえば、下限が0で上限が15であればmは4
ビットであり、下限が0で上限が255であればmは1
オクテットとなる)(ステップ711)。次に、復号化
した値と取り得る値の下限との和をINTEGER型の
値として出力する(ステップ712)。定められていな
い場合は、長さフィールドを読み込み、値フィールドの
オクテット数nを求める(ステップ704)。次に、入
力データをnオクテットだけ読み込み、これを復号化す
る(ステップ705)。次に、復号化した値と取り得る
値の下限との和をINTEGER型の値として出力する
(ステップ706)。
込み、値フィールドのオクテット数nを求める(ステッ
プ707)。次に入力データをnオクテットだけ読み込
み、これを復号化してINTEGER型の値として出力
する(ステップ708,709)。制約がある場合は、
取り得る値の上限と下限が一致するかどうかを検査する
(ステップ702)。一致する場合は、取り得る値の上
限(これは下限でもある)の値をINTEGER型の値
として出力する(ステップ710)。一致しない場合
は、取り得る値の上限と下限がいずれも定められている
かどうかを検査する(ステップ703)。定められてい
る場合は、mビットまたはmオクテットだけ入力を読み
込み、これを復号化する(ここで、mの値およびビット
かオクテットかは、取り得る値の上限、下限より決定さ
れる。たとえば、下限が0で上限が15であればmは4
ビットであり、下限が0で上限が255であればmは1
オクテットとなる)(ステップ711)。次に、復号化
した値と取り得る値の下限との和をINTEGER型の
値として出力する(ステップ712)。定められていな
い場合は、長さフィールドを読み込み、値フィールドの
オクテット数nを求める(ステップ704)。次に、入
力データをnオクテットだけ読み込み、これを復号化す
る(ステップ705)。次に、復号化した値と取り得る
値の下限との和をINTEGER型の値として出力する
(ステップ706)。
【0085】INTEGER型の要素を実際に符号化お
よび復号化した例を図8に示す。
よび復号化した例を図8に示す。
【0086】ケース2(SEQUENCE型またはSE
T型を扱う場合)。
T型を扱う場合)。
【0087】符号化を行なう場合の処理の流れ図を図9
に示す。ASN.1値記法106(符号化対象の入力デ
ータ)が入力されると、まだ符号化されていない要素が
あるかどうかを検査する(ステップ901)。未符号化
の要素がなければ、プリアンブルの後に、各要素の符号
化結果を連結したものを、SEQUENCE型またはS
ET型の符号化結果として出力する(ステップ90
6)。未符号化の要素があれば、構文解析木走査部10
1は構文解析木105の次のノードを走査する(ステッ
プ902)。次に、構文解析木走査部101は当該要素
がOPTIONAL指定またはDEFAULT指定され
ているかどうかを検査する(ステップ903)。
に示す。ASN.1値記法106(符号化対象の入力デ
ータ)が入力されると、まだ符号化されていない要素が
あるかどうかを検査する(ステップ901)。未符号化
の要素がなければ、プリアンブルの後に、各要素の符号
化結果を連結したものを、SEQUENCE型またはS
ET型の符号化結果として出力する(ステップ90
6)。未符号化の要素があれば、構文解析木走査部10
1は構文解析木105の次のノードを走査する(ステッ
プ902)。次に、構文解析木走査部101は当該要素
がOPTIONAL指定またはDEFAULT指定され
ているかどうかを検査する(ステップ903)。
【0088】OPTIONAL指定またはDEFAUL
T指定されていなければ、構文解析木走査部101は、
当該ノードが未符号化の要素に対応するノードであるか
どうかを検査する(ステップ904)。対応するノード
でなければ、ステップ901に戻る。
T指定されていなければ、構文解析木走査部101は、
当該ノードが未符号化の要素に対応するノードであるか
どうかを検査する(ステップ904)。対応するノード
でなければ、ステップ901に戻る。
【0089】対応するノードであれば、当該要素を符号
化し(ステップ905)、ステップ901に戻る。ステ
ップ903において、当該要素がOPTIONAL指定
またはDEFAULT指定されていれば、構文解析木走
査部101はプリアンブル処理部102に指示を出し、
プリアンブル処理部102は1ビットのフィールドを生
成し、現存のプリアンブルの最後尾に連結する(ステッ
プ907)。次に、構文解析木走査部101は、当該ノ
ードが未符号化の要素に対応するノードであるかを検査
する(ステップ908)。対応するノードでなければ、
構文解析木走査部101はプリアンブル処理部102に
指示を出し、プリアンブル処理部102は生成したフィ
ールドの内容を’0’’にし(ステップ911)、ステ
ップ901に戻る。対応するノードであれば、構文解析
木走査部101はプリアンブル処理部102に指示を出
し、プリアンブル処理部102は生成したフィールドの
内容を’1’にし(ステップ909)、構文解析木走査
部101は当該要素を符号化し(ステップ910)、ス
テップ901に戻る。
化し(ステップ905)、ステップ901に戻る。ステ
ップ903において、当該要素がOPTIONAL指定
またはDEFAULT指定されていれば、構文解析木走
査部101はプリアンブル処理部102に指示を出し、
プリアンブル処理部102は1ビットのフィールドを生
成し、現存のプリアンブルの最後尾に連結する(ステッ
プ907)。次に、構文解析木走査部101は、当該ノ
ードが未符号化の要素に対応するノードであるかを検査
する(ステップ908)。対応するノードでなければ、
構文解析木走査部101はプリアンブル処理部102に
指示を出し、プリアンブル処理部102は生成したフィ
ールドの内容を’0’’にし(ステップ911)、ステ
ップ901に戻る。対応するノードであれば、構文解析
木走査部101はプリアンブル処理部102に指示を出
し、プリアンブル処理部102は生成したフィールドの
内容を’1’にし(ステップ909)、構文解析木走査
部101は当該要素を符号化し(ステップ910)、ス
テップ901に戻る。
【0090】復号化を行なう場合の処理の流れ図を図1
0に示す。ASN.1転送構文107(復号化対象の入
力データ)が入力されると、まずプリアンブルフィール
ドを読み込み、プリアンブル処理部102内のプリアン
ブルバッファにプリアンブルフィールドを格納する(ス
テップ1001)。次に、プリアンブルフィールド内で
のビット位置を示す変数iを0に初期化する(ステップ
1002)。次に、まだ復号化されていない要素がある
かどうかを検査する(ステップ1003)。未復号化の
要素がなければ、各要素の復号化結果を出力する(ステ
ップ1009)。未復号化の要素があれば、構文解析木
走査部101は構文解析木105の次のノードを走査す
る(ステップ1004)。次に、構文解析木走査部10
1は、構文解析木105のノードの第4フィールドを調
べ、当該ノードに対応する要素がOPTIONAL指定
またはDEFAULT指定されているかどうかを検査す
る(ステップ1005)。OPTIONAL指定または
DEFAULT指定されていなければ、構文解析木走査
部101は当該要素を復号化し(ステップ1010)、
ステップ1003に戻る。OPTIONAL指定または
DEFAULT指定されていれば、プリアンブル処理部
102はプリアンブルフィールドのiビット目が’1’
であるかどうかを検査する(ステップ1006)。’
1’でなければ、iの値に1を加え(ステップ100
8)、ステップ1003に戻る。’1’であれば、プリ
アンブル処理部102は構文解析木走査部101に指示
を出し、構文解析木走査部101は当該要素を復号化す
る(ステップ1007)。この後、iの値に1を加え
(ステップ1008)、ステップ1003に戻る。
0に示す。ASN.1転送構文107(復号化対象の入
力データ)が入力されると、まずプリアンブルフィール
ドを読み込み、プリアンブル処理部102内のプリアン
ブルバッファにプリアンブルフィールドを格納する(ス
テップ1001)。次に、プリアンブルフィールド内で
のビット位置を示す変数iを0に初期化する(ステップ
1002)。次に、まだ復号化されていない要素がある
かどうかを検査する(ステップ1003)。未復号化の
要素がなければ、各要素の復号化結果を出力する(ステ
ップ1009)。未復号化の要素があれば、構文解析木
走査部101は構文解析木105の次のノードを走査す
る(ステップ1004)。次に、構文解析木走査部10
1は、構文解析木105のノードの第4フィールドを調
べ、当該ノードに対応する要素がOPTIONAL指定
またはDEFAULT指定されているかどうかを検査す
る(ステップ1005)。OPTIONAL指定または
DEFAULT指定されていなければ、構文解析木走査
部101は当該要素を復号化し(ステップ1010)、
ステップ1003に戻る。OPTIONAL指定または
DEFAULT指定されていれば、プリアンブル処理部
102はプリアンブルフィールドのiビット目が’1’
であるかどうかを検査する(ステップ1006)。’
1’でなければ、iの値に1を加え(ステップ100
8)、ステップ1003に戻る。’1’であれば、プリ
アンブル処理部102は構文解析木走査部101に指示
を出し、構文解析木走査部101は当該要素を復号化す
る(ステップ1007)。この後、iの値に1を加え
(ステップ1008)、ステップ1003に戻る。
【0091】SEQUENCE型の要素を実際に符号化
および復号化した例を、図11に示す。
および復号化した例を、図11に示す。
【0092】ケース3(CHOICE型を扱う場合)。
【0093】符号化を行なう場合の処理の流れ図を図1
2に示す。ASN.1値記法106(符号化対象の入力
データ)が入力されると、構文解析木走査部101は当
該ノードが入力された要素に対応するノードであるかど
うかを検査する(ステップ1201)。対応するノード
でなければ、構文解析木走査部101はインデックス処
理部103に指示を出し、インデックス処理部103は
インデックス値に1を加える(ステップ1202)。次
に構文解析木走査部101は構文解析木105の次のノ
ードを走査する(ステップ1203)。ステップ120
1において、対応するノードである場合は、構文解析木
処理部101はインデックス処理部103に指示を出
し、インデックス処理部103は、現在のインデックス
値を符号化する(ステップ1204)。次に構文解析木
走査部101は当該要素を符号化し、インデックス値の
符号化結果と当該要素の符号化結果を連結しCHOIC
E型の符号化結果として出力する(ステップ120
5)。
2に示す。ASN.1値記法106(符号化対象の入力
データ)が入力されると、構文解析木走査部101は当
該ノードが入力された要素に対応するノードであるかど
うかを検査する(ステップ1201)。対応するノード
でなければ、構文解析木走査部101はインデックス処
理部103に指示を出し、インデックス処理部103は
インデックス値に1を加える(ステップ1202)。次
に構文解析木走査部101は構文解析木105の次のノ
ードを走査する(ステップ1203)。ステップ120
1において、対応するノードである場合は、構文解析木
処理部101はインデックス処理部103に指示を出
し、インデックス処理部103は、現在のインデックス
値を符号化する(ステップ1204)。次に構文解析木
走査部101は当該要素を符号化し、インデックス値の
符号化結果と当該要素の符号化結果を連結しCHOIC
E型の符号化結果として出力する(ステップ120
5)。
【0094】復号化を行なう場合の処理の流れ図を図1
3に示す。ASN.1転送構文107(復号化対象の入
力データ)が入力されると、まずインデックスフィール
ドを読み込み、インデックス処理部103内のインデッ
クスバッファにインデックスフィールドを格納する(ス
テップ1301)。次に、読み込んだインデックスフィ
ールドからインデックスを復号化し、インデックス値を
求める(ステップ1302)。次に、一時的にインデッ
クス値を示す変数iをに初期化する(ステップ130
3)。次に、構文解析木走査部101は、構文解析木1
05の次のノードを走査する(ステップ1304)。イ
ンデックス処理部103が、iとインデックス値が等し
いかどうかを検査する(ステップ1305)。等しくな
ければ、iの値に1を加え(ステップ1306)、ステ
ップ1304に戻る。等しければ、インデックス処理部
103は構文解析木走査部101に指示を出し、構文解
析木走査部101は当該要素を復号化する(ステップ1
307)。
3に示す。ASN.1転送構文107(復号化対象の入
力データ)が入力されると、まずインデックスフィール
ドを読み込み、インデックス処理部103内のインデッ
クスバッファにインデックスフィールドを格納する(ス
テップ1301)。次に、読み込んだインデックスフィ
ールドからインデックスを復号化し、インデックス値を
求める(ステップ1302)。次に、一時的にインデッ
クス値を示す変数iをに初期化する(ステップ130
3)。次に、構文解析木走査部101は、構文解析木1
05の次のノードを走査する(ステップ1304)。イ
ンデックス処理部103が、iとインデックス値が等し
いかどうかを検査する(ステップ1305)。等しくな
ければ、iの値に1を加え(ステップ1306)、ステ
ップ1304に戻る。等しければ、インデックス処理部
103は構文解析木走査部101に指示を出し、構文解
析木走査部101は当該要素を復号化する(ステップ1
307)。
【0095】CHOICE型の要素を実際に符号化およ
び復号化した例を図14に示す。
び復号化した例を図14に示す。
【0096】
【実施例】本実施の形態のメッセージ処理装置10によ
って、具体的にメッセージがどのように符号化および復
号化されるかを説明するために、図15のASN.1抽
象構文によって構造が定義された図16のASN.1値
記法で示されるメッセージを符号化する場合を考える。
符号化規則としては、ISOによって標準化されている
PERに従うことを前提としている。図15のASN.
1抽象構文は、Example2というメッセージの構
造を定義しており、Example2というメッセージ
がSEQUENCE型であり、id,subid,le
ngth,header,contentおよびtra
ilerという6つの要素の系列であることを示してい
る。また、id,subidおよびlengthはIN
TEGER型、headerはCHOICE型、con
tentはSEQUENCE型、trailerはOC
TETSTRING型である。図17は、図15のAS
N.1抽象構文から生成された構文解析木である。以
下、各ステップごとに説明する。
って、具体的にメッセージがどのように符号化および復
号化されるかを説明するために、図15のASN.1抽
象構文によって構造が定義された図16のASN.1値
記法で示されるメッセージを符号化する場合を考える。
符号化規則としては、ISOによって標準化されている
PERに従うことを前提としている。図15のASN.
1抽象構文は、Example2というメッセージの構
造を定義しており、Example2というメッセージ
がSEQUENCE型であり、id,subid,le
ngth,header,contentおよびtra
ilerという6つの要素の系列であることを示してい
る。また、id,subidおよびlengthはIN
TEGER型、headerはCHOICE型、con
tentはSEQUENCE型、trailerはOC
TETSTRING型である。図17は、図15のAS
N.1抽象構文から生成された構文解析木である。以
下、各ステップごとに説明する。
【0097】ステップ1(1601までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
1を走査し、入力されたメッセージExample2が
SEQUENCE型であることを検知する。出力データ
としてはまだ何も生成しない。図18はステップ1が終
了した時点でのメッセージ処理装置10の内部状態およ
び出力を示す。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
1を走査し、入力されたメッセージExample2が
SEQUENCE型であることを検知する。出力データ
としてはまだ何も生成しない。図18はステップ1が終
了した時点でのメッセージ処理装置10の内部状態およ
び出力を示す。
【0098】ステップ2(1602までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
2を走査し、入力された要素idがINTEGER型で
あり、取り得る値の範囲が0以上かつ1023以下に制
限されていることを検知する。取り得る値の範囲が10
24であるので、idの値3は2オクテットのフィール
ド’0003’(16進)に符号化され、構文解析木走
査部101内の番号0の出力バッファ内に格納される。
出力データとしてはまだ何も生成しない。図19はステ
ップ2が終了した時点でのメッセージ処理装置10の内
部状態および出力を示す。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
2を走査し、入力された要素idがINTEGER型で
あり、取り得る値の範囲が0以上かつ1023以下に制
限されていることを検知する。取り得る値の範囲が10
24であるので、idの値3は2オクテットのフィール
ド’0003’(16進)に符号化され、構文解析木走
査部101内の番号0の出力バッファ内に格納される。
出力データとしてはまだ何も生成しない。図19はステ
ップ2が終了した時点でのメッセージ処理装置10の内
部状態および出力を示す。
【0099】ステップ3(1603までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
3を走査し、subidがINTEGER型であり、取
り得る値の範囲が0以上かつ1023以下に制限されて
おり、かつOPTIONAL指定されていることを検知
する。ここで構文解析木走査部101はプリアンブル処
理部102に指示を出し、プリアンブル処理部102
は、プリアンブル処理部102内の番号0のプリアンブ
ルバッファに長さ1ビットのビットフィールドを生成す
る。ここで、入力された要素はlengthである(s
ubidではない)ので、構文解析木走査部101は、
プリアンブル処理部102に指示を出し、プリアンブル
処理部102は、生成したビットフィールドの内容を’
0’にする。次に構文解析木走査部101は、構文解析
木のノード1704を走査し、入力された要素leng
thがINTEGER型であり、取り得る値の範囲が0
以上かつ255以下に制限されていることを検知する。
取り得る値の範囲が256であるので、lengthの
値4は1オクテットのフィールド’04’(16進)に
符号化され、構文解析木走査部101内の番号0の出力
バッファ内に格納されているフィールドに連結される。
出力データとしてはまだ何も生成しない。図20はステ
ップ3が終了した時点でのメッセージ処理装置10の内
部状態および出力を示す(図20中では、紙面の都合上
連結されているフィールドを点線で結んで示してい
る)。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
3を走査し、subidがINTEGER型であり、取
り得る値の範囲が0以上かつ1023以下に制限されて
おり、かつOPTIONAL指定されていることを検知
する。ここで構文解析木走査部101はプリアンブル処
理部102に指示を出し、プリアンブル処理部102
は、プリアンブル処理部102内の番号0のプリアンブ
ルバッファに長さ1ビットのビットフィールドを生成す
る。ここで、入力された要素はlengthである(s
ubidではない)ので、構文解析木走査部101は、
プリアンブル処理部102に指示を出し、プリアンブル
処理部102は、生成したビットフィールドの内容を’
0’にする。次に構文解析木走査部101は、構文解析
木のノード1704を走査し、入力された要素leng
thがINTEGER型であり、取り得る値の範囲が0
以上かつ255以下に制限されていることを検知する。
取り得る値の範囲が256であるので、lengthの
値4は1オクテットのフィールド’04’(16進)に
符号化され、構文解析木走査部101内の番号0の出力
バッファ内に格納されているフィールドに連結される。
出力データとしてはまだ何も生成しない。図20はステ
ップ3が終了した時点でのメッセージ処理装置10の内
部状態および出力を示す(図20中では、紙面の都合上
連結されているフィールドを点線で結んで示してい
る)。
【0100】ステップ4(1604までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
5を走査し、次に符号化する値はCHOICE型である
ことを検知する。次に構文解析木走査部101は、構文
解析木のノード1706を走査し、content−n
ameがPrintable String型であるこ
とを検知する。入力された要素はcontent−na
meではないので、構文解析木走査部101は、インデ
ックス処理部103に指示を出し、インデックス処理部
103は番号0のインデックスバッファの内容に1を加
えて1とする。次に構文解析木走査部101は、構文解
析木のノード1707を走査し、入力された要素con
tent−typeがINTEGER型であり、取り得
る値の範囲が0以上かつ15以下に制限されていること
を検知する。取り得る値の範囲が16であるので、co
ntent−typeの値4は4ビットのフィールド’
0100’(2進)に符号化される。また、構文解析木
走査部101は、インデックス処理部103に現在のイ
ンデックス値を符号化するように指示し、インデックス
処理部103は、現在のインデックス値1を1ビットの
フィールド’1’(2進)に符号化する。インデックス
の符号化結果と値の符号化結果を連結したフィールド’
10100’(2進)が生成され、構文解析木走査部1
01の出力バッファ内に格納されているフィールドに連
結される。インデックス処理部103内のインデックス
値は0にクリアされる。出力データとしてはまだ何も生
成しない。図21はステップ4が終了した時点でのメッ
セージ処理装置10の内部状態および出力を示す(図2
1中では、紙面の都合上連結されているフィールドを点
線で結んで示している)。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
5を走査し、次に符号化する値はCHOICE型である
ことを検知する。次に構文解析木走査部101は、構文
解析木のノード1706を走査し、content−n
ameがPrintable String型であるこ
とを検知する。入力された要素はcontent−na
meではないので、構文解析木走査部101は、インデ
ックス処理部103に指示を出し、インデックス処理部
103は番号0のインデックスバッファの内容に1を加
えて1とする。次に構文解析木走査部101は、構文解
析木のノード1707を走査し、入力された要素con
tent−typeがINTEGER型であり、取り得
る値の範囲が0以上かつ15以下に制限されていること
を検知する。取り得る値の範囲が16であるので、co
ntent−typeの値4は4ビットのフィールド’
0100’(2進)に符号化される。また、構文解析木
走査部101は、インデックス処理部103に現在のイ
ンデックス値を符号化するように指示し、インデックス
処理部103は、現在のインデックス値1を1ビットの
フィールド’1’(2進)に符号化する。インデックス
の符号化結果と値の符号化結果を連結したフィールド’
10100’(2進)が生成され、構文解析木走査部1
01の出力バッファ内に格納されているフィールドに連
結される。インデックス処理部103内のインデックス
値は0にクリアされる。出力データとしてはまだ何も生
成しない。図21はステップ4が終了した時点でのメッ
セージ処理装置10の内部状態および出力を示す(図2
1中では、紙面の都合上連結されているフィールドを点
線で結んで示している)。
【0101】ステップ5(1605までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
8を走査し、入力された要素contentがSEQU
ENCE型であることを検知する。出力データとしては
まだ何も生成しない。図22はステップ5が終了した時
点でのメッセージ処理装置10の内部状態および出力を
示す(図22中では、紙面の都合上連結されているフィ
ールドを点線で結んで示している)。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
8を走査し、入力された要素contentがSEQU
ENCE型であることを検知する。出力データとしては
まだ何も生成しない。図22はステップ5が終了した時
点でのメッセージ処理装置10の内部状態および出力を
示す(図22中では、紙面の都合上連結されているフィ
ールドを点線で結んで示している)。
【0102】ステップ6(1606までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
9を走査し、入力された要素nameがPrintab
le String型であることを検知する。name
の値"foo"は、3オクテットのフィールド’666F
6F’(16進)に符号化される。また、要素name
には制約が付いていないので、長さを符号化する必要が
あるため、長さ3が1オクテットのフィールド’03’
(16進)に符号化される。長さの符号化結果および値
の符号化結果を連結したフィールド’03666F6
F’(16進)が構文解析木走査部101の番号1の出
力バッファ内に格納される。図23はステップ6が終了
した時点でのメッセージ処理装置10の内部状態および
出力を示す(図23中では、紙面の都合上連結されてい
るフィールドを点線で結んで示している)。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
9を走査し、入力された要素nameがPrintab
le String型であることを検知する。name
の値"foo"は、3オクテットのフィールド’666F
6F’(16進)に符号化される。また、要素name
には制約が付いていないので、長さを符号化する必要が
あるため、長さ3が1オクテットのフィールド’03’
(16進)に符号化される。長さの符号化結果および値
の符号化結果を連結したフィールド’03666F6
F’(16進)が構文解析木走査部101の番号1の出
力バッファ内に格納される。図23はステップ6が終了
した時点でのメッセージ処理装置10の内部状態および
出力を示す(図23中では、紙面の都合上連結されてい
るフィールドを点線で結んで示している)。
【0103】ステップ7(1607までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード171
0を走査し、入力された要素ageがINTEGER型
であり、取り得る値の範囲が0以上に制限されているこ
とを検知する。取り得る値の範囲が0以上に制限されて
いるので、0からageの値26までのオフセット26
を1オクテットのフィールド’1A’(16進)に符号
化する。また、0以上という値の範囲の制限では、値を
符号化するのに必要な最大のオクテット数を確定するこ
とができないため、長さを符号化する必要がある。長さ
1が1オクテットのフィールド’01’に符号化され
る。長さの符号化結果と値の符号化結果を連結したフィ
ールド’011A’(16進)が生成され、構文解析木
走査部101の番号1の出力バッファ内に格納されてい
るフィールドに連結される。出力データとしてはまだ何
も生成しない。図24はステップ7が終了した時点での
メッセージ処理装置10の内部状態および出力を示す
(図24中では、紙面の都合上連結されているフィール
ドを点線で結んで示している)。
け取った時点) 構文解析木走査部101は、構文解析木のノード171
0を走査し、入力された要素ageがINTEGER型
であり、取り得る値の範囲が0以上に制限されているこ
とを検知する。取り得る値の範囲が0以上に制限されて
いるので、0からageの値26までのオフセット26
を1オクテットのフィールド’1A’(16進)に符号
化する。また、0以上という値の範囲の制限では、値を
符号化するのに必要な最大のオクテット数を確定するこ
とができないため、長さを符号化する必要がある。長さ
1が1オクテットのフィールド’01’に符号化され
る。長さの符号化結果と値の符号化結果を連結したフィ
ールド’011A’(16進)が生成され、構文解析木
走査部101の番号1の出力バッファ内に格納されてい
るフィールドに連結される。出力データとしてはまだ何
も生成しない。図24はステップ7が終了した時点での
メッセージ処理装置10の内部状態および出力を示す
(図24中では、紙面の都合上連結されているフィール
ドを点線で結んで示している)。
【0104】ステップ8(1608までメッセージを受
け取った時点) 構文解析木走査部101は、ノード1708を根とする
部分木の走査をすべて終えたことを検知し(SEQUE
NCE型の要素contentに含まれる要素の符号化
を終えたことになる)、構文解析木走査部101の番号
1の出力バッファに格納されているフィールドを番号0
の出力バッファに格納されているフィールドに連結し、
番号1の出力バッファの内容をクリアする。フィールド
を連結する際に、オクテット境界にフィールドをそろえ
るためのパディングを行なう。図25はステップ8が終
了した時点でのメッセージ処理装置10の内部状態およ
び出力を示す(図25中では、紙面の都合上連結されて
いるフィールドを点線で結んで示している)。
け取った時点) 構文解析木走査部101は、ノード1708を根とする
部分木の走査をすべて終えたことを検知し(SEQUE
NCE型の要素contentに含まれる要素の符号化
を終えたことになる)、構文解析木走査部101の番号
1の出力バッファに格納されているフィールドを番号0
の出力バッファに格納されているフィールドに連結し、
番号1の出力バッファの内容をクリアする。フィールド
を連結する際に、オクテット境界にフィールドをそろえ
るためのパディングを行なう。図25はステップ8が終
了した時点でのメッセージ処理装置10の内部状態およ
び出力を示す(図25中では、紙面の都合上連結されて
いるフィールドを点線で結んで示している)。
【0105】ステップ9(1609までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード171
1を走査し、入力された要素trailerがOCTE
T STRING型であり、値の長さの範囲が0以上か
つ15以下に制限されており、OPTIONAL指定さ
れていることを検知する。ここで、構文解析木走査部1
01は、プリアンブル処理部102に指示を出し、プリ
アンブル処理部102は長さ1ビットのビットフィール
ドを生成し、番号0のプリアンブルバッファ内のビット
フィールドに連結する。入力された要素はtraile
rであるので、構文解析木走査部101はプリアンブル
処理部102に指示を出し、プリアンブル処理部102
は、生成したビットフィールドの内容を’1’にする。
次に、構文解析木走査部101は、値ABCD’Hを2
オクテットのフィールド’ABCD’(16進)に符号
化する。ここで、値の長さの範囲が16であるので、長
さを符号化する必要がある。長さ2が1オクテットのフ
ィールド’02’(16進)に符号化される。長さの符
号化結果と値の符号化結果を連結したフィールド’02
ABCD’(16進)が生成され、構文解析木走査部1
01の番号0の出力バッファ内に格納されているフィー
ルドに連結される。出力データとしてはまだ何も生成し
ない。図26はステップ9が終了した時点でのメッセー
ジ処理装置10の内部状態および出力を示す(図26中
では、紙面の都合上連結されているフィールドを点線で
結んで示している)。
け取った時点) 構文解析木走査部101は、構文解析木のノード171
1を走査し、入力された要素trailerがOCTE
T STRING型であり、値の長さの範囲が0以上か
つ15以下に制限されており、OPTIONAL指定さ
れていることを検知する。ここで、構文解析木走査部1
01は、プリアンブル処理部102に指示を出し、プリ
アンブル処理部102は長さ1ビットのビットフィール
ドを生成し、番号0のプリアンブルバッファ内のビット
フィールドに連結する。入力された要素はtraile
rであるので、構文解析木走査部101はプリアンブル
処理部102に指示を出し、プリアンブル処理部102
は、生成したビットフィールドの内容を’1’にする。
次に、構文解析木走査部101は、値ABCD’Hを2
オクテットのフィールド’ABCD’(16進)に符号
化する。ここで、値の長さの範囲が16であるので、長
さを符号化する必要がある。長さ2が1オクテットのフ
ィールド’02’(16進)に符号化される。長さの符
号化結果と値の符号化結果を連結したフィールド’02
ABCD’(16進)が生成され、構文解析木走査部1
01の番号0の出力バッファ内に格納されているフィー
ルドに連結される。出力データとしてはまだ何も生成し
ない。図26はステップ9が終了した時点でのメッセー
ジ処理装置10の内部状態および出力を示す(図26中
では、紙面の都合上連結されているフィールドを点線で
結んで示している)。
【0106】ステップ10(1610までメッセージを
受け取った時点) 構文解析木走査部101は、構文解析木の走査をすべて
終えたことを検知し、プリアンブル処理部102の番号
0のプリアンブルバッファに格納されているフィールド
と構文解析木走査部101の番号0の出力バッファに格
納されているフィールドを連結し、出力する。また、構
文解析木走査部101の番号0の出力バッファおよびプ
リアンブル処理部102の番号0のプリアンブルバッフ
ァの内容をクリアする。フィールドを連結する際に、オ
クテット境界にフィールドをそろえるためのパディング
を行なう。図27はステップ10が終了した時点でのメ
ッセージ処理装置10の内部状態および出力を示す(図
27中では、紙面の都合上連結されているフィールドを
点線で結んで示している)。
受け取った時点) 構文解析木走査部101は、構文解析木の走査をすべて
終えたことを検知し、プリアンブル処理部102の番号
0のプリアンブルバッファに格納されているフィールド
と構文解析木走査部101の番号0の出力バッファに格
納されているフィールドを連結し、出力する。また、構
文解析木走査部101の番号0の出力バッファおよびプ
リアンブル処理部102の番号0のプリアンブルバッフ
ァの内容をクリアする。フィールドを連結する際に、オ
クテット境界にフィールドをそろえるためのパディング
を行なう。図27はステップ10が終了した時点でのメ
ッセージ処理装置10の内部状態および出力を示す(図
27中では、紙面の都合上連結されているフィールドを
点線で結んで示している)。
【0107】本実施の形態のメッセージ処理装置10に
よって最終的に得られる符号化結果を図28に示す(図
28中では、紙面の都合上連結されているフィールドを
点線で結んで示している)。
よって最終的に得られる符号化結果を図28に示す(図
28中では、紙面の都合上連結されているフィールドを
点線で結んで示している)。
【0108】次に、図28のASN.1転送構文で示さ
れるメッセージを復号化する場合を考える。以下、各ス
テップごとに説明する。
れるメッセージを復号化する場合を考える。以下、各ス
テップごとに説明する。
【0109】ステップ1(2801までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
1を走査し、Example2がSEQUENCE型で
あることを検知する。プリアンブル処理部102は、プ
リアンブルフィールド’01’(2進)を読み込み、プ
リアンブル処理部102内の番号0のプリアンブルバッ
ファ内に格納し、プリアンブルフィールド内のビット位
置を示す変数iを0に初期化する。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
1を走査し、Example2がSEQUENCE型で
あることを検知する。プリアンブル処理部102は、プ
リアンブルフィールド’01’(2進)を読み込み、プ
リアンブル処理部102内の番号0のプリアンブルバッ
ファ内に格納し、プリアンブルフィールド内のビット位
置を示す変数iを0に初期化する。
【0110】ステップ2(2802までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
2を走査し、idがINTEGER型であり、取り得る
値の範囲が0以上かつ1023以下に制限されているこ
とを検知する。取り得る値の範囲が1024であるの
で、構文解析木走査部101は、さらに2オクテット分
の入力データ’0003’(16進)を読み込み、これ
を復号化して値3を得る。取り得る値の下限は0である
ので、0と3を加えた値3をidの値として出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
2を走査し、idがINTEGER型であり、取り得る
値の範囲が0以上かつ1023以下に制限されているこ
とを検知する。取り得る値の範囲が1024であるの
で、構文解析木走査部101は、さらに2オクテット分
の入力データ’0003’(16進)を読み込み、これ
を復号化して値3を得る。取り得る値の下限は0である
ので、0と3を加えた値3をidの値として出力する。
【0111】ステップ3(2803までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
3を走査し、subidがINTEGER型であり、取
り得る値の範囲が0以上かつ1023以下に制限されて
おり、かつOPTIONAL指定されていることを検知
する。ここでプリアンブル処理部102は、プリアンブ
ルフィールドのiビット目を検査し、これが’0’であ
ることを検知する。プリアンブル処理部102は、構文
解析木走査部101に次のノードを走査するよう指示す
る。また、iの値に1を加えて1とする。構文解析木走
査部101は、構文解析木のノード1704を走査し、
lengthがINTEGER型であり、取り得る値の
範囲が0以上かつ255以下に制限されていることを検
知する。取り得る値の範囲が256であるので、構文解
析木走査部101は、さらに1オクテット分の入力デー
タ’04’(16進)を読み込み、これを復号化して値
4を得る。取り得る値の下限は0であるので、0と4を
加えた値4をlengthの値として出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
3を走査し、subidがINTEGER型であり、取
り得る値の範囲が0以上かつ1023以下に制限されて
おり、かつOPTIONAL指定されていることを検知
する。ここでプリアンブル処理部102は、プリアンブ
ルフィールドのiビット目を検査し、これが’0’であ
ることを検知する。プリアンブル処理部102は、構文
解析木走査部101に次のノードを走査するよう指示す
る。また、iの値に1を加えて1とする。構文解析木走
査部101は、構文解析木のノード1704を走査し、
lengthがINTEGER型であり、取り得る値の
範囲が0以上かつ255以下に制限されていることを検
知する。取り得る値の範囲が256であるので、構文解
析木走査部101は、さらに1オクテット分の入力デー
タ’04’(16進)を読み込み、これを復号化して値
4を得る。取り得る値の下限は0であるので、0と4を
加えた値4をlengthの値として出力する。
【0112】ステップ4(2804までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
5を走査し、次に復号化する値はCHOICE型である
ことを検知する。インデックス処理部103は、インデ
ックスフィールド’1’(2進)を読み込み、これを復
号化してインデックス値1を取得する。また、インデッ
クスを一時的に保持する変数iを0に初期化する。構文
解析木走査部101は、構文解析木のノード1706を
走査し、content−nameがPrintabl
e String型であることを検知する。ここで、イ
ンデックス処理部103は、iとインデックス値を比較
するが、0と1で異なるので、構文解析木走査部101
に次のノードを走査するよう指示し、iに1を加えて1
とする。構文解析木走査部101は、構文解析木のノー
ド1707を走査し、content−typeがIN
TEGER型であり、取り得る値の範囲が0以上かつ1
5以下に制限されていることを検知する。ここで、イン
デックス処理部103は、iとインデックスを比較し
て、1と1で等しいので、構文解析木走査部101に値
を復号化するよう指示する。取り得る値の範囲が16で
あるので、構文解析木走査部101は、さらに4ビット
分の入力データ’0100’を読み込み、これを復号化
して値4を得る。取り得る値の下限が0であるので、0
と4を加えた値4をcontent−typeの値とし
て出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
5を走査し、次に復号化する値はCHOICE型である
ことを検知する。インデックス処理部103は、インデ
ックスフィールド’1’(2進)を読み込み、これを復
号化してインデックス値1を取得する。また、インデッ
クスを一時的に保持する変数iを0に初期化する。構文
解析木走査部101は、構文解析木のノード1706を
走査し、content−nameがPrintabl
e String型であることを検知する。ここで、イ
ンデックス処理部103は、iとインデックス値を比較
するが、0と1で異なるので、構文解析木走査部101
に次のノードを走査するよう指示し、iに1を加えて1
とする。構文解析木走査部101は、構文解析木のノー
ド1707を走査し、content−typeがIN
TEGER型であり、取り得る値の範囲が0以上かつ1
5以下に制限されていることを検知する。ここで、イン
デックス処理部103は、iとインデックスを比較し
て、1と1で等しいので、構文解析木走査部101に値
を復号化するよう指示する。取り得る値の範囲が16で
あるので、構文解析木走査部101は、さらに4ビット
分の入力データ’0100’を読み込み、これを復号化
して値4を得る。取り得る値の下限が0であるので、0
と4を加えた値4をcontent−typeの値とし
て出力する。
【0113】ステップ5(2805までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード170
8を走査し、contentがSEQUENCE型であ
ることを検知する。プリアンブルフィールドはないの
で、プリアンブル処理部はなにもしない。次に、構文解
析木走査部101は、構文解析木のノード1709を走
査し、nameがPrintableString型で
あることを検知する。要素nameには制約がないの
で、構文解析木走査部101はまず長さフィールド’0
3’(16進)を読み込んで、これを復号化して値3を
得る。したがって、値フィールドのオクテット数が3で
あることを検知する。構文解析木走査部101は、さら
に3オクテット分の入力データ’666F6F’(16
進)を読み込み、これを復号化して値"foo"を得る。
値"foo"をnameの値として出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード170
8を走査し、contentがSEQUENCE型であ
ることを検知する。プリアンブルフィールドはないの
で、プリアンブル処理部はなにもしない。次に、構文解
析木走査部101は、構文解析木のノード1709を走
査し、nameがPrintableString型で
あることを検知する。要素nameには制約がないの
で、構文解析木走査部101はまず長さフィールド’0
3’(16進)を読み込んで、これを復号化して値3を
得る。したがって、値フィールドのオクテット数が3で
あることを検知する。構文解析木走査部101は、さら
に3オクテット分の入力データ’666F6F’(16
進)を読み込み、これを復号化して値"foo"を得る。
値"foo"をnameの値として出力する。
【0114】ステップ6(2806までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード171
0を走査し、ageがINTEGER型であり、取り得
る値の範囲が0以上に制限されていることを検知する。
取り得る値の範囲が0以上に制限されているので、構文
解析木走査部101はまず長さフィールド’01’(1
6進)を読み込んで、これを復号化して値1を得る。し
たがって、値フィールドのオクテット数が1であること
を検知する。構文解析木走査部101は、さらに1オク
テット分の入力データ’1A’(16進)を読み込み、
これを復号化して値26を得る。取り得る値の範囲が0
以上であるので、0と26を加えた値26をageの値
として出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード171
0を走査し、ageがINTEGER型であり、取り得
る値の範囲が0以上に制限されていることを検知する。
取り得る値の範囲が0以上に制限されているので、構文
解析木走査部101はまず長さフィールド’01’(1
6進)を読み込んで、これを復号化して値1を得る。し
たがって、値フィールドのオクテット数が1であること
を検知する。構文解析木走査部101は、さらに1オク
テット分の入力データ’1A’(16進)を読み込み、
これを復号化して値26を得る。取り得る値の範囲が0
以上であるので、0と26を加えた値26をageの値
として出力する。
【0115】ステップ7(2807までメッセージを受
け取った時点) 構文解析木走査部101は、構文解析木のノード171
1を走査し、trailerがOCTET STRIN
G型であり、値の長さの範囲が0以上かつ15以下、に
制限されており、OPTIONAL指定されていること
を検知する。ここでプリアンブル処理部102は、プリ
アンブルフィールドのiビット目を検査し、これが’
1’であることを検知する。プリアンブル処理部102
は、構文解析木走査部101に値を復号化するよう指示
する。また、iの値に1を加えて2とする。取り得る値
の長さの範囲が0以上かつ15以下であるので、構文解
析木走査部101はまず長さフィールド’02’(16
進)を読み込んで、これを復号化して値2を得る。した
がって、値フィールドのオクテット数が2であることを
検知する。構文解析木走査部101は、さらに2オクテ
ット分の入力データ’ABCD’(16進)を読み込
み、これを復号化して値ABCD’Hを得る。値ABC
D’Hをtrailerの値として出力する。
け取った時点) 構文解析木走査部101は、構文解析木のノード171
1を走査し、trailerがOCTET STRIN
G型であり、値の長さの範囲が0以上かつ15以下、に
制限されており、OPTIONAL指定されていること
を検知する。ここでプリアンブル処理部102は、プリ
アンブルフィールドのiビット目を検査し、これが’
1’であることを検知する。プリアンブル処理部102
は、構文解析木走査部101に値を復号化するよう指示
する。また、iの値に1を加えて2とする。取り得る値
の長さの範囲が0以上かつ15以下であるので、構文解
析木走査部101はまず長さフィールド’02’(16
進)を読み込んで、これを復号化して値2を得る。した
がって、値フィールドのオクテット数が2であることを
検知する。構文解析木走査部101は、さらに2オクテ
ット分の入力データ’ABCD’(16進)を読み込
み、これを復号化して値ABCD’Hを得る。値ABC
D’Hをtrailerの値として出力する。
【0116】本実施の形態のメッセージ処理装置10に
よって最終的に得られる復号化結果は、図16に示すA
SN.1値記法である。
よって最終的に得られる復号化結果は、図16に示すA
SN.1値記法である。
【0117】次に、第二の実施例について説明する。第
一の実施例においては、メッセージ処理装置10の構文
解析木保持部104によって保持される構文解析木10
5の記憶領域内での保持形態については具体的な言及は
しておらず、リスト形式などの任意の形態をとることが
可能である。図29に第二の実施例における、構文解析
木保持部104内の記憶領域における構文解析木105
の保持の形態を示す。このように、記憶領域上に構文解
析木105のノードを連続して配置することによって、
プリアンブル処理部102およびインデックス処理部1
03が、構文解析木走査部101に対して走査する必要
のあるノードのみを走査するように指示することが可能
となる。
一の実施例においては、メッセージ処理装置10の構文
解析木保持部104によって保持される構文解析木10
5の記憶領域内での保持形態については具体的な言及は
しておらず、リスト形式などの任意の形態をとることが
可能である。図29に第二の実施例における、構文解析
木保持部104内の記憶領域における構文解析木105
の保持の形態を示す。このように、記憶領域上に構文解
析木105のノードを連続して配置することによって、
プリアンブル処理部102およびインデックス処理部1
03が、構文解析木走査部101に対して走査する必要
のあるノードのみを走査するように指示することが可能
となる。
【0118】第二の実施例において、SEQUENCE
型またはSET型の値を復号化する場合の処理の流れ図
を図30に示す(符号化する場合の処理の流れは第一の
実施例と同様であり、図9に示される)。
型またはSET型の値を復号化する場合の処理の流れ図
を図30に示す(符号化する場合の処理の流れは第一の
実施例と同様であり、図9に示される)。
【0119】ASN.1転送構文107(復号化対象の
入力データ)が入力されると、まずプリアンブルフィー
ルドを読み込み、プリアンブル処理部102内のプリア
ンブルバッファにプリアンブルフィールドを格納する
(ステップ3001)。次に、プリアンブルフィールド
内でのビット位置を示す変数iを0に初期化する(ステ
ップ3002)。次に、構文解析木105の現在走査中
のノードのアドレスを変数PTAddrに格納する(ス
テップ3003)。次に、まだ復号化されていない要素
があるかどうかを検査する(ステップ3004)。未復
号化の要素がなければ、各要素の復号化結果を出力する
(ステップ3010)。未復号化の要素があれば、当該
要素がOPTIONAL指定またはDEFAULT指定
されているかどうかを検査する(ステップ3005)。
OPTIONAL指定またはDEFAULT指定されて
いなければ、PTAddrにnode(構文解析木10
5の1ノードを保持するのに必要な記憶領域の大きさ)
を加え(ステップ3012)、構文解析木走査部101
がPTAddrというアドレスで参照される構文解析木
のノードを走査して、当該要素を復号化し(ステップ3
013)、ステップ3004に戻る。OPTIONAL
指定またはDEFAULT指定されていれば、プリアン
ブル処理部102がプリアンブルフィールドのiビット
目が’1’であるかどうかを検査する(ステップ300
6)。’1’でなければ、PTAddrにnodeを加
え(ステップ3011)、iに1を加えて(ステップ3
009)、ステップ3004に戻る。’1’であれば、
PTAddrにnodeを加え(ステップ3007)、
構文解析木走査部101がPTAddrというアドレス
で参照される構文解析木のノードを走査して、当該要素
を復号化し(ステップ3008)、iに1を加えて(ス
テップ3009)、ステップ3004に戻る。
入力データ)が入力されると、まずプリアンブルフィー
ルドを読み込み、プリアンブル処理部102内のプリア
ンブルバッファにプリアンブルフィールドを格納する
(ステップ3001)。次に、プリアンブルフィールド
内でのビット位置を示す変数iを0に初期化する(ステ
ップ3002)。次に、構文解析木105の現在走査中
のノードのアドレスを変数PTAddrに格納する(ス
テップ3003)。次に、まだ復号化されていない要素
があるかどうかを検査する(ステップ3004)。未復
号化の要素がなければ、各要素の復号化結果を出力する
(ステップ3010)。未復号化の要素があれば、当該
要素がOPTIONAL指定またはDEFAULT指定
されているかどうかを検査する(ステップ3005)。
OPTIONAL指定またはDEFAULT指定されて
いなければ、PTAddrにnode(構文解析木10
5の1ノードを保持するのに必要な記憶領域の大きさ)
を加え(ステップ3012)、構文解析木走査部101
がPTAddrというアドレスで参照される構文解析木
のノードを走査して、当該要素を復号化し(ステップ3
013)、ステップ3004に戻る。OPTIONAL
指定またはDEFAULT指定されていれば、プリアン
ブル処理部102がプリアンブルフィールドのiビット
目が’1’であるかどうかを検査する(ステップ300
6)。’1’でなければ、PTAddrにnodeを加
え(ステップ3011)、iに1を加えて(ステップ3
009)、ステップ3004に戻る。’1’であれば、
PTAddrにnodeを加え(ステップ3007)、
構文解析木走査部101がPTAddrというアドレス
で参照される構文解析木のノードを走査して、当該要素
を復号化し(ステップ3008)、iに1を加えて(ス
テップ3009)、ステップ3004に戻る。
【0120】次に、第二の実施例において、CHOIC
E型を復号化する場合の処理の流れ図を図31に示す
(符号化する場合の処理の流れは第一の実施例と同様で
あり、図12に示される)。ASN.1転送構文107
(復号化対象の入力データ)が入力されると、まずイン
デックスフィールドを読み込み、インデックス処理部1
03内のインデックスバッファにインデックスフィール
ドを格納する(ステップ3101)。次に、読み込んだ
インデックスフィールドからインデックスを復号化し、
インデックス値iを求める(ステップ3102)。次
に、構文解析木105の現在走査中のノードのアドレス
を変数PTAddrに格納する(ステップ3103)。
次に、PTAddr+node*iというアドレスで参
照される構文解析木のノードを走査して、当該要素を復
号化する(ステップ3104)。
E型を復号化する場合の処理の流れ図を図31に示す
(符号化する場合の処理の流れは第一の実施例と同様で
あり、図12に示される)。ASN.1転送構文107
(復号化対象の入力データ)が入力されると、まずイン
デックスフィールドを読み込み、インデックス処理部1
03内のインデックスバッファにインデックスフィール
ドを格納する(ステップ3101)。次に、読み込んだ
インデックスフィールドからインデックスを復号化し、
インデックス値iを求める(ステップ3102)。次
に、構文解析木105の現在走査中のノードのアドレス
を変数PTAddrに格納する(ステップ3103)。
次に、PTAddr+node*iというアドレスで参
照される構文解析木のノードを走査して、当該要素を復
号化する(ステップ3104)。
【0121】以上好ましい実施の形態をあげて本発明を
説明したが、本発明は必ずしも上記実施例に限定される
ものではない。
説明したが、本発明は必ずしも上記実施例に限定される
ものではない。
【0122】
【発明の効果】以上説明したように、本発明のメッセー
ジ処理装置およびその方法ならびにメッセージ処理制御
プログラムを格納した記憶媒体によれば、プリアンブル
処理部およびインデックス処理部を導入したことによ
り、符号化データの内容を圧縮する符号化規則、特にP
ERに従ってメッセージを符号化および復号化すること
が可能になるという効果がある。
ジ処理装置およびその方法ならびにメッセージ処理制御
プログラムを格納した記憶媒体によれば、プリアンブル
処理部およびインデックス処理部を導入したことによ
り、符号化データの内容を圧縮する符号化規則、特にP
ERに従ってメッセージを符号化および復号化すること
が可能になるという効果がある。
【0123】これにより、異機種間でメッセージを送受
する環境において、送受されるデータ量を削減すること
が可能となる。その理由は、本発明のメッセージ処理装
置においては、冗長なタグフィールドおよび長さフィー
ルドを生成せず、値フィールドについても、ASN.1
抽象構文中の制約を利用して符号化データ長を圧縮する
ためである。送受されるデータ量を削減したため、メッ
セージを交換するための通信路の容量に制約がある場合
においても、本発明のメッセージ処理装置を用いれば、
効率的に通信を行なうことが可能である。
する環境において、送受されるデータ量を削減すること
が可能となる。その理由は、本発明のメッセージ処理装
置においては、冗長なタグフィールドおよび長さフィー
ルドを生成せず、値フィールドについても、ASN.1
抽象構文中の制約を利用して符号化データ長を圧縮する
ためである。送受されるデータ量を削減したため、メッ
セージを交換するための通信路の容量に制約がある場合
においても、本発明のメッセージ処理装置を用いれば、
効率的に通信を行なうことが可能である。
【0124】また、高速にデータを転送することが要求
されるアプリケーションにおいても、十分な性能を得ら
れることとなる。その理由は、冗長なタグフィールドお
よび長さフィールドを生成しないことにより、冗長なフ
ィールドを生成するための時間的なオーバヘッドを解消
したためである。
されるアプリケーションにおいても、十分な性能を得ら
れることとなる。その理由は、冗長なタグフィールドお
よび長さフィールドを生成しないことにより、冗長なフ
ィールドを生成するための時間的なオーバヘッドを解消
したためである。
【0125】さらにまた、より小さな記憶領域しかない
場合でも、メッセージの符号化および復号化を行なうこ
とが可能である。その理由は、冗長なタグフィールドお
よび長さフィールドを生成せず、さらに値フィールドの
内容についても制約を利用した圧縮を行なうことによ
り、メッセージを通信路に送出するまで一時的にメッセ
ージを保持しておく、バッファ領域を削減することが可
能なためである。
場合でも、メッセージの符号化および復号化を行なうこ
とが可能である。その理由は、冗長なタグフィールドお
よび長さフィールドを生成せず、さらに値フィールドの
内容についても制約を利用した圧縮を行なうことによ
り、メッセージを通信路に送出するまで一時的にメッセ
ージを保持しておく、バッファ領域を削減することが可
能なためである。
【0126】さらにまた、処理対象のメッセージを装置
に与えてから所望の結果が得られるまでの遅延時間を小
さく抑えることが可能である。その理由は、冗長なタグ
フィールドおよび長さフィールドを生成しないことによ
り、従来のメッセージ処理装置においては、なくすこと
が不可能であった冗長なフィールドを生成するための時
間的オーバヘッドをなくしたためである。この効果によ
り、メッセージを装置に与えてから、所望の結果が得ら
れるまでの時間に厳しい制約が課せられる、リアルタイ
ムシステムなどにおいても、本発明のメッセージ処理装
置を適用することが可能になる。
に与えてから所望の結果が得られるまでの遅延時間を小
さく抑えることが可能である。その理由は、冗長なタグ
フィールドおよび長さフィールドを生成しないことによ
り、従来のメッセージ処理装置においては、なくすこと
が不可能であった冗長なフィールドを生成するための時
間的オーバヘッドをなくしたためである。この効果によ
り、メッセージを装置に与えてから、所望の結果が得ら
れるまでの時間に厳しい制約が課せられる、リアルタイ
ムシステムなどにおいても、本発明のメッセージ処理装
置を適用することが可能になる。
【図1】 本発明の実施の一形態によるメッセージ処理
装置の構成を示すブロック図である。
装置の構成を示すブロック図である。
【図2】 本実施の形態のメッセージ処理装置における
プリアンブル処理部の構成を示すブロック図である。
プリアンブル処理部の構成を示すブロック図である。
【図3】 本実施の形態のメッセージ処理装置における
インデックス処理部の構成を示すブロック図である。
インデックス処理部の構成を示すブロック図である。
【図4】 本実施の形態のメッセージ処理装置で用いら
れる構文解析木のノードの形式を示す図である。
れる構文解析木のノードの形式を示す図である。
【図5】 ASN.1抽象構文とこれに対応する構文解
析木の例を示す図である。
析木の例を示す図である。
【図6】 本実施の形態のメッセージ処理装置におい
て、INTEGER型の値を符号化する場合の処理の流
れを示すフローチャートである。
て、INTEGER型の値を符号化する場合の処理の流
れを示すフローチャートである。
【図7】 本実施の形態のメッセージ処理装置におい
て、INTEGER型の値を復号化する場合の処理の流
れを示すフローチャートである。
て、INTEGER型の値を復号化する場合の処理の流
れを示すフローチャートである。
【図8】 本実施の形態のメッセージ処理装置による、
INTEGER型の値の符号化および復号化の例を示す
図である。
INTEGER型の値の符号化および復号化の例を示す
図である。
【図9】 本実施の形態のメッセージ処理装置におい
て、SEQUENCE型またはSET型の値を符号化す
る場合の処理の流れを示すフローチャートである。
て、SEQUENCE型またはSET型の値を符号化す
る場合の処理の流れを示すフローチャートである。
【図10】 本実施の形態のメッセージ処理装置におい
て、SEQUENCE型またはSET型の値を復号化す
る場合の処理の流れを示すフローチャートである。
て、SEQUENCE型またはSET型の値を復号化す
る場合の処理の流れを示すフローチャートである。
【図11】 本実施の形態のメッセージ処理装置によ
る、SEQUENCE型の値の符号化および復号化の例
を示す図である。
る、SEQUENCE型の値の符号化および復号化の例
を示す図である。
【図12】 本実施の形態のメッセージ処理装置におい
て、CHOICE型の値を符号化する場合の処理の流れ
を示すフローチャートである。
て、CHOICE型の値を符号化する場合の処理の流れ
を示すフローチャートである。
【図13】 本実施の形態のメッセージ処理装置におい
て、CHOICE型の値を復号化する場合の処理の流れ
を示すフローチャートである。
て、CHOICE型の値を復号化する場合の処理の流れ
を示すフローチャートである。
【図14】 本実施の形態のメッセージ処理装置によ
る、CHOICE型の値の符号化および復号化の例を示
す図である。
る、CHOICE型の値の符号化および復号化の例を示
す図である。
【図15】 本実施の形態のメッセージ処理装置の実施
例を説明するためのASN.1抽象構文の例を示す図で
ある。
例を説明するためのASN.1抽象構文の例を示す図で
ある。
【図16】 図15の抽象構文で定義されるメッセージ
の値記法の例を示す図である。
の値記法の例を示す図である。
【図17】 図15の抽象構文に基づいて生成される構
文解析木を示す図である。
文解析木を示す図である。
【図18】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ1が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ1が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図19】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ2が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ2が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図20】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ3が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ3が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図21】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ4が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ4が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図22】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ5が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ5が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図23】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ6が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ6が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図24】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ7が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ7が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図25】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ8が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ8が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図26】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ9が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ9が終了した時点でのメッセージ処理装置の内
部状態および出力を示す図である。
【図27】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に、
ステップ10が終了した時点でのメッセージ処理装置の
内部状態および出力を示す図である。
例において、図16のメッセージを符号化した場合に、
ステップ10が終了した時点でのメッセージ処理装置の
内部状態および出力を示す図である。
【図28】 本実施の形態のメッセージ処理装置の実施
例において、図16のメッセージを符号化した場合に得
られる符号化結果を示す図である。
例において、図16のメッセージを符号化した場合に得
られる符号化結果を示す図である。
【図29】 本実施の形態のメッセージ処理装置の第二
の実施例において、構文解析木保持部における構文解析
木の保持形態を示す図である。
の実施例において、構文解析木保持部における構文解析
木の保持形態を示す図である。
【図30】 本実施の形態のメッセージ処理装置の第二
の実施例において、SEQUENCE型またはSET型
の値を復号化する場合の処理の流れを示すフローチャー
トである。
の実施例において、SEQUENCE型またはSET型
の値を復号化する場合の処理の流れを示すフローチャー
トである。
【図31】 本実施の形態のメッセージ処理装置の第二
の実施例において、CHOICE型を復号化する場合の
処理の流れを示すフローチャートである。
の実施例において、CHOICE型を復号化する場合の
処理の流れを示すフローチャートである。
【図32】 従来のメッセージ処理装置の構成を示すブ
ロック図である。
ロック図である。
【図33】 従来のメッセージ処理装置を説明するため
のASN.1抽象構文の例を示す図である。
のASN.1抽象構文の例を示す図である。
【図34】 図33の抽象構文で定義されるメッセージ
の値記法の例を示す図である。
の値記法の例を示す図である。
【図35】 図33の抽象構文に基づいて生成される構
文解析木を示す図である。
文解析木を示す図である。
【図36】 従来のメッセージ処理装置によって、図3
4のメッセージを符号化する場合の、符号化処理の流れ
を示す図である。
4のメッセージを符号化する場合の、符号化処理の流れ
を示す図である。
【図37】 従来のメッセージ処理装置によって、図3
4のメッセージを符号化した場合に得られる符号化結果
を示す図である。
4のメッセージを符号化した場合に得られる符号化結果
を示す図である。
【図38】 従来のメッセージ処理装置によって得られ
る復号化結果の例を示す図である。
る復号化結果の例を示す図である。
10 メッセージ処理装置 101 構文解析木走査部 102 プリアンブル処理部 103 インデックス処理部 104 構文解析木保持部 105 構文解析木 106 ASN.1値記法 107 ASN.1転送構文 108 ASN.1抽象構文
Claims (28)
- 【請求項1】 異機種間で1つ以上の要素から成るメッ
セージを送受するメッセージ処理装置において、 送受されるメッセージの構造を定義する構文記述から生
成された構文解析木を保持する機能を有する構文解析木
保持部と、 前記構文解析木保持部に接続され、処理対象とするメッ
セージデータの入力とともに前記構文解析木を走査し、
値を符号化および復号化して出力する機能を有する構文
解析木走査部と、 前記構文解析木走査部に接続され、送受されるメッセー
ジデータ内における要素の存在の有無を示すために用い
られる、メッセージのプリアンブルフィールドを処理す
る機能を有するプリアンブル処理部と、 前記構文解析木走査部に接続され、複数の要素から1つ
を選択して送受されるメッセージデータ内において、何
番目の要素が選択されたかを示すために用いられる、メ
ッセージのインデックスフィールドを処理する機能を有
するインデックス処理部とを備えることを特徴とするメ
ッセージ処理装置。 - 【請求項2】 前記プリアンブル処理部が、 走査中のノードが省略可能であるかどうかを示す信号を
入力し、前記信号が省略可能である旨を示していればカ
ウント値をカウントアップし、カウント値を後述のデコ
ーダに対して出力する機能を有するカウンタと、 前記カウンタのカウント値を入力し、該カウント値をデ
コードして後述のレジスタを構成する各フリップフロッ
プに対する書き込み許可信号として出力する機能を有す
るデコーダと、 符号化および復号化のどちらの処理を実行中かを示す信
号を入力し、該信号が符号化を示していれば、走査中の
構文解析木のノードに対応する要素が存在するかどうか
を示す信号を後述のレジスタに対して出力し、該信号が
復号化を示していれば、プリアンブルフィールド入力信
号を後述のレジスタに対して出力する機能を有する第一
のマルチプレクサと、 前記第一のマルチプレクサからの信号および前記デコー
ダからの書き込み許可信号とを入力し、前記書き込み許
可信号が有効になっているフリップフロップについては
前記マルチプレクサからの信号を読み込んで、該信号の
内容を保持し、前記書き込み信号が有効になっていない
フリップフロップについては現在保持している内容を保
持し続ける機能を有するとともに、現在保持している内
容をプリアンブルフィールド出力信号として出力する機
能を有するレジスタと、 前記レジスタからのプリアンブルフィールド出力信号お
よび前記カウンタからのカウント値とを入力し、プリア
ンブルフィールド中のカウント値に対応するビット位置
のビットの内容を、次のノードに対応する要素を復号化
する旨の指示信号として出力する機能を有する第二のマ
ルチプレクサとを備えることを特徴とする請求項1に記
載のメッセージ処理装置。 - 【請求項3】 インデックス処理部が、 複数の要素から1つを選択して送受されるメッセージに
対応する構文解析木のノードを走査中であるかどうかを
示す信号を入力し、当該ノードを走査中である旨を示し
ていれば、カウント値をカウントアップし、カウント値
を後述の第一のレジスタおよび後述の比較器に対して出
力する機能を有するとともに、カウント値をインデック
ス値出力信号として出力する機能を有するカウンタと、 前記カウント値および複数の要素から1つを選択して送
受されるメッセージの選択された要素に対応するノード
を走査中であるかどうかを示す信号とを入力し、当該ノ
ードを走査中である旨を示していれば、現在保持してい
る内容をインデックスフィールド出力信号として出力
し、当該ノードを走査中でない旨を示していれば、前記
カウント値を保持する機能を有する第一のレジスタと、 インデックスフィールド入力信号を入力し、前記インデ
ックスフィールド入力信号を保持するとともに、現在保
持している内容を後述の比較器に対して出力する機能を
有する第二のレジスタと、 前記カウント値および前記第二のレジスタからの信号と
を入力し、両者の内容を比較して、内容が一致していれ
ば、現在出力中のインデックス値に対応する構文解析木
のノードに対応する要素の値を復号化する旨の指示信号
を出力する機能を有する比較器とを備えることを特徴と
する請求項1に記載のメッセージ処理装置。 - 【請求項4】 プリアンブル処理部がプリアンブルを取
り扱い、送受されるメッセージデータ内において、存在
する要素に対応する構文解析木のノードのみを走査する
ように構文解析木走査部に指示することによって、走査
する必要のないノードの走査を不要にしたことを特徴と
する請求項1または請求項2に記載のメッセージ処理装
置。 - 【請求項5】 メッセージを符号化する場合において、 メッセージデータが入力されると、メッセージデータ内
にまだ符号化されていない要素があるかどうかを検査
し、 未符号化の要素がなければ、プリアンブルの後に各要素
の符号化結果を連結したものを、符号化結果として出力
し、 未符号化の要素があれば、構文解析木走査部が構文解析
木の次のノードを走査して、当該要素が省略可能な要素
であるかどうかを検査し、当該要素が省略不可能な要素
であれば、構文解析木走査部が当該ノードが未符号化の
要素に対応するノードであるかどうかを検査し、対応す
るノードでなければ、再び未符号化の要素があるかどう
かの検査に戻り、 対応するノードであれば、当該要素を符号化して再び未
符号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、構文解析木走査部
がプリアンブル処理部に指示を出して、プリアンブル処
理部内に1ビットのフィールドが生成され、既存のプリ
アンブルの最後尾に連結され、構文解析木走査部が当該
ノードが未符号化の要素に対応するノードであるかどう
かを検査し、対応するノードでなければ、構文解析木走
査部がプリアンブル処理部に指示を出して、プリアンブ
ル処理部内に生成されたフィールドの内容を「省略可能
な要素が省略されている」旨の内容とし、再び未符号化
の要素があるかどうかの検査に戻り、 当該ノードが未符号化の要素に対応するノードであれ
ば、構文解析木走査部がプリアンブル処理部に指示を出
し、プリアンブル処理部内に生成されたフィールドの内
容を「省略可能な要素が省略されていない」旨の内容と
し、構文解析木走査部が当該要素を符号化し、再び未符
号化の要素があるかどうかの検査に戻ることを特徴とす
る請求項1または請求項2に記載のメッセージ処理装
置。 - 【請求項6】 メッセージを復号化する場合において、 メッセージデータが入力されると、まずプリアンブルフ
ィールドを読み込み、プリアンブル処理部内に格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、構文解析木走査部が構文解析
木の次のノードを走査し、当該ノードに対応する要素が
省略可能な要素であるかどうかを検査し、当該要素が省
略不可能な要素であれば、当該要素を復号化し、再び未
復号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、現在のビット位
置を示す変数に1を加えて、未復号化の要素があるかど
うかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、当該要素を復号化し、現在のビット位置を示す変数
に1を加えて、未復号化の要素があるかどうかの検査に
戻ることを特徴とする請求項1または請求項2に記載の
メッセージ処理装置。 - 【請求項7】 構文解析木を構文解析木保持部の記憶領
域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずプリアンブルフィールドを読み
込み、プリアンブル処理部内に格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、当該要素が省略可能な要素で
あるかどうかを検査し、当該要素が省略不可能な要素で
あれば、構文解析木のノードのアドレスを示す変数に、
次のノードのアドレスを格納し、当該アドレスを持つ構
文解析木のノードを走査し、当該要素を復号化して、未
復号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、構文解析木のノ
ードのアドレスを示す変数に、次のノードのアドレスを
格納し、現在のビット位置を示す変数に1を加えて、未
復号化の要素があるかどうかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、構文解析木のノードのアドレスを示す変数に、次の
ノードのアドレスを格納し、当該アドレスを持つ構文解
析木のノードを走査し、当該要素を復号化し、現在のビ
ット位置を示す変数に1を加えて、未復号化の要素があ
るかどうかの検査に戻ることを特徴とする請求項4に記
載のメッセージ処理装置。 - 【請求項8】 インデックス処理部がインデックスを取
り扱い、送受されるメッセージデータ内において、選択
された要素に対応する構文解析木のノードのみを走査す
るように構文解析木走査部に指示することによって、走
査する必要のないノードの走査を不要にしたことを特徴
とする請求項1または請求項3に記載のメッセージ処理
装置。 - 【請求項9】 メッセージを符号化する場合において、 メッセージデータが入力されると、現在走査中の構文解
析木のノードが、選択された要素に対応するノードであ
るかどうかを検査し、対応するノードでなければ、イン
デックス処理部が現在のインデックス値に1を加え、構
文解析木走査部が構文解析木の次のノードを走査して、
再び走査中のノードが選択された要素に対応するかどう
かの検査に戻り、 対応するノードであれば、インデックス走査部が現在の
インデックス値を符号化し、構文解析木走査部が当該要
素を符号化して、インデックス値および当該要素の符号
化結果を連結したものを出力することを特徴とする請求
項1または請求項3に記載のメッセージ処理装置。 - 【請求項10】 メッセージを復号化する場合におい
て、 メッセージデータが入力されると、まずインデックスフ
ィールドを読み込み、インデックス処理部内に格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 選択肢番号を示す変数を0に初期化し、 構文解析木走査部が構文解析木の次のノードを走査し、 前記変数とインデックス値が等しいかどうかを検査し、
等しくなければ前記変数に1を加えて、再び構文解析木
の次のノードの走査に戻り、 前記変数とインデックス値が等しければ、当該要素を復
号化することを特徴とする請求項1または請求項3に記
載のメッセージ処理装置。 - 【請求項11】 構文解析木を構文解析木保持部の記憶
領域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずインデックスフィールドを読み
込み、インデックス処理部内に格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 前記変数と、構文解析木の1つのノードを保持するのに
必要な記憶領域の大きさとインデックス値の積との和で
参照される構文解析木のノードを構文解析木走査部が走
査し、当該要素を復号化することを特徴とする請求項8
に記載のメッセージ処理装置。 - 【請求項12】 プリアンブル処理部がプリアンブルを
取り扱い、送受されるメッセージデータ内における存在
する要素に対応する構文解析木のノードのみを走査する
ように構文解析木走査部に指示するとともに、インデッ
クス処理部がインデックスを取り扱い、送受されるメッ
セージデータ内において、選択された要素に対応する構
文解析木のノードのみを走査するように構文解析木走査
部に指示することによって、走査する必要のないノード
の走査を不要にしたことを特徴とする請求項1、請求項
2、請求項3、請求項7または請求項11のいずれかに
記載のメッセージ処理装置。 - 【請求項13】 送受されるメッセージの構造を定義す
る構文記述から生成された構文解析木において、ノード
の形式が、「要素の型」、「要素に付されたタグ」、
「要素に関する制約」、「要素が省略可能であるかどう
か」、「同一ネスト階層の次のノードへのポインタ」お
よび「下位ネスト階層のノードへのポインタ」という6
つのフィールドであるような構文解析木を構文解析木保
持部が保持することを特徴とする請求項1ないし請求項
12のいずれかに記載のメッセージ処理装置。 - 【請求項14】 抽象構文記法(ASN.1)により構
造が定義されるメッセージを、圧縮符号化規則(PE
R)に従って取り扱うことを特徴とする請求項1ないし
請求項13のいずれかに記載のメッセージ処理装置。 - 【請求項15】 異機種間で1つ以上の要素から成るメ
ッセージを送受して処理するメッセージ処理方法におい
て、 送受されるメッセージの構造を定義する構文記述から生
成された構文解析木を保持する工程と、 処理対象とするメッセージデータの入力とともに前記構
文解析木を走査し、値を符号化および復号化して出力す
る工程と、 送受されるメッセージデータ内における要素の存在の有
無を示すために用いられる、メッセージのプリアンブル
フィールドを処理する工程と、 複数の要素から1つを選択して送受されるメッセージデ
ータ内において、何番目の要素が選択されたかを示すた
めに用いられる、メッセージのインデックスフィールド
を処理する工程と、 を含むことを特徴とするメッセージ処理方法。 - 【請求項16】 前記メッセージを符号化する工程にお
いて、 メッセージデータが入力されると、メッセージデータ内
にまだ符号化されていない要素があるかどうかを検査
し、 未符号化の要素がなければ、プリアンブルの後に各要素
の符号化結果を連結したものを、符号化結果として出力
し、 未符号化の要素があれば、構文解析木の次のノードを走
査して、当該要素が省略可能な要素であるかどうかを検
査し、当該要素が省略不可能な要素であれば、当該ノー
ドが未符号化の要素に対応するノードであるかどうかを
検査し、対応するノードでなければ、再び未符号化の要
素があるかどうかの検査に戻り、 対応するノードであれば、当該要素を符号化して再び未
符号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、1ビットのフィー
ルドが生成され、既存のプリアンブルの最後尾に連結さ
れ、当該ノードが未符号化の要素に対応するノードであ
るかどうかを検査し、対応するノードでなければ、前記
生成されたフィールドの内容を「省略可能な要素が省略
されている」旨の内容とし、再び未符号化の要素がある
かどうかの検査に戻り、 当該ノードが未符号化の要素に対応するノードであれ
ば、前記生成されたフィールドの内容を「省略可能な要
素が省略されていない」旨の内容とし、当該要素を符号
化し、再び未符号化の要素があるかどうかの検査に戻る
ことを特徴とする請求項15に記載のメッセージ処理方
法。 - 【請求項17】 前記メッセージを復号化する工程にお
いて、 メッセージデータが入力されると、まずプリアンブルフ
ィールドを読み込んで格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、構文解析木の次のノードを走
査し、当該ノードに対応する要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、当該要素を復号化し、再び未復号化の要素がある
かどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、現在のビット位
置を示す変数に1を加えて、未復号化の要素があるかど
うかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、当該要素を復号化し、現在のビット位置を示す変数
に1を加えて、未復号化の要素があるかどうかの検査に
戻ることを特徴とする請求項15に記載のメッセージ処
理方法。 - 【請求項18】 前記プリアンブル処理工程において、 構文解析木を記憶領域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずプリアンブルフィールドを読み
込んで格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、当該要素が省略可能な要素で
あるかどうかを検査し、当該要素が省略不可能な要素で
あれば、構文解析木のノードのアドレスを示す変数に、
次のノードのアドレスを格納し、当該アドレスを持つ構
文解析木のノードを走査し、当該要素を復号化して、未
復号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、構文解析木のノ
ードのアドレスを示す変数に、次のノードのアドレスを
格納し、現在のビット位置を示す変数に1を加えて、未
復号化の要素があるかどうかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、構文解析木のノードのアドレスを示す変数に、次の
ノードのアドレスを格納し、当該アドレスを持つ構文解
析木のノードを走査し、当該要素を復号化し、現在のビ
ット位置を示す変数に1を加えて、未復号化の要素があ
るかどうかの検査に戻ることを特徴とする請求項15に
記載のメッセージ処理方法。 - 【請求項19】 メッセージを符号化する工程におい
て、 メッセージデータが入力されると、走査中の構文解析木
のノードが、選択された要素に対応するノードであるか
どうかを検査し、対応するノードでなければ、操作中の
インデックス値に1を加え、構文解析木の次のノードを
走査して、再び走査中のノードが選択された要素に対応
するかどうかの検査に戻り、 対応するノードであれば、操作中のインデックス値を符
号化し、当該要素を符号化して、インデックス値および
当該要素の符号化結果を連結したものを出力することを
特徴とする請求項15に記載のメッセージ処理方法。 - 【請求項20】 メッセージを復号化する工程におい
て、 メッセージデータが入力されると、まずインデックスフ
ィールドを読み込んで格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 選択肢番号を示す変数を0に初期化し、 構文解析木の次のノードを走査し、 前記変数とインデックス値が等しいかどうかを検査し、
等しくなければ前記変数に1を加えて、再び構文解析木
の次のノードの走査に戻り、 前記変数とインデックス値が等しければ、当該要素を復
号化することを特徴とする請求項15に記載のメッセー
ジ処理方法。 - 【請求項21】 前記プリアンブル処理工程において、 構文解析木を記憶領域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずインデックスフィールドを読み
込んで格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 前記変数と、構文解析木の1つのノードを保持するのに
必要な記憶領域の大きさとインデックス値の積との和で
参照される構文解析木のノードを走査し、当該要素を復
号化することを特徴とする請求項15に記載のメッセー
ジ処理方法。 - 【請求項22】 異機種間で1つ以上の要素から成るメ
ッセージを送受するメッセージ処理装置を制御する制御
プログラムを格納した記憶媒体であって、 送受されるメッセージの構造を定義する構文記述から生
成された構文解析木を保持する工程と、 処理対象とするメッセージデータの入力とともに前記構
文解析木を走査し、値を符号化および復号化して出力す
る工程と、 送受されるメッセージデータ内における要素の存在の有
無を示すために用いられる、メッセージのプリアンブル
フィールドを処理する工程と、 複数の要素から1つを選択して送受されるメッセージデ
ータ内において、何番目の要素が選択されたかを示すた
めに用いられる、メッセージのインデックスフィールド
を処理する工程と、 を含むことを特徴とする制御プログラムを格納した記憶
媒体。 - 【請求項23】 前記メッセージを符号化する工程にお
いて、 メッセージデータが入力されると、メッセージデータ内
にまだ符号化されていない要素があるかどうかを検査
し、 未符号化の要素がなければ、プリアンブルの後に各要素
の符号化結果を連結したものを、符号化結果として出力
し、 未符号化の要素があれば、構文解析木の次のノードを走
査して、当該要素が省略可能な要素であるかどうかを検
査し、当該要素が省略不可能な要素であれば、当該ノー
ドが未符号化の要素に対応するノードであるかどうかを
検査し、対応するノードでなければ、再び未符号化の要
素があるかどうかの検査に戻り、 対応するノードであれば、当該要素を符号化して再び未
符号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、1ビットのフィー
ルドが生成され、既存のプリアンブルの最後尾に連結さ
れ、当該ノードが未符号化の要素に対応するノードであ
るかどうかを検査し、対応するノードでなければ、前記
生成されたフィールドの内容を「省略可能な要素が省略
されている」旨の内容とし、再び未符号化の要素がある
かどうかの検査に戻り、 当該ノードが未符号化の要素に対応するノードであれ
ば、前記生成されたフィールドの内容を「省略可能な要
素が省略されていない」旨の内容とし、当該要素を符号
化し、再び未符号化の要素があるかどうかの検査に戻る
ことを特徴とする請求項22に記載の制御プログラムを
格納した記憶媒体 - 【請求項24】 前記メッセージを復号化する工程にお
いて、 メッセージデータが入力されると、まずプリアンブルフ
ィールドを読み込んで格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、構文解析木の次のノードを走
査し、当該ノードに対応する要素が省略可能な要素であ
るかどうかを検査し、当該要素が省略不可能な要素であ
れば、当該要素を復号化し、再び未復号化の要素がある
かどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、現在のビット位
置を示す変数に1を加えて、未復号化の要素があるかど
うかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、当該要素を復号化し、現在のビット位置を示す変数
に1を加えて、未復号化の要素があるかどうかの検査に
戻ることを特徴とする請求項22に記載の制御プログラ
ムを格納した記憶媒体 - 【請求項25】 前記プリアンブル処理工程において、 構文解析木を記憶領域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずプリアンブルフィールドを読み
込んで格納し、 プリアンブルフィールド内でのビット位置を示す変数を
0に初期化し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 メッセージデータ内に、まだ復号化されていない要素が
存在するかどうかを検査し、 未復号化の要素がなければ、各要素の復号化結果を出力
し、 未復号化の要素があれば、当該要素が省略可能な要素で
あるかどうかを検査し、当該要素が省略不可能な要素で
あれば、構文解析木のノードのアドレスを示す変数に、
次のノードのアドレスを格納し、当該アドレスを持つ構
文解析木のノードを走査し、当該要素を復号化して、未
復号化の要素があるかどうかの検査に戻り、 当該要素が省略可能な要素であれば、プリアンブルフィ
ールド内の現在のビット位置の内容が「省略可能な要素
が省略されている」旨の内容であれば、構文解析木のノ
ードのアドレスを示す変数に、次のノードのアドレスを
格納し、現在のビット位置を示す変数に1を加えて、未
復号化の要素があるかどうかの検査に戻り、 プリアンブルフィールド内の現在のビット位置の内容が
「省略可能な要素が省略されていない」旨の内容であれ
ば、構文解析木のノードのアドレスを示す変数に、次の
ノードのアドレスを格納し、当該アドレスを持つ構文解
析木のノードを走査し、当該要素を復号化し、現在のビ
ット位置を示す変数に1を加えて、未復号化の要素があ
るかどうかの検査に戻ることを特徴とする請求項22に
記載の制御プログラムを格納した記憶媒体 - 【請求項26】 メッセージを符号化する工程におい
て、 メッセージデータが入力されると、走査中の構文解析木
のノードが、選択された要素に対応するノードであるか
どうかを検査し、対応するノードでなければ、操作中の
インデックス値に1を加え、構文解析木の次のノードを
走査して、再び走査中のノードが選択された要素に対応
するかどうかの検査に戻り、 対応するノードであれば、操作中のインデックス値を符
号化し、当該要素を符号化して、インデックス値および
当該要素の符号化結果を連結したものを出力することを
特徴とする請求項22に記載の制御プログラムを格納し
た記憶媒体 - 【請求項27】 メッセージを復号化する工程におい
て、 メッセージデータが入力されると、まずインデックスフ
ィールドを読み込んで格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 選択肢番号を示す変数を0に初期化し、 構文解析木の次のノードを走査し、 前記変数とインデックス値が等しいかどうかを検査し、
等しくなければ前記変数に1を加えて、再び構文解析木
の次のノードの走査に戻り、 前記変数とインデックス値が等しければ、当該要素を復
号化することを特徴とする請求項22に記載の制御プロ
グラムを格納した記憶媒体 - 【請求項28】 前記プリアンブル処理工程において、 構文解析木を記憶領域上の連続した領域に格納し、 メッセージを復号化する場合において、メッセージデー
タが入力されると、まずインデックスフィールドを読み
込んで格納し、 インデックスフィールドの内容を復号化してインデック
ス値を取得し、 構文解析木のノードのアドレスを示す変数に、現在走査
中のノードのアドレスを格納し、 前記変数と、構文解析木の1つのノードを保持するのに
必要な記憶領域の大きさとインデックス値の積との和で
参照される構文解析木のノードを走査し、当該要素を復
号化することを特徴とする請求項22に記載の制御プロ
グラムを格納した記憶媒体
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10073401A JPH11249987A (ja) | 1998-03-05 | 1998-03-05 | メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 |
AU18599/99A AU756264B2 (en) | 1998-03-05 | 1999-03-04 | Message processing device and method thereof and storage medium storing message processing control program |
US09/264,188 US6154156A (en) | 1998-03-05 | 1999-03-05 | Message processing device and method thereof and storage medium storing message processing control program |
EP99103915A EP0998089A2 (en) | 1998-03-05 | 1999-03-05 | Message processing device and method thereof and storage medium storing message processing control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10073401A JPH11249987A (ja) | 1998-03-05 | 1998-03-05 | メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11249987A true JPH11249987A (ja) | 1999-09-17 |
Family
ID=13517148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10073401A Pending JPH11249987A (ja) | 1998-03-05 | 1998-03-05 | メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6154156A (ja) |
EP (1) | EP0998089A2 (ja) |
JP (1) | JPH11249987A (ja) |
AU (1) | AU756264B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522495A (ja) * | 2004-11-24 | 2008-06-26 | クゥアルコム・インコーポレイテッド | 2倍データレートのシリアル符号器 |
US8694663B2 (en) | 2001-09-06 | 2014-04-08 | Qualcomm Incorporated | System for transferring digital data at a high rate between a host and a client over a communication path for presentation to a user |
US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8694652B2 (en) | 2003-10-15 | 2014-04-08 | Qualcomm Incorporated | Method, system and computer program for adding a field to a client capability packet sent from a client to a host |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6313768B1 (en) * | 2000-03-31 | 2001-11-06 | Siemens Information And And Communications Networks, Inc. | System and method for trace diagnostics of telecommunications systems |
US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
US8010800B2 (en) * | 2001-06-26 | 2011-08-30 | Sealedmedia Limited | Search engine and digital rights management |
KR100456479B1 (ko) * | 2002-12-17 | 2004-11-09 | 한국전자통신연구원 | 프로토콜 pdu를 처리하기 위한 프로토콜 수행 시스템및 프로토콜 pdu 공통 자료 구조 변환 방법 |
US7111286B2 (en) | 2002-12-18 | 2006-09-19 | Ge Medical Systems Information Technologies, Inc. | Method, system and computer product for parsing binary data |
EP1629654B1 (en) | 2003-06-02 | 2010-11-24 | Qualcomm Incorporated | Generating and implementing a signal protocol and interface for higher data rates |
WO2005018191A2 (en) | 2003-08-13 | 2005-02-24 | Qualcomm, Incorporated | A signal interface for higher data rates |
MXPA06002809A (es) | 2003-09-10 | 2006-06-14 | Qualcomm Inc | Interfase de datos de alta velocidad. |
US8756294B2 (en) | 2003-10-29 | 2014-06-17 | Qualcomm Incorporated | High data rate interface |
KR20090042861A (ko) | 2003-11-12 | 2009-04-30 | 콸콤 인코포레이티드 | 향상된 링크 제어를 제공하는 고속 데이터 레이트 인터페이스 |
JP2007512785A (ja) | 2003-11-25 | 2007-05-17 | クゥアルコム・インコーポレイテッド | 改良されたリンク同期を備えた高速データレートインタフェース |
US8670457B2 (en) | 2003-12-08 | 2014-03-11 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
US7002493B2 (en) * | 2004-01-08 | 2006-02-21 | Mathstar, Inc. | Boolean logic tree reduction circuit |
CN101827103B (zh) | 2004-03-10 | 2012-07-04 | 高通股份有限公司 | 具有改进链路同步的高数据速率接口 |
MXPA06010647A (es) | 2004-03-17 | 2007-01-17 | Qualcomm Inc | Metodo y aparato de interfaz de datos de alta velocidad. |
BRPI0509147A (pt) | 2004-03-24 | 2007-09-11 | Qualcomm Inc | equipamentos e método para interface de alta taxa de dados |
US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
KR100926658B1 (ko) | 2004-06-04 | 2009-11-17 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
US7315265B2 (en) * | 2004-11-24 | 2008-01-01 | Qualcomm Incorporated | Double data rate serial encoder |
TWI412936B (zh) * | 2004-11-24 | 2013-10-21 | Qualcomm Inc | 雙倍資料速率串列編碼器 |
US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
US8730069B2 (en) * | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
TW201143306A (en) * | 2010-05-19 | 2011-12-01 | Hon Hai Prec Ind Co Ltd | Method for storing information of nodes in a huffman tree and method for decoding data using an array of the huffman tree |
US10657180B2 (en) * | 2015-11-04 | 2020-05-19 | International Business Machines Corporation | Building and reusing solution cache for constraint satisfaction problems |
US10922486B2 (en) * | 2019-03-13 | 2021-02-16 | International Business Machines Corporation | Parse tree based vectorization for natural language processing |
CN117149513A (zh) * | 2022-05-24 | 2023-12-01 | 上海江波龙数字技术有限公司 | 一种存储装置的数据备份方法、系统、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04199933A (ja) * | 1990-11-29 | 1992-07-21 | Hitachi Ltd | ネットワーク管理システムおよびその運用方法 |
JPH08328840A (ja) * | 1995-05-31 | 1996-12-13 | Hitachi Ltd | プログラム合成方法 |
JPH09245005A (ja) * | 1996-03-08 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法 |
JPH10124423A (ja) * | 1996-10-22 | 1998-05-15 | Digital Vision Lab:Kk | 参照変換装置とその方法、および、分散処理システムとその方法 |
JPH11252209A (ja) * | 1998-03-04 | 1999-09-17 | Nec Corp | ネットワーク管理システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0650884B2 (ja) * | 1988-02-02 | 1994-06-29 | 日本電気株式会社 | プロトコルデータ単位組立/分解方式 |
JP2505980B2 (ja) * | 1993-04-16 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 静的辞書作成方法及びコンピュ―タ実行システム |
US5797008A (en) * | 1996-08-09 | 1998-08-18 | Digital Equipment Corporation | Memory storing an integrated index of database records |
-
1998
- 1998-03-05 JP JP10073401A patent/JPH11249987A/ja active Pending
-
1999
- 1999-03-04 AU AU18599/99A patent/AU756264B2/en not_active Ceased
- 1999-03-05 EP EP99103915A patent/EP0998089A2/en not_active Withdrawn
- 1999-03-05 US US09/264,188 patent/US6154156A/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04199933A (ja) * | 1990-11-29 | 1992-07-21 | Hitachi Ltd | ネットワーク管理システムおよびその運用方法 |
JPH08328840A (ja) * | 1995-05-31 | 1996-12-13 | Hitachi Ltd | プログラム合成方法 |
JPH09245005A (ja) * | 1996-03-08 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法 |
JPH10124423A (ja) * | 1996-10-22 | 1998-05-15 | Digital Vision Lab:Kk | 参照変換装置とその方法、および、分散処理システムとその方法 |
JPH11252209A (ja) * | 1998-03-04 | 1999-09-17 | Nec Corp | ネットワーク管理システム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694663B2 (en) | 2001-09-06 | 2014-04-08 | Qualcomm Incorporated | System for transferring digital data at a high rate between a host and a client over a communication path for presentation to a user |
US8694652B2 (en) | 2003-10-15 | 2014-04-08 | Qualcomm Incorporated | Method, system and computer program for adding a field to a client capability packet sent from a client to a host |
JP2008522495A (ja) * | 2004-11-24 | 2008-06-26 | クゥアルコム・インコーポレイテッド | 2倍データレートのシリアル符号器 |
JP2010259079A (ja) * | 2004-11-24 | 2010-11-11 | Qualcomm Inc | 2倍データレートのシリアル符号器 |
JP2012165388A (ja) * | 2004-11-24 | 2012-08-30 | Qualcomm Inc | 2倍データレートのシリアル符号器 |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
Also Published As
Publication number | Publication date |
---|---|
AU1859999A (en) | 1999-09-16 |
EP0998089A2 (en) | 2000-05-03 |
US6154156A (en) | 2000-11-28 |
AU756264B2 (en) | 2003-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11249987A (ja) | メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 | |
WO2022126966A1 (zh) | 接口参数校验与转换方法、装置、设备及存储介质 | |
US5418963A (en) | Protocol encoding/decoding device capable of easily inputting/referring to a desired data value | |
US7287217B2 (en) | Method and apparatus for processing markup language information | |
CA2394058C (en) | Method and apparatus of data exchange using runtime code generator and translator | |
US20110283183A1 (en) | Method for compressing/decompressing structured documents | |
US8346737B2 (en) | Encoding of hierarchically organized data for efficient storage and processing | |
US20050120031A1 (en) | Structured document encoder, method for encoding structured document and program therefor | |
US8120515B2 (en) | Knowledge based encoding of data with multiplexing to facilitate compression | |
JPH0673118B2 (ja) | 汎用データストリーム・パーザ | |
US8683320B2 (en) | Processing module, a device, and a method for processing of XML data | |
US6513044B2 (en) | External system interface method and system | |
US20060085737A1 (en) | Adaptive compression scheme | |
CN113742294A (zh) | 一种asn.1-per信令消息解码方法、系统、装置及介质 | |
US7676742B2 (en) | System and method for processing of markup language information | |
CN108563795B (zh) | 一种加速压缩流量正则表达式匹配的Pairs方法 | |
CN118381513A (zh) | 一种基于数据对象的数据压缩传输方法 | |
FI115350B (fi) | Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa | |
US7447787B2 (en) | Protocol executing system and protocol PDU common data structure converting method for processing protocol PDUS | |
US7043502B1 (en) | Methodology for JEDEC file repair through compression field techniques | |
JP3161375B2 (ja) | 抽象構文記法メッセージの符号化装置 | |
JPS62209948A (ja) | デ−タ圧縮伝送方法 | |
CN119094623A (zh) | 移动端通信协议统一解析的处理方法 | |
JPH0773292B2 (ja) | プロトコル符号化/復号化装置 | |
Yuen et al. | Simplified message transformation for optimization of message processing in 3G-324M control protocol |