JPH09204308A - マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法 - Google Patents

マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法

Info

Publication number
JPH09204308A
JPH09204308A JP8219886A JP21988696A JPH09204308A JP H09204308 A JPH09204308 A JP H09204308A JP 8219886 A JP8219886 A JP 8219886A JP 21988696 A JP21988696 A JP 21988696A JP H09204308 A JPH09204308 A JP H09204308A
Authority
JP
Japan
Prior art keywords
objects
container
name
information processing
processing system
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
JP8219886A
Other languages
English (en)
Inventor
George Prentice Copeland
ジョージ・プレンティス・コプランド
Narayan Khmer Vineau
ヴィノー・ナラヤン・クメール
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 JPH09204308A publication Critical patent/JPH09204308A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】オブジェクト指向情報処理システムにおいてサ
ーチング及びインデキシングをサポートするネーム・サ
ービスを提供することにある。 【解決手段】従来技術のネーミング・モジュールはオブ
ジェクトとネーミング・コンテキスト(即ち、ディレク
トリ)におけるネームとのバインディングをサポートす
る。本発明は、このオリジナル・モジュールを拡張し
て、特性(バインディングに関するデータ)、サーチン
グ(特性上のバインディング供給の制約を見つける)、
及びインデキシング(或パラメータ・ネームに関するサ
ーチをスピードアップする)をサポートする。拡張ネー
ミング・コンテキスト(ENC)は、特性、サーチン
グ、及びインデキシングを導入するOMGネーミング・
コンテキスト(NC)のサブクラスである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して云えば、情
報処理システム、方法、及びその生産物に関するもので
あり、更に詳しく云えば、オブジェクト指向システムに
おいてオブジェクト・ネーム・サービスを実施するため
の情報処理システム及び方法に関するものである。
【0002】
【従来の技術】本願に関連した米国特許出願第08/5
37,648号は、オブジェクト指向テクノロジを使用
して、持続性、並行性、回復可能性、機密保護性、及び
分散を情報処理システムにおけるバイナリ・クラスに自
動的に挿入するための情報処理システム、方法、及びそ
の生産物を開示している。この関連発明は、ネーム・サ
ービス・コンテキストにおいてクラスの記述を登録する
こと、及びその発明の他の要素の間でファクトリと呼ば
れるクラス・オブジェクトに関してネーム・サービス・
コンテキストをサーチすることを含む。
【0003】その関連発明の目的を達成するために、オ
ブジェクト・ネーム・サービスが必要となる。そのネー
ム・サービスは次のような特徴を持たなければならな
い。即ち、 1.オブジェクトとネームとのバインディングをサポー
トする; 2.特性とオブジェクト・バインディングとの関連付け
をサポートする; 3.オブジェクトに対するバインディング毎の特性又は
バインディングに跨る特性をサポートする; 4.オブジェクト特性に基づくオブジェクトのサーチを
サポートする; 5.マルチレベル・サーチをサポートする; 6.多数のオブジェクト及び特性に対するスケーリング
を可能にするためにインデキシングをサポートする。
【0004】従来の技術では、オブジェクト指向プログ
ラミング・システム(OOPS)を改良するための多く
の技法が存在する。次のものはその従来技術の幾つかの
例である。
【0005】米国特許第5,093,914号は、オブジ
ェクト指向プログラムの実行を制御する場合、定義され
たアクションを生じさせるために、例えば、指定された
オブジェクトに関する指定された仮想機能がそのプログ
ラムの実行時に呼び出される時にそのプログラムをスト
ップさせるために、ディジタル・コンピュータによって
使用される方法を概略的に教示している。
【0006】この米国特許は、概して云えば、オブジェ
クト指向プログラムの実行を制御するための方法に関す
るものであるけれども、本発明に関連して教示されるよ
うにオブジェクト・サービスをオブジェクト指向システ
ムにおけるバイナリ・クラスに自動的に挿入することを
教示又は提案するものではない。
【0007】米国特許第5,343,554号は、第1ク
ラス及び第2クラスのオブジェクトの作成及びそのクラ
スのオブジェクトの実行を含むプロセスによって問題が
解決されるコンピューティング・システムを教示してい
る。その場合、第2クラスのオブジェクトは外部的に呼
び出し可能であり、外部的に呼び出し可能なサブクラス
・オブジェクトは内部的に呼び出し可能なサブクラス・
オブジェクトの表示を含み、又、1つの外部的に呼び出
し可能なサブオブジェクトは内部的に呼び出し可能なサ
ブオブジェクトを呼び出し、その結果に応答して第1ク
ラスの新しいオブジェクトが生成される。
【0008】この米国特許は、概して云えば、問題を解
決するためのクラス及びサブクラスを含むオブジェクト
指向システムの使用に関するものであるけれども、本発
明に関連して教示されるようにオブジェクト・サービス
をオブジェクト指向システムにおけるバイナリ・クラス
に自動的に挿入することを教示又は提案するものではな
い。
【0009】オブジェクト・サービス・フィーチャ、例
えば、持続性、回復可能性、並行性、及び機密保護性を
バイナリ・クラスに自動的に加えるという要求がある。
或クラスのソース・コードは修正のために利用可能では
ないことが時々ある。ソース・コードが利用可能である
時でさえ、オブジェクト・サービス・フィーチャを加え
るためにはかなりの再プログラミングの努力が必要であ
る。
【0010】ユーザは、オリジナル・クラスにおける多
くの変更がある場合、ユーザ・クラス・ダイアグラムの
サイズを増加させない方法でオブジェクト・サービス・
フィーチャを加えることができなければならない。ユー
ザは、クラスに関してサーチする時、そのクラスの機能
を記述した制約を伴う制約としてこれらのオブジェクト
・サービス・フィーチャを指定することができなければ
ならない。
【0011】オブジェクト指向プログラミング・システ
ムにおける総合的な目的は、容易に再使用可能なプログ
ラム・オブジェクトの開発である。
【0012】ソース・コード以上のバイナリ・コードの
重要性は再使用の程度と共に増加する。オブジェクト指
向テクノロジの主たる目的はコード再使用である。オブ
ジェクト指向テクノロジが大規模な成功を得るために
は、バイナリ・コード再使用は不可欠である。技術動向
は相互に調整及びプラグイン可能なオブジェクト・フォ
ーマットから形成されるアプリケーションへと移行して
いるので、バイナリ・コードはクリティカルである。
【0013】オブジェクト管理グループ(OMG)は、
現在、共通オブジェクト・サービスと命名されたオブジ
ェクト・システム・サービスに対する一組のインターフ
ェースを定義している。
【0014】
【発明が解決しようとする課題】本発明の目的は、オブ
ジェクト指向情報処理システムにおいてサーチング及び
インデキシングをサポートするネーム・サービスを提供
することにある。
【0015】
【課題を解決するための手段】従って、オブジェクト指
向テクノロジを使用する情報処理システムにおけるシス
テム及び方法はネーミング・コンテキスト・モジュール
を拡張して、特性(バインディングに関するデータ)、
サーチング(特性上のバインディング供給の制約を見つ
ける)、及びインデキシング(或パラメータ・ネームに
関するサーチをスピードアップする)をサポートするた
めの手段を含む。拡張ネーミング・コンテキスト(EN
C)は、特性、サーチング、及びインデキシングを導入
するネーミング・コンテキスト(NC)のサブクラスで
ある。
【0016】本発明の利点は、オブジェクト特性、サー
チング、及びインデキシングが情報処理システムにおけ
るネーミング・コンテキスト・モジュールに効率的に組
み込み可能であることである。
【0017】
【発明の実施の形態】図1及び図2を参照すると、情報
処理システム10及び本発明のためのオペレーティング
・システム環境が示される。
【0018】情報処理システム10は、非常に強力なプ
ロセッサ12、記憶システム14、システム・バス1
6、ディスプレイ装置20を制御するディスプレイ・サ
ブシステム18、カーソル制御装置22、及びI/Oコ
ントローラ24(これらはすべてシステム・バス16に
接続される)を有するグラフィックス・ワーク・ステー
ション等でよい。図1に示された情報処理システム10
は、OS/2(IBM社の商標)のような商業的に入手
可能な周知のマルチタスキング・オペレーティング・シ
ステムによって操作可能である。OS/2オペレーティ
ング・システムが動作中の情報処理システム10を制御
する多くのタスクの中には、IBM社の商業的に入手可
能なプログラム「SOMオブジェクト」の実行がある。
【0019】本発明の方法及びその生産物はSOMオブ
ジェクト・プログラムに組み込み可能である。
【0020】オリジナルOMGネーミング・モジュール
は、オブジェクトとネーミング・コンテキスト(即ち、
ディレクトリ)におけるネームとのバインディングをサ
ポートする。本発明はこのオリジナル・モジュールを拡
張して特性(バインディングに関するデータ)、サーチ
ング(特性に関するバインディング供給の制約を見つけ
る)、及びインデキシング(或特性ネームに関するサー
チをスピードアップするための)をサポートする。その
拡張ネーミング・コンテキスト(ENC)は特性、サー
チング、及びインデキシングを導入するOMGネーミン
グ・コンテキスト(NC)のサブクラスである。拡張の
一例を以下にリストする。
【0021】
【表1】 module Naming { /* オリジナル・ネーミング・モジュールへの拡張 */ typedef sequence<Istring> IList; typedef IIterator { boolean nextIstring(out Istring i); boolean nextNIstringss( in unsigned long howMany, out IList il); } typesef LifeCycle::NVP Property /* NVP(ネーム値の対)はネームに対しては Istring 及び値に対して は 任意のものを使用する。 */ typedef sequence<Property> PropertyList; interface PropertyIterator { boolean nextProperty(out Property p); boolean nextNProperties( in unsigned long howMany, out PropertyList prpps); } typedef string Constraint; /* 照会述部における整数、浮動、及びストリングをサポートする LifeCyc le Appendix B における Sun 制約言語 */ typedef IndexDescriptor { Istring property_name; unsigned long distance }
【0022】
【表2】 typedef sequence<IndexDescriptor>IndexDescriptorList; typedef IndexIterator { boolean nextIndex(out IndexDescriptor i); boolean nextNIndex( in unsigned long howMany, out IndexDescriptorList il); } interface ExtendedNamingContext : NamingContext { /* 第1、特性のサポート */ attribute sequence<string>allowed_object_types; /* このENCにバインド可能なオブジェクトのタイプのリスト。エン プティは無制限を意味する。 */ attribute sequence<string> allowed_property_types; /* このENCにおけるエントリに追加し得る特性のタイプのリスト。 エンプティは無制限を意味する。 */ attribute sequence<string> allowed_property_names; /* このENCにおけるエントリに追加し得るネームのタイプのリスト 。 エンプティは無制限を意味する。 */
【0023】
【表3】 int getFeaturesSupported() raises(); /* これは、このENC実施方法がどのようなフィーチャをサポートす るかを記述するビット・ベクトルを得る。このビット・マップは次 のようになる。 0 特性 1 サーチ 2 インデキシング 3 オブジェクト・タイプに関する制限 4 特性タイプに関する制限 5 特性ネームに関する制限 6-31 使用しない */ void addProperty( in NameComponent nc, in Property p) raises( InvalidName, InvalidPropertyName, NotSupported); /* 特性pをターゲット・コンテキストにおけるネームと関連付ける。 ネームncは予めバインドされている必要はなく、それと予め関連 付けられた特性を既に持っている必要もない。ncがバインディン グを持たない場合、それはヌル・オブジェクトにバインドされる。 特性ネームが既に存在する場合、古い値を置換する。 */
【0024】
【表4】 void addProperties( in NameComponent nc, in PropertyList props) raises( InvalidName, InvalidPropertyName, NotSupported); /* 特性をターゲット・コンテキストにおけるネームと関連付ける。ネ ームncは予めバインドされている必要はなく、それと予め関連付 けられた特性を既に持っている必要もない。ncがバインディング を持たない場合、それはヌル・オブジェクトにバインドされる。特 性ネームが既に存在する場合、古い値を置換する。 */ void bindWithProperties( in NameComponent nc, in Object ojt, in PropertyList props) raises( InvalidName, AlreadyBound, InvalidPropertyName, NotSupported); /* 単純化されたバインド(フル・ネームではなくネーム・コンポーネ ントのバインディング)及び addProperties の組合せ。ncがタ ーゲットにおいて既にバインドされている場合には失敗する。 */
【0025】
【表5】 void bindContextWithProperties( in NameComponent nc, in NamingContext obj, in PropertyList props) raises( InvalidName, AlreadyBound, InvalidPropertyName, NotSupported); /* 単純化されたバインド・コンテキスト(フル・ネームではなくネー ム・コンポーネントのバインディング)及び addProperties の組 合せ。ncがターゲットにおいて既にバインドされている場合には 失敗する。 */ void rebindWithProperties( in NameComponent nc, in Object ojt, in PropertyList props) raises( InvalidName, InvalidPropertyName, NotSupported); /* 単純化されたリバインド(フル・ネームではなくネーム・コンポー ネントのリバインディング)及び addProperties の組合せ。 */
【0026】
【表6】 void rebindContextWithProperties( in NameComponent nc, in NamingContext obj, in PropertyList props) raises( InvalidName, InvalidPropertyName, NotSupported); /* 単純化されたリバインド・コンテキスト(フル・ネームではなくネ ーム・コンポーネントのリバインディング)及び addProperties の組合せ。 */ void bindWithSharedProperties( in NameComponent target_nc, in ExtendedNamingContext source_enc, in NameComponent source_nc) raises( NotFound, InvalidName, AlreadyBound, NotSupported); /* source_enc における source_nc で既にバインドされている同じオ ブジェクト及び特性を持ったネーム target_nc のターゲットEN C においてバインディングを作成する。target_nc が既にターゲッ ト においてバインドされている場合には失敗する。すべての共用バ イ ンディングは等しいステータスを有する。共用バインディングは ア ンバインドを通して除かれる */
【0027】
【表7】 void rebindWithSharedProperties( in NameComponent target_nc, in ExtendedNamingContext source_enc, in NameComponent source_nc) raises( NotFound, InvalidName, NotSupported); /* たとえ target_nc が既にターゲットにおいてバインドされている 場 合でも、source_enc における source_nc で既にバインドされて い る同じオブジェクト及び特性を持ったネーム target_nc のター ゲッ トENCにおいてバインディングを作成する。すべての共用バ イン ディングは等しいステータスを有する。共用バインディングは アン バインドを通して除かれる */ void bindContextWithSharedProperties( in NameComponent target_nc, in ExtendedNamingContext source_enc, in NameComponent source_nc) raises( NotFound, InvalidName, AlreadyBound, NotSupported); /* source_enc における source_nc で既にバインドされている同じオ ブジェクト及び特性を持ったネーム target_nc のターゲットEN C においてバインディングを作成する。target_nc が既にターゲッ ト においてバインドされている場合には失敗する。すべての共用バ イ ンディングは等しいステータスを有する。共用バインディングは ア ンバインドを通して除かれる */
【0028】
【表8】 void rebindContextWithSharedProperties( in NameComponent target_nc, in ExtendedNamingContext source_enc, in NameComponent source_nc) raises( NotFound, InvalidName, NotSupported); /* たとえ target_nc が既にターゲットにおいてバインドされている 場 合でも、source_enc における source_nc で既にバインドされて い る同じオブジェクト及び特性を持ったネーム target_nc のター ゲッ トENCにおいてバインディングを作成する。すべての共用バ イン ディングは等しいステータスを有する。共用バインディングは アン バインドを通して除かれる */ void listProperties( in NameComponent nc, in unsigned long howMany, out IList inames, out IIterator rest) raises( NotFound, InvalidName, NotSupported); /* ターゲットにおけるncを解析し、高々 inames におけるオブジェ クトの特性ネームの howMany をリターンするだけである。それ以 上 が存在する場合、残りのネームを保持するイテレータが戻される 。 */
【0029】
【表9】 void getProperty( in NameComponent nc, in Istring pn, out any value) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* ターゲットにおけるncを解析し、ネームpnによって特性の値を リターンする */ void getSomeProperties( in NameComponent nc, in unsigned long howMany, in Ilist inames, out PropertyList props, out PropertyIterator rest) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* ターゲットにおけるncを解析し、高々 inames においてネームを 有する props におけるオブジェクトの特性の howMany をリターン するだけである。それ以上が存在する場合、残りの特性を保持する イテレータがリターンされる。 */
【0030】
【表10】 void getAllProperties( in NameComponent nc, in unsigned long howMany, out PropertyList props, out PropertyIterator rest) raises( NotFound, InvalidName, NotSupported); /* ターゲットにおけるncを解析し、高々 props におけるオブジェ ク トの特性の howMany をリターンするだけである。それ以上が存 在す る場合、残りの特性を保持するイテレータが戻される。 */ Object getObjectAndProperty( in NameComponent nc, in Istring n, out any v) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* 簡単な解析(フル・ネームではなく、ネーム・コンポーネントの解 析)及び getProperty の組合せ */
【0031】
【表11】 Object getObjectAndSomeProperties( in NameComponent nc, in unsigned long howMany, in Ilist iname, out PropertyList props, out PropertyIterator rest) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* 簡単な解析(フル・ネームではなく、ネーム・コンポーネントの解 析)及び getAllProperties の組合せ */ Object getObjectAndAllProperties( in NameComponent nc, in unsigned long howMany, out PropertyList props, out PropertyIterator rest) raises( NotFound, InvalidName, NotSupported); /* 簡単な解析(フル・ネームではなく、ネーム・コンポーネントの解 析)及び getAllProperties の組合せ */
【0032】
【表12】 void removeProperty( in NameComponent nc, in Istring n) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* ターゲットにおけるncを解析し、ネームnを持った特性を除去す る */ void removeSomeProperties( in NameComponent nc, in sequence<Istring>nlist) raises( NotFound, InvalidName, InvalidPropertyName, NotSupported); /* ターゲットにおけるncを解析し、nlist におけるネームを持った 特性を除去する */ void removeAllProperties in NameComponent nc, raises( NotFound, InvalidName, NotSupported); /* ターゲットにおけるncを解析し、すべての特性を除去する */ /* ENCに対するアンバインドの実施方法もすべての特性を除去する ことに注意して欲しい */ /* 第2、照会に対するサポート */
【0033】
【表13】 Object findAny( in Constraint c, in unsigned long distance) raises( NotSupported); /* findAny はターゲットENC及びそのターゲットENCの距離より も大きくないENC(距離==0はターゲットENCだけを意味す る)における制約を満たす第1オブジェクトをリターンする。何も 見つからない場合、ヌル・オブジェクトがリターンされるサーチ・ アルゴリズムは指定解除される */ void FindAll( in Constraint c, in unsigned long distance, in unsigned long howMany, out SearchableNamingContext snc, out BindingList bl, out BindingIterator bi) raises( NotSupported); /* findAll はターゲットENC及びそのターゲットENCの距離より も大きくないENC(距離==0はターゲットENCだけを意味す る)における制約を満たすオブジェクトに対する bl におけるすべ てのバインディングをリターンする。サーチ・アルゴリズム(例え ば、depth-first)は指定解除される。リターンされたリスト bl は 高々 howMany エレメントを含むだけである。それ以上のものが 存在 する場合、それらはイテレータ bi に含まれる。少なくとも修 飾オ ブジェクトを含むENCもリターンされる。なお、その修飾オ ブジ ェクトは更なるサーチ(findAny, FindAll 又は手動反復、及 び特 性又はオブジェクトの検査を通して)及び選定されたオブジェ クト に対する解析のために使用可能である。 */
【0034】
【表14】 /* 第3、インデックスに対するサポート */ void AddIndex( in IndexDescriptor i) raises(); /* ターゲットからの距離に対する特性ネームに関して高速サーチをす るためのインデックスをターゲットに加える。 */ void listIndexes( in unsigned long howMany, out IndexDescriptorList il, out IndexIterator rest) raises(); /* ターゲットにおけるインデックスに対するインデックス・デスクリ プタの howMany を高々戻すだけである。それ以上のものが存在す る 場合、残りのインデックスを保持するイテレータがリターンされ る。 */ void removeIndex( in IndexDescriptor i) raises (NotFound); /* ターゲットからインデックスを除去する */
【0035】次に、図3を参照すると、バインディング
(bind, rebind, bind_context, bind_new_contest, re
bind_context, bindWithProperties, bindContextWithP
roperties, rebindWithProperties, rebindContextWith
Properties)を行う操作が示される。 1.ターゲットENCと同じサーバ(プロセス)におい
てコンテナ・オブジェクトを作成する。そのコンテナ・
オブジェクトは次のような状態を有する: a)シーケンス<ENC>親; /* init to empty */ b)無符号の長い「インデックスまでの最大距離」; /
* init to 0 */ c)シーケンス<Property>特性; /* init t
o empty */ d)Objectオブジェクト; /* init to null obj
ect */ 2.ENCにおいて、バインドされるようコンテナをネ
ームと関連付ける; 3.ターゲットENCをコンテナの親に加える; 4.コンテナ→オブジェクト=バインドされるべきオブ
ジェクト;
【0036】次に、図4を参照すると、インデックスを
加えるためのオペレーション(addIndex)が示される: 1.ターゲットENCにおける各ネームに対して、それ
のコンテナに次のように要請する; 1.1 それの「インデックスまでの最大距離」を更新す
る; 1.2 インデックス情報(インデックスの特性ネームを
持った特性のタイプされた値及びそれを含むENC)を
得るためにリクエストをコンテナまでリレーする。(こ
のプライベート・オペレーションは特性ネーム、距離パ
ラメータ、及びそれがインデックスから離れている程度
を含む。その再帰は、距離パラメータ及びそれがインデ
ックスから離れている程度が等しい時に停止する。その
インデックス情報は、リターン時に再帰の各レベルにお
いて累積される)。 2.再帰的に累積されたインデックス情報を使用して、
ターゲットENCにおいてインデックスを形成する。
【0037】「インデックスまでの最大距離」は、コン
テナ・オブジェクト及びENCがインデックスに影響し
得る特性に変化する程度を知ることを可能にし、親リス
トは、それらが誰にこの情報を送るべきかを知ることを
可能にする。
【0038】特性を加えるオペレーション及びそれらの
値を変更するオペレーション(addProperty, addProper
ties, bindWithProperties, bindContextWithPropertie
s, rebindWithProperties, rebindContextWithProperti
es, removeProperty, removeSomeProperties, removeAl
lProperties)は次のような実施方法を含む: 1.コンテナに対するターゲットENCにおけるネーム
を解析する; 2.入力特性をコンテナの特性に加える; 3.コンテナの親における各親に対して、それのインデ
ックスを更新するようにその親に通知する(このプライ
ベート・オペレーションは変更された特性及び「インデ
ックスまでの最大距離」を含み、それはリレーが停止で
きる時であるゼロまで各リレーに対してデクレメントさ
れる);
【0039】特性の名前又はその特性を得るオペレーシ
ョン(listProperties, getProperties, getSomeProper
ties, getAllProperties, getObjectAndProperties, ge
tObjectAndSomeProperties, getObjectAndAllPropertie
s)は次のような実施方法を含む: 1.コンテナに対するターゲットENCにおけるネーム
を解析する; 2.コンテナ→特性及び(又は)コンテナ→オブジェク
トのリターンをする;
【0040】その解析オペレータは次のような実施方法
を含む: 1.コンテナに対するターゲットENCにおけるネーム
を解析する; 2.コンテナ→オブジェクトのリターンをする;
【0041】次に、図5を参照すると、共用オブジェク
ト及びそれの特性を作成するオペレーション(bindWith
SharedProperties, rebindWithSharedProperties)が示
される: 1.共用コンテナ=そのコンテナに対するソースENC
におけるソース・ネームを解析する; 2.ターゲットENCにおいて、共用コンテナをターゲ
ット・ネームと関連付ける; 3.ターゲットENCを共用コンテナの親に加える; 4.ターゲットENC又はそれ以上におけるすべてのイ
ンデックスは更新されなければならない(これを行うた
めに、上記のアルゴリズムの組合せを使用して下記のイ
ンデックス情報を獲得し、上記のインデックスを更新す
る);
【0042】アンバインド・オペレータは次のような実
施方法を含む: 1.コンテナに対するターゲットENCにおけるネーム
を解析する; 2.ターゲットENCをコンテナの親から除去する; 3.コンテナの親がエンプティである場合、そのコンテ
ナを割り振り解除する;
【0043】説明の便宜上、本願では本発明の特定の実
施例を説明したけれども、本発明の精神及び技術範囲を
離れることなく、種々の修正を行うことが可能であるこ
とは明らかであろう。
【0044】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0045】(1)情報処理システムにして、1つ又は
複数個のプロセッサと、記憶システムと、1つ又は複数
個のI/Oコントローラと、前記プロセッサ、前記記憶
システム、及び前記I/Oコントローラを接続するシス
テム・バスと、前記情報処理システムのオペレーション
を制御するためのオペレーティング・システム・プログ
ラムと、前記オペレーティング・システム・プログラム
と関連して動作し、1つ又は複数個のオブジェクトによ
って表されたプログラム・モジュールの実行を制御する
ためのオブジェクト・ベースのプログラムと、を含み、
前記オブジェクト・ベースのプログラムはシステム・パ
フォーマンスを改良するための1つ又は複数個の拡張ネ
ーミング・コンテキスト・オブジェクトを含むことを特
徴とする情報処理システム。 (2)前記オブジェクト・ベースのプログラムは所定の
状態を有する1つ又は複数個のコンテナ・オブジェクト
を作成するための手段を含むこと、及び前記コンテナ・
オブジェクトの各々は1つ又は複数個の拡張ネーミング
・コンテキスト・オブジェクトと関連付けること、を特
徴とする上記(1)に記載の情報処理システム。 (3)前記1つ又は複数個のコンテナ・オブジェクトを
作成するための手段は1つ又は複数個の拡張ネーミング
・コンテキスト・オブジェクトと関連した1つ又は複数
個の所定の特性をセットするための手段を含むことを特
徴とする上記(2)に記載の情報処理システム。 (4)前記オブジェクト・ベースのプログラムはバイン
ドされるべきネームとコンテナ・ボックスを関連付ける
ための手段を含むことを特徴とする上記(2)に記載の
情報処理システム。 (5)前記オブジェクト・ベースのプログラムは拡張ネ
ーミング・コンテキスト・オブジェクトにインデックス
を加えるための手段を含むことを特徴とする上記(2)
に記載の情報処理システム。 (6)前記インデックスを加えるための手段はリクエス
トとインデックスとの間のレベルの最大数を制御するた
めの手段を含むことを特徴とする上記(5)に記載の情
報処理システム。 (7)前記オブジェクト・ベースのプログラムは共用の
特性を有する1つ又は複数個のオブジェクトを作成する
ための手段を含むことを特徴とする上記(2)に記載の
情報処理システム。 (8)前記共用の特性を有する1つ又は複数個のオブジ
ェクトを作成するための手段は、コンテナ・オブジェク
トに対する第1拡張ネーミング・コンテキスト・オブジ
ェクトにおける第1オブジェクト・ネームを解析するた
めの手段と、前記コンテナ・オブジェクトを第2オブジ
ェクト・ネームと関連付けるための手段と、第2オブジ
ェクトを前記コンテナ・オブジェクトにおける親リスト
に加えるための手段と、任意の関連した拡張ネーミング
・コンテキスト・オブジェクトにおける任意のインデッ
クスを更新するための手段と、を含むことを特徴とする
上記(7)に記載の情報処理システム。 (9)所定の状態を有する1つ又は複数個のコンテナ・
オブジェクトを作成するための手段を含み、前記コンテ
ナ・オブジェクトの各々は1つ又は複数個の拡張ネーミ
ング・コンテキスト・オブジェクトと関連付けられてい
ることを特徴とするコンピュータ読取り可能な媒体。 (10)1つ又は複数個の拡張ネーミング・コンテキス
ト・オブジェクトと関連付けられた1つ又は複数個の所
定の特性をセットするための手段を含むことを特徴とす
る上記(9)に記載のコンピュータ読取り可能な媒体。 (11)バインドされるべきネームとコンテナ・オブジ
ェクトを関連付けるための手段を含むことを特徴とする
上記(9)に記載のコンピュータ読取り可能な媒体。 (12)拡張ネーミング・コンテキスト・オブジェクト
にインデックスを加えるための手段を含むことを特徴と
する上記(9)に記載のコンピュータ読取り可能な媒
体。 (13)共用の特性を有する1つ又は複数個のオブジェ
クトを作成するための手段を含むことを特徴とする上記
(9)に記載のコンピュータ読取り可能な媒体。 (14)前記共用の特性を有する1つ又は複数個のオブ
ジェクトを作成するための手段は、コンテナ・オブジェ
クトに対する第1拡張ネーミング・コンテキスト・オブ
ジェクトにおける第1オブジェクト・ネームを解析する
ための手段と、前記コンテナ・オブジェクトを第2オブ
ジェクト・ネームと関連付けるための手段と、第2オブ
ジェクトを前記コンテナ・オブジェクトにおける親リス
トに加えるための手段と、任意の関連した拡張ネーミン
グ・コンテキスト・オブジェクトにおける任意のインデ
ックスを更新するための手段と、を含むことを特徴とす
る上記(9)に記載のコンピュータ読取り可能媒体。 (15)情報処理システムのパフォーマンスを改良する
ための方法にして、所定の状態を有する1つ又は複数個
のコンテナ・オブジェクトを作成するステップであっ
て、前記コンテナ・オブジェクトの各々は1つ又は複数
個の拡張ネーミング・コンテキスト・オブジェクトと関
連付けられているステップと、1つ又は複数個の拡張ネ
ーミング・コンテキスト・オブジェクトと関連付けられ
た1つ又は複数個の所定の特性をセットするステップ
と、を含む方法。 (16)バインドされるべきネームとコンテナ・オブジ
ェクトを関連付けるステップを含むことを特徴とする上
記(15)に記載の方法。 (17)拡張ネーミング・コンテキスト・オブジェクト
にインデックスを加えるステップを含むことを特徴とす
る上記(15)に記載の方法。 (18)共用の特性を有する1つ又は複数個のオブジェ
クトを作成するステップを含むことを特徴とする上記
(15)に記載の方法。 (19)前記共用の特性を有する1つ又は複数個のオブ
ジェクトを作成するステップは、コンテナ・オブジェク
トに対する第1拡張ネーミング・コンテキスト・オブジ
ェクトにおける第1オブジェクト・ネームを解析するス
テップと、前記コンテナ・オブジェクトを第2オブジェ
クト・ネームと関連付けるステップと、第2オブジェク
トを前記コンテナ・オブジェクトにおける親リストに加
えるステップと、任意の関連した拡張ネーミング・コン
テキスト・オブジェクトにおける任意のインデックスを
更新するステップと、を含むことを特徴とする上記(1
5)に記載の方法。
【図面の簡単な説明】
【図1】本発明による方法を実行するためのシステムの
ブロック図である。
【図2】本発明をサポートするオペレーティング・シス
テム・プラットフォーム及びシステム・オブジェクト・
モデル・プログラムを示すブロック図である。
【図3】本発明に従って他のオブジェクトにバインドさ
れた特性を有する拡張ネーミング・コンテキスト・オブ
ジェクトを示す図である。
【図4】本発明に従って他のオブジェクトにバインドさ
れたインデックスを有する拡張ネーミング・コンテキス
ト・オブジェクトを示す図である。
【図5】本発明に従って共用特性を有する複数の拡張ネ
ーミング・コンテキスト・オブジェクトにおいてバイン
ドされたオブジェクトを示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヴィノー・ナラヤン・クメール アメリカ合衆国テキサス州、オースティ ン、グレイシー・ファームズ・レーン 2600 ナンバー・435

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】情報処理システムにして、 1つ又は複数個のプロセッサと、 記憶システムと、 1つ又は複数個のI/Oコントローラと、 前記プロセッサ、前記記憶システム、及び前記I/Oコ
    ントローラを接続するシステム・バスと、 前記情報処理システムのオペレーションを制御するため
    のオペレーティング・システム・プログラムと、 前記オペレーティング・システム・プログラムと関連し
    て動作し、1つ又は複数個のオブジェクトによって表さ
    れたプログラム・モジュールの実行を制御するためのオ
    ブジェクト・ベースのプログラムと、 を含み、 前記オブジェクト・ベースのプログラムはシステム・パ
    フォーマンスを改良するための1つ又は複数個の拡張ネ
    ーミング・コンテキスト・オブジェクトを含むことを特
    徴とする情報処理システム。
  2. 【請求項2】前記オブジェクト・ベースのプログラムは
    所定の状態を有する1つ又は複数個のコンテナ・オブジ
    ェクトを作成するための手段を含むこと、及び前記コン
    テナ・オブジェクトの各々は1つ又は複数個の拡張ネー
    ミング・コンテキスト・オブジェクトと関連付けるこ
    と、 を特徴とする請求項1に記載の情報処理システム。
  3. 【請求項3】前記1つ又は複数個のコンテナ・オブジェ
    クトを作成するための手段は1つ又は複数個の拡張ネー
    ミング・コンテキスト・オブジェクトと関連した1つ又
    は複数個の所定の特性をセットするための手段を含むこ
    とを特徴とする請求項2に記載の情報処理システム。
  4. 【請求項4】前記オブジェクト・ベースのプログラムは
    バインドされるべきネームとコンテナ・ボックスを関連
    付けるための手段を含むことを特徴とする請求項2に記
    載の情報処理システム。
  5. 【請求項5】前記オブジェクト・ベースのプログラムは
    拡張ネーミング・コンテキスト・オブジェクトにインデ
    ックスを加えるための手段を含むことを特徴とする請求
    項2に記載の情報処理システム。
  6. 【請求項6】前記インデックスを加えるための手段はリ
    クエストとインデックスとの間のレベルの最大数を制御
    するための手段を含むことを特徴とする請求項5に記載
    の情報処理システム。
  7. 【請求項7】前記オブジェクト・ベースのプログラムは
    共用の特性を有する1つ又は複数個のオブジェクトを作
    成するための手段を含むことを特徴とする請求項2に記
    載の情報処理システム。
  8. 【請求項8】前記共用の特性を有する1つ又は複数個の
    オブジェクトを作成するための手段は、 コンテナ・オブジェクトに対する第1拡張ネーミング・
    コンテキスト・オブジェクトにおける第1オブジェクト
    ・ネームを解析するための手段と、 前記コンテナ・オブジェクトを第2オブジェクト・ネー
    ムと関連付けるための手段と、 第2オブジェクトを前記コンテナ・オブジェクトにおけ
    る親リストに加えるための手段と、 任意の関連した拡張ネーミング・コンテキスト・オブジ
    ェクトにおける任意のインデックスを更新するための手
    段と、 を含むことを特徴とする請求項7に記載の情報処理シス
    テム。
  9. 【請求項9】情報処理システムのパフォーマンスを改良
    するための方法にして、 所定の状態を有する1つ又は複数個のコンテナ・オブジ
    ェクトを作成するステップであって、前記コンテナ・オ
    ブジェクトの各々は1つ又は複数個の拡張ネーミング・
    コンテキスト・オブジェクトと関連付けられているステ
    ップと、 1つ又は複数個の拡張ネーミング・コンテキスト・オブ
    ジェクトと関連付けられた1つ又は複数個の所定の特性
    をセットするステップと、 を含む方法。
  10. 【請求項10】バインドされるべきネームとコンテナ・
    オブジェクトを関連付けるステップを含むことを特徴と
    する請求項9に記載の方法。
  11. 【請求項11】拡張ネーミング・コンテキスト・オブジ
    ェクトにインデックスを加えるステップを含むことを特
    徴とする請求項9に記載の方法。
  12. 【請求項12】共用の特性を有する1つ又は複数個のオ
    ブジェクトを作成するステップを含むことを特徴とする
    請求項9に記載の方法。
  13. 【請求項13】前記共用の特性を有する1つ又は複数個
    のオブジェクトを作成するステップは、 コンテナ・オブジェクトに対する第1拡張ネーミング・
    コンテキスト・オブジェクトにおける第1オブジェクト
    ・ネームを解析するステップと、 前記コンテナ・オブジェクトを第2オブジェクト・ネー
    ムと関連付けるステップと、 第2オブジェクトを前記コンテナ・オブジェクトにおけ
    る親リストに加えるステップと、 任意の関連した拡張ネーミング・コンテキスト・オブジ
    ェクトにおける任意のインデックスを更新するステップ
    と、 を含むことを特徴とする請求項9に記載の方法。
JP8219886A 1995-11-06 1996-08-21 マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法 Pending JPH09204308A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/554063 1995-11-06
US08/554,063 US5878260A (en) 1995-11-06 1995-11-06 Information handling system, method, and article of manufacture including object name services with multilevel indices

Publications (1)

Publication Number Publication Date
JPH09204308A true JPH09204308A (ja) 1997-08-05

Family

ID=24211917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8219886A Pending JPH09204308A (ja) 1995-11-06 1996-08-21 マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法

Country Status (3)

Country Link
US (1) US5878260A (ja)
JP (1) JPH09204308A (ja)
TW (1) TW304250B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3427918B2 (ja) * 1996-07-02 2003-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム開発支援システム及び支援方法
US7203769B2 (en) * 1997-03-14 2007-04-10 International Business Machines Corporation Bootstrapping technique for distributed object client systems
US6044379A (en) * 1997-12-18 2000-03-28 Sun Microsystems, Inc. Method and apparatus for efficiently implementing multiple storage mechanism for name services associated with a computer system
US6198480B1 (en) 1998-10-07 2001-03-06 Wonderware Corporation Object-oriented tag browser
US6810522B2 (en) * 1998-10-07 2004-10-26 Invensys Systems, Inc. Method and system for associating parameters of containers and contained objects
US7392100B1 (en) * 2002-08-15 2008-06-24 Rockwell Automation Technologies, Inc. System and methodology that facilitate factory automation services in a distributed industrial automation environment
US7174346B1 (en) * 2003-07-31 2007-02-06 Google, Inc. System and method for searching an extended database
US7777653B2 (en) * 2008-07-15 2010-08-17 International Business Machines Corporation Decoding variable-length code (VLC) bitstream information
GB201300255D0 (en) * 2013-01-08 2013-02-20 Ibm Object naming

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU628264B2 (en) * 1990-08-14 1992-09-10 Oracle International Corporation Methods and apparatus for providing a client interface to an object-oriented invocation of an application
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5581761A (en) * 1993-07-20 1996-12-03 Sun Microsystems, Inc. Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system
US5577252A (en) * 1993-07-28 1996-11-19 Sun Microsystems, Inc. Methods and apparatus for implementing secure name servers in an object-oriented system

Also Published As

Publication number Publication date
US5878260A (en) 1999-03-02
TW304250B (en) 1997-05-01

Similar Documents

Publication Publication Date Title
US5339435A (en) Heterogenous software configuration management apparatus
US5793965A (en) Method and apparatus for determining the type of an object in a distributed object system
US6490585B1 (en) Cellular multiprocessor data warehouse
JP3437849B2 (ja) オブジェクト指向プログラミングを支援するデータベース管理システム及び方法
US6330569B1 (en) Method for versioning a UML model in a repository in accordance with an updated XML representation of the UML model
US4905138A (en) Meta-interpreter
US5497491A (en) System and method for importing and exporting data between an object oriented computing environment and an external computing environment
JP2986051B2 (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US4787035A (en) Meta-interpreter
US5826265A (en) Data management system having shared libraries
US5897636A (en) Distributed object computer system with hierarchical name space versioning
US5442779A (en) System and method for enabling an interpreted programming language to be executed in a database management system environment
US5566328A (en) Reconstructing directory pathnames from file handles in a computer system
US7480661B2 (en) Query services for database system
US5432930A (en) System for accessing cobol data files by generating a dictionary of NF.sup.2
CA2398148C (en) System and method for managing bi-directional relationships between objects
US5873092A (en) Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
WO1996018147A1 (en) Method for associating data bearing objects with user interface objects
JPH09204308A (ja) マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法
CN112988152A (zh) 项目图标发布方法、装置、设备及存储介质
Blair et al. A knowledge-based operating system
US6778983B1 (en) Apparatus and method for accessing HTML files using an SQL query
Wang An in-depth analysis of concurrent B-tree algorithms
EP0767434B1 (en) System and method for adding object services to a binary class in an object oriented system
Bougé et al. Height-relaxed AVL rebalancing: A unified, fine-grained approach to concurrent dictionaries.