JP2000215179A - オブジェクト名前管理方式 - Google Patents

オブジェクト名前管理方式

Info

Publication number
JP2000215179A
JP2000215179A JP11013935A JP1393599A JP2000215179A JP 2000215179 A JP2000215179 A JP 2000215179A JP 11013935 A JP11013935 A JP 11013935A JP 1393599 A JP1393599 A JP 1393599A JP 2000215179 A JP2000215179 A JP 2000215179A
Authority
JP
Japan
Prior art keywords
name
factory
factory object
identification information
database
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
JP11013935A
Other languages
English (en)
Inventor
Haruyuki Otani
治之 大谷
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11013935A priority Critical patent/JP2000215179A/ja
Publication of JP2000215179A publication Critical patent/JP2000215179A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 ネットワークを通じてネームサーバのネーム
データベースに登録されているファクトリオブジェクト
と被ファクトリオブジェクトの登録情報を削除する際、
ネットワークトラフィックの削減ができるオブジェクト
名前管理方式を実現する。 【解決手段】 ファクトリオブジェクトと被ファクトリ
オブジェクトのそれぞれを識別するオブジェクトリファ
レンスをオブジェクトリファレンス生成装置9で生成
し、ファクトリオブジェクトの名前とこのファクトリオ
ブジェクトの名前が連結された被ファクトリオブジェク
トの名前を名前作成装置10で作成し、これらのファク
トリオブジェクトと被ファクトリオブジェクトのオブジ
ェクトリファレンスと名前をネームデータベース16に
登録し、また、ネームデータベース管理装置はファクト
リオブジェクトの名前に基づきファクトリオブジェクト
の識別情報と名前を削除すると共に、ファクトリオブジ
ェクトの名前が連結された被ファクトリオブジェクトの
名前に基づき被ファクトリオブジェクトの識別情報と名
前を削除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、分散オブジェク
トシステムにおけるネーミングサービスに関するもので
ある。
【0002】
【従来の技術】図11は例えば、「CORBAservices Marc
h1995 Naming Service Specification」に示された分散
オブジェクトシステムにおける従来のネーミングサービ
スの構成図である。分散オブジェクトシステムは、2つ
のコンピュータ102、103がネットワークによって
相互に接続されたコンピュータシステムで、コンピュー
タ102内のアプリケーション105、アプリケーショ
ン105内のオブジェクト111、112、113及び
オブジェクト111、112、113に対してオブジェ
クトリファレンスを割り当てるオブジェクトリファレン
ス生成装置109と、コンピュータ103内のアプリケ
ーションクライアント106と、により構成される。
【0003】アプリケーションクライアント106はオ
ブジェクトリファレンス生成装置109によって生成さ
れたオブジェクトリファレンスを用いアプリケーション
105内のオブジェクト111、112、113を特定
し、特定されたオブジェクトとメッセージを送受信する
ことにより、アプリケーションに固有の処理を実行させ
る。
【0004】分散オブジェクトシステムにおけるネーミ
ングサービスは、上記の分散オブジェクトシステムに加
えて、第1のコンピュータ101がネットワークを通じ
てコンピュータ102及びコンピュータ103と相互に
接続されたもので、コンピュータ101内で動作するネ
ームサーバ104と、コンピュータ102内で動作する
ネームクライアント107及びコンピュータ103内で
動作するネームクライアント114により構成される。
【0005】ネームサーバ104は、オブジェクト11
1、112、113に対して割り当てられるオブジェク
ト名とオブジェクトリファレンスの組(以下、組と記載
する)が登録されるネームデータベース110と、ネー
ムデータベース110内の組を実際に登録したり、削除
したり、検索したりする処理を行うネームデータベース
管理装置108から成る。組の登録、削除の要求はアプ
リケーション105が行ない、組の検索の要求はアプリ
ケーションクライアント106が行う。これらの要求
は、それぞれネームクライアント114、ネームクライ
アント107を通じてネームサーバ104に送られる。
【0006】図11では、ネームデータベース110は
分散配置されたデータベースとして図示していないが、
本来は、ネームサーバ104を複数設け、分散データベ
ースとして構築することが可能である。
【0007】オブジェクトリファレンス生成装置109
はオブジェクト111、112、113を全システム内
で一意に識別するオブジェクトリファレンスを生成す
る。オブジェクトリファレンスの代表的な例はOMG CORB
AのIOR(Interoperable ObjectReference)が挙げられ
る。アプリケーションクライアント106はこのオブジ
ェクトリファレンスを獲得することで、オブジェクト1
11、112、113にアクセスし、オブジェクト11
1、112、113とのメッセージの送受信が可能にな
る。
【0008】次に、図12を参照して動作について説明
する。図12は、図11の従来のネーミングサービスの
主要構成部の処理動作を時系列で表した動作説明図であ
る。ここで、縦線は時間を表している。まず、アプリケ
ーション105を起動すると、アプリケーション105
の初期化の時点で、あらかじめプログラミングされてい
るオブジェクト111が生成される。オブジェクト11
1が生成されると、オブジェクト111を特定するオブ
ジェクトリファレンスがオブジェクトリファレンス生成
装置109によって生成され一意に割り当てられる。
【0009】図11におけるオブジェクトリファレンス
は、例えば、オブジェクトが存在するホスト名、オブジ
ェクトに対するメッセージを送受信するポート番号及び
オブジェクトキー(オブジェクトのインタフェース名、
プログラムによって与えられる文字列など)により構成
される。
【0010】次に、オブジェクトリファレンスとプログ
ラミングによってあらかじめ与えられたオブジェクト名
との組が、ネームクライアント114を通じて、ネーム
サーバ104のネームデータベース110に登録される
(ステップS101)。ネームサーバ104のネームデ
ータベース管理装置108は、アプリケーション105
からの要求により組の登録を行うが、この際、登録しよ
うとする名前と同一名のオブジェクトリファレンスが既
にネームデータベース110内に存在するか否かを調べ
る。同一名のオブジェクトリファレンスが存在した場合
は、2つの対応策が有り得る。1つは、重複エラーとし
て、登録を依頼してきたネームクライアント114にレ
ポートするという場合であり、もう1つはアプリケーシ
ョン105が強制登録を望む場合に限り、既存の組を削
除して新規の組を登録するという場合である。
【0011】次に、アプリケーションクライアント10
6は、ネームクライアント107を通じて、あらかじめ
プログラミングによって与えられた名前を、ネームサー
バ104に送り、対応するオブジェクトリファレンスを
獲得する(ステップS102)。ネームサーバ104の
ネームデータベース管理装置108は、ネームクライア
ント107からの検索要求が来ると、オブジェクト名に
よってネームデータベース110を検索し、該当するオ
ブジェクトリファレンスをネームクライアント107に
送る。さらに、ネームクライアント107は送られてき
たオブジェクトリファレンスをアプリケーションクライ
アント106に送る。
【0012】アプリケーションクライアント106は、
ネームクライアント107からオブジェクトリファレン
スを獲得すると、オブジェクト111が存在するホスト
名、ポート番号、オブジェクトキーを、オブジェクトリ
ファレンスより抽出し、ネットワークを通じてオブジェ
クト111とメッセージの送受信を行い、アプリケーシ
ョン105に処理を遂行させる(ステップS106)。
【0013】アプリケーション105の処理内容に依存
するが、オブジェクト111に対して、他のオブジェク
トを生成するように要求することがある(ステップS1
03)。図11では、アプリケーション105の起動時
に生成された最初のオブジェクト111を含めて合計3
つのオブジェクトが生成されている様子を示している。
新たにオブジェクト112、113が生成されると、最
初のオブジェクト111と同様に、オブジェクトリファ
レンス生成装置109によって新しいオブジェクトリフ
ァレンスが生成され、この生成されたオブジェクトリフ
ァレンスとあらかじめプログラミングによって与えられ
た名前とにより構成された組がネームデータベース11
0に登録される(ステップS104、S105)。
【0014】アプリケーション105の終了時(正常に
終了する場合)には、アプリケーション105はネーム
クライアント114を通じて、ネームデータベース11
0から組を削除するように、ネームサーバ104へ要求
を行う。この要求を受け取ったネームサーバ104のネ
ームデータベース管理装置108は、ネームクライアン
ト114から受け取ったオブジェクト名によって、ネー
ムデータベース110を検索し、該当するオブジェクト
名とオブジェクトリファレンスとの組を削除する(ステ
ップS1307、S1308)。
【0015】
【発明が解決しようとする課題】以上説明したように、
従来のネーミングサービスシステムでは、例えばアプリ
ケーション105の起動時に生成されるオブジェクト1
11とこの生成されたオブジェクト111によってさら
に生成されるオブジェクト112、113とは同じオブ
ジェクトとして扱われ、また、オブジェクトリファレン
スもこれらの種別を区別せず生成されていた。このた
め、次のような問題点が生じた。
【0016】すなわち、ネームデータベース110内で
は、どのオブジェクトも種別を区別されないため、ネー
ムデータベース110から組を削除する場合は、それぞ
れ個々の組に対して、削除の要求を出す必要があった。
このため、ネームサーバ104がアプリケーション10
5と別のコンピュータで動作する場合、ネームデータベ
ース110内の組の数に応じて削除の要求がネットワー
ク上を往来し、ネットワークトラフィックを増大すると
いう問題点があった。
【0017】また、アプリケーション105が異常終了
してしまうと、ネームデータベース110内に無効の組
が残る。アプリケーション105を再起動した場合に
は、これらの組を全て削除し再度新しい組を登録する必
要があるが、無効の組が多量に残存した場合は、これら
の組を全て削除しなければならず、アプリケーション1
05の回復時間に多大な時間を費やすとうい問題点があ
った。
【0018】さらに、ネームデータベース110に登録
されている組の一部又は全体がコピーされて保存される
キャッシュが別のコンピュータに保持された場合、ネー
ムデータベース110とそのコピーであるキャッシュの
データ内容の一貫性を維持するために、ネームデータベ
ース110に登録されている組の更新に際しては、更新
情報を全てをキャッシュにも送信し、この更新情報をキ
ャッシュに反映する必要があった。このように全ての更
新情報をネットワークを通じてキャッシュに送信する必
要があったため、ネットワークトラフィックが大きくな
る問題点があった。
【0019】また、キャッシュは必ずしも最新の状態と
は限らず、更新情報が反映されるまでか、あるいは、キ
ャッシュ内のオブジェクト名とオブジェクトリファレン
スを用いて実際に処理を遂行してみるまでは、そのデー
タが有効なものか無効なものかわからないという問題点
があった。
【0020】さらに、従来のキャッシュとネームデータ
ベース110とのデータの一貫性を維持する方法では、
新しくオブジェクト名とオブジェクトリファレンスの組
がネームデータベース110に登録された場合、ネーム
データベース110内の新しいオブジェクト名とオブジ
ェクトリファレンスを更新情報としてキャッシュに送っ
ていたが、これによってネットワークトラフィックが大
きくなり、また、更新情報をキャッシュに反映する処理
にも時間がかかるという問題点があった。
【0021】この発明は、上記のような問題を解決する
ためになされたもので、ネットワークを通じてネームデ
ータベースの登録情報を削除する際のネットワークトラ
フィックの削減ができ、また異常終了したアプリケーシ
ョンを再起動する際の回復時間の短縮ができ、さらにネ
ームデータベースとキャッシュに保管の組を効率的に一
貫管理することのできるオブジェクト名前管理方式を提
供することを目的とする。
【0022】
【課題を解決するための手段】第1の発明は、以下の要
素を備えたものである。 (a)以下の要素を有するサーバ; (a1)起動時に生成されるファクトリオブジェクトと
上記ファクトリオブジェクトにより生成される被ファク
トリオブジェクトのそれぞれの識別情報と名前の登録を
要求し、また登録された上記識別情報と上記名前の削除
の要求をするアプリケーション; (a2)上記ファクトリオブジェクトが生成された後に
上記ファクトリオブジェクトの上記識別情報を生成し、
上記被ファクトリオブジェクトが生成された後に上記被
ファクトリオブジェクトの上記識別情報を生成するオブ
ジェクトリファレンス生成手段; (a3)上記ファクトリオブジェクトの識別情報が生成
された後に上記ファクトリオブジェクトの名前を作成
し、上記被ファクトリオブジェクトの識別情報が生成さ
れた後に上記被ファクトリオブジェクトの名前を作成
し、この名前に上記ファクトリオブジェクトの名前を連
結する名前作成手段; (b)以下の要素を有するネームサーバ; (b1)上記ファクトリオブジェクトと上記被ファクト
リオブジェクトのそれぞれの上記識別情報と上記名前が
登録されるネームデータベース; (b2)上記アプリケーションにより登録を要求された
上記ファクトリオブジェクトと上記被ファクトリオブジ
ェクトのそれぞれの上記識別情報と上記名前を受信して
上記ネームデータベースに登録し、また、上記ファクト
リオブジェクトの名前に基づき上記ファクトリオブジェ
クトの識別情報と名前を削除すると共に、上記ファクト
リオブジェクトの名前が連結された上記被ファクトリオ
ブジェクトの名前に基づき上記被ファクトリオブジェク
トの識別情報と名前を削除するネームデータベース管理
手段。
【0023】第2の発明は、上記被ファクトリオブジェ
クトの識別情報に上記被ファクトリオブジェクトの生成
された生成時刻を付加するオブジェクトリファレンス生
成手段と、上記生成時刻に基づいて上記ネームデータベ
ースに登録されている上記被ファクトリオブジェクトの
有無を確認し、確認された被ファクトリオブジェクトの
上記識別情報と上記名前を削除するネームデータベース
管理手段とを備えたものである。
【0024】第3の発明は、上記ファクトリオブジェク
トと上記被ファクトリオブジェクトのそれぞれの上記識
別情報と上記名前が保存されるネームデータベースキャ
ッシュと、新たな上記更新情報と上記名前を上記ネーム
データベースキャッシュに既に保存されている上記ファ
クトリオブジェクトの識別情報と名前に上書きし、上記
ネームデータベースキャッシュに既に保存されている上
記ファクトリオブジェクトに対応する上記被ファクトリ
オブジェクトの識別情報と名前を削除するネームクライ
アントとを備え、上記ネームデータベース管理手段は、
上記ネームデータベースに登録された上記ファクトリオ
ブジェクトの識別情報と名前の更新に基づいた新たな識
別情報と名前を上記ネームクライアントに送信するもの
である。
【0025】
【発明の実施の形態】実施の形態1.図1は、実施の形
態1のオブジェクト名前管理方式(ネーミングサービ
ス)の構成図である。このネーミングサービスは、コン
ピュータ1、2、3が相互にネットワークで接続された
システムにおいて、コンピュータ1内のネームサーバ4
と、コンピュータ2内のアプリケーション5、オブジェ
クトリファレンス生成装置9、名前作成装置10及びネ
ームクライアント14と、コンピュータ3内のアプリケ
ーションクライアント6及びネームクライアント7とに
より構成される。
【0026】オブジェクトには、コンピュータシステム
全体内で個々のオブジェクトを識別するためのオブジェ
クトリファレンスと呼ばれる識別子が付いている。オブ
ジェクトリファレンスの代表的な例としてはOMG C
ORBAのIOR(Interoperable Ob
ject Reference)がある。IORには、
このオブジェクトが動作する、ホスト名とメッセージを
受信するためのTCP/IPのポート番号とこのホスト
及びポート内でオブジェクトを一意に識別するためのオ
ブジェクトキー(インタフェース名、インタフェース名
+サーバ名又はアプリケーション5によって付けられた
固定の文字列)とにより構成されており、これらはコン
ピュータシステム内のオブジェクトを一意に識別する役
割を持つ。
【0027】本発明によるオブジェクトリファレンス生
成装置9は従来の方法と同様に生成されたオブジェクト
に対してオブジェクトリファレンスを一意に割り当てる
機能を持つが、従来の方法とは異なりオブジェクトをフ
ァクトリオブジェクト11と被ファクトリオブジェクト
12、13に種別し、それぞれに対して異なる種類のオ
ブジェクトリファレンスを生成する。
【0028】ファクトリオブジェクト11は、他のオブ
ジェクトを生成する(あるいは生成と消滅の両方を行う
こともある)オブジェクトである。本発明での厳密な定
義は、アプリケーション5が起動し、アプリケーション
クライアント6からの処理要求を受け付けることが可能
になる前に、すなわちアプリケーション5の起動が完了
する前に、あらかじめ行われたプログラミングにより自
動的に生成されるオブジェクトを指す。また、本発明で
は、その後のアプリケーションクライアント6の要求に
従って、ファクトリオブジェクト11によって生成され
たオブジェクトを被ファクトリオブジェクト12、13
と呼ぶ。
【0029】図1に示すように、ファクトリオブジェク
ト11と被ファクトリオブジェクト12、13はアプリ
ケーション5内に存在する。アプリケーションクライア
ント6はこれらのオブジェクトに対してメッセージを送
受信することで、アプリケーションに処理を遂行させ
る。
【0030】ネームクライアント7、14とネームサー
バ4はネームサービスを提供する。ネームサーバ4は、
ネームデータベース管理装置8とネームデータベース1
6により構成される。ネームデータベース管理装置8
は、オブジェクトの名前(オブジェクト名)と、オブジ
ェクトリファレンスと、オブジェクト名とオブジェクト
リファレンスを受け取った時刻である登録時刻と、から
構成される組(以下、組と記載する)をネームデータベ
ース16に登録したり、あるいは、登録された組を削除
するものである。ネームデータベース16はこれらの組
の記憶部である。
【0031】ネームクライアント14は、アプリケーシ
ョン5からの登録要求に従ってオブジェクトリファレン
スとアプリケーション5の指定に基づいて作成されたオ
ブジェクト名とをネームサーバ4のネームデータベース
管理装置8に渡す。ネームデータベース管理装置8は、
渡されたオブジェクト名とオブジェクトリファレンスを
関連づけ、オブジェクト名とオブジェクトリファレンス
にオブジェクト名とオブジェクトリファレンスを受け取
った時刻である登録時刻を加えた組を、ネームサーバ4
内のネームデータベース16に登録する。
【0032】アプリケーション5は、オブジェクト名を
指定することで、ネームデータベース管理装置108に
オブジェクト名とオブジェクトリファレンスの関連づけ
を断ち、ネームサーバ4が管理するネームデータベース
16から組を削除させる要求をネームクライアント14
に渡す。ネームクライアント14は、渡された要求をネ
ームデータベース管理装置8に送信する。ネームデータ
ベース管理装置8は、送信された要求に基づいてネーム
データベース16から対応する組を削除する。
【0033】また、アプリケーションクライアント6
は、オブジェクト名を指定することで、それに関連づけ
られたオブジェクトリファレンスをネームサーバ4が管
理するネームデータベース16から獲得するための要求
をネームクライアント7に渡す。ネームクライアント7
は、渡された要求をネームデータベース管理装置8に送
信する。ネームデータベース管理装置8は、送信された
要求に基づいてネームデータベース16から得たオブジ
ェクトリファレンスを獲得し、この獲得したオブジェク
トリファレンスをアプリケーションクライアント6に渡
す。
【0034】次に動作について詳細に説明する。まず、
アプリケーション5の起動時にファクトリオブジェクト
11が生成される。例えば、アプリケーション5の実行
プロセスをコマンドラインによって起動し、起動が完了
するまでの間に、ファクトリオブジェクト11が生成さ
れる。その後、被ファクトリオブジェクト12、13
は、アプリケーションクライアント6の要求によってフ
ァクトリオブジェクト11で随時生成される。例えば、
アプリケーション5の起動完了後、アプリケーションク
ライアント6は、ファクトリオブジェクト11のオブジ
ェクトリファレンスをネームサーバ4から入手する。次
にアプリケーションクライアント6は、ファクトリオブ
ジェクト11に対して、新たなオブジェクトを生成する
ようにメッセージを送信する。これによって、被ファク
トリオブジェクト12、13が生成される。
【0035】アプリケーション5が起動され、ファクト
リオブジェクト11が生成されると、次にファクトリオ
ブジェクト11に対応するオブジェクトリファレンスが
生成され、さらにファクトリオブジェクト11のオブジ
ェクト名が作成され、これらオブジェクトリファレンス
とオブジェクト名がネームサーバ4のネームデータベー
ス16に登録される。
【0036】ファクトリオブジェクト11が生成されて
からファクトリオブジェクト11のオブジェクトリファ
レンスとオブジェクト名がネームサーバ4のネームデー
タベース16に登録されるまでの手順を以下に説明す
る。まず、アプリケーション5の起動により、ファクト
リオブジェクト11が生成される。この際、オブジェク
トリファレンス生成装置9が呼び出され、ファクトリオ
ブジェクト11に割り当てるオブジェクトリファレンス
が生成される。
【0037】図2はオブジェクトリファレンスの構成を
示す図である。オブジェクトリファレンス生成装置9
は、ファクトリオブジェクト11に対して、図2に示す
ようなパーシステントオブジェクトリファレンス21を
生成する。パーシステントオブジェクトリファレンス2
1は、例えば、ホスト名、TCP/IPポート番号、オブジェ
クトを示す変更されない文字列(インタフェース名)に
より構成されるオブジェクトリファレンスである。ここ
で、オブジェクトリファレンスがパーシステントである
とは、アプリケーション5を再度起動した場合も同じオ
ブジェクトに対しては同じオブジェクトリファレンスが
生成されることを意味する。
【0038】オブジェクトリファレンス生成装置9は、
オブジェクトリファレンスを割り当てる際、対象となる
オブジェクトがファクトリオブジェクト11であるか否
かを、アプリケーション5の起動完了時刻と、オブジェ
クトの生成時刻を比べることにより判断することができ
る。
【0039】図3は、オブジェクトリファレンス生成装
置9において、オブジェクトリファレンスを生成する時
の動作手順を示すフローチャートである。このフローチ
ャートに従って、ファクトリオブジェクト11がオブジ
ェクトリファレンスを生成する動作について説明する。
まず、オブジェクトリファレンス生成装置9は、アプリ
ケーション5の起動完了時刻を入手し(ステップS
1)、次にオブジェクトの生成時刻を入手する(ステッ
プS2)。これらの時刻を比較して(ステップS3)、
オブジェクトの生成時刻がアプリケーション5の起動完
了時刻よりも前の場合、オブジェクトをファクトリオブ
ジェクト11であると判断し、パーシステントオブジェ
クトリファレンス21を生成する(ステップS4)。
【0040】一方、アプリケーション5の起動完了時刻
とオブジェクトの生成時刻を比べて、オブジェクトの生
成時刻が後の場合、オブジェクトは被ファクトリオブジ
ェクト12、13であると判断し、トランジエントオブ
ジェクトリファレンス22を生成する(ステップS
5)。被ファクトリオブジェクト12のオブジェクトリ
ファレンスの生成については後述する。
【0041】図4は、名前作成装置10において、オブ
ジェクトに与えるオブジェクト名を作成する時の動作手
順を示すフローチャートである。このフローチャートに
従ってファクトリオブジェクト11がオブジェクト名を
作成する動作について説明する。まず、オブジェクトが
ファクトリオブジェクト11であるか判断して(ステッ
プS11)、オブジェクトがファクトリオブジェクト1
1である時には、アプリケーション5によって付けられ
たオブジェクト名をそのまま適用することによって(ス
テップS12)、ファクトリオブジェクト11のオブジ
ェクト名を作成する。図1では、ファクトリオブジェク
ト11に対してアプリケーション5によって指定された
/factory0というオブジェクト名を付けたことを表して
いる。
【0042】アプリケーション5は、以上のように生成
されたファクトリオブジェクト11のオブジェクト名
と、作成されたファクトリオブジェクト11のオブジェ
クト名と、をネームクライアント14に渡し、ネームサ
ーバ4のネームデータベース16に登録するように要求
する。ネームクライアント14は、このオブジェクト名
とオブジェクトリファレンスをネームデータベース管理
装置8に送信し、ネームデータベース管理装置8がこれ
らをネームサーバ4のネームデータベース16に登録す
る。
【0043】アプリケーションクライアント6は、オブ
ジェクト名/factory0を指定し、ネームサーバ4からフ
ァクトリオブジェクト11のオブジェクトリファレンス
を入手する。その後、入手したオブジェクトリファレン
スをもとにファクトリオブジェクト11に接続し、ファ
クトリオブジェクト11に対して、別のオブジェクトを
生成するように要求を行なう。図1は、ファクトリオブ
ジェクト11が2つの被ファクトリオブジェクト12、
13を生成した様子を表している。
【0044】被ファクトリオブジェクト12、13が生
成されると、ファクトリオブジェクト11と同様に、オ
ブジェクトリファレンス生成装置9により生成された被
ファクトリオブジェクト12、13に対して一意に割り
当てられるオブジェクトリファレンスが生成される。オ
ブジェクトリファレンス生成装置9において、被ファク
トリオブジェクト12、13のオブジェクトリファレン
スを生成する時の動作は、ファクトリオブジェクト11
がオブジェクトリファレンスを生成する時の動作と同様
であり、図3のフローチャートの通りである。この動作
について説明する。
【0045】まず、オブジェクトリファレンス生成装置
9は、アプリケーション5の起動完了時刻を入手し(ス
テップS1)、さらにオブジェクトの生成時刻を入手す
る(ステップS2)。次に、プログラムの起動完了時刻
とオブジェクト生成時刻を比べる(ステップS3)。こ
の場合、オブジェクト生成時刻は、プログラムの起動完
了時刻よりも後である。従って、オブジェクトを被ファ
クトリオブジェクト12、13であると判断する。次
に、オブジェクトリファレンス生成装置9は、オブジェ
クトが被ファクトリオブジェクト12、13であるとい
う事実に基づいて、オブジェクトリファレンスを生成す
る(ステップS5)。
【0046】被ファクトリオブジェクト12、13に対
するオブジェクトリファレンスは、図2に示す構成のト
ランジエントオブジェクトリファレンス22であり、先
に示したファクトリオブジェクト11に対するパーシス
テントオブジェクトリファレンス21とは異なり、オブ
ジェクトが生成された生成時刻を含む。従って、被ファ
クトリオブジェクト12、13のオブジェクトリファレ
ンスはトランジエント(遷移的)であり、オブジェクト
が生成されるたびに異なるオブジェクトリファレンスが
生成される。
【0047】次に、名前作成装置10を利用してオブジ
ェクト12、13に与えるオブジェクト名が作成され
る。名前作成装置10において、被ファクトリオブジェ
クト12、13のオブジェクト名を作成する時の動作
は、ファクトリオブジェクト11がオブジェクト名を作
成する時の動作と同様であり、図4のフローチャートの
通りである。この動作について説明する。
【0048】名前作成装置10は、オブジェクトがファ
クトリオブジェクト11であるか被ファクトリオブジェ
クト12、13であるかを判断する(ステップS1
1)。このファクトリオブジェクト11であるか被ファ
クトリオブジェクト12、13であるかの判断は、オブ
ジェクトリファレンス生成装置9において、ファクトリ
オブジェクト11がオブジェクトリファレンスを生成す
る時の動作と同様である。すなわち、図3のフローチャ
ートのステップS1〜S3と同じ動作手順によってファ
クトリオブジェクト11であるか被ファクトリオブジェ
クト12、13であるかの判断が行われる。
【0049】オブジェクトが被ファクトリオブジェクト
12、13である場合は、被ファクトリオブジェクト1
2、13を生成したファクトリオブジェクト11のオブ
ジェクト名を入手する(ステップS13)。そして、入
手したファクトリオブジェクト11のオブジェクト名と
被ファクトリオブジェクト12、13に与えられた名前
とを連結したオブジェクト名を生成する(ステップS1
4)。
【0050】図1では、ファクトリオブジェクト11に
は/factory0というオブジェクト名が既に与えられてい
る。従って、被ファクトリオブジェクト12に対してob
ject0というオブジェクト名を与えると、名前作成装置
10は、/factory0/object0という階層的なオブジェク
ト名を作成する。但し、オブジェクト名は論理的に階層
的な名前空間を与える名前ならば任意である。ここに示
した/(スラッシュ)による階層的な名前表現は、論理
的な階層性にのみ意味があり、/(スラッシュ)による階
層表現に限定されるものではない。
【0051】アプリケーション5は、以上のように生成
された被ファクトリオブジェクト12、13のオブジェ
クト名と、作成された被ファクトリオブジェクト12、
13のオブジェクト名と、をネームクライアント14に
渡し、ネームサーバ4のネームデータベース16に登録
するように要求する。ネームクライアント14は、この
オブジェクト名とオブジェクトリファレンスをネームデ
ータベース管理装置8に送信し、ネームデータベース管
理装置8がこれらをネームサーバ4のネームデータベー
ス16に登録する。ネームデータベース16に登録され
る組は、オブジェクト名と、オブジェクトリファレンス
(パーシステントオブジェクトリファレンス21又はト
ランジエントオブジェクトリファレンス22)と、登録
時刻とのフィールドにより構成される。
【0052】ネームクライアント14からオブジェクト
名とオブジェクトリファレンスの登録の依頼を受ける
と、ネームサーバ4のネームデータベース管理装置8
が、オブジェクト名とオブジェクトリファレンスに、オ
ブジェクト名とオブジェクトリファレンスを受け取った
時刻を登録時刻として付加した組(登録情報)を、ネー
ムデータベース16に登録する。但し、既に同じオブジ
ェクト名を持つ組が存在した場合、ネームデータベース
管理装置8は、ネームクライアント7に重複エラーを返
すか、アプリケーション5が組の強制登録を要求してい
る場合は、既に同じオブジェクト名を持つ古い組を削除
して、強制的に新しい組を登録する。
【0053】図5は、ネームデータベース管理装置8
が、ネームデータベース16に既に存在する古い組を削
除する時の動作を示すフォローチャートである。このフ
ローチャートに従って動作を説明する。まず、ネームデ
ータベース16中に存在する古い組がファクトリオブジ
ェクト11であるか、被ファクトリオブジェクト12、
13であるかを判断する(ステップS21)。この判断
は、オブジェクトリファレンス中に生成時刻に関するフ
ィールドがもたれているかどうかで判断する。
【0054】次に、組がファクトリオブジェクト11に
対するものであった場合、ファクトリオブジェクト11
によって生成された被ファクトリオブジェクト12、1
3の検索を行ない(ステップS22)、被ファクトリオ
ブジェクト12、13があるか否かを確認し(ステップ
S23)、被ファクトリオブジェクト12、13がない
場合は、ファクトリオブジェクト11のみを削除して
(ステップS25)処理を終了する。一方、被ファクト
リオブジェクト12、13があった場合は、被ファクト
リオブジェクト12、13を削除し(ステップS2
4)、全ての被ファクトリオブジェクト12、13が削
除されると、さらにファクトリオブジェクト11を削除
して(ステップS25)、処理を終了する。
【0055】ここで、被ファクトリオブジェクト12、
13の検索は、オブジェクト名によって行なう。すなわ
ち、被ファクトリオブジェクト12、13のオブジェク
ト名はそれを生成したファクトリオブジェクト11のオ
ブジェクト名を連結したものである、という事実から被
ファクトリオブジェクト12、13を特定することがで
きる。
【0056】図1では、ファクトリオブジェクト11の
オブジェクト名は/factory0である。従って、この組を
削除する場合、/factory0をオブジェクト名の最初の要
素に持つ組を検索する。これによって、/factory0/obje
ct0をオブジェクト名に持つオブジェクトが、ファクト
リオブジェクト11によって生成された被ファクトリオ
ブジェクト12であることが判る。本発明によるネーム
データベース管理装置8は、ファクトリオブジェクト1
1とそれによって生成された被ファクトリオブジェクト
12の組を一度に削除する。図1では、ネームデータベ
ース16内の/factory0をオブジェクト名に持つ組を削
除すると/factory0/object0も同時に削除される。
【0057】以上のように本実施の形態によれば、アプ
リケーション5の終了時に、ネームサーバ4のネームデ
ータベース16に登録してある組を削除する際、ファク
トリオブジェクト11の組を削除することにより、ファ
クトリオブジェクト11が生成した被ファクトリオブジ
ェクト12、13の組も同時に削除することができる。
従って、被ファクトリオブジェクト12、13の組を削
除をするための要求を省略することが可能であり、アプ
リケーション5の終了時間を削減できる。また、ファク
トリオブジェクト11及び被ファクトリオブジェクト1
2、13の組を削除をする時に、ネットワークを通じて
ファクトリオブジェクト11の組を削除する要求だけす
れば良く、ネットワークトラフィックを削減することが
できる。
【0058】さらに、アプリケーション5が異常終了
し、先の実行で登録された組を正常に削除できなかった
場合には、アプリケーション5の再度起動の際に先の実
行で登録された組を削除する必要があるが、この場合
も、同様にしてファクトリオブジェクト11及び被ファ
クトリオブジェクト12、13を同時に削除できること
から、短い時間でアプリケーション5を再起動すること
ができるとともに、ネットワークトラフィックを削減す
ることができる。
【0059】実施の形態2.図6は、実施の形態2のネ
ームサーバ30の構成図を示したものである。ネームサ
ーバ30以外の構成については、図1と同様であること
から、ここでは図示を省略した。ここで、実施の形態1
と大きく異なる点は、ネームサーバ30が管理するネー
ムデータベース40に同一オブジェクトに対応する組を
重複して存在させることができる点にある。図6では、
ファクトリオブジェクト名/factory0と被ファクトリオ
ブジェクト名/factory0/object0のそれぞれに対して2
つの組が同時に存在する。ネームデータベース40に
は、図1のネームデータベース16の組の構成に加え
て、削除対象の組であるか否かを表すフィールドが存在
する。
【0060】低優先度スレッド60は、ネームデータベ
ース40内の必要のなくなった組を削除するスレッドで
あり、削除対象としてマークされた組(図6中で削除と
マークされた組)を削除する。低優先度スレッド60
は、これらのスレッドが提供する優先度機構によって、
低い優先度で動作するスレッドになっている。すなわ
ち、低優先度スレッド60はコンピュータ1のCPUが他
の処理をしていないアイドリング状態にある時に動作が
行われる。
【0061】次に、アプリケーション5の起動が始まっ
てからの動作について説明する。アプリケーション5が
起動した際、ファクトリオブジェクト11が生成され、
ファクトリオブジェクト11に対応するオブジェクト名
とオブジェクトリファレンスがネームサーバ30のネー
ムデータベース40に登録される。
【0062】次に、アプリケーションクライアント6
が、ファクトリオブジェクト11に対して別のオブジェ
クトを生成するように要求を送信する。この要求に応じ
て、ファクトリオブジェクト11によって被ファクトリ
オブジェクト12が生成される。さらに、被ファクトリ
オブジェクト12のオブジェクトリファレンスが生成さ
れ、オブジェクト名が作成されてファクトリオブジェク
ト11と同様にしてネームサーバ30のネームデータベ
ース40にオブジェクトリファレンスとオブジェクト名
が登録される。ここまでは、実施の形態1の動作と同一
である。
【0063】アプリケーション5が終了する際、本実施
の形態におけるネームサーバ30のネームデータベース
40に対しては、組の削除を行なわない。すなわち、ア
プリケーション5が正常に終了する際、組の削除の要求
をネームサーバ30に対して送ることなく終了する。次
に、アプリケーション5を再起動した際、新しい組がネ
ームデータベース40に追加される。この時、ネームデ
ータベース管理装置50が、同一オブジェクト名を持つ
既存の古い組の存在を検出した場合、それらは削除対象
としてマークされ、削除用のスレッドである低優先度ス
レッド60が起動される。
【0064】例えば、オブジェクト名/factory0の新し
い組を登録する場合、時刻13:46:35.98に登録されてい
る古い組が既に存在する。この場合、時刻13:46:35.98
に登録された古い組は削除対象としてマークされ、低優
先度スレッド60が起動される。そして、新しい組がネ
ームデータベース40に追加される。図6では、新しい
組は時刻14:02:03.44に登録されている。
【0065】ネームデータベース管理装置50によって
起動された低優先度スレッド60は、古いファクトリオ
ブジェクト11の組を削除し、さらに古いファクトリオ
ブジェクト11によって生成された被ファクトリオブジ
ェクト12の組を検索し、これも同様に削除する。図7
は、低優先度スレッド60が古い被ファクトリオブジェ
クト12の組を検出し、削除する時の動作手順を示すフ
ローチャートである。このフローチャートに従って動作
を説明する。
【0066】まず、低優先度スレッド60は、古いファ
クトリオブジェクト(旧ファクトリオブジェクト)11
に対応する組の削除要求があるかチェックし(ステップ
S31)、古い被ファクトリオブジェクト(旧被ファク
トリオブジェクト)12に対応する組の削除要求があっ
た場合には、新しいファクトリオブジェクトに対応する
組の登録時刻をネームデータベース40より入手する
(ステップS32)。次にオブジェクト名から被ファク
トリオブジェクトに対応する組を検索する(ステップS
33)。
【0067】古い被ファクトリオブジェクト12に対応
する組がある場合は(ステップS34)、この組のオブ
ジェクトリファレンス内にあるオブジェクトの生成時刻
(トランジエントオブジェクトリファレンス22内の時
刻)を入手し(ステップS35)、先に獲得した新しい
ファクトリオブジェクトに対応する組の登録時刻と比較
を行う(ステップS36)。オブジェクトリファレンス
内の時刻の方が、先に獲得した新規ファクトリオブジェ
クトの登録時刻よりも古い場合、このオブジェクトを古
いファクトリオブジェクト11によって生成された被フ
ァクトリオブジェクト112に対応する組であると判断
し、これを削除する(ステップS37)。
【0068】例えば、図6では、新しいファクトリオブ
ジェクトの組がオブジェクト名/factory0で登録される
際、/factory0をオブジェクト名の最初のコンポネント
として持つ被ファクトリオブジェクトを検索する。例え
ば、時刻13:47:10.22に登録されたオブジェクト名/fact
ory0/object0の組がそれである。そして、このオブジェ
クトリファレンス内の時刻と、新しいファクトリオブジ
ェクトの組の時刻14:02:03.44を比較する。オブジェク
トリファレンス内の時刻の方が古い場合、この被ファク
トリオブジェクトの組が削除の対象と判断され削除され
る。
【0069】以上のように本実施の形態によれば、アプ
リケーション5は、正常終了、異常終了のいずれの終了
でもネームサーバ30に組の削除の要求を出す必要がな
く、ネットワークトラフィックの削減を行うことが可能
である。また、アプリケーション5が異常終了した場
合、既存の古い組がネームデータベース40内に残る
が、新しい組と古い組の両方がネームデータベース40
内に存在できるため、古い組の削除を待つことなく、新
しい組をネームデータベース40に登録することが可能
である。これによって、異常終了した際のアプリケーシ
ョン5の回復時間を大幅に短縮することが可能である。
また、アプリケーション5では、ネームサーバ30のネ
ームデータベース40から既存の古い組を削除するため
の命令コードを記述する必要がなく。従来よりも、少な
いコードでアプリケーション5を記述できる。
【0070】実施の形態3.図8は、ネームデータベー
スキャッシュ70が存在したネーミングサービスの構成
を示した図である。図において、アプリケーション5が
動作するコンピュータ2については、図1と同様のた
め、ここでは図示を省略した。
【0071】ネームデータベースキャッシュ70は、ネ
ームサーバ4のネームデータベース16中のオブジェク
ト名とオブジェクトリファレンスをコピーしたものであ
る。アプリケーションクライアント6はオブジェクトリ
ファレンスを入手する際に、オブジェクト名をネームク
ライアント7を通じてネームサーバ4に渡す。ネームサ
ーバ4のネームデータベース管理装置8は、与えられた
オブジェクト名をもとに該当するネームデータベース1
6中のオブジェクトリファレンスを検索し、この検索し
たオブジェクトリファレンスをネームクライアント7を
通じてアプリケーションクライアント6に返す。
【0072】ネームクライアント107は、返されたオ
ブジェクトリファレンスに、このオブジェクト名とオブ
ジェクトリファレンスを入手した時刻を登録時刻として
加えたキャッシュ保存情報を、将来の再利用のためネー
ムデータベースキャッシュ70に保存する。
【0073】ネームデータベースキャッシュ70は、無
効なオブジェクト名とオブジェクトリファレンスを持つ
場合がある。例えば、アプリケーション5が再起動され
たとする。/factory0をオブジェクト名に持つファクト
リオブジェクト11に対応するオブジェクト名とオブジ
ェクトリファレンスは無効ではないかもしれないが、/f
actory0/object0をオブジェクト名に持つ被ファクトリ
オブジェクト12に対応するオブジェクト名とオブジェ
クトリファレンスは既に無効である。なぜなら、再起動
によって被ファクトリオブジェクト12は消滅している
からである。
【0074】ネームデータベース管理装置8は、ネーム
データベース16に登録されているファクトリオブジェ
クト11に対応する組に変更があった時、定期的又はユ
ーザの要求によっては即座に(いずれでも良い)、この
組の変更に基づいてオブジェクト名とオブジェクトリフ
ァレンスによる更新情報をネームクライアント7に伝え
る。伝える方法は、マルチキャストでもユニキャストで
も方法は問わない。
【0075】一方、被ファクトリオブジェクト12に対
応する組に変更があっても、それは伝えない。例えば、
アプリケーション5が再起動された場合、オブジェクト
名/factory0のファクトリオブジェクト11の組がネー
ムデータベース16に新たに登録された場合、新たに登
録された組のオブジェクト名とオブジェクトリファレン
スとによる更新情報をネームクライアント7に伝える
が、再起動によって、オブジェクト名/factory0/object
0の被ファクトリオブジェクト12の組が消滅したこと
については、ネームクライアント7には伝達しない。
【0076】図9は、ネームデータベース16に登録さ
れている組に変更(更新)があった時に、ネームデータ
ベース管理装置8がネームクライアント7に更新情報を
伝達する時の動作手順を示すフローチャートである。こ
のフローチャートに従って動作を説明する。まず、更新
があったかどうかをチェックする(ステップS41)。
次に、更新があった場合には、この更新がファクトリオ
ブジェクト11に対するものかどうかをチェックする
(ステップS42)。このチェックは、オブジェクトリ
ファレンス中に生成時刻情報があるかどうか(トランジ
エントオブジェクトリファレンス22かどうか)を調べ
ることで可能である。
【0077】ここで、オブジェクトリファレンスがパー
システントオブジェクトリファレンス21であり、ファ
クトリオブジェクト11であることが判明した場合、フ
ァクトリオブジェクト11の更新情報であるオブジェク
ト名とオブジェクトリファレンスをネームクライアント
7に伝える(ステップS43)。ファクトリオブジェク
ト11でなかった場合は、再び別の更新があったかどう
かをチェックする。
【0078】ネームクライアント7は、ネームサーバ4
のネームデータベース管理装置8からファクトリオブジ
ェクト11に対応する組のオブジェクト名とオブジェク
トリファレンスの更新情報を受け、この変更情報に変更
情報を入手した時刻を登録時刻として加えた新規キャッ
シュ保存情報を、ネームデータベースキャッシュ70に
既に保存されている新規キャッシュ保存情報に該当する
オブジェクト名とオブジェクトリファレンスと登録時刻
とによるキャッシュ保存情報に上書きする。
【0079】また、ファクトリオブジェクト11のオブ
ジェクト名から、既に保存されているファクトリオブジ
ェクト11に対応する被ファクトリオブジェクト12の
キャッシュ保存情報を検索し、これらを全て削除する。
例えば、オブジェクト名/factory0のファクトリオブジ
ェクト11に対するオブジェクト名とオブジェクトリフ
ァレンスの更新情報がネームサーバ4から送られた場
合、この送られた更新情報に基づいた新規キャッシュ保
存情報を、ネームデータベースキャッシュ70に既に保
存されている同一オブジェクト名を持つキャッシュ保存
情報に上書きする。
【0080】次に、オブジェクト名/factory0を用い
て、ファクトリオブジェクト11によって生成された被
ファクトリオブジェクト12のキャッシュ保存情報を検
索する。図8のネームデータベースキャッシュ70で
は、オブジェクト名/factory0/object0がこの検索され
たものである。そして、検索されたキャッシュ保存情報
を全てネームデータベースキャッシュ70から削除す
る。この動作を以下で説明する。
【0081】図10は、上記のネームクライアント7が
ネームデータベースキャッシュ70に新規キャッシュ保
存情報を上書き、又は既存のキャッシュ情報を削除する
時の動作手順を示すフローチャートである。このフロー
チャートに従って動作を説明する。
【0082】ネームサーバ4からの更新通知があった場
合(ステップS51)、ネームデータベースキャッシュ
70に既に保存されているファクトリオブジェクト11
のオブジェクト名とオブジェクトリファレンスと登録時
刻によるキャッシュ保存情報を、新たなオブジェクト名
とオブジェクトリファレンスと登録時刻による新規キャ
ッシュ保存情報で上書きする(ステップS52)。ファ
クトリオブジェクト11のオブジェクト名から被ファク
トリオブジェクト12に対応するキャッシュ保存情報を
ネームデータベースキャッシュ70より検索する(ステ
ップS53)。被ファクトリオブジェクト12のキャッ
シュ保存情報があった場合は、このキャッシュ保存情報
を削除する(ステップS54〜S55)。
【0083】以上のように本実施の形態によれば、ファ
クトリオブジェクト11のみの更新情報を伝播し、この
更新情報に基づく新規キャッシュ保存情報をネームデー
タベースキャッシュ70に保存されているキャッシュ保
存情報に上書きしており、ネームデータベースキャッシ
ュ70に登録されている被ファクトリオブジェクト12
のキャッシュ保存情報については、更新情報中のファク
トリオブジェクト11のオブジェクト名からネームデー
タベースキャッシュ70内を検索しローカルに削除がで
きる。これによって、ネームデータベースキャッシュ7
0に保存されているキャッシュ保存情報を変更する時の
ネットワークトラフィックを大幅に削減することが可能
になる。
【0084】また、ファクトリオブジェクト11の更新
通知が来た時点で、ファクトリオブジェクト11によっ
て生成された被ファクトリオブジェクト12の無効なキ
ャッシュ保存情報を認識することができる。これによっ
て、早期に、ネームデータベースキャッシュ70内のキ
ャッシュ保存情報の無効性を発見することができ、アプ
リケーション5に対する無駄なアクセスを削減すること
ができる。
【0085】実施の形態4.実施の形態3では、ネーム
サーバ4からのファクトリオブジェクト11に対応する
更新情報には、オブジェクト名とこのオブジェクト名に
対応するオブジェクトリファレンスが含まれていた。し
かし、本実施の形態では、ファクトリオブジェクト11
に対するオブジェクトリファレンスはパーシステントオ
ブジェクトリファレンス21である(再起動行っても不
変)という事実を利用して、オブジェクト名だけを更新
情報に入れてネームクライアント7に更新通知を伝える
ものである。これによって、ネームデータベースキャッ
シュ70中のファクトリオブジェクト11のオブジェク
ト名の上書き、被ファクトリオブジェクト12のオブジ
ェクト名の削除ができ、ネームデータベースキャッシュ
70の更新によるネットワークトラフィックをさらに削
減できる。
【0086】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
【0087】第1の発明では、ファクトリオブジェクト
と被ファクトリオブジェクトのそれぞれに対して生成さ
れた識別情報と、それぞれに対して作成された名前とを
ネームデータベースに登録し、登録された識別情報と名
前の削除時に、ファクトリオブジェクトの識別情報と名
前を削除し、同時に被ファクトリオブジェクトの識別情
報と名前を削除するので、ネットワークを通じてファク
トリオブジェクトの識別情報と名前の削除要求をするだ
けで被ファクトリオブジェクトの識別情報と名前を同時
に削除することができ、ネットワークトラフィックの削
減がはかれる。
【0088】第2の発明では、被ファクトリオブジェク
トの識別情報に被ファクトリオブジェクトの生成された
生成時刻が付加され、この生成時刻に基づいて上記ネー
ムデータベースに登録されている被ファクトリオブジェ
クトの有無を確認し、確認された被ファクトリオブジェ
クトの識別情報と名前を削除するので、ネームサーバが
単独で削除対象の被ファクトリオブジェクトの識別情報
と名前を削除することができるので、ネットワークを通
じて被ファクトリオブジェクトの識別情報と名前の削除
要求をする必要がなくネットワークトラフィックの削減
がはかれる。
【0089】第3の発明では、ネームデータベースに登
録されたファクトリオブジェクトの識別情報と名前に更
新があった時に、この更新されたファクトリオブジェク
トの新たな識別情報と名前を、ネームデータベースキャ
ッシュに送信し、ネームデータベースキャッシュに既に
保存されている上記ファクトリオブジェクトの識別情報
と名前に上書きし、上記ネームデータベースキャッシュ
に既に保存されている上記ファクトリオブジェクトに対
応する上記被ファクトリオブジェクトの識別情報と名前
を削除するので、被ファクトリオブジェクトの識別情報
と名前の削除要求をする必要がないので、ネームデータ
ベースキャッシュ更新のためのネットワークトラフィッ
クの削減がはかれる。
【図面の簡単な説明】
【図1】 実施の形態1のネーミングサービスの構成
図。
【図2】 実施の形態1におけるオブジェクトリファレ
ンスの構成図。
【図3】 実施の形態1におけるオブジェクトリファレ
ンス生成装置の動作を示すフローチャート。
【図4】 実施の形態1における名前作成装置の動作を
示すフローチャート。
【図5】 実施の形態1におけるネームデータベース管
理装置の動作を示すフローチャート。
【図6】 実施の形態2におけるネームサーバの構成
図。
【図7】 実施の形態2におけるネームデータベース管
理装置の動作を示すフローチャート。
【図8】 実施の形態3のネーミングサービスの構成
図。
【図9】 実施の形態3におけるネームデータベース管
理装置の動作を示すフローチャート。
【図10】 実施の形態3におけるネームクライアント
の動作を示すフローチャート。
【図11】 従来のネーミングサービスの構成図。
【図12】 従来のネーミングサービスの動作説明図。
【符号の説明】
1、2、3 コンピュータ、4 ネームサーバ、5アプ
リケーション、6 アプリケーションクライアント、7
ネームクライアント、8 ネームデータベース管理装
置、9 オブジェクトリファレンス生成装置、10 名
前作成装置、11ファクトリオブジェクト、12、13
被ファクトリオブジェクト、14ネームクライアン
ト。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 以下の要素を備えたオブジェクト名前管
    理方式。 (a)以下の要素を有するサーバ; (a1)起動時に生成されるファクトリオブジェクトと
    上記ファクトリオブジェクトにより生成される被ファク
    トリオブジェクトのそれぞれの識別情報と名前の登録を
    要求し、また登録された上記識別情報と上記名前の削除
    の要求をするアプリケーション; (a2)上記ファクトリオブジェクトが生成された後に
    上記ファクトリオブジェクトの上記識別情報を生成し、
    上記被ファクトリオブジェクトが生成された後に上記被
    ファクトリオブジェクトの上記識別情報を生成するオブ
    ジェクトリファレンス生成手段; (a3)上記ファクトリオブジェクトの識別情報が生成
    された後に上記ファクトリオブジェクトの名前を作成
    し、上記被ファクトリオブジェクトの識別情報が生成さ
    れた後に上記被ファクトリオブジェクトの名前を作成
    し、この名前に上記ファクトリオブジェクトの名前を連
    結する名前作成手段; (b)以下の要素を有するネームサーバ; (b1)上記ファクトリオブジェクトと上記被ファクト
    リオブジェクトのそれぞれの上記識別情報と上記名前が
    登録されるネームデータベース; (b2)上記アプリケーションにより登録を要求された
    上記ファクトリオブジェクトと上記被ファクトリオブジ
    ェクトのそれぞれの上記識別情報と上記名前を受信して
    上記ネームデータベースに登録し、また、上記ファクト
    リオブジェクトの名前に基づき上記ファクトリオブジェ
    クトの識別情報と名前を削除すると共に、上記ファクト
    リオブジェクトの名前が連結された上記被ファクトリオ
    ブジェクトの名前に基づき上記被ファクトリオブジェク
    トの識別情報と名前を削除するネームデータベース管理
    手段;
  2. 【請求項2】 上記オブジェクトリファレンス生成手段
    は、上記被ファクトリオブジェクトの識別情報に上記被
    ファクトリオブジェクトの生成された生成時刻を付加
    し、上記ネームデータベース管理手段は、上記生成時刻
    に基づいて上記ネームデータベースに登録されている上
    記被ファクトリオブジェクトの有無を確認し、確認され
    た被ファクトリオブジェクトの上記識別情報と上記名前
    を削除することを特徴とする請求項1記載のオブジェク
    ト名前管理方式。
  3. 【請求項3】 上記ファクトリオブジェクトと上記被フ
    ァクトリオブジェクトのそれぞれの上記識別情報と上記
    名前が保存されるネームデータベースキャッシュと、 新たな上記更新情報と上記名前を上記ネームデータベー
    スキャッシュに既に保存されている上記ファクトリオブ
    ジェクトの識別情報と名前に上書きし、上記ネームデー
    タベースキャッシュに既に保存されている上記ファクト
    リオブジェクトに対応する上記被ファクトリオブジェク
    トの識別情報と名前を削除するネームクライアントとを
    備え、 上記ネームデータベース管理手段は、上記ネームデータ
    ベースに登録された上記ファクトリオブジェクトの識別
    情報と名前の更新に基づいた新たな識別情報と名前を上
    記ネームクライアントに送信することを特徴とする請求
    項1記載のオブジェクト名前管理方式。
JP11013935A 1999-01-22 1999-01-22 オブジェクト名前管理方式 Pending JP2000215179A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11013935A JP2000215179A (ja) 1999-01-22 1999-01-22 オブジェクト名前管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11013935A JP2000215179A (ja) 1999-01-22 1999-01-22 オブジェクト名前管理方式

Publications (1)

Publication Number Publication Date
JP2000215179A true JP2000215179A (ja) 2000-08-04

Family

ID=11847063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11013935A Pending JP2000215179A (ja) 1999-01-22 1999-01-22 オブジェクト名前管理方式

Country Status (1)

Country Link
JP (1) JP2000215179A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173323A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 分散オブジェクトリファレンス管理方法及びその実施システム並びにその処理プログラム
JP2004512622A (ja) * 2000-10-27 2004-04-22 テラプレイ システムズ エービー 分散型マルチユーザアプリケーションにおいてアプリケーション名をタグ値にマッピングするためのサーバ
US7565664B2 (en) 2002-06-28 2009-07-21 Hitachi, Ltd. Distributed object controlling method and its carrying out system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512622A (ja) * 2000-10-27 2004-04-22 テラプレイ システムズ エービー 分散型マルチユーザアプリケーションにおいてアプリケーション名をタグ値にマッピングするためのサーバ
JP2003173323A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 分散オブジェクトリファレンス管理方法及びその実施システム並びにその処理プログラム
US7565664B2 (en) 2002-06-28 2009-07-21 Hitachi, Ltd. Distributed object controlling method and its carrying out system

Similar Documents

Publication Publication Date Title
US6615405B1 (en) Method and system for distributing and maintaining software across a computer network
US5659682A (en) Scheme to determine completion of directory operations for server recovery
US7007047B2 (en) Internally consistent file system image in distributed object-based data storage
US7127635B2 (en) Method for correcting a program running on a computer system
US5751962A (en) Object-based systems management of computer networks
JP3088269B2 (ja) コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法
US7133917B2 (en) System and method for distribution of software licenses in a networked computing environment
US20060288056A1 (en) File version management device, method, and program
KR20060109284A (ko) 소프트웨어 분산 서비스를 위한 시스템 및 방법
US8600933B2 (en) Multi-master attribute uniqueness
JPH0922374A (ja) 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
US7281014B2 (en) Method and apparatus for moving data between storage devices
EP1577776B1 (en) Method and apparatus for data synchronization in a distributed data base system
JP3307329B2 (ja) ネットワーク構成管理対象アクセスシステム及び方法
US8996484B2 (en) Recursive lock-and-propagate operation
JPH11232159A (ja) ファイル管理方法およびファイル管理のためのプログラムを記憶した媒体
US7143082B2 (en) Distributed-processing database-management system
JP2000215179A (ja) オブジェクト名前管理方式
US6976040B2 (en) System and method of data-management and data-management program
KR20210082481A (ko) 데이터베이스 관리 서비스 제공 시스템
JPH10254890A (ja) ネットワークを利用した各種サービスへのアクセス方式
JPH04324541A (ja) ネットワークシステム
JP2005284962A (ja) 管理サーバ、管理方法及び管理プログラム
CN111221552A (zh) 一种基于分布式资源管理组件drm的实例更新方法
JP2000010847A (ja) クライアントサーバシステムにおけるサーバ制御方法