[go: up one dir, main page]

JP3272014B2 - 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置 - Google Patents

階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置

Info

Publication number
JP3272014B2
JP3272014B2 JP01815292A JP1815292A JP3272014B2 JP 3272014 B2 JP3272014 B2 JP 3272014B2 JP 01815292 A JP01815292 A JP 01815292A JP 1815292 A JP1815292 A JP 1815292A JP 3272014 B2 JP3272014 B2 JP 3272014B2
Authority
JP
Japan
Prior art keywords
ddm
definition
node
data
dictionary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01815292A
Other languages
English (en)
Other versions
JPH0512095A (ja
Inventor
ティー・ドーラ・ベリサロポーラス
ピーター・ケイ・シューム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0512095A publication Critical patent/JPH0512095A/ja
Application granted granted Critical
Publication of JP3272014B2 publication Critical patent/JP3272014B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理及び記憶シス
テムに関し、特にかかるシステムのデータ伝送に使用す
る階層構造の言語構文を指定する方法及び手段に関す
る。
【0002】
【従来の技術】例えば、分散処理のようなデータ処理は
特定のフロー及び相互作用を定義する接続プロトコルを
要求する。これらフロー及び相互作用は分散処理要求の
目的及び結果を伝達する。分散環境におけるアプリケー
ションとプロセッサとの間の意味の接続性のためにプロ
トコルが必要である。プロトコルは、参加者間の責任を
定義するとともに、フローが発生すべきとき及びその内
容を指定しなければならない。分散型アプリケーション
は協同するプロセッサのネットワークに亘って行われる
オペレーションの処理を可能にする。
【0003】クライアント及びサーバは一組のプロトコ
ルを使用して相互に情報を送信する。これらプロトコル
は送信し受信することができるメッセージの順序、メッ
セージに伴うデータ、遠隔プロセッサの接続フロー、及
び外部環境から受信したデータの変換手段等を定義す
る。
【0004】クライアントはプロトコルに従ってアプリ
ケーションとサーバとの間を接続する。それは、(1)
遠隔接続を開始し、(2)アプリケーションからのリク
エストを標準形式に変換し(これは生成とも呼ばれ
る)、(3)応答を標準形式からアプリケーション形式
に変換し(これは構文解析とも呼ばれる)、(4)アプ
リケーションが終了したとき、又はそれがプロセッサを
切換えたときに遠隔プロセッサからのリンクを切ること
によって、接続のアプリケーション端をサポートする。
【0005】サーバはクライアントから受信したリクエ
ストに応答する。それは、(1)接続を受諾し、(2)
入力リクエスト及びデータを受信してそれらを自己の内
部形式に変換(構文解析)し、(3)標準応答メッセー
ジ及びデータを構成し、送信することによって、接続の
サーバ端をサポートする。
【0006】分散データ処理アーキテクチャには、メッ
セージの標準形式として分散データ管理アーキテクチャ
(DDM)を使用するものがある。DDMは、クライア
ントとサーバの間でコマンド及び応答を交換するための
共通インターフェイスを構成する概念上の骨格を与え
る。
【0007】定義 以下の定義は後述する本発明の理解を助けるために与え
られる。それ以上の情報は“IBM分散データ管理アー
キテクチャ・レベル3(参照番号SC21−952
6)”というマニュアルに記載されている。
【0008】 DSS(データ・ストリーム構造): DDMは異なるデータ処理システムに置かれているサー
バ間でデータ管理リクエストを通信する多層アーキテク
チャとして見ることができる。すべての情報は、DDM
が使用している通信機能に適したデータ・ストリームに
マップされたオブジェクトの形で交換される。データ・
ストリーム構造は、包含する構造(オブジェクト構造)
がリクエスト、応答、及びデータのいずれであるか、該
構造は他の構造に連鎖されているか、等に関する情報を
含む一組のバイトである。DDMデータ・ストリーム構
造の3つの一般的な型式は、ターゲット(目標)システ
ムへのすべての処理リクエストについて使用される“リ
クエスト構造”(RQSDSS)と、リクエストの処理
中に検出された状態に関するターゲット・システムから
ソース・システムへの応答のすべてに使用される“応答
構造”(RPYDSS)と、システム間で送信されるす
べてのオブジェクトに使用する“オブジェクト構造”
(OBJDSS)である。
【0009】ニーモニック(簡略記号): DDMオブジェクトの完全名称の簡略形式を指定する。
【0010】クラス: 共通構造を有し、同一コマンドに応答する一組のオブジ
ェクトを記述する。
【0011】コードポイント: コードポイントは辞書クラスのデータ表示を指定する。
コードポイントはDDMアーキテクチャの名前付き項目
に対する16進同義語である。コードポイントを使用す
ると、メモリ及びデータ・ストリームにおいてオブジェ
クトのクラスを識別するために必要なバイト数が減少さ
れる。
【0012】コマンド: コマンドはあるサーバによる機能の実行をリクエストす
るため、そのサーバに送信するメッセージである。例え
ば、“Get_Record”コマンドはファイル・シ
ステムに送信することができる。各DDMコマンドは、
通常、1以上の応答メッセージ又はデータ・オブジェク
トを戻す。
【0013】 DDMコマンドは以下の4つの項目で記述できる: 1.記述:記述部は、通常、コマンド名すなわち“OP
NQRY”のようなコマンドの簡略名と、“Open
Query”のようなコマンドの機能を記述する拡張名
とを含む。
【0014】2.パラメータ:パラメータは、コマンド
のパラメータとして送信することができる、又は送信し
ければならないオブジェクトを記述する。パラメータ
は、それらのクラス・コードポイントによって識別され
るので、いかなる順序で送信することもできる。パラメ
ータは一般に一組の属性(特性)と関連付けられる。
【0015】(a)必須、選択的、又は無視可能。必須
属性はパラメータの使用又は支援が要求されることを示
す。あるコマンドのためのパラメータ・リストにおいて
特定のパラメータが必須と指定されていると、そのパラ
メータはそのコマンドのために送信しなければならな
い。当該コマンドをサポートするすべての受信者は定義
どおりにパラメータを認識し、処理しなければならな
い。応答メッセージのパラメータ・リストに指定されて
いると、そのパラメータは該応答メッセージのために送
信されなければならない。すべての受信者は該パラメー
タを受け入れなければならない。選択的属性は、パラメ
ータの使用又は支援が選択的(オプション)であるとい
うことを示す。あるコマンドのためのパラメータ・リス
トにおいて特定のパラメータが選択的と指定されている
と、該パラメータを任意選択によりそのコマンドのため
に送信することができる。該コマンドをサポートする全
受信者は定義どおりにパラメータを認識し、処理しなけ
ればならず、そして送信されなかった場合、デフォルト
値を使用しなければならない。パラメータは、応答メッ
セージのパラメータ・リスト内に指定されると、該応答
メッセージのために任意選択で送信することが可能であ
る。全受信者がそのパラメータを受け入れなければなら
ない。無視可能属性は、コマンドの受信者が必要なサポ
ートを行わない場合、その受信者はパラメータを無視で
きるということを示す。すべての送信者はパラメータを
任意選択で送信することができる。全受信者はパラメー
タを認識しなければならないが、設計済みデフォルト値
をサポートすることを要求されず、指定した値を有効と
しなくてもよい。
【0016】(b)反復可能又は反復不能:反復可能属
性は、記述されているオブジェクト変数の値でパラメー
タを繰返すことができるということを示す。リストの要
素が一意的であること、又はそれらの要素を順序付ける
ことは要求されない。
【0017】(c)長さ特性:これは対応するデータ送
信の長さに関する要求又は制限を記述する。
【0018】3.コマンド・データ:コマンドと関連付
けられ得るデータ・オブジェクト(例えば、レコード)
のすべての可能なクラスのリストである。各データ・オ
ブジェクトは一般に、パラメータと同様に、一組の属性
(特性)と関連付けられる。
【0019】4.応答データ:応答データ部はコマンド
のために返送することができるデータ・オブジェクトの
すべての可能なクラスをリストする。このリストは返送
すべきデータ・オブジェクトの選択についての注釈を含
むことができる。応答データ・オブジェクトは通常コマ
ンドのために返送される。例外状態が発生したときは、
応答データ・オブジェクトを返送する代わりに、応答メ
ッセージが例外状態の記述を返送することができる。
【0020】 全DDMコマンドは送信前にRQSDSSに封入でき
る: RQSDSS(コマンド(コマンド・パラメータ))
【0021】 全DDMコマンド・データ・オブジェクト及び応答デー
タ・オブジェクトは送信用OBJDSS構造に封入でき
る: OBJDSS(コマンド・データ・オブジェクト(オブ
ジェクト・パラメータ)) OBJDSS(応答データ・オブジェクト(オブジェク
ト・パラメータ))
【0022】 全DDMコマンド応答は送信用RPYDSS構造に封入
できる: RPYDSS(コマンド応答(応答パラメータ))
【0023】構文解析: DDMストリング(DDMストリーム)の構文の正しさ
を検証し、それを認識可能な内部形式に変換する処理。
【0024】生成: 内部形式から有効なDDMストリングを作成する処理。
【0025】トリー: トリー(木)構造は、(a)空構造か、(b)非巡回的
トリー構造である多数のサブトリーを有するノードか、
のいずれかである。ノードx直下のノードyはxの子孫
と呼ばれ、xがレベルiにあり、yがレベルi+1にあ
ると、xはyの親であり、yはxの子である。xはyの
先祖ともいう。トリーのルート(根)は当該トリーにお
いて親のない唯一のノードである。ノードがディセンダ
ントを持たない場合、それはターミナル・ノード又はリ
ーフ(葉)と呼ばれる。ターミナル・ノードでもルート
・ノードでもないノードは内部ノードである。
【0026】DDMアーキテクチャ辞書: アーキテクチャ辞書はオブジェクトの一組の名前付き記
述を示す。辞書にリストされた基本オブジェクトは「C
LASS」及び「HELP」というクラスに分けられ
る。これらオブジェクトの各々はその位置探索に使用す
ることができる外部名及び外部コードポイントを有す
る。これらは複合オブジェクト、すなわち多くのサブオ
ブジェクトのネストされたコレクション(集合)であ
る。辞書のエントリ(見出し)は可変長であり、その各
々は単一の完全なオブジェクトを含む。スカラ・オブジ
ェクトの場合、オブジェクトの長さ及びクラス・コード
ポイントの直後にオブジェクトの全データが続く。コレ
クション・オブジェクトの場合、コレクションの長さ及
びクラス・コードポイントに続くデータは、コレクショ
ンを記憶する辞書のエントリ番号を指定する4バイトの
2進数から成る。DDMアーキテクチャ辞書はDDMア
ーキテクチャ文書とも呼ばれる。
【0027】DDMアーキテクチャ: DDMアーキテクチャはDDMアーキテクチャ辞書によ
り完全に記述される。
【0028】森: トリーの集合群。
【0029】パラメータ: 図1に示すように、3種のDDMオブジェクトがある。
第1のDDMオブジェクトは、単一の数又は単一の文字
ストリングのような、1つのDDMデータ・クラスの単
一インスタンスのみを含む単純スカラである。長さ、ア
ライメント,及び尺度のようなDDM属性は単純スカラ
である。
【0030】次に、クラス識別子その他の属性を指定す
る外部記述子によってバイト・ストリームにマップされ
る、一連のDDMデータ・クラスのインスタンスを含む
マップド・スカラがある。
【0031】最後に、一連のスカラ・オブジェクト及び
コレクション・オブジェクトを含むコレクションがあ
る。DDMコマンド、応答メッセージ、及び属性リスト
はすべてコレクション・オブジェクトの例である。
【0032】 すべてのオブジェクト(パラメータを含む)は連続した
バイト・ストリングとして以下の形式で送信される: (a)2バイト・バイナリ長。オブジェクトの長さフィ
ールドは常に長さフィールドの長さと、コードポイント
・フィールドの長さと、オブジェクトのデータ値の長さ
とを含む。
【0033】(b)オブジェクトを記述するクラスのコ
ードポイントを指定する2バイト・バイナリ値。すべて
のオブジェクトは、オブジェクトの変数及びオブジェク
トが応答しうるコマンドを指定し、且つメッセージに応
答するためのプログラミングを与えるCLASSオブジ
ェクトのインスタンスである。
【0034】オブジェクトのデータ領域は、数及び文字
ストリングのような、オブジェクトの基本クラスのデー
タ値、又はコレクションの要素オブジェクトから成る。
パラメータはスカラ及びコレクションのどちらでもよ
い。
【0035】DDMオブジェクトのクラスはそのパラメ
ータを記述するので、それによって図2に示すような交
換データ・ストリーム形式を定義する。これは、複数の
スカラ・パラメータからなるコマンドの送信を可能にす
る。
【0036】定義: ここでいう、データ処理構造及びオペレーションに関し
て使用される定義は、名前と属性リストとの関連付けで
ある。定義はオブジェクトの変数、値その他の特性を指
定するのに用いられる。
【0037】 データベース管理システム(DBMS): DBMSは、自身が管理するデータを記述するカタログ
を有するソフトウェア・システムであり、その内部に記
憶されているデータに対するアクセスを制御する。DB
MSはデータの完全性を保護するトランザクション管理
及びデータ回復機能を有する。
【0038】SQL(構造化問合せ言語): データベースのデータをアクセスするためデータベース
管理システムで使用される言語。
【0039】深さ優先探索: トリーのノードを組織的に訪ねるための手法である。そ
の順序は、(1)ルート・ノードを訪問し、(2)ルー
ト・ノードの複数の子を訪問し、(3)1つの子を訪問
するため、その複数の子を選択して、それらを順に訪問
する。一般に、現在訪問中のノードがターミナル・ノー
ドでない限り、そのノードと同じレベルにある他のノー
ド及びそれらより下位のレベルのノードは無視される。
深さ優先探索を実現するための1つの方法を図3に示
す。
【0040】対応する擬似コードは: 1.ルート・ノードから成る1要素キューを形成する。 2.キューが空になるまでキューから第1の要素を除去
し、その要素の子がもしあれば、その子をキューの前に
加える。
【0041】幅優先探索のような他の型の探索が可能で
ある。幅優先探索は、開始ノードからの距離に応じてノ
ードを順番に訪問する。
【0042】 アプリケーション・リクエスタ(AR): 遠隔の関係データベース管理システムに対するリクエス
ト源である。ARはクライアントと考えられる。
【0043】 アプリケーション・サーバ(AS): ARからのリクエストの目標である。ASサイトのDB
MSがデータを提供する。ASはサーバと考えられる。
【0044】IBM分散データ管理(DDM)言語の説明 分散データ管理(DDM)アーキテクチャ(IBM刊行
物“IBM分散データ管理アーキテクチャ・レベル3:
資料番号SC21−9526”参照)は、分散アプリケ
ーション用標準化言語を記述する。この言語は、データ
・サービスを互いにリクエストするため、既存システム
のデータ管理構成要素によって使用される。それは、異
種の既存システム間におけるデータ交換、同種のシステ
ム間の効率的データ交換,新システムのための共通デー
タ管理機能、及び新型式のデータ管理の展開等を取扱
う。DDMは、全く異種のオペレーティング・システム
の間のギャップを橋渡しするに必要な概要モデルを提供
する。DDM分散データベース・モデルによって提供さ
れる幾つかのサービスは: (a)遠隔データベースとの接続を設定すること; (b)アプリケーション固有のアクセス方式(パッケー
ジ)をデータベース中に作成し、又はデータベースから
それらを除去すること。これらパッケージはアプリケー
ション・リクエスタによって定義されたSQLステート
メントの入力及び出力のために使用されるアプリケーシ
ョン変数の定義を含む; (c)応答設定データの記述を回復(読出)すること; (d)データベース・パッケージに拘束されているSQ
Lステートメントを実行すること; (e)データベースのSQLステートメントをダイナミ
ックに準備し、実行すること; (f)アプリケーション・リクエスタとデータベースと
の間の一貫した作業単位境界を維持すること; (g)データベースとの接続を終結すること、などであ
る。
【0045】DDMオブジェクトの詳細 DDMアーキテクチャは、DDMの概念、構造、及びプ
ロトコルを記述するタームの“辞書”すなわちDDMア
ーキテクチャ辞書によって定義される。図4及び図5は
DDMオブジェクトのサンプルである。同図のオブジェ
クトはEXCSATRD(サーバ属性応答データ交換)
である。オブジェクトEXCSATRDについてそれ以
上の情報を得たい場合は、EXCSATRDを形成する
オブジェクトを見るべきである。例えば、EXCSAT
RDのパラメータを構成するオブジェクトEXTNA
M、MGRLVLLS、SRVCLSNM、SRVNA
M、及びSRVRLSLVはそれら自体がDDMオブジ
ェクトであり、アルファベット順にアーキテクチャ(ア
ーキテクチャ辞書)中で見出すことができる。どのオブ
ジェクトも変数“help”を有する。この変数は、追
加の情報のためのものであり、オブジェクトの目的及び
意味を説明する。前掲のマニュアルに記載されているD
DMコマンドの他の例を図6乃至図8に示す。
【0046】オブジェクト指向言語同様、DDMはそれ
をオブジェクト指向にする3つの特性を有する。それら
は、カプセル化、継承、及び多相性である。
【0047】カプセル化は、厳格な外部インターフェー
スを定義することによって、別個に書かれたオブジェク
ト間の相互依存性を最少にする技術である。DDMはこ
の概念を使用して、アーキテクチャの一部である各オブ
ジェクト・クラス(オブジェクトであるインスタンス)
を定義する。ほとんどのDDMオブジェクト・クラス
は、inscmd(インスタンス・コマンド)、cls
cmd(クラス・コマンド)、insvar(インスタ
ンス変数)、clsvar(クラス・インスタンス変
数)等の属性を有する。それに加え、他の属性、すなわ
ち長さ及びクラスがある。
【0048】長さ属性はオブジェクトの長さ又は大きさ
を示す。ほとんどのオブジェクトに関連する2つの長さ
属性がある。その1つは、ヘルプ文を含むオブジェクト
・クラス全体が送信されるべきであれば、その長さは属
性で指定した値と同じであるという事実を示す抽象長さ
である。これは常に“*”であり、“*”はその抽象性
のために不確定の長さを表わす。第2の長さ属性は、イ
ンスタンス変数リストの一部である。それはプロトコル
の一部として送信されるときにオブジェクトの長さを指
定する。オブジェクトによっては、その長さが定義によ
り明示(固定)されるものがある。しかし、ほとんどの
オブジェクトはそれらの使用に応じて定められる可変の
長さを有する。かくして、可変長オブジェクトの長さ
は、オブジェクトの送信時においてのみ使用可能とな
る。
【0049】クラスはクラス名又はコードポイントを表
示する。各オブジェクト・クラスはその型式を簡単に記
述する名前を有する。各オブジェクト・クラスは、代替
の(送信面で)より効率的な名前付けであるコードポイ
ントも有する。この属性は各オブジェクト・クラスごと
に2回指定される。最初は概略説明として、次にインス
タンス変数リストの一部(16進数)として指定され
る。DDMオブジェクトのなかには、送信されるときに
自己記述をしないものがある。そのようなオブジェクト
が送信されると、受信者はその前後関係からオブジェク
トを認識する。受信者がオブジェクトを認識するために
必要な長さ及びコードポイントは、たとえそれらがその
ようなオブジェクトのためにDDMによって定義された
としても、送信されない。
【0050】第2の特性である継承は、既存のクラスか
ら、新たなより特殊化されたクラスを構築できるように
する技術である。DDMは継承構造を使用して定義の
(そして実施がオブジェクト指向であれば、最終的には
コードの)再使用可能性を促進する。例えば、クラスC
OMMANDはすべてのコマンドのスーパークラスであ
る。サブクラスはスーパークラスからその構造を継承す
る。
【0051】第3の特性である多相性は、異なるオブジ
ェクトが同じコマンドを理解(応答は異なる)できるよ
うにする技術である。
【0052】本発明においては、次のものが使用され
る。 N:辞書のタームの数(トリーの数)。 m:DDMコマンド又は応答メッセージの拡張における
合計ノード数(トリーのノード数)。 k:最上レベル・ノードの数。ここで説明する特定の応
用では約N/10。 j:ノード当りの子の平均数。
【0053】他の方法(メソッド) このセクションでは、疎結合ファイル(LCF)及びル
ート記憶方法(RSM)を含む、階層言語記憶及び回復
の他の方法を説明する。
【0054】疎結合ファイル(LCF) DDMモデルが辞書を処理から分離していると、LCF
設計は、マクロによって生成し得る静的データ構造のコ
レクションによりDDM辞書を表わす。各DDM辞書は
アセンブルされ、別個のロード・モジュールに連係編集
(リンクエディット)される。DDMオブジェクトの分
離は探索引数として、(a)オブジェクト名(文字スト
リング)、及び(b)辞書識別子を必要とする。辞書は
DDM文書化の構造とよく似ており、複数のノードのネ
ットワークから成っている。かくして、DDM文書化に
精通すると、DDM概念(スカラ、コレクション、コー
ドポイント)をLCF DDM辞書に相関することがで
きる。
【0055】LCF回復方法: 各DDMオブジェクトの定義は1つであるから、オブジ
ェクトを生成するための要件又はその存在を認識するた
めの要件は、その1つの定義に依存することになる。か
くして、LCFは、DDM辞書によって全体的に駆動さ
れる生成及び構文解析法を作成する。最初に生成される
べきDDMオブジェクトは、適当な辞書内でオブジェク
トの定義を分離する。次に、オブジェクトがコレクショ
ンの場合、長さ及びコードポイント属性をスタックにプ
ッシュし、コレクションのインスタンス変数すべてを通
して再帰的に進行し、スカラ(リーフ又はターミナル・
ノード)に遭遇したときに停止する。スカラ(ターミナ
ル・ノード)に到達したとき、ジェネレータ・ルーチン
が呼び出され、スカラの長さ、コードポイントおよびス
カラ値をスタックにプッシュする。長さは上位レベルの
呼出者に戻される。この方式において、コレクションの
すべてのインスタンス変数が処理されたとき、コレクシ
ョンの長さは個々の呼出しから戻された長さの和であ
る。下記の例は実行時にに定義を構築するためのLCF
擬似コードを示す。ここでは再帰(recursion) が使用さ
れる。再帰のない他の方法(すなわち、再帰はシミュレ
ートされる)を図9に示す。
【0056】 Newdef LCF_Construct(コードポ
イントで) (*定義を構築するLCF方法*) コードポイントによって識別されるファイルを探索 そのパラメータ(インスタンス変数)がもしあれば、そ
のすべてをスキャン If インスタンス変数がある then Do; インスタンス変数についてファイルをスキャン Do すべてのインスタンス変数について Definition=Definition+ LCF_Construct(コードポイント) End Do; End If; End LCF_Construct;
【0057】LCFフローを例示し、辞書アクセスのイ
ンパクト及びパス長の再帰に関するある見識を与えるた
め、構築されるべき定義トリーを示す図10の例を考え
る。LCFフローはこのトリーのために13ファイルを
保持する。また、LCFフローを例示し、辞書アクセス
のインパクト及びパス長の再帰に関するある見識を与え
るため、図11に示す例を考える。
【0058】従って、LCFは各ファイルを回復し、各
ファイルのパラメータを順次に探索し(探索引数は可変
長文字ストリングか、又は上例のRDBNAMのような
DDM簡略記号である)、次に、見つかった各パラメー
タについてファイルを取得し、そのパラメータを抽出す
る。これは再帰法である。この再帰ステップはDDMス
トリームを生成又構文解析することを希望する各実行時
において行われる。これは、DDM辞書定義を構成する
ための方法がファイル全体に対する徹底的探索であるこ
とを意味する。故に、定義を構築するために、LCFは
m回の回復を要求し、各回復ごとに、パラメータを見つ
けるための順次探索が行われる。
【0059】LCF記憶方法: LCFは、図6乃至図8に示す形式で、各DDM定義を
ファイルに記憶する。これは、各タームが構文解析及び
生成プロセスにより必要とされない情報と共に別のファ
イルに記憶されるということを意味する。また、その各
インスタンス変数も同様にして記憶される。
【0060】LCFを記憶するためには、辞書の1ター
ム当たり約1000+100mバイト(内部ノード当り
1000バイトの頭尾部オーバーヘッド+100バイト
を想定)を必要とする。従って、辞書全体としては、約
(1000+100m)Nバイト必要である。
【0061】ルート記憶法 ルート記憶法(RSM)は、適当な実現方式(ネストさ
れたCASEステートメント、CASE内のCASE内
のCASE)によってDDMオブジェクト定義構築の再
帰性をシミュレートする。それによれば、DDM辞書内
に定義されたオブジェクトを全面的に除去するか、又は
所与の型式のものに制限することができる。RSMは、
探索引数の要素としての辞書識別子をまず除去すること
によりDDM辞書を再構成し、それによりすべての辞書
が併合される。次に、辞書探索引数が文字ストリングか
らコードポイントに変更される。文字ストリングはなお
辞書内に維持される。最後に、辞書内に定義されるオブ
ジェクトはルート・ノードのみに制限される。かくし
て、DDMコマンド、コマンド・データ、応答メッセー
ジ及び応答データのみが定義される。しかし、いかなる
DSS(又はパラメータ)、コレクション又はスカラの
構成インスタンス変数も定義されない。
【0062】RSM回復方法 オブジェクトが要求を満たすものと識別されると、各ル
ート・レベル・オブジェクトに対して、1つの完全なオ
ブジェクトを生成する一意的なルート・レベル・オブジ
ェクト・ジェネレータが存在する。このオブジェクト・
ジェネレータは、オブジェクトを構成するインスタンス
変数(コレクション及びスカラ)を非再帰的に構成す
る。従って、ジェネレータはそのオブジェクトを構成す
るすべてのインスタンス変数の生成に固有の再帰をシミ
ュレートしなければならない。図12はCASE内CA
SE法を示す。図13はRSMオブジェクト構成の流れ
図である。このアプローチにより、DDM辞書は、オブ
ジェクトが静的データ構造内で定義され、その構成イン
スタンス変数がハードコード化されるように、区画され
る。この方法では、各種パラメータの定義は複数回ハー
ドコード化されること、及びこの方法はDDMの可能な
すべての変化に対して拡張できないということに注意を
要する。例えば、CASEステートメントで可能なネス
ティングのレベル数には制限がある。
【0063】ACCRDBRM用定義を構成するため
(図10のように)、RSMは図14に示すステップを
実行する。
【0064】1つの定義を構成するためには、底が2の
対数Nに比例したコスト及びm個のCASEステートメ
ントで回復を実行しなければならない。かくして、RS
Mはルート・ターム定義を回復する。その後、パラメー
タの拡張が手順中にハードコード化される。この方法
は、適当な実現手法(例えば、CASE内CASE・・
・等)によるDDMオブジェクト生成の再帰性を近似す
る。プログラミング言語の制限のため、CASEステー
トメントのネスティングのレベル数は可能なものに限定
される。これは厳しい制限であるように見える。DDM
を更に多くのレベルに拡大すると、RSMはその有益性
を失う。DDMストリングがネスティング限界を越えた
深さ(デプス)に達すると、コードの再設計を行わなけ
ればならない。その上、この方法は、DDMがスタティ
ックでないため、構文解析に十分適していない。DDM
ストリングを構文解析するとき、トリーのDDMターム
の各レベルにおけるパラメータはいかなる順序に現われ
てもよい。CASE内CASE・・・はすべての可能性
あるパラメータ順序の組合わせは与えない。また、辞書
中にパラメータが生起するごとに、それに関連する意味
手順が複製される。プログラムはハードコード化され、
従って維持が難かしい。大きさが増大するため、プログ
ラムはより複雑となる。プログラムを維持するため、そ
のたびに再コンパイルが行われる。従って、DDMター
ムの定義を得るためには、トップ・レベルのファイルで
1回の回復及び1回の順次探索が必要である。そこで、
一連の組み込みCASEステートメントが残りのDDM
定義を提供する。
【0065】RSM記憶方法 RSMはルート又は“トップ・レベル”定義のみを記憶
する。パラメータの構成インスタンス変数は定義されな
い。これは、トップ・レベル・コードポイントの定義の
みがデータとして記憶されるということを意味する。ル
ートを通して引出されたパラメータのすべてがプログラ
ムにハードコード化される。これはDDMストリングを
構文解析し生成するのに必要なものを含む情報を失う結
果となる。すなわち、パラメータの構造に関するすべて
の情報はデータとして使用できないということである。
もし、辞書に変更があれば、整合性の問題をもたらすか
もしれない。LCFはすべてのコードポイントに関する
すべての情報を記憶したが、この方法はトップ・レベル
・コードポイントのための構造的情報を記憶するのみで
ある。頭尾部オーバヘッドに対して1000バイト、そ
して内部ノード当たり100バイトを仮定すると、RS
Mのための記憶要求はトップ・レベル・ターム当り約1
000+100mである。従って、辞書全体としては約
(1000+100m)kになる。パラメータ構造のた
めの残りの情報は図12に示すようにプログラムにハー
ドコード化される。N/10個のトップ・レベル・オブ
ジェクトがあると仮定すると、記憶のコストは(100
0+100m)N/10バイトである。
【0066】
【発明が解決しようとする課題】LCF及びRSM法の
欠点 LCFは定義を構成することなく一組のファイルを維持
する。これは、オブジェクトの定義が要求される度に、
LCFは上記の方法を使用してそれを再構成しなければ
ならないということを意味する。要求の度に定義を再構
成することには何の付加価値もない。というのは、同じ
定義が何回も要求されるだろうからである。その上、L
CFは各パラメータの定義の各々を非常にコンパクトな
形で維持することはなく、不要な情報、すなわち構文解
析及び生成に本質的でない情報を記憶する。本発明は、
アクセスの度に定義を再構成する必要がないようにデー
タ構造内部でDDMコマンドの定義を拡張し、且つ数バ
イトで定義の本質を記述するために短いデータ形式を定
義することによって、これらの問題を解決する。
【0067】RSMはトリーのトップ・レベル・ノード
の定義のみを記憶する。残りの定義はプログラムにハー
ドコード化される。これはLCF法に比較してスペース
を節約しうるが、RSMはコンパクトな形式でルート・
ノードの情報を記憶しない。RSMのメンテナンスは、
各パラメータのハードコード化のため、及びパラメータ
の各インスタンス毎にコードを辞書に複製するために、
困難かもしれない。RSMは、またCASEステートメ
ントのネスティング・レベルのようなプログラミング言
語の制限を受ける。
【0068】本発明は上記の課題に鑑みてなされたもの
で、各種制約のないコンピュータ・システム用階層構造
データ処理情報の符号化、記憶、及び回復のための方法
及び手段を提供するものである。
【0069】
【課題を解決するための手段】本発明は以下で要約する
ように構成して上記の課題を解決した。本発明の一面に
よると、階層的に関係するデータ送信情報を符号化し、
記憶し、回復するためにコンピュータ・システムで使用
するように適応されたデータ送信辞書が設けられる。該
辞書はコンピュータ・システムの送信情報に関する一群
の1以上のコンピュータ探索可能な定義トリーから成
る。該トリーは、コンピュータ・システムによって使用
可能なコマンド、応答、又はデータの特性を含む第1の
定義群から引出される。該特性は、コマンド、応答、又
はデータに対して適用する構造及び値の特性及び制限を
含む。各トリーは、関係するコマンド、応答、又はデー
タの定義を表わす。本明細書で「定義トリー」という用
語を使っているのはこのためであり、また以下で、単に
「トリー」と言えば、この定義トリーのことを表す。
トリーはコードポイントのような名前によって識別され
るルート・ノードを含む。ルート・ノードは関係する定
義トリーの型式を説明する情報を含み(すなわち、それ
はコマンド、応答、又はデータに関係するかどうか)、
当該トリーによって示される定義の構成要素を表す1以
上の内部ノード又はターミナル子孫ノードを包含しても
よい。子孫ノードは、そのトリー内のノードのレベルを
示すレベル情報を含む。ノードは属性情報を含むことが
でき、ノードによって表わされる送信情報に関係する値
の要件を含んでもよい。
【0070】辞書における各定義のルート・ノードは、
その定義トリーによって表わされる送信情報の長さ制限
に関する情報を含むこともできる。
【0071】属性情報は、ノードによって表わされるデ
ータ送信情報が必須か、選択的か、又は無視しうるかど
うかに関する情報を含む。
【0072】属性情報は、またノードによって表わされ
るデータ送信情報の長さ、反復性、又は非反復性に関す
る情報を含む。
【0073】各定義トリーのルート・ノードを当該トリ
ーのためのアクセス可能な唯一のエントリで構成すると
都合がよい。
【0074】定義トリーは大きさをコンパクトにし得る
ので、それらの定義トリーを使用するコンピュータ・シ
ステムのメイン・メモリに記憶させて、データ送信の処
理のために構文解析又は生成プログラミングで使用する
ようにしてもよい。
【0075】定義トリーは、深さ優先探索形式で表現さ
れるのが好ましいコンパクトなリニヤ形式で記憶すると
都合がよい。
【0076】本発明の他の面によると、コンピュータ・
システムによって使用可能なコマンド、応答又はデータ
の部分を定義する第1のノード定義群から一群の1以上
のコンピュータ探索可能な定義トリーを引出すことによ
って上述のデータ送信辞書を作成する方法が提供され
る。各ノードは、定義トリーに従うデータ送信ストリー
ムの処理のために必要な情報だけを保持することによっ
てコンパクトにされる。各定義トリーは、それぞれのル
ート・ノードから開始して、リニヤ形式でコンパクトに
したノードを順に配列し、コンパクトにした各ノードに
含まれる情報を当該辞書に配置し、順次定義トリーの各
子ノードをアセンブルすることによって構築される。各
子ノードをアセンブルする方法は、子ノードに含まれて
いる情報を当該辞書に配置すること、及び子ノードの各
子ノードを順にアセンブルすることを含む。ターミナル
・ノードをアセンブルする方法はターミナル・ノードに
含まれている情報を当該辞書に配置することを含む。
【0077】更に、本発明の他の面によると、上述のデ
ータ送信辞書を構成するためための手段が提供される。
この手段は、コンピュータ・システムによって使用可能
なコマンド、応答、又はデータの部分を定義する第1の
ノード定義群から一群の1以上のコンピュータ探索可能
な定義トリーを引出すためのエクストラクタを含む。定
義トリーに従うデータ送信ストリームの処理のために必
要な情報のみを保持して各ノードをコンパクトにするコ
ンパクタが設けられる。各トリーのルート・ノードから
開始して、各定義トリーをアセンブルするアセンブラが
設けられる。アセンブラは、コンパクトにした各ルート
・ノードに含まれている情報を当該辞書に配置するこ
と、及び、コンパクトにしたノードの子ノードがもしあ
れば、その各子ノードをアセンブルすることができる。
アセンブラは各子ノードに含まれている情報を当該辞書
に配置すること、及び、子ノードの子ノードがもしあれ
ば、その各子ノードをアセンブルすることができる。
【0078】更に、本発明の他の面によると、コンピュ
ータ・システム内で、又は他のコンピュータ・システム
との通信で使用される、階層的に関係するデータ送信情
報を符号化し、記憶し、回復するために上述の辞書がコ
ンピュータ・システムに組み込まれる。
【0079】更に、本発明の他の面によると、下記のス
テップを使用して、上述の辞書を使用する1以上のコン
ピュータ・システムのデータ送信を符号化し復号する方
法が提供される。
【0080】第1のステップは、辞書の個々の定義に従
い、データ送信をコマンド部、応答部又はデータ部に分
割し、それらの部分がシステムで使用するデータ送信プ
ロトコルの仕様の要求に合致することを保証する。
【0081】第2のステップは、各部分のために、辞書
から対応する定義トリーを回復する。そしてデータ送信
中は、必要な情報が存在すること、及びデータ送信中に
遭遇した各ノードについてトリー構造の関連ルールに従
っていることを保証し、更に、ノードに対応する定義で
説明したように、ノードに関する構造及び値のルールが
守られていることを保証する。
【0082】上記の方法がデータ送信を符号化するため
に使用されるとき、辞書定義は、コンピュータ・システ
ムの内部データ構造を定義の要求に合致するデータ送信
に変換するためのロードマップとして作用する。
【0083】上記の方法がデータ送信の復号に使用され
るとき、辞書定義は、定義要求に従うデータ送信の検
証、及びコンピュータ・システムの内部データ構造への
変換のためのロードマップとして作用する。
【0084】更に、本発明の他の面によると、発信元シ
ステム及び宛先システムから成る分散コンピュータ・シ
ステムが提供される。発信元システムはアプリケーショ
ン・リクエスタと、パーサと、アプリケーション・リク
エスタをサポートするジェネレータとを含む。宛先シス
テムはサーバと、パーサと、サーバをサポートするジェ
ネレータとを含む。パーサ及びジェネレータは、発信元
及び宛先システム間のデータ送信を処理するため、上述
のようにして構成された1以上の辞書をアクセスする。
【0085】上述の分散コンピュータ・システムは1つ
のローカル・コンピュータ・システム内に発信元システ
ム及び宛先システムを含めることができる。
【0086】更に、本発明の他の面によると、階層的に
関係するデータ処理情報を符号化し、記憶し、又は回復
するため、コンピュータ・システムによる使用に適応す
るようにしたデータ処理辞書が提供される。該辞書はコ
ンピュータ・システムのデータ処理情報に関する一群の
1以上のコンピュータ探索可能な定義トリーから成る。
該トリーはコンピュータ・システムによって使用可能な
コマンド、応答、又はデータの特性を含む第1の定義群
から引出される。該特性は、コマンド、応答、又はデー
タに適用され得る構造及び値の特性を含む。各トリー
は、関係するコマンド、応答、又はデータの定義を表わ
す。各トリーは名前によって識別されるルート・ノード
を含む。該ルート・ノードは関係する定義トリーの型式
を表わす情報を含み(すなわち、それがコマンドに関係
するか、応答に関係するか、又はデータに関係するかど
うか)、トリーによって表わされる定義の構成要素を表
わす1以上の内部又はターミナル子孫ノードを含むこと
ができる。子孫ノードは、そのトリー内でのノードのレ
ベルを示すレベル情報を含む。ノードは属性情報を含む
ことができ、ノードによって表わされるデータ処理情報
に関する値の要件を含むことができる。
【0087】トリーの幾つかのノードをデータ処理シス
テムによって記憶されたデータにリンクしておくと、そ
のようなデータをアクセスするのに有益である。
【0088】
【実施例】以下、添付図面に基づき本発明の実施例を詳
細に説明する。以下に述べる本発明において、DDMコ
マンド、応答、及びデータの定義は夫々コマンド・トリ
ー、応答トリー、及びデータ・トリーに記憶される。
【0089】本発明は、(方法及び手段を含む)DDM
辞書構造オプティマイザ(DDSO)とも称し、DDM
データ・ストリームの構文解析及び生成に必要な情報の
みを保持することにより、DDMコマンド及び応答デー
タ・トリーのノードの定義をコンパクトにすることがで
きる。DDSOは、対応するトリーのコンパクト化した
ノードを深さ優先探索方式で順序付けることによって、
DDMコマンド、応答、又はデータの定義をアセンブル
する。最初にDDMアーキテクチャ文書をスキャンし
(オンラインが望ましい)、次に必要な情報を抽出する
ことによって定義が作成される。そこで、各定義がアセ
ンブルされる。DDSOを説明するため、まずDDMア
ーキテクチャ文書から本発明のDDM辞書構造を如何に
作成するかを説明し、次に記憶及び回復方法はどうか、
及び定義構文の正式な仕様等を説明する。最後に、DD
SOの利点及び欠点について説明する。
【0090】DDM辞書データ構造の生成 DDM辞書データ構造は、DDMアーキテクチャを定義
するDDMアーキテクチャ文書から引出された定義のコ
ンパクトな形式である。各定義はリニヤ形式のトリー
(1以上のノードを有する)として表わされ、各ノード
がコンパクトな形式で定義された深さ優先探索形式でそ
れを表現するのが好ましい。ステップは下記の通りであ
る。
【0091】ステップ0:(抽出ステージ) 森(フォレスト)で要求されるトリーのためのすべての
コードポイント(ノードの識別子)を得る。DDMアー
キテクチャは相互に指示するノードのネットワークを提
供する。このステージはアプリケーションのトリーのた
めに必要なノードを抽出する。ルート・ノードのみが抽
出ステージに与えられる。このステップはどのノードが
定義に必要かを計算する。
【0092】 ステップ1:(コンパクション・ステージ) ステップ0で作成されたすべてのDDMファイルを、本
質的な情報、すなわち各ノードのトップ・レベル・コー
ドポイント及び全ノード・パラメータについてスキャン
する。パラメータのためその情報をDDSO形式で保持
する。DDSO形式の詳細は後述するが、その一例は
“RN1:2401,*255”である。これは、属性
(RN)、トリー中のレベル(1)、一意的な識別子
(2401)及び長さ属性(*255)を示す。
【0093】ステップ2:(アセンブル・ステージ) このステップは各パラメータをアセンブルする。これ
は、パラメータ自体がパラメータを有する場合(すなわ
ち、それは親である)、子が深さ優先探索方式で加えら
れ、親より1つ上のレベルがそれらの子に与えられると
いうことを意味する。
【0094】ADDG(自動DDM辞書ジェネレータ)
は、DDMアーキテクチャ文書から1以上のDDM辞書
データ構造(辞書)を作成するのに使用できる便利なツ
ールである。ADDGは図15に示すような3つのステ
ップを有する。
【0095】 1.DDMTXT生成(Generate DDMTX
T): このステップは、DDMアーキテクチャ文書をスキャン
して、ユーザが要求する情報を抽出する。これはユーザ
指定のルート・ノードと、ルート・ノードの拡張に必要
なすべてのノードとを含む。抽出された各ノードは、D
DMニーモニック・タームに等しいファイル名、及びフ
ァイル・タイプDDMTXTを有するファイルに入れら
れる。DDM FLVL及びEXPCDPT FILE
のような他のファイルが作成される。DDM FLVL
は、拡張されようとしているすべてのDDMタームのリ
ストを与える。EXPCDPT FILEは、すべての
有効部分仕様(部分仕様は、DDMオブジェクトがコマ
ンド・オブジェクトか、応答オブジェクトか、データ・
オブジェクトかを指定する)のリストと、それらに対応
するコードポイント及びDDM HEXとを与える。D
DM HEXは、対応するコード・ポイントを有するす
べてのDDMニーモニックのリストを与える。DDMT
XT生成のハイ・レベル・フローチャートを図16に示
す。
【0096】 2.DDM定義作成(Create DDM Defi
nitions): 上述のDDMTXT生成ステップは、DDM定義作成ス
テップより前に実行しなければならない。DDM定義作
成ステップは、各DDMターム用のDDM定義を含むD
DM定義ファイルを作成する。それは辞書のためのDD
SO形式に設定された特別の規則に従う。図17はこの
ステップを示したものである。
【0097】3.DDM定義アセンブル: 上述のDDMTXT生成ステップ及びDDM定義作成ス
テップはDDM定義アセンブル・ステップより前に実行
しなければならない。このDDM定義アセンブル・ステ
ップは、複数のDDM定義の一部をアセンブルすること
によってすべてのトップ・レベルDDMタームをアセン
ブルする。それは、各定義を記憶するために、ソース言
語固有ステートメントを含む。定義はファイルに記憶さ
れる。DDM定義アセンブル・ステップのためのフロー
チャートを図18に示す。
【0098】図19及び図20にADDGツール用の擬
似コードを示す。このように、定義の構築には、2つの
メイン・オペレーションが含まれ、それらはコンパクシ
ョン(簡潔化)及びアセンブル(組立)である。コンパ
クションは各パラメータをコンパクトな形式に記憶する
ことを含み、アセンブルはルート・ノードの完全な定義
を深さ優先探索形式で再アセンブルする拡張処理であ
る。アセンブルを行わずに各パラメータの定義をコンパ
クトにすることは可能である。その結果、LCF以上の
記憶の節約を生じることになる。しかし、定義は、本発
明においては、実行前ではなく実行時に作成しなければ
ならないので、定義を作成するためのLCFのパフォー
マンス・オーバヘッドが課されれることになる。コンパ
クトにせずに、定義をアセンブルすることも可能であ
る。ある内部ノードの複製及び各ノードのための大きな
記憶要求のために、この代替案は魅力あるものではな
い。しかし、コンパクション及びアセンブルが両方共行
われるならば、本発明から最高の利益が得られるであろ
う。
【0099】記憶法 DDSOは図21乃至図32に示すフォーマットでDD
M定義ファイルを記憶する。DDM定義は、深さ優先探
索方式でアセンブルされたトリーのリニヤ表現であり、
要求された情報、すなわちルート・ノードのために必要
な情報及び非ルート・ノードのために記憶される情報を
含む。ルート・ノードはその定義のために6バイトを必
要とし、各非ルート・ノードは11バイトを必要とす
る。トリーにm個のノードがある場合、トリーは11m
+6バイトを必要とする。従って、辞書にN個のトリー
があると、11mN+6Nバイトが要求される。その
上、小さな探索テーブルはトリー当り6バイトを必要と
するから6Nバイトとなる。従って、合計で11mN+
12Nバイトを必要とする。
【0100】上例において、定数11及び6、すなわち
内部ノード及びルート・ノード当りのバイト数は夫々わ
ずかに大きいということに注意を要する。人間が読み易
くなるように、ある追加の文字(“/”)及び句読点
(“,”)が加えられた。
【0101】アプリケーションの例として、辞書自体の
ために約5088バイトのデータが要求され、探索目的
のために約510バイトの小さなルックアップ・テーブ
ルが要求される。定義は既に構成されているので、回復
のコストは、ルックアップ・テーブル中を探索するコス
ト(例えば2分探索を使用するコスト)まで節約するこ
とができる。
【0102】 1.ルート・ノードのために記憶される情報: 下記の属性情報がルート・ノードのために記憶される。
【0103】(a)キャリヤ・タイプ: すなわち、それはリクエストか、応答か、又はデータ・
オブジェクトかどうかである。DDMにおいては、リク
エスト・データ・ストリーム構造のための1つの汎用フ
ォーマットがある。このリクエスト・エンベロープ(R
QSDSS)フィールドは、自己定義構造ではないた
め、ある順序で指定しなければならない。RQSDSS
は1つのコマンドのみを搬送することができる。同様
に、DDMにおいて、応答データ・ストリーム構造に対
しても1つの汎用フォーマットがある。応答エンベロー
プ(RPYDSS)が自己定義構造ではないため、すべ
てのフィールドを要求された順序に従って指定しなけれ
ばならない。同様に、データ・オブジェクト・エンベロ
ープ(OBJDSS)は予め指定されたフォーマットを
有し、コマンド及び応答メッセージを除くすべてのオブ
ジェクトを搬送する。1つのOBJDSSで複数のオブ
ジェクトを搬送することができる。
【0104】 (b)ルート・ノードのコードポイント:
【0105】(c)長さ特性: 長さ特性は固定長オブジェクト、可変長オブジェクト、
最大長オブジェクト、及び最小長オブジェクト用の記述
を含む。
【0106】 2.内部ノード及びリーフ(ターミナル・ノード)のた
めに記憶される情報: 非ルート・ノードのために下記属性情報が記憶される。 (a)ノードが必須か、選択的か、無視可能かどうか。 (b)ノード(及びその子孫)は反復可能か否か。 (c)トリー中のノードのレベル又は深さ。 (d)該ノードの長さ特性。
【0107】記憶される最初の属性は必須属性、選択的
属性、又は無視可能属性である。必須属性は、パラメー
タの支援又は使用が必須であるということを示す。特定
のパラメータがあるコマンドのためのパラメータ・リス
ト中で必須と指定されると、そのコマンドのために該パ
ラメータを送信しなければならない。そのコマンドを支
援するすべてのレシーバはその定義したパラメータを認
識し、処理しなければならない。パラメータは、応答メ
ッセージのパラメータ・リストに指定されていると、そ
の応答メッセージのために送信しなければならない。す
べてのレシーバはそのパラメータを受け入れなければな
らない。
【0108】選択的属性は、パラメータの支援又は使用
が選択的(オプション)であることを示す。特定のパラ
メータがあるコマンドのためのパラメータ・リスト中で
選択的と指定されていると、そのコマンドのために該パ
ラメータを任意選択で送信することができる。そのコマ
ンドを支援するすべてのレシーバはその定義したパラメ
ータを認識し、処理しなければならず、それが送信され
ない場合、デフォルト値を使用しなければならない。パ
ラメータは、応答メッセージのパラメータ・リストに指
定されていると、その応答メッセージのために任意選択
で送信することができる。すべてのレシーバはパラメー
タを受け入れなければならない。
【0109】無視可能属性は、コマンドを受け取ったレ
シーバが要求された支援を与えない場合に、そのレシー
バがパラメータを無視できることを示す。すべてのセン
ダはパラメータを選択的に送信することができる。すべ
てのレシーバはパラメータのコードポイントを認識しな
ければならない。レシーバはそのパラメータ値を無視す
ることができる。
【0110】次の属性は反復可能属性又は反復不能属性
である。反復可能属性は、パラメータが反復可能である
ことを示す。パラメータが反復不能と指定されると、そ
れを反復することはできない。リストの要素が一意的で
あるということ、又はリストの要素が何らかの順序で並
べられるということは要求されない。図36乃至図38
は、ルート・ノード及び非ルート・ノードのために記憶
される情報を論理的にに示したものである。
【0111】例えば、記述“1,200C,****”
を有するトップ・レベル・ノードは1のキャリヤ・タイ
プ(リクエスト)、hex ′200C′のコードポイ
ント、及び可変長(すなわち、不指定の限界まで)を有
する。
【0112】また、記述“RN2:2408,*25
5”を有するパラメータ又は内部ノードは、該パラメー
タが必須であり、反復不能であり、hex′2408′
のコードポイントを有し、255までの可変長を有する
ということを意味する。
【0113】パラメータの順序付け 本実施例においては、各完全トリーのためのパラメータ
はリニヤ形式でリストされる。例えば、図33に示すト
リーの場合、トリー中のパラメータ定義を深さ優先探索
方式で順序付けると、N0、N1、L1、N2、N2.
1、L2、N2.2、L3、N3、L4、N4、N4.
1、N4.1a、L5、N4.1b、L6、N5、L7
となる。ここでNはノード、Lはリーフを意味する。ト
リーの順序が維持される。トリーは、深さ優先探索順序
が使用され、深さ情報が維持されているので、階層構造
形式で再構成することができる。
【0114】その他のパラメータ順序付け: 送信されるDDMパラメータの有効な順序付けのすべて
は、深さ優先探索の順序付けのすべてであるから(左か
ら右への表記法慣例に制限されない)、定義をこのよう
にして記憶すると都合がよい。他の順序でそれらを記憶
することはできるが、より高価である。トリーをリニヤ
形式から再構成できるように、親情報のような追加の情
報を定義に加えなければならない。
【0115】回復機構 本実施例における回復(読出)機構は簡単な探索方式
(2分探索)に従う。しかし、コードポイントの範囲,
コードポイントの値,実現する森の大きさ等に従って、
他の適当な探索方式を使用することもできる。
【0116】〔DDM辞書構文〕 図34は本実施例に使用するコマンド、応答、及びデー
タのためのDDM辞書定義構文を示す。
【0117】〔解釈規則〕 DDM辞書構文を記述する規則は下記のように解釈する
ことができる。 1.“:=”は“によって定義される”を意味する。例
えば、A:=Bは、AはBによって定義されることを意
味する。 2.“|”は論理オアを意味する。例えば、A:=B|
Cは、AはB又はCのどちらかで定義されることを意味
する。 3.小文字は定義のターミナル・ノードを表わし、その
文字通りに定義される。 4.大文字は非ターミナル・ノードを表わし、ターミナ
ル及び非ターミナルのコレクションとして定義される。 5.引用符:引用符内の項目は文字通りである。例え
ば、‘B’は文字Bを意味する。
【0118】 〔図34で使用する頭字語及び構文〕 carrierはDSSキャリヤを示し、そのうち0は
部分応答のために使用されるDSSキャリヤを示し、1
はコマンドのために使用されるDSSキャリヤ・フィー
ルドRQSDSS(リクエストDSS)を示し、2は応
答のために使用されるDSSキャリヤ・フィールドRP
YDSS(応答DSS)を示し、3はオブジェクトのた
めに使用されるDSSキャリヤ・フィールドOBJDS
S(オブジェクトDSS)を示す。codeptはDD
Mタームのための識別子であるDDMコードポイントを
示す。maxlenはDDMタームの最大長を示す。m
inlenはDDMタームの最小長を示す。level
はDDMトリーのレベル、すなわちパラメータを有する
ネスティングのレベルを示す。lengthはDDMパ
ラメータの長さである。****は可変長を意味する。
$は定義の終了を示す。LOWERAはDDMが使用す
る低レベルのアーキテクチャを示す。これはDDMのた
めに他のアーキテクチャを含めることを可能にする。
【0119】定義の正式な仕様の意味を下記に示す(図
34参照)。 DDM_ENTRY: ライン1はトップ・レベル・エントリであり、ルート・
ノードを定義する。ルート・ノードはリクエスト、応
答、又はデータ・オブジェクト・エンベロープのいずれ
かを有することができ、これはキャリヤ(carrie
r)で指定される。特定のアプリケーションに対するキ
ャリヤは4つの値0〜3が可能であるが、他の型式のエ
ンベロープに拡張することができる。キャリヤに加え、
ルート・ノード情報はルート・ノードのコードポイント
(codept)及び長さ仕様(length)を含む
(ルート・ノードの長さは、普通は可変長であるが、そ
れは必須ではない。長さ仕様は固定長フィールド、最大
長フィールド、最小長フィールド、又は可変長フィール
ドを指定することができる)。ルート・ノードはDDM
_PARMS(図34のライン1参照))と称するDD
Mオブジェクトから構成されるか、又は低レベル・アー
キテクチャのオブジェクトから構成されてもよく、そし
て自身が低レベル・データ値を有するか(ライン2)、
又は低レベル・オブジェクトのコレクションであっても
よい(ライン3)。
【0120】DDM_PARMS: ルート・ノードがDDMオブジェクト及び低レベル・オ
ブジェクトのコレクションを含む場合、このDDM定義
に従う。DDMオブジェクトは(a)必須/選択的/無
視可能(roi)、反復可能/反復不能(rn)、(ル
ート・ノードがレベル1である)トリーにおけるターミ
ナル・オブジェクトのレベル(level)、コードポ
イント(codept)及び長さ特性(length)
などのような情報を有するターミナル・オブジェクト
(ライン4);(b)上記のターミナル・オブジェクト
と同一の特性を有する低レベル・オブジェクトの内容を
持つターミナル・オブジェクト(ライン5、6);
(c)2つのDDM_PARMSオブジェクト。これ
は、トリー中に2以上のターミナル・オブジェクト及び
2以上の深さを可能にするため、1つのDDM_PAR
MSが自身を再帰的に定義することを可能にする(ライ
ン7):又は(d)1つのDDM_PARMSオブジェ
クト。これは、オブジェクトの終了を示し且つ定義で要
求される‘$’のための構文上のトリックである(ライ
ン8)。
【0121】LOWOBJ: DDMオブジェクトと同じ構造にできるので、ネスティ
ング及びターミナル・ノードを可能にする。ターミナル
・ノードはDDMターミナル・ノードと同一の基本情報
を含む(ライン9〜11)。
【0122】ライン12: キャリヤ(carrier)は‘0’から‘3’の範囲
の値を持つことができる。これは必要に応じ、それ以上
の値まで拡張することができる。 ライン13: トリーにおけるパラメータのレベルである。ルートはレ
ベル1を有し、その子はレベル2を有する。ノードがレ
ベルiの場合、その子はレベルi+1になる。
【0123】ライン14: codeptはすべての有効なDDMコードポイントを
示す。 ライン15: DDMのための長さ特性である。これは次のような値を
とることができる。(a)dddd(1233のよう
な)、これれは1233の固定長を意味する。(b)*
***、これは可変長を意味する。(c)*maxle
n(*255のような)、これはDDMオブジェクトが
255の最大長を有することを意味する。(d)min
len*(255*のような)、これはDDMオブジェ
クトが少くとも255の長さを有することを意味する。
長さに関しては4つの特性しかないが、これは必要に応
じ、容易に拡張することができる。
【0124】ライン16及び17: minlen及びmaxlenの指定 ライン18: “roi”はパラメータが必須か、選択的か、又は無視
可能かを意味する。 ライン19: “rn”はパラメータが反復可能か否かを意味する。 ライン20: “d”は0乃至9のいずれか有効な数字である。
【0125】図34の仕様は、本発明の内容及び主旨を
変えることなく、様々な方法で変更することができる。
例えば、(a)更に多くのキャリヤ・タイプを加えるこ
と;(b)更に多くの属性をルート・ノード又はパラメ
ータ・ノードに加えること;(c)長さをより多くの数
字で表したり、又は最小長制限及び最大長制限の両方を
有するパラメータを加たりすることによって、長さ仕様
を変更すること、などが可能である。DDMが発展する
と、辞書構文のための仕様もそれに伴って発展する。
【0126】例: 図6乃至図8に示すファイルは下記のように記憶させる
ことができる。 リクエスト: 1,200C,****/ON2:2110,0022
/RN2:2113,0068/RN2:2114,0
008/ON2:2132,0006$ コマンド・データ: 3,200C,****/ON2:2412,***
*,LOWERA/RR3:0010,****/OR
3:147A,****$
【0127】次の2つの極端なケースでDDSOとLC
F及びRSMとを比較してみる。(a)ノードが1つの
トリー:DDSOはノードをコンパクト形式で記憶する
が、LCFは1ノードを1ファイルに記憶する。なお、
LCFはこのケースでもファイルをスキャンする必要が
あるが、アセンブルを行う必要はない。ノードが1つの
トリーの場合のRSMは、1ノードに関するCASEス
テートメントがないので、LCFと同じになる。従っ
て、ノードが1つのトリーの場合には、DDSOはまだ
記憶簡潔化の利点を有し、パフォーマンスの面でもLC
F及びRSMよりわずかに良いであろう。
【0128】(b)トリーが1つの森:この場合、DD
SOは2分探索を回避する。LCF及びRSMは依然と
して定義を構成しなければならない。従って、トリーが
1つの森の場合、本発明は有益である。
【0129】DDSO定義の使用法 DDSO定義はDDMストリングの構文解析及び生成の
両方において回復すなわち読出される。構文解析は、D
DMストリングを受信し、その構文上の正確さをチェッ
クし、ローカル・プロセッサによる使用のために同等の
内部データ構造を構築することを意味する。生成は、内
部データ構造を受信し、定義トリーを使用してDDMス
トリングを構築することを意味する。図35はリクエス
タ−サーバ分散システムにおける構文解析及び生成処理
を示す。アプリケーション・プログラムはまず内部フォ
ーマットでリクエストを出す。
【0130】 (ステップ1)生成処理によってリクエストをDDMス
トリングに変換する(ジェネレータはそれを行うため、
DDM辞書を見る)。 (ステップ2)次に、リクエストはサーバへ送信され、
そこで受信される。パーサは構文検証のためにDDM辞
書を見てそのリクエストを内部フォーマットに変換す
る。
【0131】 (ステップ3)次に、サーバは内部フォーマット化され
たリクエストを実行する。これはファイル・サーバやデ
ータベース・サーバなどの適当な型式のサーバでよい。 (ステップ4)サーバは内部フォーマットの1以上の応
答を出し、それらの応答は、ジェネレータによりDDM
辞書を見ながらDDMストリングに変換される。 (ステップ5)DDM応答は発信元システムに送信され
る。 (ステップ6)最後に、発信元システムのパーサは、そ
のDDM応答をDDM辞書を見ながら内部フォーマット
に変換して、アプリケーション・プログラムに戻す。
【0132】DDMの概念的な階層化 本実施例においては、DDMデータ・ストリーム(DD
Mストリング)を一連の層に分割しており、パーサ及び
ジェネレータは、それによる共通の設計を有する。最初
の、すなわち最上位の層(層0)は、論理オブジェクト
を構成するDDMコマンド又はDDM応答から成る。構
文解析又は生成のためのリクエストは常に層0において
来なければならない。
【0133】次の層1は、この論理オブジェクトを相互
にリンクされている1以上のデータ・ストリーム構造D
SS(又はデータ通信エンベロープ)に分解することに
より引き出される。例えば、SQLステートメントを実
行するためのDDMコマンドはコマンド・データ(SQ
Lステートメント)の他に各種パラメータを伴う。DS
Sは、コマンド部及び0又は1以上のコマンド・データ
部を含むか;応答部及び0又は1以上の応答データ部を
含むか;又は1以上の応答データ部を含むことができ
る。
【0134】層2はトリーの構造的特性で構成される
が、そのトリー内のノードの特定値は含まない。トリー
の構造的特性の例は各ノードにおける長さ値である。こ
れは、その子の長さ及び(自身の長さフィールド及びコ
ードポイント、すなわち識別子についての)定数の和で
ある。
【0135】最後の層3はDDMトリーの各ノードから
成る。各ノードは、トリーにおける構造的特性及び有効
要求値を有する。トリー内の構造的特性の例としては、
当該ノードが必須か、選択的か、無視可能か、反復可能
か、コレクションか、又はスカラかどうかの情報を含
む。ここで、“コレクション”は内部ノードを指し、
“スカラ”はリーフ・ノードを指す。ノードの値の例と
して、リーフ・ノードはある制限を与える値を有する。
例えば、リーフは列挙値データ・タイプのようなあるデ
ータ・タイプのものであったり、最大長のようなある長
さ制限を持っていたりする。非リーフ・ノードは値を持
たないが、長さ制限を有する。
【0136】DDM構文解析及び生成方法のためのソフトウエア・ア
ーキテクチャ DDM構文解析/生成処理は、図39に示すように、上
記の3つの層に対応する3つの主レベルがある。
【0137】第1レベルはDDMエントリ(多重関係デ
ータ・ストリーム構造)の処理、すなわち2つの論理D
DMオブジェクトの関連付けを扱う。例えば、コマンド
は、もし何らかのコマンド・データが存在する場合、常
にそのコマンド・データを後に伴わなければならない。
2つのデータ・ストリーム構造(DSS)(コマンド、
コマンド・データ・オブジェクト)間の“リンク”はD
DMエントリの処理によって設定される。このレベル
は、種々の接続ビットを通してDSSのリンクを処理
し、DDMアーキテクチャによって定義されたリンクの
ための規則が守られることを保証する。
【0138】第2レベルは1度に1つのデータ・ストリ
ーム構造(DSS)を処理する。このレベルはDSSの
1つを取り、その内部構造を視る。各DSSはトリーか
ら成る。このレベルはDDM辞書から関係するDDMオ
ブジェクトの定義を取得し、その定義に従って処理を進
める。すなわち、構文解析の場合は、実際に受信したデ
ータと定義との比較を開始し、生成の場合は、その定義
をロードマップとして使用して適当なデータ・ストリー
ムを生成する。第1レベルはDSS間の関係に関するも
のであったが、第2レベル(DDM層)はDDMトリー
内のノード間の関係を扱うものであり、コレクション・
オブジェクトの長さチェックのような活動を行う。
【0139】第3レベル(アクション・レベル)は個々
のノードに関係しており、アクション実行、アクション
細目、及び低レベル・アーキテクチャへのリンクを含
む。アクション実行サブレベルは次の下位レベルであ
り、個々のノードを取扱う。それらノードは必須、選択
的、無視可能、反復可能等の特性を有する。アクション
実行サブレベルは、必須ノードが構文解析又は生成され
ること、及びコードポイントその他の構造的特性が守ら
れていることを保証しなければならない。アクション細
目サブレベルは、個々のノードの値を取扱う。これらノ
ードは、コレクション・オブジェクト(すなわち内部ノ
ード;その場合、それらは他のDDMノードを含む)、
又はスカラ(すなわちリーフ・ノード)である。コレク
ション・オブジェクトは関連する特定値を持たない。ス
カラはそのような特定値をもっており、階層構造におけ
るこのサブレベルは、構文解析又は生成された値が正し
いものであることを保証しなければならない。長さ属性
は、辞書中の対応する定義に対して検証される。第3の
サブレベルすなわち低レベル・アーキテクチャ・サブレ
ベルは、本出願人が開発したフォーマット・データ・オ
ブジェクト内容体系(FDOCA)のような他のアーキ
テクチャで定義されたより複雑なスカラ・オブジェクト
を取扱う。
【0140】DDM辞書データ構造の例 次に、図21乃至図32に示した本発明によるDDM辞
書の例を説明する。この例で注意すべき点は以下の通り
である。
【0141】1.使用するデータ構造:この例によるD
DM辞書データ構造及び回復機構について説明すると、
それは下記の宣言を含む。 TABLE :下記の事項を含むテーブル。 −仕様及びコードポイント。 CD−コマンド・データ、CP−コマンド部、及びRD−キ ャリヤ・タイプを区別するための応答データを示す、仕様に 連結されたルート・レベル・コードポイントの探索に使用さ れる。 −定義の長さ。 −定義のポインタ。 これはトリーの定義を指示する。このテーブルは2分探索の ために使用される。仕様及びルート・レベルはアルファベッ ト/数値順にリストされる。 TBLBASE:テーブルの開始位置を示すポインタ。 TBL_PTR:テーブルを探索するために使用される
ポインタ。 DDM_TBL:テーブルを探索して必要なファイルを
得るためTBL_PTRと共に使用されるテンプレー
ト。
【0142】2.データ回復のための特別方法: (a)最後の4文字位置にあるパート仕様及びコードポ
イントを見つける。 (b)希望するコードポイントに合致するようテーブル
の2分探索を行い、発見したときに定義バッファ領域に
移動する。
【0143】図31及び図32に示す回復機構は単純2
分探索に基づく。しかし、特定の応用に適合させるた
め、他の探索法を使用することもできる。以上、本発明
の一実施例を説明したが、本発明の主旨に沿い、適宜変
更することも可能である。
【0144】
【発明の効果】本発明によるパーサ及びジェネレータに
共通の設計は保守容易性、汎用性、及び非再帰法を含む
下記の利点がある。
【0145】保守容易性は、DDMの構文の変更がアク
ション細目部だけに限定されるという事実のためであ
る。例えば、パラメータが変化した場合、コードにおけ
るそのアクションの独特なインスタンスを見つけ出すの
は非常に簡単である。また、共通論理はコードの保守を
容易にする。構文解析及び生成処理は長さトリー・デー
タ構造のような共通データ構造を使用する。
【0146】コードは非常に汎用的であり、辞書の変更
はアクショク細目に局限される(汎用性)。単にアクシ
ョン細目部を変更することができ、例えば分散ファイル
・システム・アプリケーション用のパーサ及びジェネレ
ータを持つことができる。DDMの構造に従っているの
で、変化は容易に組入れることができる。
【0147】上記のアクションはデータ・ベース・アプ
リケーション用のアクションである。しかし、DDMの
他のアプリケーション用の一組のアクションを構築し、
それらを利用して所望の結果を達成することは当業者に
とって比較的容易なことである。
【0148】本発明による辞書使用の他の利点は、その
使用法が完全に拡張した辞書を持つことによって再帰を
シミュレートすることである。すなわち、DDMトリー
は深さ優先探索方式で拡張される。従って、この方法は
実際の再帰あるいは反復のオーバーヘッドなしに再帰的
解決の利点を有するものである。
【0149】DDSOの利点 DDSOは記憶要求の点から有益な利点を有する。基本
的情報のみを保持するという事実から記憶の有効な使用
が達成される。辞書はその最小形式で定義を含めるた
め、特別なフォーマットで符号化される。しかし、それ
でもなお定義のトリーのすべてのノードに関する情報、
例えば選択的情報,長さ情報、及びレベル情報を含む。
【0150】また、トップ・レベルDDM定義当りの辞
書アクセスは1回だけである。1回の辞書アクセスは、
ノードの定義だけではなく、全体の定義へのアクセスを
与えることになる。これに対し、LCFは、トリー中の
パラメータの数と同数のアクセスを必要とする。RSM
はトップ・レベル・ノード当り1回のアクセスを必要と
するが、トップ・レベル・ノードに対する構造的情報を
提供するのみで、定義トリー全体の情報を提供しない。
【0151】記憶効率が良いこと、及び完全な定義を得
るために1回の辞書アクセスしか必要でないということ
に加え、本発明によるDDSOはコンパイル時前に定義
を構成することができる。定義はコンパイル前に拡張さ
れているので、ユーザに負担がかかるであろう実行時に
は再帰ステップは行われない。DDSOはノードのコン
パイル前に定義当り1回のコストが掛かるのみである。
DDSOはトップ・レベル・ノードのテーブルに対し2
分探索を使用する。DDSOは、ハッシング等の他の探
索方法を使用することもできる。LCF及びRSMは順
次探索方法に限定されるものと思われる。
【0152】DDSOコードは複雑性がない。DDSO
は同じノードに対して1つの固有アクションを持つの
で、不必要にコードを複製しない。DDSOはプログラ
ミング言語から独立である。また、RSMがハードコー
ド・プログラムを有するのに対し、DDSOはテーブル
駆動法を使用することができる。DDSOは定義をデー
タとして符号化する。DDMアーキテクチャを変更する
と、RSMはデータではなくプログラムの変更を必要と
する。明瞭性,メインテナンス、及び簡潔性の点で、テ
ーブル駆動方式は利点を有する。また、この方法は将来
の使用において拡張することができる。DDSOはプロ
グラミング言語から独立であるのに対し、RSMはプロ
グラミング言語の実施で許されたCASEステートメン
トのネスト数に制限される。
【0153】DDSOは定義をコンパクトにし、DDM
を記述するための文法を定義する。トリーの拡張はコン
パイル時の前に行われるから、構文解析又は生成される
各DDMトリーに対してLCFの再帰ステップを行う必
要はない。DDSOは、ノード識別子及びそれに続く拡
張済み定義へのポインタを含むテーブルを使用するテー
ブル駆動法である。
【図面の簡単な説明】
【図1】DDMオブジェクトを示す図
【図2】DDMオブジェクト交換フォーマットを示す図
【図3】深さ優先探索を示す流れ図
【図4】DDMオブジェクトの例としてアーキテクチャ
で定義されるルート・ノードを示す図
【図5】DDMオブジェクトの例としてアーキテクチャ
で定義されるルート・ノードを示す図
【図6】ルート・ノードOPNQRYの例を示す図
【図7】ルート・ノードOPNQRYの例を示す図
【図8】ルート・ノードOPNQRYの例を示す図
【図9】疎結合ファイル用定義を構成する方法を表わす
【図10】ACCRDBRMのコマンド部用トリーを示
す図
【図11】LCF法の定義を回復する例を示す図
【図12】RSMに使用するCASE法を示す図
【図13】ルート記憶法によるDDM定義の構成を示す
【図14】RSM法に対する定義の回復の例を示す図
【図15】ADDGの流れ図
【図16】ADDGのステップ1(DDMTXT生成)
の流れ図
【図17】ADDGのステップ2(DDM定義作成)の
流れ図
【図18】ADDGのステップ3(DDM定義アセンブ
ル)の流れ図
【図19】ADDGツールの擬似コードを示す図
【図20】ADDGツールの擬似コードを示す図
【図21】本発明の実施例によるDDM辞書及び回復方
法を示す図
【図22】本発明の実施例によるDDM辞書の例を示す
【図23】本発明の実施例によるDDM辞書の例を示す
【図24】本発明の実施例によるDDM辞書の例を示す
【図25】本発明の実施例によるDDM辞書の例を示す
【図26】本発明の実施例によるDDM辞書の例を示す
【図27】本発明の実施例によるDDM辞書の例を示す
【図28】本発明の実施例によるDDM辞書の例を示す
【図29】本発明の実施例によるDDM辞書の例を示す
【図30】本発明の実施例によるDDM辞書の例を示す
【図31】本発明の実施例によるDDM辞書の例を示す
【図32】本発明の実施例によるDDM辞書及び回復方
法を示す図
【図33】トリー形式でDDMコマンドを表わす図
【図34】DDM辞書定義構文を示す図
【図35】分散システムにおけるパーサ及びジェネレー
タを示す図
【図36】OPNQRYのコマンド部用トリーを示す図
【図37】OPNQRYのコマンド・データ部用トリー
を示す図
【図38】OPNQRYの応答データ部用トリーを示す
【図39】本発明による構文解析及び生成方法を示す図
フロントページの続き (72)発明者 ティー・ドーラ・ベリサロポーラス カナダ国、オンタリオ州、イー・マーカ ム、スティールス・アベニュー 3500番 地 (72)発明者 ピーター・ケイ・シューム カナダ国、オンタリオ州、イー・マーカ ム、スティールス・アベニュー 3500番 地 (56)参考文献 情報処理学会論文誌 Vol.32,N o.3(1991−3−15)p306−313 情報処理学会研究報告 Vol.89, No.5(89−MDP−40−3)(1989 −1) 電子情報通信学会論文誌 Vol.J 73−D−I,No.2(1990−2) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00,9/44 JOIS,WPI

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 階層構造データ処理情報を含むデータ処
    理辞書を作成する方法であって、 コンピュータ・システムにより使用可能なコマンド、応
    答、又はデータの特性を含み、前記コンピュータ・シス
    テムで使用されるアーキテクチャを定義するアーキテク
    チャ文書からコンピュータ探索可能な複数の定義トリー
    を引き出すステップと、 前記定義トリーに従いデータ送信ストリームの処理のた
    めに必要な情報のみを保持することにより前記定義トリ
    ーの各ノードをコンパクトにするステップと、 前記コンパクトにしたノードを各前記定義トリーのルー
    ト・ノードから順にリニア形式で順序付けし、前記コン
    パクトにしたノードの各々に含まれている情報を前記辞
    書に記憶し、次に前記定義トリーの各子ノードをアセン
    ブルすることにより、各定義トリーをアセンブルするス
    テップとを含み、 前記各子ノードをアセンブルするプロセスは、前記子ノ
    ードに含まれている情報を前記辞書に記憶し、各前記子
    ノードの子ノードをアセンブルする、 データ処理辞書作成方法。
  2. 【請求項2】 階層構造データ処理情報を含むデータ処
    理辞書を作成する装置であって、 コンピュータ・システムにより使用可能なコマンド、応
    答、又はデータの特性を含み、前記コンピュータ・シス
    テムで使用されるアーキテクチャを定義するアーキテク
    チャ文書からコンピュータ探索可能な複数の定義トリー
    を引き出す引出手段と、 前記定義トリーに従いデータ送信ストリームの処理のた
    めに必要な情報のみを保持して前記定義トリーの各ノー
    をコンパクトにするコンパクタ手段と、 ルート・ノードから開始して各定義トリーのノードをリ
    ニア形式で順序付けてアセンブルするアセンブラ手段と
    を含み、 前記アセンブラ手段はコンパクトにしたルート・ノード
    及び子ノードに含まれている情報を前記辞書に順次記憶
    することによって前記各定義トリーをアセンブルする、 データ処理辞書作成装置。
JP01815292A 1991-03-28 1992-01-06 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置 Expired - Fee Related JP3272014B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2039365 1991-03-28
CA002039365A CA2039365C (en) 1991-03-28 1991-03-28 Method and means for encoding storing and retrieving hierarchical data processing information for a computer system

Publications (2)

Publication Number Publication Date
JPH0512095A JPH0512095A (ja) 1993-01-22
JP3272014B2 true JP3272014B2 (ja) 2002-04-08

Family

ID=4147293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01815292A Expired - Fee Related JP3272014B2 (ja) 1991-03-28 1992-01-06 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置

Country Status (3)

Country Link
US (3) US5632031A (ja)
JP (1) JP3272014B2 (ja)
CA (5) CA2246948C (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2246948C (en) * 1991-03-28 1999-09-14 Ibm Canada Limited-Ibm Canada Limitee Method and means for encoding storing and retrieving hierarchical data processing information for a computer system
US5778223A (en) * 1992-03-17 1998-07-07 International Business Machines Corporation Dictionary for encoding and retrieving hierarchical data processing information for a computer system
US5953723A (en) * 1993-04-02 1999-09-14 T.M. Patents, L.P. System and method for compressing inverted index files in document search/retrieval system
US6963920B1 (en) 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5991751A (en) * 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
WO1996032685A1 (en) 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US6604117B2 (en) 1996-03-19 2003-08-05 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
ATE253239T1 (de) * 1996-03-19 2003-11-15 Siebel Systems Inc Verfahren zur instandhaltung von einer netzwerk von teilweise replizierten datenbanken
US5873096A (en) 1997-10-08 1999-02-16 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US6081798A (en) * 1996-04-24 2000-06-27 International Business Machines Corp. Object oriented case-based reasoning framework mechanism
US5778378A (en) 1996-04-30 1998-07-07 International Business Machines Corporation Object oriented information retrieval framework mechanism
US5857184A (en) * 1996-05-03 1999-01-05 Walden Media, Inc. Language and method for creating, organizing, and retrieving data from a database
US5721910A (en) * 1996-06-04 1998-02-24 Exxon Research And Engineering Company Relational database system containing a multidimensional hierachical model of interrelated subject categories with recognition capabilities
US5809507A (en) * 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US5781910A (en) * 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US5852818A (en) * 1996-12-23 1998-12-22 Oracle Corporation Non-recursive method for parameter evaluation within an information management system
JP3484325B2 (ja) * 1997-09-02 2004-01-06 富士通株式会社 条件付き回答対応エージェントシステム装置およびプログラム記憶媒体
JP3627055B2 (ja) * 1998-02-10 2005-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ対象オブジェクト選択方法、キャッシュ破棄方法及びコンピュータ
US6105035A (en) * 1998-02-17 2000-08-15 Lucent Technologies, Inc. Method by which notions and constructs of an object oriented programming language can be implemented using a structured query language (SQL)
US6205482B1 (en) * 1998-02-19 2001-03-20 Ameritech Corporation System and method for executing a request from a client application
US6629132B1 (en) * 1998-12-23 2003-09-30 Novell, Inc. Predicate indexing of data stored in a computer with application to indexing cached data
US6345266B1 (en) * 1998-12-23 2002-02-05 Novell, Inc. Predicate indexing for locating objects in a distributed directory
US7966328B2 (en) 1999-03-02 2011-06-21 Rose Blush Software Llc Patent-related tools and methodology for use in research and development projects
US7716060B2 (en) 1999-03-02 2010-05-11 Germeraad Paul B Patent-related tools and methodology for use in the merger and acquisition process
AU5273100A (en) 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6370534B1 (en) * 1999-06-01 2002-04-09 Pliant Technologies, Inc. Blocking techniques for data storage
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6353819B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform record management layer functions in a relational database manager
US6353820B1 (en) * 1999-09-29 2002-03-05 Bull Hn Information Systems Inc. Method and system for using dynamically generated code to perform index record retrieval in certain circumstances in a relational database manager
US6125395A (en) * 1999-10-04 2000-09-26 Piiq.Com, Inc. Method for identifying collections of internet web sites with domain names
US20020035611A1 (en) * 2000-01-14 2002-03-21 Dooley Thomas P. System and method for providing an information network on the internet
US6711574B1 (en) * 2000-02-01 2004-03-23 Emc Corporation Retrieval of management information
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
FR2811101B1 (fr) * 2000-07-03 2002-09-20 Axicare Procede de traitement de donnees structurees utilisant un langage informatique oriente objet
US6622137B1 (en) * 2000-08-14 2003-09-16 Formula Telecom Solutions Ltd. System and method for business decision implementation in a billing environment using decision operation trees
US6941294B2 (en) * 2000-08-28 2005-09-06 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
GB0023169D0 (en) * 2000-09-20 2000-11-01 Ibm Message parsing in message processing systems
US20020129335A1 (en) * 2000-12-18 2002-09-12 Philips Electronics North America Corp. Robust logging system for embedded systems for software compilers
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6643665B2 (en) 2001-05-10 2003-11-04 Hewlett-Packard Development Company, Lp. System for setting image intent using markup language structures
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
US20030177376A1 (en) * 2002-01-30 2003-09-18 Core Sdi, Inc. Framework for maintaining information security in computer networks
US6999817B2 (en) 2002-02-14 2006-02-14 Packsetter, Inc. Cardiac stimulation device including sleep apnea prevention and treatment
US6904320B2 (en) 2002-02-14 2005-06-07 Pacesetter, Inc. Sleep apnea therapy device using dynamic overdrive pacing
US6928324B2 (en) 2002-02-14 2005-08-09 Pacesetter, Inc. Stimulation device for sleep apnea prevention, detection and treatment
US7627585B2 (en) * 2002-12-02 2009-12-01 Sap Ag Data structure mapping and packaging
US7272818B2 (en) * 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
US20050021502A1 (en) * 2003-05-23 2005-01-27 Benjamin Chen Data federation methods and system
US7844646B1 (en) * 2004-03-12 2010-11-30 Netapp, Inc. Method and apparatus for representing file system metadata within a database for efficient queries
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
US7293039B1 (en) 2004-03-12 2007-11-06 Network Appliance, Inc. Storage resource management across multiple paths
US7630994B1 (en) 2004-03-12 2009-12-08 Netapp, Inc. On the fly summarization of file walk data
US8756521B1 (en) 2004-09-30 2014-06-17 Rockwell Automation Technologies, Inc. Systems and methods for automatic visualization configuration
US7634502B2 (en) * 2005-01-24 2009-12-15 Paul Colton System and method for improved content delivery
US7792860B2 (en) * 2005-03-25 2010-09-07 Oracle International Corporation System for change notification and persistent caching of dynamically computed membership of rules-based lists in LDAP
US7676281B2 (en) * 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
US7650405B2 (en) 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US7809683B2 (en) 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
CN101553763A (zh) * 2005-05-13 2009-10-07 洛克威尔自动控制技术股份有限公司 在工业自动化环境中使用的分层结构化数据模型
US7672737B2 (en) * 2005-05-13 2010-03-02 Rockwell Automation Technologies, Inc. Hierarchically structured data model for utilization in industrial automation environments
US8799800B2 (en) 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
JP4200456B2 (ja) * 2005-12-28 2008-12-24 ブラザー工業株式会社 周辺装置、プログラム、制御方法
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US7660978B2 (en) * 2007-03-07 2010-02-09 International Business Machines Corporation System and method to provide device unique diagnostic support with a single generic command
US8265789B2 (en) * 2007-12-03 2012-09-11 Electronics And Telecommunications Research Institute Network-based robot system and method for action execution of robot
EP2304536A4 (en) 2008-06-20 2012-08-15 Invensys Sys Inc SYSTEMS AND METHOD FOR IMMERSIBLE INTERACTION WITH ACTUAL AND / OR SIMULATED DEVICES FOR PROCESS, ENVIRONMENTAL AND INDUSTRIAL CONTROL
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和系统
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9176712B2 (en) 2013-03-14 2015-11-03 Oracle International Corporation Node Grouped Data Marshalling
CN104484337B (zh) * 2014-11-19 2018-09-14 西安电子科技大学 Xml文档的存储方法
CN113590348B (zh) * 2021-07-26 2024-05-17 京东科技控股股份有限公司 基于树状结构的参数传递方法、装置、设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345587A (en) * 1988-09-14 1994-09-06 Digital Equipment Corporation Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
US5448726A (en) * 1989-10-23 1995-09-05 International Business Machines Corporation Data base management system with data dictionary cache including a single loadable object descriptor
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US5202977A (en) * 1990-07-13 1993-04-13 Premenos Corp. Edi translation system using plurality of communication processes and de-enveloping procedure corresponding to transmitted communication process
US5327559A (en) * 1990-10-23 1994-07-05 International Business Machines Corporation Remote and batch processing in an object oriented programming system
CA2246948C (en) * 1991-03-28 1999-09-14 Ibm Canada Limited-Ibm Canada Limitee Method and means for encoding storing and retrieving hierarchical data processing information for a computer system
US5475587A (en) * 1991-06-28 1995-12-12 Digital Equipment Corporation Method and apparatus for efficient morphological text analysis using a high-level language for compact specification of inflectional paradigms
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告 Vol.89,No.5(89−MDP−40−3)(1989−1)
情報処理学会論文誌 Vol.32,No.3(1991−3−15)p306−313
電子情報通信学会論文誌 Vol.J73−D−I,No.2(1990−2)

Also Published As

Publication number Publication date
JPH0512095A (ja) 1993-01-22
CA2246949C (en) 2000-04-18
CA2246946A1 (en) 1992-09-29
CA2039365A1 (en) 1992-09-29
CA2246940C (en) 2003-03-11
CA2246948A1 (en) 1992-09-29
US5970494A (en) 1999-10-19
CA2246949A1 (en) 1992-09-29
CA2246940A1 (en) 1992-09-29
CA2246948C (en) 1999-09-14
US5632031A (en) 1997-05-20
CA2039365C (en) 2000-01-18
US5659727A (en) 1997-08-19
CA2246946C (en) 1999-09-14

Similar Documents

Publication Publication Date Title
JP3272014B2 (ja) 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置
US5778223A (en) Dictionary for encoding and retrieving hierarchical data processing information for a computer system
US5664181A (en) Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US6836890B1 (en) Methods and systems for message translation and parsing of data structures in a distributed component architecture
US5437038A (en) System and method of encoding units of data including entity/relationship data, function calls, and file data using a common data format (CDF) according to formal CDF grammar rules
US7519903B2 (en) Converting a structured document using a hash value, and generating a new text element for a tree structure
US6009436A (en) Method and apparatus for mapping structured information to different structured information
US6085196A (en) Object-oriented system and computer program product for mapping structured information to different structured information
CN100498768C (zh) 公共查询运行期系统以及应用编程接口
US6658624B1 (en) Method and system for processing documents controlled by active documents with embedded instructions
EP1426877B1 (en) Importing and exporting hierarchically structured data
US7559052B2 (en) Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications
US20020078105A1 (en) Method and apparatus for editing web document from plurality of web site information
US20030110177A1 (en) Declarative specification and engine for non-isomorphic data mapping
JPH10320207A (ja) オブジェクト指向アプリケーション開発システムおよび方法
JP2005182835A (ja) 異種のデータソースのためのデータサーバを生成する方法
JP3230467B2 (ja) Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体
JPH0650489B2 (ja) Asn.1情報データ化方式
EP0520708B1 (en) Method and apparatus for converting high level form abstract syntaxes into an intermediate form
US7669178B2 (en) System and method for interacting with computer programming languages at semantic level
US5687365A (en) System and method for creating a data dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
EP1862924A1 (en) Object-oriented system for mapping structered information to different structured information
Tirri et al. ALCHEMIST/spl minus/an object-oriented tool to build transformations between heterogeneous data representations
JPH1049408A (ja) データスキーマ変換方法及び装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080125

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090125

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees