JPH09245003A - 並列分散処理システムおよびその方法 - Google Patents

並列分散処理システムおよびその方法

Info

Publication number
JPH09245003A
JPH09245003A JP4783396A JP4783396A JPH09245003A JP H09245003 A JPH09245003 A JP H09245003A JP 4783396 A JP4783396 A JP 4783396A JP 4783396 A JP4783396 A JP 4783396A JP H09245003 A JPH09245003 A JP H09245003A
Authority
JP
Japan
Prior art keywords
function
module
distributed processing
parallel distributed
called
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4783396A
Other languages
English (en)
Inventor
Hirotoshi Maekawa
博俊 前川
Takayuki Saito
隆之 斎藤
Tetsuhisa Chiba
哲央 千葉
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.)
Digital Vision Laboratories Corp
Original Assignee
Digital Vision Laboratories 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 Digital Vision Laboratories Corp filed Critical Digital Vision Laboratories Corp
Priority to JP4783396A priority Critical patent/JPH09245003A/ja
Priority to CA002199108A priority patent/CA2199108C/en
Priority to US08/812,399 priority patent/US6098111A/en
Priority to DE69735045T priority patent/DE69735045T2/de
Priority to KR1019970007241A priority patent/KR100322213B1/ko
Priority to EP97301467A priority patent/EP0794493B1/en
Priority to CN97103132A priority patent/CN1132098C/zh
Publication of JPH09245003A publication Critical patent/JPH09245003A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 システム相互間での機能呼び出しを高速かつ
効率的に行うことができる並列分散処理システムを提供
する。 【解決手段】 ネットワークノード3のクラス(モジュ
ール)302において、ネットワークノード4のクラス
402の関数(機能)の呼び出しを行うときに、ネット
ワークノード3は、外部参照テーブル310から当該関
数の機能識別コード(数値)を得て、この機能識別コー
ドが引数と共にメッセージとしてネットワークノード4
に出力する。ネットワークノード4では、入力した機能
識別コードをキーとして内部参照テーブル406から当
該機能の実行アドレスを得て、当該機能を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークワイ
ドなマルチメディア並行処理を行う並列分散処理システ
ムおよびその方法に関する。
【0002】
【従来の技術】近年、マルチメディア情報を利用および
流通させる情報提供利用サービスアプリケーションであ
るISM(Information Super-Market)の開発が活発に行
われている。ISMでは、機能モジュール(クラス)間
の対話性およびモジュール間構成の柔軟性を高めるため
に、ネットワークワイドなマルチメディア並行処理を効
率的に行うアプリケーション実行環境が求められる。こ
れに応えようとするのが、並列分散実行支援システムで
ある 従来の並列分散実行支援システムでは、モジュール間の
機能呼び出しは、文字列で示されるモジュール名と機能
名とを用いて行う。ここで、機能呼び出しとは、あるモ
ジュールで行われる処理において、他のモジュールにお
いて備えてある機能を呼び出して用いることをいう。
【0003】並列分散支援システムの代表的なものに、
CORBA(Common Object RequestBroker Architectur
e) −ORB(Object Request Broker) がある。このC
ORBA−ORBでは、あるモジュールが他のモジュー
ルの機能を呼び出すにあたって、文字列で示される機能
名と引数が呼び出し元モジュールから呼び出し先モジュ
ールに転送される。呼び出し先モジュールには、文字列
で示される機能名と当該機能を実行するプログラムの実
行アドレスとの対応表が備えてあり、呼び出し先モジュ
ールは、その対応表を検索することによって実行アドレ
スを取得し、呼び出された機能を実行する。
【0004】
【発明が解決しようとする課題】しかしながら、前述し
た従来のCORBA−ORBでは、機能の呼び出し先に
おいて、文字列で示される機能名をキーとして、テーブ
ルを参照して実行アドレスを特定することから、その実
行部を特定するコストが大きく、機能呼び出しに伴う処
理の効率が悪いという問題がある。
【0005】また、CORBA−ORBでは、モジュー
ルの識別名の規約とその管理方法については規定されて
いない、すなわち、システム全体での名前空間管理は行
われていない。従って、ユーザは、モジュール相互間で
名前の衝突などが生じないように注意して、モジュール
の識別名などを決定しなければならず、ユーザの負担が
大きいという問題がある。
【0006】また、CORBA−ORBでは、機能呼び
出しに伴う引数の形式(フォーマット)は、コンパイル
時に別途定義しておく必要がある。このとき、定義でき
る引数のデータ構造は構造体および配列などの単純なも
のに限られ、リスト構造などの複雑なデータ構造は用い
ることができないという問題がある。
【0007】また、CORBA−ORBでは、呼び出し
先モジュールは予め存在(登録)している必要がある。
また、基本的に、呼び出し機能および引数の形式をコン
パイル時に定義しておく必要があり、任意の呼び出し先
のモジュールを動的にダウンロード(追加登録)して使
用しようとすると、作業が煩雑になるという問題があ
る。また、CORBA−ORBでは、機能呼び出しを行
う際の同期方式が異なると、異なるプログラミングイン
ターフェース(API)を用いる必要があり、プラグラ
ムの記述が複雑になるという問題がある。
【0008】本発明は、上述した従来技術に鑑みてなさ
れ、機能呼び出しを高速かつ効率的に行える並列分散処
理システムおよびその方法を提供することを目的とす
る。また、本発明は、ユーザによるモジュールの識別名
の管理負担を軽減できる並列分散処理システムおよびそ
の方法を提供することを目的とする。また、本発明は、
機能呼び出しにおいて、多様な形式の引数を用いること
ができる並列分散処理システムおよびその方法を提供す
ることを目的とする。また、本発明は、煩雑な作業を経
ることなく、任意の呼び出し先のモジュールを動的にダ
ウンロード(追加登録)して使用できる並列分散処理シ
ステムおよびその方法を提供することを目的とする。
【0009】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
並列分散処理システムは、一連の手続きを記述する一の
モジュールを、他のモジュールあるいはモジュールに規
定された機能を呼び出して実行する並列分散処理システ
ムであって、機能呼び出し先のモジュールに設けられ、
呼び出される機能について、当該機能の機能識別番号と
当該機能の実行アドレスとの対応を示す内部参照手段
と、機能呼び出し元のモジュールに設けられ、呼び出し
を行う機能について、当該機能の機能識別子と当該機能
の識別番号との対応を示す外部参照手段とを有し、呼び
出し元のモジュールは、呼び出しを行う機能の機能識別
子をキーとして、前記外部参照手段から対応する機能識
別番号を得て、当該機能識別番号を含むメッセージを機
能呼び出し先のモジュールに送り、前記呼び出し先のモ
ジュールは、前記呼び出し元のモジュールから送られた
メッセージに含まれる前記機能識別番号をキーとして、
前記内部参照手段から当該呼び出された機能の実行アド
レスを得て、当該実行アドレスに基づいて、当該呼び出
された機能を実行する。
【0010】本発明の並列分散処理システムでは、シス
テムのセットアップ時に、モジュール相互間における機
能呼び出しの関係が解析される。その解析結果に基づい
て、他のモジュールから呼び出される機能について、例
えば数値形式の機能識別番号が割り当てられ、内部参照
手段および外部参照手段が作成される。モジュール相互
間での機能呼び出しは、前記内部参照手段および前記外
部参照手段を用いて行われる。また、呼び出し先のモジ
ュールでは、数値形式で示された機能識別番号をキーと
して内部参照手段を用いて、実行アドレスの検索が行わ
れる。
【0011】本発明の並列分散処理システムおよびその
方法では、好ましくは、前記機能識別子は、前記機能識
別番号が格納されているアドレスを示す。
【0012】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記機能識別子は、前記呼
び出し元のモジュールにおいてのみ有効な番号を示す。
【0013】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記機能識別子は、文字を
含んで表現される機能名を示す。
【0014】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記呼び出し元のモジュー
ルは、前記呼び出し先のモジュールに送る引数のデータ
構造を論理形式に変換し、当該変換後の引数を呼び出し
先のモジュールに出力し、呼び出し先のモジュールは、
入力した引数の論理形式を前記呼び出し元のモジュール
におけるデータ構造と同じデータ構造に変換した後に、
当該引数を使用する。
【0015】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記呼び出し元のモジュー
ルは、呼び出し先のモジュールに前記機能識別番号を出
力した後、呼び出し先のモジュールから当該機能の実行
結果を入力するまで、その処理を停止する。
【0016】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記呼び出し元のモジュー
ルは、呼び出し先のモジュールに前記機能識別番号を出
力した後、当該機能の実行結果が必要となったときに、
当該機能の実行結果をまだ入力していない場合に、その
処理を停止する。
【0017】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記呼び出し元のモジュー
ルは、呼び出し先のモジュールに前記機能識別番号を出
力した後、当該機能の実行結果を入力しない。
【0018】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記呼び出し元のモジュー
ルは、呼び出し先のモジュールに前記機能識別番号を出
力した後、所定時間経過しても当該機能の実行結果を入
力しない場合に、エラー処理プログラムを起動する。
【0019】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記メッセージには、前記
呼び出し元のモジュールの実行で用いられるタイマが示
す時刻を含める。
【0020】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、呼び出し元のモジュールか
ら呼び出し先のモジュールに複数のメッセージが送られ
た場合に、これらのメッセージに対応する複数の機能呼
び出しを、予め決められた優先順位あるいはメッセージ
において指定された優先順位に従って順に行う。
【0021】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記メッセージには、呼び
出された機能が呼び出し先モジュールにおいて実行され
る時刻を含める。
【0022】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、新たなモジュールが登録さ
れたときに、そのモジュールが呼び出し先および呼び出
し元となる機能について解析し、その解析結果に基づい
て、前記内部参照手段および外部参照手段を動的に作成
する。
【0023】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記モジュールおよび前記
機能は、それぞれオブジェクト指向プログラミングにお
けるオブジェクトおよびメソッドである。
【0024】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記機能呼び出しにおい
て、前記呼び出し先のモジュールは、モジュール相互間
の共有変数ついての処理を行う機能を有する。
【0025】また、本発明の並列分散処理システムおよ
びその方法は、好ましくは、前記機能呼び出しは、前記
共有変数をオブジェクトとし、前記共有変数についての
処理をメソッドとする。
【0026】
【発明の実施の形態】以下、本発明の実施形態に係わる
並列分散実行支援システムについて説明する。本実施形
態に係わる並列分散実行支援システムは、例えば、IS
Mなどの実行環境を支援し、機能モジュール間の対話性
およびモジュール間構成の柔軟性を高め、ネットワーク
ワイドなマルチメディア並行処理を可能とするものであ
る。
【0027】図1は、本実施形態に係わる並列分散実行
支援システム1の概念図である。図1に示すように、並
列分散実行支援システム1は、ネットワークノード3、
4がネットワーク2を介して通信を行い、一定の処理を
行う。ネットワークノード3,4としては、例えば、ホ
ストコンピュータなどが用いられる。ネットワークノー
ド3では、デーモン30およびクラス(モジュール)3
00,301,302などのプログラムが動作する。こ
こで、クラスとは、具体的には、例えば、アプリケーシ
ョンプログラムをいう。
【0028】デーモン30は、後述するように、内部参
照テーブル306および外部参照テーブル310を有す
る。内部参照テーブル306は、機能識別コードとその
機能が記憶されたアドレスとの対応を示すテーブルであ
る。内部参照テーブル306は、ネットワークノード4
からネットワークノード3に機能呼び出しを行うとき
に、ネットワークノード4から入力したメッセージに含
まれる機能識別コードから、呼び出された機能のクラス
300〜302におけるアドレスを得るために用いられ
る。
【0029】外部参照テーブル310は、機能識別子と
しての機能識別コードが記憶されたアドレスと機能識別
コードとの対応を示すテーブルである。外部参照テーブ
ル310は、ネットワークノード3からネットワークノ
ード4に機能呼び出しを行うときに、クラス300〜3
02において呼び出されたアドレスから、その機能の機
能識別コードを得るために用いられる。
【0030】また、ネットワークノード4では、デーモ
ン40およびクラス(モジュール)400,401,4
02などのプログラムが動作する。ネットワークノード
4のクラス400〜402、内部参照テーブル406お
よび外部参照テーブル410は、その意味および機能
は、ネットワークノード3のクラス300〜302、内
部参照テーブル306および外部参照テーブル310と
同じである。
【0031】図1に示す並列分散実行支援システム1で
は、クラスの配置、すなわち、どのクラスをどのネット
ワークノードあるいはプロセッサに配置したかは、原則
として、システムのセットアップ時に一回のみ解析(指
定)される。従って、システムの実行時において、各ク
ラスは、他のクラスの機能を呼び出す際に呼び出し先の
クラスの所在は既に知っている。尚、クラスの配置は、
システムの実行時に指定されることもある。
【0032】尚、ネットワーク2には、ネットワークノ
ード3、4に加えて他のネットワークノードが接続され
ていてもよい。
【0033】以下、オブジェクト指向の計算におけるメ
ソッド呼び出しの処理、すなわち、ネットワークノード
3でクラス302の処理を行っているときに、ネットワ
ークノード4のクラス402に備えられた機能、具体的
には関数を呼び出す場合を例示して、並列分散実行支援
システム1における処理について説明する。オブジェク
ト指向の計算におけるメソッド呼び出しの処理では、ク
ラス内のメソッドが例えば関数などの機能である。
【0034】内部参照テーブルおよび外部参照テーブル
の作成 並列分散実行支援システム1では、例えば、図3に示す
ネットワークノード3においてクラス302が新たに追
加(登録)され、クラス302が、図2に示すネットワ
ークノード4のクラス402の機能を呼び出している場
合には、以下に示すように、図3に示すデーモン30の
外部参照テーブル310および図2に示すデーモン40
の内部参照テーブル406を作成あるいは更新する。
【0035】先ず、内部参照テーブルの作成について説
明する。ネットワークノード3,4は、例えば、システ
ムのセットアップ時に、それらのクラスで規定された関
数について、図2,図3に示す内部参照テーブル40
6,306を作成する。ここで、内部参照テーブル30
6は、ローカルクラステーブル303、ローカルメンバ
関数テーブル304およびローカルインスタンステーブ
ル305で構成される。
【0036】また、内部参照テーブル406は、ローカ
ルクラステーブル403、ローカルメンバ関数テーブル
404およびローカルインスタンステーブル405で構
成される。ここで、ローカルメンバ関数テーブル30
4、404は、関数の「関数ID」と、関数「Fun
c」の実行アドレスである「関数番地」との対応を示し
ている。尚、ネットワークノード3,4を含むネットワ
ークノード相互間での関数の呼び出し関係は、システム
のセットアップ時およびクラス302が新たに追加され
たときに予め解析されており、外部参照テーブル310
および内部参照テーブル406を作成する段階におい
て、関数「Func」およびクラス402にはそれぞれ
「関数ID(機能識別コード)」および「クラスID」
が自動的に割り当てられる。
【0037】次に、外部参照テーブルの作成について説
明する。例えば、図1に示すクラス302がクラス40
2に備えてある関数名「Func」という機能を呼び出
している場合に、図3に示すように、ネットワークノー
ド3は、クラス302のディスパッチャ311から、ク
ラス402および関数名「Func」を用いて、ネット
ワークノード4に問い合わせ312を出力する。
【0038】ネットワークノード4は、この問い合わせ
312を受けると、内部参照テーブル406を参照し
て、クラス402および関数「Func」に割り付けた
「クラスID」および「関数ID」を図3に示す回答メ
ッセージ315に含めて、図1に示すネットワーク2を
介してネットワークノード3に出力する。回答メッセー
ジ315は、ネットワークノード3において、メッセー
ジキュー(待ち行列)312,313を介してディスパ
ッチャ311に出力される。
【0039】次に、ディスパッチャ311は、登録処理
を行い、回答メッセージ314に含まれる「クラスI
D」および「関数ID」を用いて、リモートクラステー
ブル307およびリモートメンバ関数テーブル308を
作成する。ここで、リモートクラステーブル307、リ
モートメンバ関数テーブル308およびリモートインス
タンステーブル309によって、外部参照テーブル31
0が構成される。
【0040】内部参照テーブルおよび外部参照テーブル
の作成は、ネットワークノード3とネットワークノード
4とがネットワーク2を介して接続されたときに初期化
過程として行われたり、処理の実行時に、ネットワーク
ノード3,4に新たなクラス(モジュール)が動的にダ
ウンロード(追加登録)されたときに、一度のみ自動的
に行われる。
【0041】機能呼び出し処理 以下、前述したように作成された外部参照テーブル31
0および内部参照テーブル406を用いて、ネットワー
クノード3からネットワークノード4に対して機能呼び
出しを行う場合について図2〜6を参照しながら説明す
る。ここでは、呼び出し元のクラス(オブジェクト)
が、機能呼び出しを行った後に、呼び出し先のクラスか
ら当該機能の実行結果を入力するまで、その処理を停止
する、いわゆる完全同期メッセージ送信の場合について
説明する。
【0042】例えば、図4に示すネットワークノード3
のクラス302において処理が行われているときに、ネ
ットワークノード4に備えてあるクラス402の関数
「Func」という機能を呼び出すと(図6(A)に示
す「A1」)、クラス302のディスパッチャ311に
おいて、メッセージに含まれる引数のデータ構造が論理
形式のデータ表現に変換される(図6(A)に示す「B
1」)。当該変換は、変換プログラムを用いて、クラス
302での内部表現データのデータ構造を解析し、論理
形式のデータ表現に変換して行われる。このとき、論理
形式のデータ表現は、単純なデータを組み合わせること
で、リスト構造などの複雑なデータ構造を表現できる記
述構文を採用している。そのため、引数として、多様な
データ構造を用いることができる。そのため、機能呼び
出しの対象とできる関数の種類の範囲を拡大できる。
【0043】次に、ディスパッチャ311において、関
数「Func」およびクラス402のアドレスが、それ
ぞれリモートメンバ関数テーブル308およびリモート
インスタンステーブル309に出力される。これによっ
て、機能識別コードの参照が行われ、これらのアドレス
に対応した「関数ID」および「クラスID」が検索さ
れる(図6(A)に示す「B2」)。この検索された
「関数ID」および「クラスID」は、ディスパッチャ
311において、送信キュー313に登録される(図6
(A)に示す「B3」)。
【0044】次に、送信キュー313に登録された「関
数ID」および「クラスID」が、デーモン30の送信
キュー314に登録される(図6(A)に示す「C
1」)。デーモン30において、メッセージ320のメ
ッセージヘッダが「関数ID」および「クラスID」を
用いて作成され、このメッセージヘッダを含むメッセー
ジが、図5に示すネットワークノード4のデーモン40
の受信キュー414に、ネットワークを介して送信され
る(図6(A)に示す「C2」)。ネットワークノード
3は、ネットワークノード4から関数「Func」の処
理結果を入力するまで、実行中のプログラムの処理を停
止する。このように、メッセージキュー314,414
を用いることで、メッセージは、キューに蓄えられた後
に、該当関数(機能)によって処理される。そのため、
これらのキューによって、ある特定のクラスに対しての
機能呼び出し要求が競合しても、呼び出し要求が失われ
ることなく、順番にまたは優先順位に従って処理され
る。
【0045】ネットワークノード4のデーモン40は、
ネットワークノード3からメッセージを受信すると(図
6(B)に示す「D1」)、そのメッセージを図5に示
す受信キュー414に登録する(図6(B)に示す「D
2」)。次に、デーモン40からディスパッチャ411
にシグナルが出力される(図6(B)に示す「D3」,
「E1」)。
【0046】次に、ディスパッチャ411は、「クラス
ID」をキーとして、図5に示すローカルインスタンス
テーブル405を参照し、所定のインスタンスを呼び出
す(図6(B)に示す「E2」)。ディスパッチャ41
1は、所定のインスタンスが呼び出し可能な状態になる
まで、次の処理を実行する(図6(B)に示す「E
3」)。このとき、メッセージキュー414に設けられ
た通信マネージャは、メッセージ320に含まれる「ク
ラスID」をキーとして、ローカルインスタンステーブ
ル405が参照され、クラス402のインスタンスの番
地を得る。これによって、クラス402のインスタンス
が決定される。ここで、インスタンスとは、クラスの処
理を実際に行うときの状態を示す実体をいう。
【0047】尚、クラス402におけるインスタンスの
生成は、図5に示すように、ローカルクラステーブル4
03においてクラス402と対応して記憶された「イン
スタンス生成関数の番地」を参照し、この「インスタン
ス生成関数の番地」にあるインスタンス生成関数421
を実行し、これによって生成したインスタンスをローカ
ルインスタンステーブル405に登録して行われる。
【0048】次に、ディスパッチャ411は、メッセー
ジのデータ構造を元のクラス302で用いられているデ
ータ構造と同じものに変換する(図6(B)に示す「E
4」)。
【0049】次に、受信したメッセージ320に含まれ
る「関数ID」および「クラスID」に基づいて、ロー
カルメンバ関数テーブル404を用いて、呼び出された
機能に関する関数「Func」の「関数番地」を得る。
このとき、「関数ID」および「クラスID」は数値で
示されているため、その照合は高速に行われる。
【0050】ネットワークノード4では、ディスパッチ
ャ411において得られた関数「Func」の「関数番
地」、通信マネージャによって決定されたインスタンス
およびディスパッチャ411において変換されて得られ
た内部表現データ420を用いて、クラス402におけ
る処理が行われる(図6(B)に示す「F」)。この処
理結果は、返却値として、図6(B)に示す「E5」、
「D4」、「D5」および図6(A)に示す「C3」、
「C4」、「C5」、「B4」、「B5」および「A
2」の処理を行うことで、図3に示す呼び出し元のネッ
トワークノード3のクラス302の処理に送られる。こ
れによって、機能呼び出し処理が完了する。
【0051】ここで、「E5」は返却値のデータ表現の
変換、「D4」は送信キューへの返却値の登録、「D
5」はメッセージの送信、「C3」はメッセージの受
信、「C4」は受信キューへの登録、「C5」はクラス
302へのシグナル送信、「B4」はシグナル受信、
「B5」は返却値のデータ表現の変換および「A2」は
次の処理の継続実行を意味する。ネットワークノード3
は、ネットワークノード4から関数「Func」の処理
結果を入力すると、停止していたプログラムの処理を再
開する。
【0052】以上説明したように、並列分散実行支援シ
ステム1によれば、関数などの機能の呼び出しは、クラ
ス相互間での機能呼び出し関係および呼び出される機能
についての数値で示される機能識別コードなどの関係を
示した内部参照テーブルおよび外部参照テーブルを用い
て行われるため、呼び出された機能の実行部のアドレス
を高速に特定することができる。また、並列分散実行支
援システム1によれば、機能呼び出しが行われるクラス
および関数のアドレスについて、システムが自動的にユ
ニークな機能識別コードを付与する。そのため、ユーザ
(プログラマ)はクラスおよび関数のアドレスが競合す
ることを回避するために多大な労力を費やす必要はな
く、ユーザの負担が軽減される。
【0053】また、並列分散実行支援システム1によれ
ば、クラスの追加に応じて内部参照テーブルおよび外部
参照テーブルを動的に作成することから、必要なクラス
(モジュール)を動的に指定したネットワークノードに
ダウンロードすることが可能となる。また、並列分散実
行支援システム1によれば、機能呼び出しの引数と処理
結果(返り値)の形式(フォーマット)をコンパイル時
に定義しておく必要がないため、機能呼び出しの柔軟性
を高めることができる。
【0054】ところで、プロセッサなどのシステムの資
源を効率よく使用するために、ユーザ(プログラマ)が
意識しないレベルでプログラムを細かい並行分散実行単
位に自動的に分割するプログラミングシステムは存在す
る。これに対して、並列分散実行支援システム1は、ユ
ーザがアプリケーションプログラムを大きな機能単位で
並行分散モジュールに分割し、その並行分散モジュール
の配置を明示的に指定できるものであり、大きなアプリ
ケーションシステムの構築を可能とするものである。
【0055】次に、ネットワークノード3からネットワ
ークノード4に対して機能呼び出しを行う場合について
の他の例を説明する。ここでは、呼び出し元のクラス
(オブジェクト)が、機能呼び出しを行った後に、呼び
出し先のクラスから当該機能の実行結果を入力しない、
いわゆる非同期メッセージ送信の場合について説明す
る。
【0056】図7は、非同期メッセージ送信の場合のタ
イミングチャートである。すなわち、図4に示すネット
ワークノード3のクラス302において処理が行われて
いるときに、ネットワークノード4に備えてあるクラス
402の関数「Func」を非同期のメッセージ送信で
呼び出すと(図7(A)に示す「G1」)、ネットワー
クノード3のクラス302、ディスパッチャ311およ
びデーモン30において、図7(A)に示す「H1」、
「H2」、「H3」、「I1」、「I2」および「G
2」の処理が実行される。
【0057】図7(A)に示す「H1」、「H2」、
「H3」、「I1」および「I2」の処理は、前述した
図6(A)に示す「B1」、「B2」、「B3」、「C
1」および「C2」の処理に対応する。ただし、図7に
示す例では、クラス302は、呼び出しを行ったネット
ワークノード4のクラス402の機能の処理結果を待つ
ことはせず、処理「I2」の後に、次の処理「G2」を
実行する。
【0058】一方、ネットワークノード4では、デーモ
ン40、ディスパッチャ411およびクラス402にお
いて、図7(B)に示す「J1」、「J2」、「J
3」、「K1」、「K2」、「K3」、「K4」および
「L」の処理を実行する。ここで、図7(B)に示す
「J1」、「J2」、「J3」、「K1」、「K2」、
「K3」、「K4」および「L」の処理は、図6(B)
に示す「D1」、「D2」、「D3」、「E1」、「E
2」、「E3」、「E4」および「F」の処理と、基本
的には同じであるが、「F」の処理結果は、ネットワー
クノード3には送信されない。
【0059】次に、上述した本実施形態に係わる並列分
散実行支援システムの概念についてまとめる。図8に示
すように、ネットワークノード98は、オブジェクト1
01aにおけるメソッド101bにおいて、ネットワー
クノード99のメソッド105aのメソッド呼び出しを
行っている。このメソッド呼び出しの処理において、メ
ソッド本体106のIDを示すメソッド101bのメソ
ッドIDがメッセージに含められる。また、引数101
cは、そのデータ構造が論理形式に変換された引数10
1c1となった後にメッセージに含められる。また、オ
ブジェクト101aからの呼び出しキーに基づいて、外
部参照表102が参照され、オブジェクトIDがメッセ
ージに含められる。メッセージは、ネットワークノード
98からネットワークノード99に送信される。
【0060】ネットワークノード99では、ネットワー
クノード98から送信されたオブジェクトIDをキーと
して、内部参照表103を用いて、呼び出し対象となっ
ているメソッド105aのメソッド本体106が実行さ
れる。このとき、論理変換された引数101c1が、オ
ブジェクト101aにおける引数のデータ構造と同じデ
ータ構造に変換され、この変換された引数105bを用
いて、メソッド本体106の処理が実行される。
【0061】本発明は、上述した実施形態には限定され
ない。例えば、上述した実施形態では、本発明をオブジ
ェクト指向プログラミングにおけるメソッドの呼び出し
に適用した場合について例示したが、本発明は、例え
ば、リモート関数呼び出しにも適用できる。リモート関
数呼び出しは、リモートのアプリケーションなどのモジ
ュールに存在する関数(機能)を呼び出すものである。
【0062】また、本発明は、あるクラスの内部変数を
分散モジュール(クラス)群間の共有変数(大域変数)
として使用する場合にも適用できる。この場合には、共
有変数となる変数を内包するクラスの機能として、共有
変数の値の読み取り、変更などの機能をプログラムす
る。このとき、共有変数へのアクセスは、全て、その変
数を内包するクラスへの機能呼び出しによって行われる
ので、自然に、その共有変数へのアクセスの排他制御が
実現される。すなわち、共有変数は、インスタンスの中
に抱え込まれており、当該共有変数を読み出しおよび書
換えて操作するには、当該インスタンスの機能を呼び出
す必要がある。これによって、インスタンスが共有変数
そのものとして振る舞う。このとき、共有変数をオブジ
ェクト(クラス)とし、その共有変数についての処理を
メソッド(関数)とする。
【0063】また、上述した実施形態では、呼び出し元
のモジュールとしてのネットワークノード3において、
機能識別子として機能識別コードが記憶されたアドレス
を例示したが、機能識別子としては、文字などで示され
る機能名あるいは呼び出し元モジュールにおいてのみ有
効な番号を用いれば、さらに高速な機能呼び出し処理を
行うことができる。
【0064】また、ネットワークノード3,4相互間で
入出力されるメッセージを蓄えるキューは、入力順に出
力する他、所定の優先順位に基づいて、メッセージの出
力順序を決定するようにしてもよい。すなわち、機能呼
び出しの優先順位を付けるようにしてもよい。この優先
順位は、予めシステムとして定められていてもよいし、
メッセージに属性情報として含められていてもよい。
【0065】また、メッセージ送出側において、送出時
刻をメッセージに含め、受信側において、その時刻に基
づいて、そのメッセージで特定される機能の実行時刻を
決定するようにしてもよい。また、メッセージを受信す
るキューは、各インスタンス(クラス)毎に存在しても
よいし、複数のインスタンス(クラス)で共有するよう
にしてもよい。
【0066】また、本発明は、ネットワークノード3
は、メッセージをネットワークノード4に出力した後
に、ネットワークノード4からの処理結果を必要になる
まで処理を続行し、必要となった時点で処理結果をまだ
受け取っていない場合にのみ、実行中のプログラムの処
理を停止するようにしてもよい。このとき、ネットワー
クノード3は、ネットワークノード4から、既に送った
メッセージについての処理結果を、設定時間を経過して
も得られない場合に、自動的にエラー処理プログラムを
起動するようにしてもよい。また、本発明は、ネットワ
ークノード3は、メッセージをネットワークノード4に
出力した後に、ネットワークノード4からの処理結果を
要求しないようにしてもよい。
【0067】
【発明の効果】以上説明したように、本発明の並列分散
処理システムおよびその方法によれば、機能呼び出しを
高速かつ効率的に行うことができる。また、本発明の並
列分散処理システムおよびその方法によれば、ユーザに
よるモジュールの識別名の管理負担を軽減できる。ま
た、本発明の並列分散処理システムおよびその方法によ
れば、機能呼び出しにおいて、多様な形式(データ構
造)の引数を用いることができる。また、本発明の並列
分散処理システムによれば、煩雑な作業を経ることな
く、任意の呼び出し先のモジュールを動的にダウンロー
ド(追加登録)して使用できる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わる並列分散実
行支援システムの概念図である。
【図2】図2は、図1に示す並列分散実行支援システム
において、内部参照テーブルを作成する手法について説
明するための図である。
【図3】図3は、図1に示す並列分散実行支援システム
において、外部参照テーブルを作成する手法について説
明するための図である。
【図4】図4は、図1に示す並列分散実行支援システム
において、機能呼び出しを行う際の、呼び出し元のネッ
トワークノードにおける処理を説明するための図であ
る。
【図5】図5は、図1に示す並列分散実行支援システム
において、機能呼び出しを行う際の、呼び出し先のネッ
トワークノードにおける処理を説明するための図であ
る。
【図6】完全同期メッセージ送信を行う場合の図1に示
す並列分散実行支援システムのタイミングチャートであ
る。
【図7】非同期メッセージ送信における場合の図1に示
す並列分散実行支援システムのタイミングチャートであ
る。
【図8】本発明の並列分散実行支援システムの概念図で
ある。
【符号の説明】
1…並列分散実行支援システム 2…ネットワーク 3,4…ネットワークノード 30,40…デーモン 300,301,302,400,401,402…ク
ラス 306,406…内部参照テーブル 310,410…外部参照テーブル
【手続補正書】
【提出日】平成8年4月19日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正内容】
【図7】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図8
【補正方法】変更
【補正内容】
【図8】

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】一連の手続きを記述する一のモジュール
    を、他のモジュールあるいはモジュールに規定された機
    能を呼び出して実行する並列分散処理システムにおい
    て、 機能呼び出し先のモジュールに設けられ、呼び出される
    機能について、当該機能の機能識別番号と当該機能の実
    行アドレスとの対応を示す内部参照手段と、 機能呼び出し元のモジュールに設けられ、呼び出しを行
    う機能について、当該機能の機能識別子と当該機能の識
    別番号との対応を示す外部参照手段とを有し、 呼び出し元のモジュールは、呼び出しを行う機能の機能
    識別子をキーとして、前記外部参照手段から対応する機
    能識別番号を得て、当該機能識別番号を含むメッセージ
    を機能呼び出し先のモジュールに送り、 前記呼び出し先のモジュールは、前記呼び出し元のモジ
    ュールから送られたメッセージに含まれる前記機能識別
    番号をキーとして、前記内部参照手段から当該呼び出さ
    れた機能の実行アドレスを得て、当該実行アドレスに基
    づいて、当該呼び出された機能を実行する並列分散処理
    システム。
  2. 【請求項2】前記機能識別子は、前記機能識別番号が格
    納されているアドレスを示す請求項1に記載の並列分散
    処理システム。
  3. 【請求項3】前記機能識別子は、前記呼び出し元のモジ
    ュールにおいてのみ有効な番号を示す請求項1に記載の
    並列分散処理システム。
  4. 【請求項4】前記機能識別子は、文字を含んで表現され
    る機能名を示す請求項1に記載の並列分散処理システ
    ム。
  5. 【請求項5】前記呼び出し元のモジュールは、前記呼び
    出し先のモジュールに送る引数のデータ構造を論理形式
    に変換し、当該変換後の引数を呼び出し先のモジュール
    に出力し、呼び出し先のモジュールは、入力した引数の
    論理形式を前記呼び出し元のモジュールにおけるデータ
    構造と同じデータ構造に変換した後に、当該引数を使用
    する請求項1〜4のいずれかに記載の並列分散処理シス
    テム。
  6. 【請求項6】前記呼び出し元のモジュールは、呼び出し
    先のモジュールに前記機能識別番号を出力した後、呼び
    出し先のモジュールから当該機能の実行結果を入力する
    まで、その処理を停止する請求項1〜5のいずれかに記
    載の並列分散処理システム。
  7. 【請求項7】前記呼び出し元のモジュールは、呼び出し
    先のモジュールに前記機能識別番号を出力した後、当該
    機能の実行結果が必要となったときに、当該機能の実行
    結果をまだ入力していない場合に、その処理を停止する
    請求項1〜5のいずれかに記載の並列分散処理システ
    ム。
  8. 【請求項8】前記呼び出し元のモジュールは、呼び出し
    先のモジュールに前記機能識別番号を出力した後、当該
    機能の実行結果を入力しない請求項1〜5のいずれかに
    記載の並列分散処理システム。
  9. 【請求項9】前記呼び出し元のモジュールは、呼び出し
    先のモジュールに前記機能識別番号を出力した後、所定
    時間経過しても当該機能の実行結果を入力しない場合
    に、エラー処理プログラムを起動する請求項1〜7のい
    ずれかに記載の並列分散処理システム。
  10. 【請求項10】前記メッセージには、前記呼び出し元の
    モジュールの実行で用いられるタイマが示す時刻を含め
    る請求項1〜9のいずれかに記載の並列分散処理システ
    ム。
  11. 【請求項11】呼び出し元のモジュールから呼び出し先
    のモジュールに複数のメッセージが送られた場合に、こ
    れらのメッセージに対応する複数の機能呼び出しを、予
    め決められた優先順位あるいはメッセージにおいて指定
    された優先順位に従って順に行う請求項1〜10のいず
    れかに記載の並列分散処理システム。
  12. 【請求項12】前記メッセージには、呼び出された機能
    が呼び出し先モジュールにおいて実行される時刻を含め
    る請求項1〜11のいずれかに記載の並列分散処理シス
    テム。
  13. 【請求項13】新たなモジュールが登録されたときに、
    そのモジュールが呼び出し先および呼び出し元となる機
    能について解析し、その解析結果に基づいて、前記内部
    参照手段および外部参照手段を動的に作成する請求項1
    〜12のいずれかに記載の並列分散処理システム。
  14. 【請求項14】前記モジュールおよび前記機能は、それ
    ぞれオブジェクト指向プログラミングにおけるオブジェ
    クトおよびメソッドである請求項1〜13のいずれかに
    記載の並列分散処理システム。
  15. 【請求項15】前記機能呼び出しにおいて、前記呼び出
    し先のモジュールは、モジュール相互間の共有変数つい
    ての処理を行う機能を有する請求項1〜14のいずれか
    に記載の並列分散処理システム。
  16. 【請求項16】前記機能呼び出しは、前記共有変数をオ
    ブジェクトとし、前記共有変数についての処理をメソッ
    ドとする請求項15に記載の並列分散処理システム。
  17. 【請求項17】一連の手続きを記述する一のモジュール
    を、他のモジュールあるいはモジュールに規定された機
    能を呼び出して実行する並列分散処理方法において、 機能呼び出し先のモジュールに設けられ、呼び出される
    機能について、当該機能の機能識別番号と当該機能の実
    行アドレスとの対応を示す内部参照データを生成し、 機能呼び出し元のモジュールに設けられ、呼び出しを行
    う機能について、当該機能の機能識別子と当該機能の識
    別番号との対応を示す外部参照データを生成し、 呼び出し元のモジュールは、呼び出しを行う機能の機能
    識別子をキーとして、前記外部参照データから対応する
    機能識別番号を得て、当該機能識別番号を含むメッセー
    ジを機能呼び出し先のモジュールに送り、 前記呼び出し先のモジュールは、前記呼び出し元のモジ
    ュールから送られたメッセージに含まれる前記機能識別
    番号をキーとして、前記内部参照データから当該呼び出
    された機能の実行アドレスを得て、当該実行アドレスに
    基づいて、当該呼び出された機能を実行する並列分散処
    理方法。
  18. 【請求項18】前記機能識別子は、前記機能識別番号が
    格納されているアドレスを示す請求項17に記載の並列
    分散処理方法。
  19. 【請求項19】前記機能識別子は、前記呼び出し元のモ
    ジュールにおいてのみ有効な番号を示す請求項17に記
    載の並列分散処理方法。
  20. 【請求項20】前記機能識別子は、文字を含んで表現さ
    れる機能名を示す請求項17に記載の並列分散処理方
    法。
  21. 【請求項21】前記呼び出し元のモジュールは、前記呼
    び出し先のモジュールに送る引数のデータ構造を論理形
    式に変換し、当該変換後の引数を呼び出し先のモジュー
    ルに出力し、呼び出し先のモジュールは、入力した引数
    の論理形式を前記呼び出し元のモジュールにおけるデー
    タ構造と同じデータ構造に変換した後に、当該引数を使
    用する請求項17〜20のいずれかに記載の並列分散処
    理方法。
  22. 【請求項22】前記呼び出し元のモジュールは、呼び出
    し先のモジュールに前記機能識別番号を出力した後、呼
    び出し先のモジュールから当該機能の実行結果を入力す
    るまで、その処理を停止する請求項17〜21のいずれ
    かに記載の並列分散処理方法。
  23. 【請求項23】前記呼び出し元のモジュールは、呼び出
    し先のモジュールに前記機能識別番号を出力した後、当
    該機能の実行結果が必要となったときに、当該機能の実
    行結果をまだ入力していない場合に、その処理を停止す
    る請求項17〜21のいずれかに記載の並列分散処理方
    法。
  24. 【請求項24】前記呼び出し元のモジュールは、呼び出
    し先のモジュールに前記機能識別番号を出力した後、当
    該機能の実行結果を入力しない請求項17〜21のいず
    れかに記載の並列分散処理方法。
  25. 【請求項25】前記呼び出し元のモジュールは、呼び出
    し先のモジュールに前記機能識別番号を出力した後、所
    定時間経過しても当該機能の実行結果を入力しない場合
    に、エラー処理プログラムを起動する請求項17〜23
    のいずれかに記載の並列分散処理方法。
  26. 【請求項26】前記メッセージには、前記呼び出し元の
    モジュールの実行で用いられるタイマが示す時刻を含め
    る請求項17〜25のいずれかに記載の並列分散処理方
    法。
  27. 【請求項27】呼び出し元のモジュールから呼び出し先
    のモジュールに複数のメッセージが送られた場合に、こ
    れらのメッセージに対応する複数の機能呼び出しを、予
    め決められた優先順位あるいはメッセージにおいて指定
    された優先順位に従って順に行う請求項17〜26のい
    ずれかに記載の並列分散処理方法。
  28. 【請求項28】前記メッセージには、呼び出された機能
    が呼び出し先モジュールにおいて実行される時刻を含め
    る請求項17〜27のいずれかに記載の並列分散処理方
    法。
  29. 【請求項29】新たなモジュールが登録されたときに、
    そのモジュールが呼び出し先および呼び出し元となる機
    能について解析し、その解析結果に基づいて、前記内部
    参照データおよび外部参照データを動的に作成する請求
    項17〜28のいずれかに記載の並列分散処理方法。
  30. 【請求項30】前記モジュールおよび前記機能は、それ
    ぞれオブジェクト指向プログラミングにおけるオブジェ
    クトおよびメソッドである請求項17〜29のいずれか
    に記載の並列分散処理方法。
  31. 【請求項31】前記機能呼び出しにおいて、前記呼び出
    し先のモジュールは、モジュール相互間の共有変数つい
    ての処理を行う機能を有する請求項17〜30のいずれ
    かに記載の並列分散処理方法。
  32. 【請求項32】前記機能呼び出しは、前記共有変数をオ
    ブジェクトとし、前記共有変数についての処理をメソッ
    ドとする請求項31に記載の並列分散処理方法。
JP4783396A 1996-03-05 1996-03-05 並列分散処理システムおよびその方法 Pending JPH09245003A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP4783396A JPH09245003A (ja) 1996-03-05 1996-03-05 並列分散処理システムおよびその方法
CA002199108A CA2199108C (en) 1996-03-05 1997-03-04 Parallel distributed processing system and method of same
US08/812,399 US6098111A (en) 1996-03-05 1997-03-05 Parallel distributed processing system and method of same
DE69735045T DE69735045T2 (de) 1996-03-05 1997-03-05 Verteilte Parallelverarbeitung und Operationsprozessoren
KR1019970007241A KR100322213B1 (ko) 1996-03-05 1997-03-05 병렬분산처리시스템및그방법
EP97301467A EP0794493B1 (en) 1996-03-05 1997-03-05 Parallel distributed processing and operation processors
CN97103132A CN1132098C (zh) 1996-03-05 1997-03-05 并行分布处理系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4783396A JPH09245003A (ja) 1996-03-05 1996-03-05 並列分散処理システムおよびその方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001180675A Division JP2002082922A (ja) 2001-06-14 2001-06-14 並列分散処理方法

Publications (1)

Publication Number Publication Date
JPH09245003A true JPH09245003A (ja) 1997-09-19

Family

ID=12786366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4783396A Pending JPH09245003A (ja) 1996-03-05 1996-03-05 並列分散処理システムおよびその方法

Country Status (1)

Country Link
JP (1) JPH09245003A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047888A (ja) * 1998-07-31 2000-02-18 Digital Vision Laboratories:Kk コンピュータ、並列分散システムおよび機能呼び出し方法
JP2000056994A (ja) * 1998-08-04 2000-02-25 Digital Vision Laboratories:Kk プログラム配置方法
JP2002506329A (ja) * 1998-03-06 2002-02-26 カナル プラス ソシエテ アノニム 複数ユーザ用マルチメディア・ターミナル
JP2006163840A (ja) * 2004-12-07 2006-06-22 Canon Inc 情報処理装置及びその方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506329A (ja) * 1998-03-06 2002-02-26 カナル プラス ソシエテ アノニム 複数ユーザ用マルチメディア・ターミナル
JP2000047888A (ja) * 1998-07-31 2000-02-18 Digital Vision Laboratories:Kk コンピュータ、並列分散システムおよび機能呼び出し方法
JP2000056994A (ja) * 1998-08-04 2000-02-25 Digital Vision Laboratories:Kk プログラム配置方法
JP2006163840A (ja) * 2004-12-07 2006-06-22 Canon Inc 情報処理装置及びその方法
JP4717426B2 (ja) * 2004-12-07 2011-07-06 キヤノン株式会社 情報処理装置及びその方法
US8418169B2 (en) 2004-12-07 2013-04-09 Canon Kabushiki Kaisha Management method for managing software module and information processor

Similar Documents

Publication Publication Date Title
US6098111A (en) Parallel distributed processing system and method of same
US5832219A (en) Distributed object networking service
US6408342B1 (en) Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
EP0501610B1 (en) Object oriented distributed computing system
EP0449500B1 (en) Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
US6182155B1 (en) Uniform access to and interchange between objects employing a plurality of access methods
JPH07325790A (ja) 分散形コンピュータシステム及びそのシステムで曖昧な識別子を処理する方法
CN109240758B (zh) 一种支持插件接口同步异步统一调用的方法及微内核系统
JP2002505466A (ja) 遠隔メソッド呼出し方法及び装置
JPH08502612A (ja) データ処理システムおよびオペレーティング・システム
JP2000515278A (ja) 非同期式にオブジェクトを呼出し、処理するための方法および装置
JPH0869435A (ja) ネットワークを介してリモート・プロシージャ・コール及びレスポンスを転送するための方法及びシステム
JPH0283627A (ja) インタプリタ
US8271622B2 (en) Method and apparatus for a system management tool to adapt command interface and behavior based on installed features
JPH0512025A (ja) オブジエクト指向言語間インタフエース実現方法
JP2004536382A (ja) 置換可能なサービス品質機能のあるネットワーク通信チャネルコンポーネントを選択するために、置換可能なコンポーネントを用いるシステム、方法及び製造物
US6516354B2 (en) Method and apparatus for efficient representation of variable length identifiers in a distributed object system
US20050192929A1 (en) Generation and conversion of object that provide for efficient object modification
CN112527471B (zh) 任务处理方法及其装置、存储介质
US6240440B1 (en) Method and apparatus for implementing virtual threads
JPH09245003A (ja) 並列分散処理システムおよびその方法
JP2002082922A (ja) 並列分散処理方法
EP0860776A1 (en) Inter-object communication method
JP3007340B1 (ja) 機能呼び出し方法、並列分散処理システムおよびコンピュータ
JPH11249919A (ja) 手続き呼出しの処理方法およびスタブ生成方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010515