JPH10301783A - オブジェクト指向分散システム - Google Patents

オブジェクト指向分散システム

Info

Publication number
JPH10301783A
JPH10301783A JP9108587A JP10858797A JPH10301783A JP H10301783 A JPH10301783 A JP H10301783A JP 9108587 A JP9108587 A JP 9108587A JP 10858797 A JP10858797 A JP 10858797A JP H10301783 A JPH10301783 A JP H10301783A
Authority
JP
Japan
Prior art keywords
identifier
attribute
access
address
procedure
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
JP9108587A
Other languages
English (en)
Inventor
Takanori Yokoyama
孝典 横山
Nobuhisa Kobayashi
延久 小林
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9108587A priority Critical patent/JPH10301783A/ja
Publication of JPH10301783A publication Critical patent/JPH10301783A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】オブジェクトの階層構成によらず効率よくアク
セスすることのできる、オブジェクト指向分散システム
を提供すること。 【解決手段】オブジェクトへのアクセス要求を表わすメ
ッセージを受信するネットワーク通信処理(1cm)
と、オブジェクトの識別子と該オブジェクトのアドレス
との対応を記憶するオブジェクトアドレス情報記憶部
(1oa)と、受信したオブジェクトへのアクセス要求
メッセージを解釈し、階層中のアクセス対象オブジェク
トを判定し、該オブジェクトの該属性にアクセスする、
オブジェクトディスパッチャ(1od)を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の計算機上の
複数のオブジェクトがメッセージを交換して、全体とし
て処理を進めるオブジェクト指向分散システムに係り、
特に、階層的なオブジェクトへのアクセスを効率的に行
うことの可能なオブジェクト指向分散システムに関す
る。
【0002】
【従来の技術】最近、データとそれに関する手続きをま
とめたオブジェクトの集合によりプログラムを記述す
る、いわゆるオブジェクト指向に基づく計算機システム
が増えてきた。オブジェクト指向システムでは、複数の
オブジェクトが、互いに手続きを呼び出し合って、全体
として処理を実行する。さらに、複数の計算機をネット
ワークで接続し、それらの計算機上のオブジェクトが、
通信しあって協調して処理を実行するオブジェクト指向
分散システムが使用されるようになった。
【0003】オブジェクト指向システムでは、オブジェ
クトを階層的に構成することが多い。オブジェクトを構
成するには、上位のオブジェクトの属性のひとつに下位
オブジェクトの識別子を記憶することによって表現する
ことが多い。この場合、オブジェクトの特定の属性に下
位オブジェクトの識別子を記憶する方法と、オブジェク
トの任意の属性に下位オブジェクトの識別子を記憶する
方法がある。
【0004】階層を持つオブジェクトが存在するシステ
ムでは、上位から下位のオブジェクトへと、オブジェク
トの階層をたどって、オブジェクトへのアクセスを行う
ことが多い。従来のオブジェクト指向システムでは、ま
ず上位オブジェクトの識別子により該上位オブジェクト
にアクセスし、その属性に記憶された下位オブジェクト
の識別子を読み出し、次に該下位オブジェクトの識別子
により下位オブジェクトにアクセスすることにより、オ
ブジェクトの階層をたどって、オブジェクトへのアクセ
スを行う。
【0005】例えば、ビルシステムを対象にオブジェク
ト指向に基づく分散システムの仕様を定めた、アメリカ
ン・ナショナル・スタンダーズ・インスティテュート
(American National Standards Institute, ANSI)ANSI
/ASHRAE 135−1995では、デバイス(device)を表わす
オブジェクトをデバイスオブジェクトで表現し、そのデ
バイスが扱うオブジェクト(複数可能)のオブジェクト
識別子を、上記デバイスオブジェクトの属性(propert
y)のひとつであるオブジェクトリスト(object−lis
t)に記憶する。これは、デバイスが扱うオブジェクト
が、デバイスオブジェクトの下位オブジェクトであると
いう、階層表現になっている。
【0006】そして、デバイスオブジェクトのオブジェ
クト識別子のみが知られ、そのデバイスが持つオブジェ
クトのオブジェクト識別子が不明の時に、そのデバイス
が持つオブジェクトの属性にアクセスするには、一旦デ
バイスオブジェクトにアクセスして、属性・オブジェク
トリストに記憶されているオブジェクト識別子を読み出
し、読み出したオブジェクト識別子を指定して改めてオ
ブジェクトにアクセスし、目的とする属性を読み出す必
要がある。
【0007】ANSI/ASHRAE 135−1995 では、2
階層のオブジェクトのみを対象としているが、一般のシ
ステムでは複数の階層を持つオブジェクトを扱ってい
る。その場合でも、同様に下位オブジェクトの識別子を
記憶しているオブジェクトにアクセスしていって、目的
とする下位オブジェクトの識別子を得た上で、改めてア
クセスする必要がある。
【0008】
【発明が解決しようとする課題】一般に分散システムの
場合、オブジェクトに1回アクセスするには、1回(正
確には要求と応答の1往復)のメッセージ通信を行う。
したがって、上記のような方法では、ひとつ下位のオブ
ジェクトにアクセスするのに、2回(2往復)のメッセ
ージ通信を行うことになる。同様に2つ下位のオブジェ
クトにアクセスするには3回のメッセージ通信が必要で
ある。従来システムでは、このように階層オブジェクト
のアクセス効率がよくないという問題がある。
【0009】また、アクセス対象のオブジェクトがどの
ような階層構成をとっているのかわからない場合には、
階層をたどってアクセスする必要があるのか、あるいは
階層をたどる必要がないのかが判断できず、従来のシス
テムではアクセス自体が不可能になるという問題があ
る。また、階層がわかったとしても、アクセス要求側は
その階層に応じたアクセス法を選択する必要があり、ア
クセスのための処理が複雑で効率が落ちるという問題が
ある。
【0010】本発明は、階層を持つオブジェクトに対し
て効率よくアクセスすることのできる、オブジェクト指
向分散システムを提供することを目的としている。
【0011】
【課題を解決するための手段】上記目的は、ネットワー
クを構成する計算機が目的とするオブジェクトへアクセ
スするためのメッセージを受信する受信手段と、オブジ
ェクト識別子とこのオブジェクトの計算機内のアドレス
とを対応させて記憶する記憶手段と、受信手段によって
受信したメッセージで指定されたオブジェクト識別子に
対応するオブジェクトアドレスを、記憶手段により決定
し、この決定したアドレスのオブジェクトがメッセージ
で指定された属性識別子に対応する属性を有していない
場合には、このオブジェクトより下位のオブジェクトに
ついて上記メッセージで指定された属性識別子に対応す
る属性を有しているかどうかを調べ、メッセージで指定
された属性識別子に対応する属性を有しているオブジェ
クトが得られたら、このオブジェクトの属性へのアクセ
ス処理を実行する、オブジェクトディスパッチング手段
とを有することにより達成することができる。
【0012】また上記目的はネットワークを構成する計
算機がオブジェクトへのアクセス要求メッセージを受信
するネットワーク通信手段と、オブジェクト識別子と該
オブジェクトの計算機内のアドレスとの対応を記憶する
オブジェクトアドレス情報記憶手段と、ネットワーク受
信手段によって受信したオブジェクトへのアクセス要求
メッセージで指定されたオブジェクト識別子に対応する
オブジェクトアドレスを、オブジェクトアドレス情報記
憶手段に記憶されている情報を読み出して決定し、該決
定したアドレスのオブジェクトが上記アクセス要求メッ
セージで指定された手続き識別子に対応する手続きを有
している場合には、該手続きを呼び出して該オブジェク
トへの処理を実行し、有していない場合には、該オブジ
ェクトのひとつ下位のオブジェクトに対し、同様に前記
アクセス要求メッセージで指定された手続き識別子に対
応する手続きを有しているかどうかを調べる処理を繰り
返し、アクセス要求メッセージで指定された手続き識別
子に対応する手続きを有しているオブジェクトが得られ
たら、該手続きを呼び出して該オブジェクトへの処理を
実行する、オブジェクトディスパッチング手段とを有す
ることにより達成することができる。
【0013】また上記目的はネットワークを構成するシ
ステムがオブジェクトへのアクセス要求を表わすメッセ
ージを受信するネットワーク通信手段と、オブジェクト
の階層情報を記憶するオブジェクト階層情報記憶手段
と、オブジェクトの識別子と該オブジェクトのアドレス
との対応を記憶するオブジェクトアドレス情報記憶手段
と、ネットワーク受信手段によって受信したオブジェク
トへのアクセス要求メッセージ中に含まれるアクセス対
象のオブジェクトのオブジェクト識別子とアクセス対象
の属性の属性識別子を抽出し、オブジェクト階層情報記
憶手段に記憶された情報を読み出して、該アクセス対象
のオブジェクトがどの階層に存在するかを判定し、該判
定した階層によって前記属性識別子に対応する属性を決
定し、前記アクセス対象のオブジェクト識別子に対応す
るオブジェクトアドレスを、前記オブジェクトアドレス
情報記憶手段から読み出して決定し、該オブジェクトの
属性識別子に対応する属性にアクセスする、オブジェク
トディスパッチング手段とを有することにより達成する
ことができる。
【0014】
【発明の実施の形態】以下、本発明の実施例を図を用い
て詳細に説明する。
【0015】(1)本発明の第1の実施例 本発明の第1の実施例について説明する。本発明の第1
の実施例は、下位オブジェクトが存在する場合でも、改
めてアクセス要求メッセージの通信を行うことなく下位
オブジェクトの属性にアクセスでき、階層を持つオブジ
ェクトに対して効率よくアクセスすることのできる、オ
ブジェクト指向分散システムである。
【0016】図1は本発明の第1の実施例の全体構成図
である。本発明の第1の実施例は計算機1cおよび計算
機2cをネットワーク1nで接続した分散システムであ
る。計算機1c,2cにはそれぞれ、プロセッサ1p,
2p、メモリ1m,2m、入出力(I/O)装置1i,
2iが存在する。メモリ1m,2mには計算機が実行す
るプログラムが存在し、これをプロセッサ1p,2pが
読み出して処理を実行する。メモリ1m,2mにはそれ
ぞれ、オペレーティングシステム(OS)のプログラム
1os,2os、オブジェクト指向ミドルウェア1o
m,2om、アプリケーションプログラム1ap,2a
pが存在する。本実施例は2台の計算機からなるが、3
台以上の計算機からなる場合も同様である。
【0017】アプリケーションプログラムはオブジェク
トを含む、全ての処理をオブジェクトで実現することも
可能であるし、通常の手続き的なプログラムとオブジェ
クトが混在してもよい。計算機1c上のアプリケーショ
ンプログラム1apはオブジェクト11o,12o等
を、計算機2c上のアプリケーションプログラム2ap
はオブジェクト21o,22o等を含む。
【0018】オブジェクトはひとまとまりのデータとそ
れに関する手続きをまとめたプログラムの単位である。
オブジェクトのデータを属性と呼ぶ。また、オブジェク
トの手続きをメソッドと呼ぶことがある。本実施例で
は、手続きを属性のアクセスに用いる。したがって、手
続きは属性値の読み出しや書き込みを行う処理である。
オブジェクトの構成を図2に示す。オブジェクト11o
は手続き11p1,11p2等と、属性11d1,11
d2等を有する。オブジェクト12o,21o,22o
等も同様である。本発明の第1の実施例では、後述する
ように、アクセスの種類とアクセス対象の属性を指定す
ることにより、対応するオブジェクトの手続きを呼び出
し、属性の読み出しや書き込みを行う。この他に、オブ
ジェクト識別子と呼び出す手続きを指定する方法もあ
る。
【0019】一般にオブジェクト指向プログラムではオ
ブジェクトの種類をクラス,個々のオブジェクトをイン
スタンスと呼ぶ。クラスはインスタンスのデータ構造や
動作を定義したものである。クラスはオブジェクトタイ
プとも呼ばれる。本実施例では、単にオブジェクトと呼
ぶ場合、インスタンスを意味することとする。同一クラ
スに属するオブジェクトは、手続き及びデータの構造は
同一で、データの値のみが異なり得る。
【0020】システム内に存在する個々のオブジェクト
は、それぞれオブジェクト識別子と呼ばれる識別子を有
しており、オブジェクト識別子を指定することにより分
散処理システム内で一意にオブジェクトを指定できる。
オブジェクト識別子は例えば、ANSI/ASHRAE 135−
1995 で規定されているように、図3に示すよう
な、32bit で表現できる。32bit のうち10bit は
クラス(オブジェクトタイプ)を識別するクラス(オブ
ジェクトタイプ)番号、22bit はオブジェクト(イン
スタンス)を識別するオブジェクト(インスタンス)番
号である。ANSI/ASHRAE 135−1995 では、オブ
ジェクト識別子はオブジェクトによっては必ずしも分散
システム全体で一意には与えないが、本実施例では、全
てのオブジェクトについて分散システム全体で一意に与
えることとする。
【0021】プログラマが記述するプログラムはクラス
の定義である。クラスの定義方法は、オブジェクト指向
言語により定められている。オブジェクト指向言語に
は、例えばアディソン・ウェスリー社(Addison Wesley
Publishing Company)刊,ザ・アノテイテッド・シー・
プラス・プラス・リファレンス・マニュアル(1990)
(The Annotated C++ Reference Manual)に記載されて
いる、C++と呼ばれる言語がある。また、特にオブジ
ェクト指向言語を使用しなくても、例えばC言語で構造
体と関数を用いてもオブジェクトを表現できる。
【0022】クラス定義では、オブジェクトのデータ構
造と手続きを宣言する。例えば前記C++言語では、個
々のデータはメンバと呼ばれ、手続きはメンバ関数と呼
ばれる。C言語を用いる場合、構造体でオブジェクトの
属性を、関数で手続きを記述する。プログラマにより記
述されたクラス定義は、コンパイラにより実行可能プロ
グラムに変換され、それをメモリ上にロードして実行す
ることができる。
【0023】オブジェクト指向ミドルウェア1om,2
omはアプリケーションプログラムからの要求により、
他の計算機上のオブジェクトの手続きを呼び出すための
メッセージを、OS1os,2os内のネットワーク通
信処理1cm,2cmによって送信し、その手続きの実
行結果をネットワーク通信処理1cm,2cmによって
受信しアプリケーションプログラムに渡したり、他の計
算機上のアプリケーションプログラムからの該計算機上
のオブジェクトの手続き呼び出し要求に応じて、計算機
上のオブジェクトの手続き呼び出しを要求するメッセー
ジをネットワーク通信処理1cm,2cmによって受信
し、そのオブジェクトの手続きを呼び出し、結果を返す
メッセージをネットワーク通信処理1cm,2cmによ
って送信するためのソフトウェアである。
【0024】OS1os,2osはプログラムの実行や
ユーザとの基本的なサービスを行うソフトウェアであ
る。OS1os,2osはそれぞれ、スケジューラ1s
c,2sc、デバイスドライバ1dd,2dd、ネット
ワーク通信処理1cm,2cm、メモリ管理処理1m
m,2mmを含んでいる。スケジューラ1sc,2sc
はアプリケーションプログラムの実行のスケジューリン
グを行う。デバイスドライバ1dd,2ddは入出力装
置1i,2iを制御して入出力処理を行う。ネットワー
ク通信処理1cm,2cmは、他の計算機とネットワー
クを介してデータの送受信を行う。メモリ管理処理1m
m,2mmはアプリケーションプログラムの実行に必要
なメモリの管理を行う。
【0025】OSのスケジューラ,デバイスドライバ,
ネットワーク通信処理,メモリ管理処理は、例えば、プ
レンティス・ホール社(Prentice−Hall)刊,ザ・デザ
イン・オブ・ザ・ユニックス・オペレーティング・シス
テム(1986)(The Designof the UNIX Operating Sy
stem (1986))や、アジソン・ウェスリー社(Addison−
Wesley Publish Company)刊,ザ・デザイン・アンド・
インプリメンテーション・オブ・ザ・4.3ビー・エス
・ディー・ユニックス・オペレーティング・システム
(1989)(The Design and Implementation of the
4.3BSD UNIX Operation System (1989))に記載されてい
る手法により実現できる。これらに記載されたOSでは
ソケット(socket)と呼ばれるネットワーク通信機能を
提供している。ソケットでは、TCP/IPと呼ばれる
プロトコルを用いた通信機能を提供している。
【0026】送受信するメッセージの基本構成を図4に
示す。メッセージ1msはメッセージヘッダ1mhとメ
ッセージ本体1mbからなる。メッセージ本体はANSI/
ASHRAE 135−1995ではAPDUと呼ばれてい
る。メッセージ本体は、オブジェクト指向ミドルウェア
により生成される。メッセージヘッダ1mhは送信先ノ
ード番号1mnnと要求番号1mrnからなる。要求番
号は要求メッセージと応答メッセージの対応付けに使用
する。
【0027】要求メッセージのメッセージ本体の形式を
図5に示す。要求メッセージ本体1mbは、メッセージ
本体の大きさ(Byte数)1mbl,メッセージタイプ1m
bt,要求するアクセスの種類を示すアクセス識別子1m
bs,要求先のオブジェクトのオブジェクト識別子1m
bi,アクセス対象の属性の識別子1mbp,引数1m
baからなる。手続き識別子はオブジェクトの手続きを
一意に指定するための識別番号である。メッセージタイ
プ1mbtはメッセージが要求か応答かを示すもので、
この場合は要求を示す値を格納する。アクセス識別子は
例えば、要求するアクセスが属性値の書き込みなのか、
読み出しなのかを区別する識別子である。引数1mba
は、属性書き込みの場合は書き込む値である。属性読み
出しの場合は引数は必要ないので空である。
【0028】応答メッセージのメッセージ本体の形式を
図6に示す。応答メッセージ本体1mbは、メッセージ
本体の大きさ(Byte数)1mbl,メッセージタイプ1m
bt,応答元(要求先)のオブジェクトのオブジェクト識
別子1mbi,アクセス対象の属性の識別子1mbp,
戻り値1mbrからなる。ここでメッセージタイプ1m
btは応答を示す値を格納する。戻り値1mbrは、属
性読み出しの場合は読み込んだ値である。属性書き込み
の場合は戻り値は必要ないので空である。
【0029】メッセージはこのフォーマットに限らず、
例えば、ANSI/ASHRAE 135−1995で規定された
ものを使用してもよい。また、本発明では、要求するア
クセスの種類,対象とするオブジェクト,属性を指定
し、それらに関する情報をメッセージで転送している
が、オブジェクトと手続きを指定し、それらに関する情
報を転送する方法もある。また、アクセスの種類や属性
の種類が限定される場合には、オブジェクト識別子の指
定および転送のみでも可能である。
【0030】次に、オブジェクト指向ミドルウェアの詳
細について、図7を用いて説明する。オブジェクト指向
ミドルウェアは、要求メッセージ送受信処理部1rm,
オブジェクトディスパッチャ1od,オブジェクトアド
レス情報記憶部1oaからなる。
【0031】要求メッセージ送受信処理部1rmはアプ
リケーションプログラム1apからの要求により、他の
計算機上のオブジェクトへのアクセス要求メッセージ
を、ネットワーク通信処理1cmによって送信し、その
応答メッセージをネットワーク通信処理1cmによって
受信しアプリケーションプログラム1apに渡す処理を
行う。
【0032】要求メッセージ送受信処理部1rmの動作
を、図8により説明する。要求メッセージ送受信処理
は、アプリケーションプログラムから、相手先のオブジ
ェクト識別子,アクセス要求の種類,アクセス対象の属
性、および引数を指定して起動される。起動されたメッ
セージ送受信処理100は、まず、図5に示した形式の
要求メッセージ本体1mbを作成する(処理101)。
そして送信するメッセージの要求番号を割り当てるとと
もに、それを記憶する(処理102)。要求番号は、要
求メッセージを一意に指定するためのものである。そし
て、ネットワーク通信処理1cmに、要求メッセージの
送信を依頼する(処理103)。
【0033】次に、応答メッセージの受信をネットワー
ク通信処理1cmに依頼する(処理104)。そしてネ
ットワーク通信処理1cmが受信した応答メッセージの
要求番号が、記憶した要求番号と一致するかどうかを調
べる(処理105)。一致しなければ該応答メッセージ
は上記要求メッセージに対する応答メッセージではない
ので、再び応答メッセージの受信をネットワーク通信処
理1cmに依頼する。要求番号が一致すれば、上記要求
メッセージに対する応答メッセージであるので、該応答
メッセージから戻り値を取り出し、アプリケーションプ
ログラムに渡して(処理106)、要求メッセージ送信
処理を終了する。
【0034】ここで、階層化されたオブジェクトへのア
クセスについて説明する。オブジェクトの階層は、上位
のオブジェクトの属性のひとつに下位オブジェクトの識
別子を記憶することによって表現する。オブジェクトの
階層構成の例を図9に示す。この例は、空調オブジェク
ト31oの下位オブジェクトとして温度センサオブジェ
クト41oが存在する例である。空調オブジェクト41
oの属性・室内温度センサ31d1に、温度センサオブ
ジェクト41oのオブジェクト識別子を記憶することに
より、階層構成を表現している。
【0035】従来のシステムでは、上位オブジェクトの
オブジェクト識別子のみしかわからない場合、下位オブ
ジェクトにアクセスするには、一旦上位オブジェクトに
アクセスしてその属性として記憶されている下位オブジ
ェクトの属性を読み出してから、改めて下位オブジェク
トにアクセスする必要があった。例えば、図9の例で、
空調オブジェクト31oのオブジェクト識別子はわかる
が、温度センサオブジェクト41oのオブジェクト識別
子が不明のとき、室内温度、すなわち、温度センサオブ
ジェクト41oの属性・温度41d1を読み出す場合の
従来のアクセス法を説明する。まず空調オブジェクト3
1oのオブジェクト識別子と属性・室内温度センサ31
d1の属性識別子を指定して、属性読み出しの要求メッ
セージを送信し、その応答として、空調オブジェクト3
1oのオブジェクト識別子を受け取る。そして次に、温
度センサオブジェクト41oのオブジェクト識別子と属
性・温度41d1の属性識別子を指定して、属性読み出
しの要求メッセージを送信する。これにより、その応答
として、室内温度、すなわち、温度センサオブジェクト
41oの属性・温度41d1の値を知ることができる。
このように従来のシステムでは、ひとつ下位のオブジェ
クトへのアクセスに2往復のメッセージ通信が必要とな
り、階層的なオブジェクトへのアクセスは効率的でな
い。
【0036】そこで、本発明の第1の実施例では、階層
的なオブジェクトへのアクセスは効率化し、1往復のメ
ッセージ通信で下位のオブジェクトへのアクセスを可能
とした。
【0037】このために、まず、階層化されたオブジェ
クトについては、階層を構成するオブジェクトの属性識
別子を合成した属性識別子を指定することにする。合成
すべき属性識別子は、上位オブジェクトのうちの、下位
オブジェクトのオブジェクト識別子を記憶している属性
の属性識別子と、下位オブジェクトのアクセス対象の属
性の属性識別子である。図9の例では、空調オブジェク
トの属性:室内温度センサ31d1と温度センサオブジ
ェクトの属性:温度41d1とを合成する。合成の仕方
は、合成した識別子から、もとの識別子を一意に復号で
きるものであれば、何でもよい。例えば2階層の場合、
定数nを用いて、 合成属性識別子=上位オブジェクトの属性識別子*n+
下位オブジェクトの属性識別子 により決定できる。ここでnは存在する最大の属性識別
子の値より大きくとる必要がある。
【0038】本発明の第1の実施例における、階層的な
オブジェクトへのアクセス処理について、以下説明す
る。
【0039】オブジェクトディスパッチャ1odは、ア
クセス要求メッセージをネットワーク通信処理1cmに
よって受信し、要求されたオブジェクトの手続きを呼び
出して、属性の読み出しや書き込み処理を実行し、その
結果を応答メッセージとして、ネットワーク通信処理1
cmによって送信する処理を行う。
【0040】オブジェクトの手続きを呼び出すには、呼
び出すオブジェクトのアドレスと、呼び出す手続きのア
ドレスを指定する必要がある。しかし、要求メッセージ
本体に含まれる情報はオブジェクト識別子と属性識別子
とアクセス識別子であり、上記アドレスそのものは含ま
れていない。そこで、計算機上に存在するオブジェクト
について、オブジェクト識別子と属性識別子とアクセス
識別子と、オブジェクトアドレスおよび手続きアドレス
との対応を、オブジェクトアドレス情報記憶部1oaに
記憶する。
【0041】オブジェクトディスパッチャの処理を図1
0を用いて説明する。オブジェクトディスパッチング処
理200は、まずネットワーク通信処理1cmに依頼し
て、要求メッセージを受け取る(処理201)。そして
要求メッセージ中の要求番号を記憶しておく(処理20
2)。
【0042】次に、オブジェクトアドレス情報記憶部に
記憶されている情報を読み出し、要求メッセージ中に含
まれるオブジェクト識別子と属性識別子に対応するオブ
ジェクトの属性の値を読み出し、オブジェクト識別子で
あるかどうかを調べる(処理203)。ここで、属性識
別子として、前記、合成識別子を用いた場合には、復号
処理を行った属性識別子を用いる必要がある。
【0043】オブジェクト識別子の場合には、読み出し
たオブジェクト識別子に対応するオブジェクトを求め
(処理204)、そのオブジェクトについて、再び前記
属性識別子に対応するオブジェクトの属性の値を読み出
し、オブジェクト識別子であるかどうかを調べる(処理
203)。これを、オブジェクト識別子でなくなるまで
続ける。
【0044】オブジェクト識別子でなければ、オブジェ
クトアドレス情報記憶部に記憶されている情報を読み出
し、そのオブジェクトについて、前記属性識別子および
アクセス識別子に対応する手続きを実行する(処理20
5)。オブジェクトの手続きが終了するとその戻り値が
得られるので、その戻り値と、前記記憶した要求番号を
含む応答メッセージを作成し(処理206)、作成した
応答メッセージの送信を、ネットワーク通信処理1cm
に依頼して(処理207)、終了する。
【0045】以上の処理により、階層的なオブジェクト
へのアクセスも、1回(1往復)のメッセージ通信で行
うことが可能になる。
【0046】(2)本発明の第1の実施例の効果 本発明の一実施例では、階層的なオブジェクトへのアク
セスも、1回(1往復)のメッセージ通信で行うことが可
能になるという効果がある。
【0047】(3)本発明の第2の実施例 本発明の第2の実施例は、アクセス対象のオブジェクト
が階層化されているかどうかにかかわらず、同一方法で
アクセスできる、オブジェクト指向分散システムであ
る。
【0048】一般に、同一の設備,機器等の対象をオブ
ジェクトで表現する場合、階層的なオブジェクトで表現
することも、階層なしのひとつのオブジェクトで表現す
ることも可能である。例えば、図9では空調設備を、空
調オブジェクト31oと温度センサオブジェクト41o
で表現しているが、これを、図11に示すようなひとつ
の空調オブジェクト21oで表現することも可能であ
る。この場合、原則として、上位のオブジェクトが持っ
ている属性と下位のオブジェクトが持っている属性の全
てを、ひとつのオブジェクトが持たなければならない。
例えば、図9の温度センサオブジェクト41oの属性4
1d1は、図11では空調オブジェクト21oの属性2
1d1として表現されている。
【0049】従来のシステムでは、アクセスしようとす
るオブジェクトが階層構成をとっているかどうかで、ア
クセス方法を変えなければならない。例えば、属性,室
内温度の読み出しを行う場合、アクセス対象が図9のオ
ブジェクトで表現されているか、図11のオブジェクト
で表現されているかによって、アクセス方法が変わる。
ここで、属性41d1と21d1は同じものを表現して
いるとしても、一般には、その属性識別子が異なること
に注意する必要がある。
【0050】以下、本発明の第2の実施例について説明
する。特に断わらない部分は、前記本発明の第1の実施
例と同じであるものとする。
【0051】図12は、本発明の他の実施例の要求メッ
セージ本体の構成である、要求メッセージを構成する要
素は前記本発明の一実施例と変わらない。ただし、クラ
ス識別子を表わすフィールドと属性識別子を表わすフィ
ールドの大きさは、両者の和は不変であるという条件の
もとで、それぞれ可変である。図12でクラス識別子2
mbcと属性識別子2mbpは、アクセス対象が図11
の構成の場合の温度センサオブジェクト41oの属性:
温度41d1にアクセスする場合を示している。また、
クラス識別子3mbcと属性識別子3mbpは、アクセ
ス対象が図9の構成の場合の空調オブジェクト21oの
属性:室内温度21d1にアクセスする場合を示してい
る。すなわち本発明の他の実施例では、アクセス対象の
オブジェクトが階層のそのレベルにいるかで、クラス識
別子を表わすフィールドと属性識別子を表わすフィール
ドの大きさを変える。ただし、クラス識別子2mbcと
属性識別子2mbpを合成したビット列と、クラス識別
子3mbcと属性識別子3mbpを合成したビット列と
が、同じ値を示すように、クラス識別子と属性識別子を
与えるようにする。
【0052】本発明の第2の実施例のオブジェクト指向
ミドルウェアの詳細について、図13を用いて説明す
る。本発明の第1の実施例と異なるのは、オブジェクト
階層情報記憶手段1ohを設けたことである。オブジェ
クト階層情報記憶手段1ohには、オブジェクト識別子
で指定されたオブジェクトが、どのレベルの階層にいる
かを示す情報を記憶する。ここで、どのレベルかという
のは、最上位のオブジェクトから、いくつ下位に位置す
るかを示すものとする。
【0053】本発明の第2の実施例のオブジェクトディ
スパッチャの処理を図14を用いて説明する。オブジェ
クトディスパッチング処理300は、まずネットワーク
通信処理1cmに依頼して、要求メッセージを受け取る
(処理301)。そして要求メッセージ中の要求番号を
記憶しておく(処理302)。
【0054】次に、オブジェクト階層情報記憶手段1o
hに記憶されている情報を読み出し、アクセス対象のオ
ブジェクトが、階層のどのレベルにいるかを調べ、それ
に従って、受信した要求メッセージ中のクラス識別子を
表わすフィールドと属性識別子を表わすフィールドを解
釈する(処理303)。これにより、図12でクラス識
別子2mbcと属性識別子2mbpは、アクセス対象が
図11の構成の場合の温度センサオブジェクト41oの
属性:温度41d1に、また、クラス識別子3mbcと
属性識別子3mbpは、アクセス対象が図9の構成の場
合の空調オブジェクト21oの属性:室内温度21d1
に対応すると判断できる。
【0055】そして、判断結果に基づいて、オブジェク
トアドレス情報記憶部に記憶されている情報を読み出
し、オブジェクトの手続きを呼び出してアクセス処理を
実行する(処理305)。オブジェクトの手続きが終了
するとその戻り値が得られるので、その戻り値と、前記
記憶した要求番号を含む応答メッセージを作成し(処理
306)、作成した応答メッセージの送信を、ネットワ
ーク通信処理1cmに依頼して(処理307)、終了す
る。
【0056】(4)本発明の第2の実施例の効果 本発明の第2の実施例によれば、アクセス対象のオブジ
ェクトがどのような階層構成をとっているのかにかかわ
らず、要求を受信した側でアクセス対象のオブジェクト
を決定できるため、アクセス要求側の処理を単純化でき
るという効果がある。
【0057】(5)本発明の他の実施例 本発明の第1の実施例では、合成識別子を用いて階層化
されたオブジェクトの属性を指定していた。しかし、下
位のオブジェクトのオブジェクト識別子を記憶する属性
を特定のものとすれば、上記のような合成識別子により
指定する必要はなく、最終的にアクセスする属性の識別
子をそのまま用いればよい。この場合には、指定された
属性識別子に対応する属性がそのオブジェクトに存在す
るかどうかを調べ、存在しない時は、下位のオブジェク
トが指定された属性識別子に対応する属性を持つまで、
オブジェクトの階層をたどる。そして、指定された属性
識別子を持つオブジェクトが得られたら、そのオブジェ
クトの属性にアクセスすればよい。これにより合成識別
子に関する処理が不要となり、処理を効率化できるとい
う効果がある。
【0058】また、本発明の第1および第2の実施例で
は、アクセスの種類とアクセス対象の属性を指定するこ
とにより、対応するオブジェクトの手続きを呼び出し、
属性の読み出しや書き込みを行ったが、オブジェクト識
別子と呼び出す手続きを指定する方法もある。これによ
り手続き呼び出し処理を効率化できるという効果があ
る。
【0059】
【発明の効果】本発明によれば、階層を持つオブジェク
トに対して、アクセス対象のオブジェクトがどの階層に
属しているかにかかわらず、1回のメッセージ通信で効
率よくアクセスできるという効果がある。
【0060】また、本発明によれば、アクセス対象のオ
ブジェクトがどのような階層構成をとっているかにかか
わらず、同一フォーマットのメッセージ通信で、効率よ
くアクセスできるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例の全体構成を示す図。
【図2】本発明の第1の実施例のオブジェクトの構成を
示す図。
【図3】本発明の第1の実施例のオブジェクト識別子の
構成を示す図。
【図4】本発明の第1の実施例のメッセージの基本形式
を示す図。
【図5】本発明の第1の実施例の要求メッセージ本体の
形式を示す図。
【図6】本発明の第1の実施例の応答メッセージ本体の
形式を示す図。
【図7】本発明の第1の実施例のオブジェクト指向ミド
ルウェアの構成を示す図。
【図8】本発明の第1の実施例のメッセージ送受信処理
のフローチャート。
【図9】本発明の第1の実施例を説明するためのオブジ
ェクト構成を示す図。
【図10】本発明の第1の実施例のオブジェクトディス
パッチング処理のフローチャート。
【図11】本発明の第2の実施例を説明するためのオブ
ジェクト構成を示す図。
【図12】本発明の第2の実施例の要求メッセージ本体
の形式を示す図。
【図13】本発明の第2の実施例のオブジェクト指向ミ
ドルウェアの構成を示す図。
【図14】本発明の第2の実施例のオブジェクトディス
パッチング処理のフローチャート。
【符号の説明】
1c,2c…計算機、1n…ネットワーク、1p,2p
…プロセッサ、1m,2m…メモリ、1i,2i…入出
力装置、1os,2os…オペレーティングシステム、
1sc,2sc…スケジューラ、1dd,2dd…デバ
イスドライバ、1cm,2cm…ネットワーク通信処
理、1mm,2mm…メモリ管理処理、1ap,2ap
…アプリケーションプログラム、1om,2om…オブ
ジェクト指向ミドルウェア、11o,12o,21o,
22o…オブジェクト、11p1,11p2…手続き、
11d1,11d2…属性、1rm…要求メッセージ送
受信処理部、1od…オブジェクトディスパッチャ、1
ri…受信メッセージ識別情報記憶部、1oa…オブジ
ェクトアドレス情報記憶部、1oh…オブジェクト階層
情報記憶手段。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】階層化されたオブジェクトを含むアプリケ
    ーションプログラムを有する複数の計算機が相互に接続
    され、目的とするオブジェクトを指定するオブジェクト
    識別子と目的とする属性を指定する属性識別子とを含む
    メッセージを上記計算機間でやりとりして、目的のオブ
    ジェクトにアクセスしながら処理を進めるオブジェクト
    指向分散システムにおいて、上記各計算機は、目的とす
    るオブジェクトへアクセスするためのメッセージを受信
    する受信手段と、オブジェクト識別子と該オブジェクト
    の計算機内のアドレスとを対応させて記憶する記憶手段
    と、上記受信手段によって受信したメッセージで指定さ
    れたオブジェクト識別子に対応するオブジェクトアドレ
    スを、上記記憶手段により決定し、この決定したアドレ
    スのオブジェクトが上記メッセージで指定された属性識
    別子に対応する属性を有していない場合には、このオブ
    ジェクトより下位のオブジェクトについて上記メッセー
    ジで指定された属性識別子に対応する属性を有している
    かどうかを調べ、上記メッセージで指定された属性識別
    子に対応する属性を有しているオブジェクトが得られた
    ら、このオブジェクトの属性へのアクセス処理を実行す
    る、オブジェクトディスパッチング手段とを有すること
    を特徴とする、オブジェクト指向分散システム。
  2. 【請求項2】上記オブジェクトディスパッチング手段
    は、上記受信手段によって受信したメッセージで指定さ
    れたオブジェクト識別子に対応するオブジェクトアドレ
    スを、上記記憶手段により決定し、上記決定したアドレ
    スのオブジェクトの上記メッセージで指定された属性識
    別子に対応する属性がオブジェクト識別子のときは、さ
    らに、該属性識別子から下位オブジェクトの属性識別子
    を抽出し、上記記憶手段から該属性に記憶されたオブジ
    ェクト識別子に対応するオブジェクトアドレスを読み出
    して決定し、該決定したアドレスの該オブジェクトの抽
    出した属性識別子に対応する属性がオブジェクト識別子
    でなくなるまでこの処理を繰り返し、該決定したアドレ
    スのオブジェクトの該属性がオブジェクト識別子でない
    とき、該オブジェクトの該属性へのアクセス処理を実行
    することを特徴とする、請求項1に記載のオブジェクト
    指向分散システム。
  3. 【請求項3】上記記憶手段は、オブジェクトのオブジェ
    クト識別子および属性の属性識別子および属性へのアク
    セスの種類を表わすアクセス識別子と、該オブジェクト
    のオブジェクトアドレスと該オブジェクトの上記属性に
    前記アクセスの種類に対応する手続きのアドレスとの対
    応を記憶し、上記オブジェクトディスパッチング手段
    は、上記受信手段によって受信したオブジェクトへのア
    クセス要求メッセージ中に含まれるアクセス対象のオブ
    ジェクトのオブジェクト識別子とアクセス対象の属性の
    属性識別子とアクセス識別子を抽出し、上記記憶手段か
    ら、該オブジェクト識別子と属性識別子とアクセス識別
    子に対応するオブジェクトアドレスと手続きアドレスを
    読み出して、該オブジェクトの手続きを呼び出すことに
    より、オブジェクトへのアクセス処理を実行することを
    特徴とする、請求項1および2に記載のオブジェクト指
    向分散システム。
  4. 【請求項4】階層化されたオブジェクトを含むアプリケ
    ーションプログラムを有する複数の計算機が相互に接続
    され、アクセス対象のオブジェクトを指定するオブジェ
    クト識別子と呼び出すオブジェクトの手続きを指定する
    手続き識別子を含むメッセージを計算機間でやりとりし
    て、オブジェクトにアクセスしながら処理を実行するオ
    ブジェクト指向分散システムにおいて、上記各計算機は
    オブジェクトへのアクセス要求メッセージを受信するネ
    ットワーク通信手段と、オブジェクト識別子と該オブジ
    ェクトの計算機内のアドレスとの対応を記憶するオブジ
    ェクトアドレス情報記憶手段と、上記ネットワーク受信
    手段によって受信したオブジェクトへのアクセス要求メ
    ッセージで指定されたオブジェクト識別子に対応するオ
    ブジェクトアドレスを、上記オブジェクトアドレス情報
    記憶手段に記憶されている情報を読み出して決定し、該
    決定したアドレスのオブジェクトが上記アクセス要求メ
    ッセージで指定された手続き識別子に対応する手続きを
    有している場合には、該手続きを呼び出して該オブジェ
    クトへの処理を実行し、有していない場合には、該オブ
    ジェクトのひとつ下位のオブジェクトに対し、同様に前
    記アクセス要求メッセージで指定された手続き識別子に
    対応する手続きを有しているかどうかを調べる処理を繰
    り返し、上記アクセス要求メッセージで指定された手続
    き識別子に対応する手続きを有しているオブジェクトが
    得られたら、該手続きを呼び出して該オブジェクトへの
    処理を実行する、オブジェクトディスパッチング手段と
    を有することを特徴とする、オブジェクト指向分散シス
    テム。
  5. 【請求項5】階層化されたオブジェクトを含むアプリケ
    ーションプログラムを有する複数の計算機が相互に接続
    され、アクセス対象のオブジェクトを指定するオブジェ
    クト識別子とアクセス対象の属性を指定する属性識別子
    を含むメッセージを計算機間でやりとりして、オブジェ
    クトにアクセスしながら処理を進めるオブジェクト指向
    分散システムにおいて、オブジェクトへのアクセス要求
    を表わすメッセージを受信するネットワーク通信手段
    と、オブジェクトの階層情報を記憶するオブジェクト階
    層情報記憶手段と、オブジェクトの識別子と該オブジェ
    クトのアドレスとの対応を記憶するオブジェクトアドレ
    ス情報記憶手段と、上記ネットワーク受信手段によって
    受信したオブジェクトへのアクセス要求メッセージ中に
    含まれるアクセス対象のオブジェクトのオブジェクト識
    別子とアクセス対象の属性の属性識別子を抽出し、上記
    オブジェクト階層情報記憶手段に記憶された情報を読み
    出して、該アクセス対象のオブジェクトがどの階層に存
    在するかを判定し、該判定した階層によって前記属性識
    別子に対応する属性を決定し、前記アクセス対象のオブ
    ジェクト識別子に対応するオブジェクトアドレスを、前
    記オブジェクトアドレス情報記憶手段から読み出して決
    定し、該オブジェクトの上記属性識別子に対応する属性
    にアクセスする、オブジェクトディスパッチング手段と
    を有することを特徴とする、オブジェクト指向分散シス
    テム。
  6. 【請求項6】上記オブジェクトアドレス情報記憶手段
    は、オブジェクトのオブジェクト識別子および属性の属
    性識別子および属性へのアクセスの種類を表わすアクセ
    ス識別子と、該オブジェクトのオブジェクトアドレスと
    該オブジェクトの上記属性に前記アクセスの種類に対応
    する手続きのアドレスとの対応を記憶し、上記オブジェ
    クトディスパッチング手段は、上記ネットワーク受信手
    段によって受信したオブジェクトへのアクセス要求メッ
    セージ中に含まれるアクセス対象のオブジェクトのオブ
    ジェクト識別子とアクセス対象の属性の属性識別子とア
    クセス識別子を抽出し、上記オブジェクト階層情報記憶
    手段に記憶された情報を読み出して、該アクセス対象の
    オブジェクトがどの階層に存在するかを判定し、該判定
    した階層によって前記属性識別子に対応する属性を決定
    し、上記オブジェクトアドレス情報記憶手段から、該オ
    ブジェクト識別子と属性識別子とアクセス識別子に対応
    するオブジェクトアドレスと手続きアドレスを読み出し
    て、該オブジェクトの手続きを呼び出すことにより、オ
    ブジェクトへのアクセス処理を実行することを特徴とす
    る、請求項5に記載のオブジェクト指向分散システム。
JP9108587A 1997-04-25 1997-04-25 オブジェクト指向分散システム Pending JPH10301783A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9108587A JPH10301783A (ja) 1997-04-25 1997-04-25 オブジェクト指向分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9108587A JPH10301783A (ja) 1997-04-25 1997-04-25 オブジェクト指向分散システム

Publications (1)

Publication Number Publication Date
JPH10301783A true JPH10301783A (ja) 1998-11-13

Family

ID=14488597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9108587A Pending JPH10301783A (ja) 1997-04-25 1997-04-25 オブジェクト指向分散システム

Country Status (1)

Country Link
JP (1) JPH10301783A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005526308A (ja) * 2002-02-15 2005-09-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体端末のための階層アーキテクチャ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005526308A (ja) * 2002-02-15 2005-09-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体端末のための階層アーキテクチャ
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
US8234628B2 (en) 2002-02-15 2012-07-31 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals

Similar Documents

Publication Publication Date Title
EP0737916B1 (en) Methods, apparatus and data structures for managing objects
EP0278316B1 (en) Method and system for network management
US7908459B2 (en) Security for logical unit in storage subsystem
US5291593A (en) System for persistent and delayed allocation object reference in an object oriented environment
US5737529A (en) Networked variables
US5956723A (en) Maintaining identifier information in a memory using unique identifiers as a linked list
US5519875A (en) Distributed processing system for modules, each having modularized objects
EP1276034A2 (en) Security for logical unit in storage subsystem
EP0272835B1 (en) Virtual execution of programs on a multiprocessor system
US6009472A (en) Process for transferring data between nodes in a multinodal information system
CN110912782B (zh) 一种数据采集方法、装置及存储介质
US6438614B2 (en) Polymorphic token based control
US6708258B1 (en) Computer system for eliminating memory read-modify-write operations during packet transfers
CN113157396A (zh) 一种虚拟化服务系统和方法
JPH10301783A (ja) オブジェクト指向分散システム
US5404450A (en) Communications processor system with control of downloaded tasks
JPH1074146A (ja) オブジェクト指向分散システム
US5479614A (en) Object sensor processing method and processor
JP3694326B2 (ja) データ処理装置
WO2001093032A1 (fr) Systeme informatique, procede de commande d'ordinateur et support stockant un programme de commande
US6282112B1 (en) Network storage system
JP2770758B2 (ja) Osi管理エージェントシステム
JP3007340B1 (ja) 機能呼び出し方法、並列分散処理システムおよびコンピュータ
CN118140211A (zh) 硬件加速器服务聚合
JP4508245B2 (ja) データ処理装置