JPH0756736A - オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 - Google Patents
オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法Info
- Publication number
- JPH0756736A JPH0756736A JP6179713A JP17971394A JPH0756736A JP H0756736 A JPH0756736 A JP H0756736A JP 6179713 A JP6179713 A JP 6179713A JP 17971394 A JP17971394 A JP 17971394A JP H0756736 A JPH0756736 A JP H0756736A
- Authority
- JP
- Japan
- Prior art keywords
- service
- name
- freeze
- melt
- objects
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
【目的】オブジェクト指向システムにおいてオブジェク
トに拡張可能な補助サービス集合を提供しかつ安全なフ
リーズ・サービスを提供する。 【構成】オブジェクトに拡張可能な補助サービス集合を
提供する方法は、複数の補助サービスを生成し、複数の
文脈オブジェクトを有するネーム・サーバを提供し、オ
ブジェクト・マネージャに対応付けられたオブジェクト
・マネージャ識別子をリターンする、各オブジェクトに
おけるget_OMIDオペレーションを実行し、オブ
ジェクト・マネージャ識別子を、要求された補助サービ
スに対応付けられた名前に変換し、複数の文脈オブジェ
クトの1つにおける要求された補助サービスに対応付け
られた名前をリゾルブし、かつ補助サービスの表示を用
いて補助サービス中の補助サービス・オペレーションの
1つを呼出す。
トに拡張可能な補助サービス集合を提供しかつ安全なフ
リーズ・サービスを提供する。 【構成】オブジェクトに拡張可能な補助サービス集合を
提供する方法は、複数の補助サービスを生成し、複数の
文脈オブジェクトを有するネーム・サーバを提供し、オ
ブジェクト・マネージャに対応付けられたオブジェクト
・マネージャ識別子をリターンする、各オブジェクトに
おけるget_OMIDオペレーションを実行し、オブ
ジェクト・マネージャ識別子を、要求された補助サービ
スに対応付けられた名前に変換し、複数の文脈オブジェ
クトの1つにおける要求された補助サービスに対応付け
られた名前をリゾルブし、かつ補助サービスの表示を用
いて補助サービス中の補助サービス・オペレーションの
1つを呼出す。
Description
【0001】
【産業上の利用分野】本発明は、オブジェクト指向プロ
グラミングの分野に関し、更に詳しくはオブジェクト指
向システムにおけるオブジェクトに拡張可能な補助サー
ビス集合を提供する方法および安全なフリーズ・サービ
スを提供する方法に関している。
グラミングの分野に関し、更に詳しくはオブジェクト指
向システムにおけるオブジェクトに拡張可能な補助サー
ビス集合を提供する方法および安全なフリーズ・サービ
スを提供する方法に関している。
【0002】
【従来の技術】オブジェクト指向システムにおいて、オ
ブジェクトは、収集データを操作する機能集合を伴なっ
た収集データから成っている。収集データは、オブジェ
クト状態データと呼ばれている。また、状態データを操
作する機能は、オペレーションと呼ばれている。各オブ
ジェクトは、それに対応したオブジェクト・マネージャ
を有しており、オブジェクト・マネージャは、オブジェ
クトのオペレーションを実行しかつオブジェクトに収集
データを保持するサーバである。
ブジェクトは、収集データを操作する機能集合を伴なっ
た収集データから成っている。収集データは、オブジェ
クト状態データと呼ばれている。また、状態データを操
作する機能は、オペレーションと呼ばれている。各オブ
ジェクトは、それに対応したオブジェクト・マネージャ
を有しており、オブジェクト・マネージャは、オブジェ
クトのオペレーションを実行しかつオブジェクトに収集
データを保持するサーバである。
【0003】あるオブジェクトに関するオペレーション
を実行するため、クライエントは、オブジェクト中のオ
ペレーションの1つを「呼出す」よう、オブジェクトに
メッセージを送る。オブジェクトに送られたメッセージ
は、オペレーション・セレクタとパラメータ・データか
ら成っている。メッセージのオペレーション・セレクタ
は、オブジェクトを操作するのに使用される、オブジェ
クト中のオペレーションを選択する。一方、メッセージ
のパラメータ・データは、呼出されたオペレーションに
より使用される外部情報を提供する。オペレーションが
完了すると、オペレーションは、通常、クライエントに
リターン値をリターンし、オペレーションの呼出しの結
果を与える。
を実行するため、クライエントは、オブジェクト中のオ
ペレーションの1つを「呼出す」よう、オブジェクトに
メッセージを送る。オブジェクトに送られたメッセージ
は、オペレーション・セレクタとパラメータ・データか
ら成っている。メッセージのオペレーション・セレクタ
は、オブジェクトを操作するのに使用される、オブジェ
クト中のオペレーションを選択する。一方、メッセージ
のパラメータ・データは、呼出されたオペレーションに
より使用される外部情報を提供する。オペレーションが
完了すると、オペレーションは、通常、クライエントに
リターン値をリターンし、オペレーションの呼出しの結
果を与える。
【0004】各オブジェクトにおける固有なオペレーシ
ョンの他、システムにおけるオブジェクトに対して保守
オペレーションを行なう「補助サービス」集合を有して
いると有利である。たとえば、補助サービスには、永続
オブジェクトを生成するフリーズ・メルト・サービス
や、異なるアクセス権でオブジェクトのコピーを生成す
る複写サービスがある。オブジェクトに関する補助サー
ビスは、そのオブジェクトのオブジェクト・マネージャ
により、または他のオブジェクト・マネージャにより実
行される。補助サービスの特定の種類については、別の
オブジェクト・マネージャが別の補助サービスを行な
う。たとえば、2つの異なるオブジェクト・マネージャ
は、2つの違ったフリーズ・メルト・サービスを行な
う。補助サービスはセンシィティブなオペレーションを
実行するので、補助サービスのアクセスは安全に保護さ
れなければならない。
ョンの他、システムにおけるオブジェクトに対して保守
オペレーションを行なう「補助サービス」集合を有して
いると有利である。たとえば、補助サービスには、永続
オブジェクトを生成するフリーズ・メルト・サービス
や、異なるアクセス権でオブジェクトのコピーを生成す
る複写サービスがある。オブジェクトに関する補助サー
ビスは、そのオブジェクトのオブジェクト・マネージャ
により、または他のオブジェクト・マネージャにより実
行される。補助サービスの特定の種類については、別の
オブジェクト・マネージャが別の補助サービスを行な
う。たとえば、2つの異なるオブジェクト・マネージャ
は、2つの違ったフリーズ・メルト・サービスを行な
う。補助サービスはセンシィティブなオペレーションを
実行するので、補助サービスのアクセスは安全に保護さ
れなければならない。
【0005】
【発明が解決しようとする課題】本発明の目的は、オブ
ジェクト指向システムにおけるオブジェクトに補助サー
ビス集合を提供することである。本発明の他の目的は、
その補助サービス集合が拡張可能であるような方法で、
上記補助サービス集合を提供することである。本発明の
他の目的は、上記補助サービス集合において安全なフリ
ーズ・メルト・サービスを提供することである。本発明
の他の目的は、上記補助サービス集合において異なるア
クセス権でオブジェクトのコピーを生成する複写サービ
スを提供することである。
ジェクト指向システムにおけるオブジェクトに補助サー
ビス集合を提供することである。本発明の他の目的は、
その補助サービス集合が拡張可能であるような方法で、
上記補助サービス集合を提供することである。本発明の
他の目的は、上記補助サービス集合において安全なフリ
ーズ・メルト・サービスを提供することである。本発明
の他の目的は、上記補助サービス集合において異なるア
クセス権でオブジェクトのコピーを生成する複写サービ
スを提供することである。
【0006】
【課題を解決するための手段】上記および他の目的は、
オブジェクト指向システムにおけるオブジェクトに拡張
可能な補助サービス集合を提供する本発明により達成さ
れる。オブジェクト指向システムにおける各オブジェク
トは、それに対応したオブジェクト・マネージャにより
実行される。本発明における各オブジェクト・マネージ
ャは、オブジェクト・マネージャを識別するオブジェク
ト・マネージャ識別子(OMID)を有している。シス
テムにおける各オブジェクト・マネージャは、オブジェ
クト・マネージャが実行するオブジェクトに様々な補助
サービスを任意に提供することができる。これら補助サ
ービスは、オブジェクト・マネージャ自身により、また
は他のオブジェクト・マネージャにより実行されるオブ
ジェクトである。各種の補助サービスには、その種類の
補助サービスに名前が対応付けられている周知の文脈が
ある。また、各種の補助サービスには、オブジェクト・
マネージャ識別子を、ある名前に変換する周知の変換機
能もある。この名前は、その種類の補助サービスが周知
の文脈において対応付けられた名前である。オブジェク
トのクライエントが補助サービスのアクセスを必要とし
た場合、クライエントは、先ず、そのオブジェクトを管
理するオブジェクト・マネージャにオブジェクト・マネ
ージャ識別子(OMID)を提供するオブジェクト中の
オペレーションを呼出す。その後、クライエントは、要
求された種類の補助サービスに関する周知の変換機能に
オブジェクト・マネージャ識別子を渡す。要求された種
類の補助サービスに関する周知の変換機能は、OMID
から生じた名前をリターンする。クライエントは、要求
された補助サービスの種類に関する周知の文脈における
変換された名前をリゾルブする。リゾルブ・オペレーシ
ョンは補助オブジェクトをリターンし、したがって、ク
ライエントは補助サービスをアクセスできる。
オブジェクト指向システムにおけるオブジェクトに拡張
可能な補助サービス集合を提供する本発明により達成さ
れる。オブジェクト指向システムにおける各オブジェク
トは、それに対応したオブジェクト・マネージャにより
実行される。本発明における各オブジェクト・マネージ
ャは、オブジェクト・マネージャを識別するオブジェク
ト・マネージャ識別子(OMID)を有している。シス
テムにおける各オブジェクト・マネージャは、オブジェ
クト・マネージャが実行するオブジェクトに様々な補助
サービスを任意に提供することができる。これら補助サ
ービスは、オブジェクト・マネージャ自身により、また
は他のオブジェクト・マネージャにより実行されるオブ
ジェクトである。各種の補助サービスには、その種類の
補助サービスに名前が対応付けられている周知の文脈が
ある。また、各種の補助サービスには、オブジェクト・
マネージャ識別子を、ある名前に変換する周知の変換機
能もある。この名前は、その種類の補助サービスが周知
の文脈において対応付けられた名前である。オブジェク
トのクライエントが補助サービスのアクセスを必要とし
た場合、クライエントは、先ず、そのオブジェクトを管
理するオブジェクト・マネージャにオブジェクト・マネ
ージャ識別子(OMID)を提供するオブジェクト中の
オペレーションを呼出す。その後、クライエントは、要
求された種類の補助サービスに関する周知の変換機能に
オブジェクト・マネージャ識別子を渡す。要求された種
類の補助サービスに関する周知の変換機能は、OMID
から生じた名前をリターンする。クライエントは、要求
された補助サービスの種類に関する周知の文脈における
変換された名前をリゾルブする。リゾルブ・オペレーシ
ョンは補助オブジェクトをリターンし、したがって、ク
ライエントは補助サービスをアクセスできる。
【0007】
【実施例】以下、添付の図面に基いて、本発明の実施例
に関し説明する。本発明は、オブジェクト指向システム
におけるオブジェクトに拡張可能な補助サービス集合を
提供する方法について開示する。以下の説明において、
システムの特定の構成は、本発明の理解を助けるための
ものであって、本実施例の特定な記載に関係なく本発明
を実施し得ることは当業者には明白であろう。また、周
知の回路および装置については、本発明を不必要に不明
瞭にしないようブロック図で示している。
に関し説明する。本発明は、オブジェクト指向システム
におけるオブジェクトに拡張可能な補助サービス集合を
提供する方法について開示する。以下の説明において、
システムの特定の構成は、本発明の理解を助けるための
ものであって、本実施例の特定な記載に関係なく本発明
を実施し得ることは当業者には明白であろう。また、周
知の回路および装置については、本発明を不必要に不明
瞭にしないようブロック図で示している。
【0008】オブジェクト指向コンピュータ・システム
は、多くの独自のソフトウェア「オブジェクト」から成
っている。システムの各オブジェクトは、オブジェクト
における収集データを操作する機能集合を伴なった収集
データから成っている。収集データは、オブジェクトの
状態データと呼ばれている。オブジェクトにおける状態
データを操作する機能は、オペレーションと呼ばれてい
る。システムの各オブジェクトは、オブジェクトのオペ
レーションを実行しかつオブジェクトに収集データを保
持するサーバであるオブジェクト・マネージャを有して
いる。
は、多くの独自のソフトウェア「オブジェクト」から成
っている。システムの各オブジェクトは、オブジェクト
における収集データを操作する機能集合を伴なった収集
データから成っている。収集データは、オブジェクトの
状態データと呼ばれている。オブジェクトにおける状態
データを操作する機能は、オペレーションと呼ばれてい
る。システムの各オブジェクトは、オブジェクトのオペ
レーションを実行しかつオブジェクトに収集データを保
持するサーバであるオブジェクト・マネージャを有して
いる。
【0009】たとえば、図1には、オブジェクト・マネ
ージャOM30が示されている。オブジェクト・マネー
ジャOM30は、2つのオブジェクト、すなわちオブジ
ェクト31とオブジェクト35を実行する。オブジェク
ト31とオブジェクト35は、それぞれ、状態データ
(参照番号32、36)と、状態データを操作するのに
使用されるオペレーション集合(参照番号33,37)
を含んでいる。
ージャOM30が示されている。オブジェクト・マネー
ジャOM30は、2つのオブジェクト、すなわちオブジ
ェクト31とオブジェクト35を実行する。オブジェク
ト31とオブジェクト35は、それぞれ、状態データ
(参照番号32、36)と、状態データを操作するのに
使用されるオペレーション集合(参照番号33,37)
を含んでいる。
【0010】オブジェクト指向システムにおけるオブジ
ェクトは、オブジェクトの「クライエント」により用い
られる。オブジェクトのクライエントは、オブジェクト
中のオペレーションを呼出すことにより、または他のオ
ブジェクトにおけるオペレーションのパラメータとして
そのオブジェクトをパスすることによりオブジェクトを
操作する。一般的には、オブジェクトのクライエント
は、オブジェクトの記憶場所またはインプリメンテーシ
ョンを知らない。オブジェクトのオペレーションを呼出
したり、またはパラメータとしてオブジェクトをパスし
たりするには、クライエントは、オブジェクトのいくつ
かの表示(リプレゼンテーション)を有していなければ
ならない。オブジェクトの表示は、オブジェクトにオペ
レーションを指定するのに必要な全ての情報を提供す
る。通常、オブジェクトのクライエントは、オブジェク
トの表示の詳細は知らない。
ェクトは、オブジェクトの「クライエント」により用い
られる。オブジェクトのクライエントは、オブジェクト
中のオペレーションを呼出すことにより、または他のオ
ブジェクトにおけるオペレーションのパラメータとして
そのオブジェクトをパスすることによりオブジェクトを
操作する。一般的には、オブジェクトのクライエント
は、オブジェクトの記憶場所またはインプリメンテーシ
ョンを知らない。オブジェクトのオペレーションを呼出
したり、またはパラメータとしてオブジェクトをパスし
たりするには、クライエントは、オブジェクトのいくつ
かの表示(リプレゼンテーション)を有していなければ
ならない。オブジェクトの表示は、オブジェクトにオペ
レーションを指定するのに必要な全ての情報を提供す
る。通常、オブジェクトのクライエントは、オブジェク
トの表示の詳細は知らない。
【0011】図1において、クライエントB40は、オ
ブジェクトO31のクライエントである。オブジェクト
O31をアクセスするため、クライエントB40は、オ
ブジェクトOの表示41を有している。クライエントB
40は、オブジェクトO31のオペレーションを呼出し
たり、またはパラメータとしてオブジェクトO31をパ
スしたりするのにオブジェクトOの表示41を使用す
る。
ブジェクトO31のクライエントである。オブジェクト
O31をアクセスするため、クライエントB40は、オ
ブジェクトOの表示41を有している。クライエントB
40は、オブジェクトO31のオペレーションを呼出し
たり、またはパラメータとしてオブジェクトO31をパ
スしたりするのにオブジェクトOの表示41を使用す
る。
【0012】オブジェクト指向システムの各オブジェク
トに、1つ以上の名前を付けることが可能である。オブ
ジェクトの名前は、通常、プリント可能な文字列から成
っている。本発明では、オブジェクトの名前は、オブジ
ェクトの名前が文脈において固有であるように「文脈」
中のオブジェクトに対応付けられている。文脈は、名前
とオブジェクトが対応しているリストを含んでいるオブ
ジェクトである。名前を「文脈」中のオブジェクトに割
当てるプロセスは、名前をオブジェクトに「バインドす
る」と呼ばれている。文脈オブジェクトは、「ネーム・
サーバ」と呼ばれる特別な種類のオブジェクト・マネー
ジャにおいて実行される。
トに、1つ以上の名前を付けることが可能である。オブ
ジェクトの名前は、通常、プリント可能な文字列から成
っている。本発明では、オブジェクトの名前は、オブジ
ェクトの名前が文脈において固有であるように「文脈」
中のオブジェクトに対応付けられている。文脈は、名前
とオブジェクトが対応しているリストを含んでいるオブ
ジェクトである。名前を「文脈」中のオブジェクトに割
当てるプロセスは、名前をオブジェクトに「バインドす
る」と呼ばれている。文脈オブジェクトは、「ネーム・
サーバ」と呼ばれる特別な種類のオブジェクト・マネー
ジャにおいて実行される。
【0013】たとえば、図2において、オブジェクトO
31は、オブジェクト・マネージャOM30において実
行されるオブジェクトである。文脈C51は、ネーム・
サーバNS50中において実行される文脈オブジェクト
である。文脈C51は、状態データ52と、文脈C51
中の状態データ52を操作するオペレーション集合53
を含んでいる。図2において、文脈Cの状態データ52
は、名前「foo」とオブジェクトO31の間の対応付
け(アソシエーション)を含んでいる。したがって、文
脈Cにおいては、オブジェクトO31は、名前「fo
o」にバインドされる。
31は、オブジェクト・マネージャOM30において実
行されるオブジェクトである。文脈C51は、ネーム・
サーバNS50中において実行される文脈オブジェクト
である。文脈C51は、状態データ52と、文脈C51
中の状態データ52を操作するオペレーション集合53
を含んでいる。図2において、文脈Cの状態データ52
は、名前「foo」とオブジェクトO31の間の対応付
け(アソシエーション)を含んでいる。したがって、文
脈Cにおいては、オブジェクトO31は、名前「fo
o」にバインドされる。
【0014】特定のオブジェクトの名前を知っているク
ライエントは、オブジェクトの表示を得るため文脈にお
けるオブジェクトの名前を先ず「リゾルブ」することに
よりオブジェクトをアクセスすることができる。その
後、クライエントは、文脈オブジェクトから受け取った
オブジェクトの表示を用いてオブジェクトをアクセスす
ることができる。
ライエントは、オブジェクトの表示を得るため文脈にお
けるオブジェクトの名前を先ず「リゾルブ」することに
よりオブジェクトをアクセスすることができる。その
後、クライエントは、文脈オブジェクトから受け取った
オブジェクトの表示を用いてオブジェクトをアクセスす
ることができる。
【0015】図2において、クライエントB40は、文
脈C51における「foo」と名付けられたオブジェク
トをアクセスすることを要求する。オブジェクトの表示
を得るため、クライエントは、文脈C51のリゾルブ・
オペレーションを呼び出すことにより、オブジェクト名
「foo」をリゾルブするよう文脈C51に要求する。
リゾルブ・オペレーションは、文脈C51における状態
データ52を調べ、図3に示されたようにクライエント
B40にオブジェクトO31の表示をリターンし、した
がって、クライエントB40はオブジェクトO31の直
接表示を得る。
脈C51における「foo」と名付けられたオブジェク
トをアクセスすることを要求する。オブジェクトの表示
を得るため、クライエントは、文脈C51のリゾルブ・
オペレーションを呼び出すことにより、オブジェクト名
「foo」をリゾルブするよう文脈C51に要求する。
リゾルブ・オペレーションは、文脈C51における状態
データ52を調べ、図3に示されたようにクライエント
B40にオブジェクトO31の表示をリターンし、した
がって、クライエントB40はオブジェクトO31の直
接表示を得る。
【0016】拡張可能な補助サービス集合 オブジェクトが実行できるオペレーションは、オブジェ
クトにおいて実行されるオペレーション集合により規定
される。各オブジェクトにおいて実行される固有のオペ
レーションの他、システムのオブジェクトに対して保守
オペレーションを行なうことのできる補助サービス集合
を有していると有利である。たとえば、オブジェクトを
複写する補助サービスや、オブジェクトをフリーズした
りメルトしたりする補助サービスが使用可能である。一
般に、それぞれのオブジェクトは、使用可能なそれぞれ
の種類の補助サービスを有している。さらに、特定の補
助サービスの種類に関しては、それぞれのオブジェクト
・マネージャがそれぞれの補助サービスを提供する。た
とえば、2つの異なるオブジェクト・マネージャは、2
つの異なるフリーズ・メルト・サービスを提供する。
クトにおいて実行されるオペレーション集合により規定
される。各オブジェクトにおいて実行される固有のオペ
レーションの他、システムのオブジェクトに対して保守
オペレーションを行なうことのできる補助サービス集合
を有していると有利である。たとえば、オブジェクトを
複写する補助サービスや、オブジェクトをフリーズした
りメルトしたりする補助サービスが使用可能である。一
般に、それぞれのオブジェクトは、使用可能なそれぞれ
の種類の補助サービスを有している。さらに、特定の補
助サービスの種類に関しては、それぞれのオブジェクト
・マネージャがそれぞれの補助サービスを提供する。た
とえば、2つの異なるオブジェクト・マネージャは、2
つの異なるフリーズ・メルト・サービスを提供する。
【0017】補助サービス集合を実行するには、システ
ムにおける各オブジェクトのオペレーションとして各補
助サービスを実行すればよい。しかし、この技術はいく
つかの問題点を有している。この技術に関する問題点の
1つは、導入されたシステムに新しい補助サービスを加
えることは非常に困難なことである。オブジェクトに新
しいオペレーションを加えることは、オブジェクトのイ
ンタフェイスを変え、新しいオペレーションを実行する
ための新しいコードを書込み、新しいコードでオブジェ
クトをリコンパイルしなければならない。たとえ、新し
い補助サービスを提供しないオブジェクトであっても、
全てのオブジェクトを変更しなければならない。大型導
入オブジェクト指向システムにおいては、新しい補助サ
ービスが加えられるたびに、システムの全てのオブジェ
クトをリコンパイルすることは困難である。さらに、変
更されたオブジェクトを使用する全てのクライエント
は、新しいインタフェイスを使用するためリコンパイル
されなければならない。全てのオブジェクトがリコンパ
イルされた以上、全てのクライエントも、リコンパイル
されなければならない。したがって、システムの全ての
オブジェクトをリコンパイルすることなく、補助サービ
スをオブジェクト指向システムに加えることができるこ
とが望まれている。
ムにおける各オブジェクトのオペレーションとして各補
助サービスを実行すればよい。しかし、この技術はいく
つかの問題点を有している。この技術に関する問題点の
1つは、導入されたシステムに新しい補助サービスを加
えることは非常に困難なことである。オブジェクトに新
しいオペレーションを加えることは、オブジェクトのイ
ンタフェイスを変え、新しいオペレーションを実行する
ための新しいコードを書込み、新しいコードでオブジェ
クトをリコンパイルしなければならない。たとえ、新し
い補助サービスを提供しないオブジェクトであっても、
全てのオブジェクトを変更しなければならない。大型導
入オブジェクト指向システムにおいては、新しい補助サ
ービスが加えられるたびに、システムの全てのオブジェ
クトをリコンパイルすることは困難である。さらに、変
更されたオブジェクトを使用する全てのクライエント
は、新しいインタフェイスを使用するためリコンパイル
されなければならない。全てのオブジェクトがリコンパ
イルされた以上、全てのクライエントも、リコンパイル
されなければならない。したがって、システムの全ての
オブジェクトをリコンパイルすることなく、補助サービ
スをオブジェクト指向システムに加えることができるこ
とが望まれている。
【0018】本発明は、オブジェクト指向システムのオ
ブジェクトに拡張可能な補助サービス集合を提供する機
構を有している。本発明において、拡張可能な補助サー
ビス集合を提供するため、システムの全てのオブジェク
トは、「get_OMID()」(ゲット・オブジェクト・マネー
ジャ識別子)と名付けられたオペレーションを実行す
る。クライエントが、オブジェクトにおけるget_OMID()
オペレーションを呼出す時、get_OMID()オペレーション
は、オブジェクトを実行するオブジェクト・マネージャ
と対応付けられたオブジェクト・マネージャ識別子(O
MID)をリターンする。その後、オブジェクトのクラ
イエントは、受け取ったオブジェクト・マネージャ識別
子(OMID)を、OMIDをある名前に変換する要求
されたタイプの補助サービスに関する周知の機能にパス
する。その後、オブジェクトのクライエントは、要求さ
れたタイプの補助サービスに関する周知の文脈における
変換された名前をリゾルブし、要求された補助サービス
の表示を得る。
ブジェクトに拡張可能な補助サービス集合を提供する機
構を有している。本発明において、拡張可能な補助サー
ビス集合を提供するため、システムの全てのオブジェク
トは、「get_OMID()」(ゲット・オブジェクト・マネー
ジャ識別子)と名付けられたオペレーションを実行す
る。クライエントが、オブジェクトにおけるget_OMID()
オペレーションを呼出す時、get_OMID()オペレーション
は、オブジェクトを実行するオブジェクト・マネージャ
と対応付けられたオブジェクト・マネージャ識別子(O
MID)をリターンする。その後、オブジェクトのクラ
イエントは、受け取ったオブジェクト・マネージャ識別
子(OMID)を、OMIDをある名前に変換する要求
されたタイプの補助サービスに関する周知の機能にパス
する。その後、オブジェクトのクライエントは、要求さ
れたタイプの補助サービスに関する周知の文脈における
変換された名前をリゾルブし、要求された補助サービス
の表示を得る。
【0019】本発明の機構を用いているシステムに新し
い補助サービスを加えるには、管理者は、オブジェクト
・マネージャ識別子を名前に変換する新しい補助サービ
スのタイプに関する周知の機能と、新しい補助サービス
・タイプに関する周知の文脈を設定しなければならな
い。新しい補助サービスの提供を望んでいるオブジェク
トに関し、そのオブジェクトのオブジェクト・マネージ
ャは、新しい補助サービスを生成し、かつ周知の文脈に
おける周知の機能によりリターンされた名前に新しい補
助サービスをバインドする。これにより、新しい補助サ
ービスを提供するオブジェクトのオブジェクト・マネー
ジャと、新しい補助サービスを用いるクライエントだけ
をリコンパイルすればいい。新しい補助サービスを提供
しないオブジェクトを有する他のオブジェクト・マネー
ジャや、新しい補助サービスを使用しない他のクライエ
ントをリコンパイルする必要はない。
い補助サービスを加えるには、管理者は、オブジェクト
・マネージャ識別子を名前に変換する新しい補助サービ
スのタイプに関する周知の機能と、新しい補助サービス
・タイプに関する周知の文脈を設定しなければならな
い。新しい補助サービスの提供を望んでいるオブジェク
トに関し、そのオブジェクトのオブジェクト・マネージ
ャは、新しい補助サービスを生成し、かつ周知の文脈に
おける周知の機能によりリターンされた名前に新しい補
助サービスをバインドする。これにより、新しい補助サ
ービスを提供するオブジェクトのオブジェクト・マネー
ジャと、新しい補助サービスを用いるクライエントだけ
をリコンパイルすればいい。新しい補助サービスを提供
しないオブジェクトを有する他のオブジェクト・マネー
ジャや、新しい補助サービスを使用しない他のクライエ
ントをリコンパイルする必要はない。
【0020】図4〜図6は、本発明により開示された拡
張可能な補助サービス集合を提供する機構を示してお
り、図7はその流れ図を示している。図4において、オ
ブジェクト・マネージャOM30は、2つのオブジェク
ト、すなわちオブジェクトO31およびオブジェクトA
S61を実行する。図4のクライエントB40は、オブ
ジェクトOのクライエントであって、オブジェクトOの
表示を有している。図4のクライエントB40が、オブ
ジェクトO31のオペレーションを実行するのに補助サ
ービスを使用する必要がある場合には、クライエントB
40は、その補助サービスを得るため図7に示された一
連のステップに従わなければならない。
張可能な補助サービス集合を提供する機構を示してお
り、図7はその流れ図を示している。図4において、オ
ブジェクト・マネージャOM30は、2つのオブジェク
ト、すなわちオブジェクトO31およびオブジェクトA
S61を実行する。図4のクライエントB40は、オブ
ジェクトOのクライエントであって、オブジェクトOの
表示を有している。図4のクライエントB40が、オブ
ジェクトO31のオペレーションを実行するのに補助サ
ービスを使用する必要がある場合には、クライエントB
40は、その補助サービスを得るため図7に示された一
連のステップに従わなければならない。
【0021】図4および図7のステップ101におい
て、先ず、クライエントB40は、オブジェクトO31
における「Get_OMID()」オペレーションを呼出し、オブ
ジェクトを実行するオブジェクト・マネージャに関する
オブジェクト・マネージャ識別子を得る。ステップ10
2において、Get_OMID()オペレーションのリターン値が
テストされる。Get_OMID()オペレーションが首尾よく完
了したら、オブジェクト・マネージャ識別名がクライエ
ントにリターンされ、クライエントはステップ105に
進む。たとえば、図4に示すように、名前「OM」がク
ライエントにリターンされる。しかし、オブジェクトO
31中のGet_OMID()オペレーションが失敗して、適切な
オブジェクト・マネージャ識別名をリターンできない場
合、補助サービスを得る試みは図7のステップ111に
おいて断念される。
て、先ず、クライエントB40は、オブジェクトO31
における「Get_OMID()」オペレーションを呼出し、オブ
ジェクトを実行するオブジェクト・マネージャに関する
オブジェクト・マネージャ識別子を得る。ステップ10
2において、Get_OMID()オペレーションのリターン値が
テストされる。Get_OMID()オペレーションが首尾よく完
了したら、オブジェクト・マネージャ識別名がクライエ
ントにリターンされ、クライエントはステップ105に
進む。たとえば、図4に示すように、名前「OM」がク
ライエントにリターンされる。しかし、オブジェクトO
31中のGet_OMID()オペレーションが失敗して、適切な
オブジェクト・マネージャ識別名をリターンできない場
合、補助サービスを得る試みは図7のステップ111に
おいて断念される。
【0022】適切なオブジェクト・マネージャ識別名を
受け取ると、クライエントは、要求された補助サービス
に対応付けられた名前にOMIDを変換する要求された
補助サービスの種類に関する周知の機能を呼び出す。変
換機能は、変更されないオブジェクト・マネージャ識別
子をリターンする単なる識別機能である。図7のステッ
プ105において、クライエントは、補助サービスのそ
の種類がバインドされた周知の文脈における変換された
名前をリゾルブする。たとえば、クライエントは、リゾ
ルブ・リクエスト「AS=Context_Cー>Resolve(function_a
s_type( OMID))を出す。function_as_type(OM
ID)は、補助サービスの要求された種類の名前にOM
IDを変換する。
受け取ると、クライエントは、要求された補助サービス
に対応付けられた名前にOMIDを変換する要求された
補助サービスの種類に関する周知の機能を呼び出す。変
換機能は、変更されないオブジェクト・マネージャ識別
子をリターンする単なる識別機能である。図7のステッ
プ105において、クライエントは、補助サービスのそ
の種類がバインドされた周知の文脈における変換された
名前をリゾルブする。たとえば、クライエントは、リゾ
ルブ・リクエスト「AS=Context_Cー>Resolve(function_a
s_type( OMID))を出す。function_as_type(OM
ID)は、補助サービスの要求された種類の名前にOM
IDを変換する。
【0023】図5において、クライエントB40は、変
換機能「function_as_type(「OM」)からリターンさ
れた名前をリゾルブするよう文脈オブジェクトCにリク
エストする。ステップ107において、リゾルブ・オペ
レーションのリターン値がテストされる。リゾルブ・オ
ペレーションが首尾よく完了した場合、補助サービスの
表示は、クライエントにリターンされる。図6は、首尾
よくいったリゾルブ・オペレーションを示しており、補
助サービスASの表示がクライエントBにリターンされ
る。しかし、文脈Cにおけるリゾルブ・オペレーション
が、その名前にバインドされたオブジェクトを見つけら
れなかった場合には、補助サービスを得る試みは、図7
のステップ111において断念される。
換機能「function_as_type(「OM」)からリターンさ
れた名前をリゾルブするよう文脈オブジェクトCにリク
エストする。ステップ107において、リゾルブ・オペ
レーションのリターン値がテストされる。リゾルブ・オ
ペレーションが首尾よく完了した場合、補助サービスの
表示は、クライエントにリターンされる。図6は、首尾
よくいったリゾルブ・オペレーションを示しており、補
助サービスASの表示がクライエントBにリターンされ
る。しかし、文脈Cにおけるリゾルブ・オペレーション
が、その名前にバインドされたオブジェクトを見つけら
れなかった場合には、補助サービスを得る試みは、図7
のステップ111において断念される。
【0024】補助サービスを受け取ると、クライエント
Bは、そのオペレーションのいずれかを実行するよう補
助サービスにリクエストする。たとえば、図6におい
て、オブジェクトC31の補助サービスを実行するた
め、クライエントBはパラメータとして特別なオブジェ
クトOと補助サービス・オブジェクトASのオペレーシ
ョンを呼び出す。
Bは、そのオペレーションのいずれかを実行するよう補
助サービスにリクエストする。たとえば、図6におい
て、オブジェクトC31の補助サービスを実行するた
め、クライエントBはパラメータとして特別なオブジェ
クトOと補助サービス・オブジェクトASのオペレーシ
ョンを呼び出す。
【0025】本発明の機構では、補助サービス名の「リ
アル・オーナー」だけが文脈中のその補助サービス名を
バインドすることができるような方法で実行されなけれ
ばならないことが明らかである。そうでなければ、簡単
にシステムの安全性が損ねられてしまうことになる。
アル・オーナー」だけが文脈中のその補助サービス名を
バインドすることができるような方法で実行されなけれ
ばならないことが明らかである。そうでなければ、簡単
にシステムの安全性が損ねられてしまうことになる。
【0026】フリーズ・メルト補助サービス フリーズ・メルト・サービスは、重要な補助サービスの
種類である。フリーズ・メルト・サービスにより、クラ
イエントは、クライエントが後でオブジェクトを再アク
セスできるように、オブジェクトを永続させることがで
きる。クライエントは、オブジェクトをフリーズするフ
リーズ・メルト・サービスを先ず要求することによりオ
ブジェクトを永続させる。オブジェクトをフリーズした
後、フリーズ・メルト・サービスは、フリーズされたオ
ブジェクトを識別するフリーズ・トークンをリターンす
る。前にフリーズされたオブジェクトを検索するため、
クライエントは、オブジェクトをメルトするようフリー
ズ・メルト・サービスを要求し、かつパラメータとして
フリーズ・トークンを与える。その後、フリーズ・メル
ト・サービスは、オブジェクトをメルトし、要求してい
るクライエントにオブジェクトの表示をリターンする。
種類である。フリーズ・メルト・サービスにより、クラ
イエントは、クライエントが後でオブジェクトを再アク
セスできるように、オブジェクトを永続させることがで
きる。クライエントは、オブジェクトをフリーズするフ
リーズ・メルト・サービスを先ず要求することによりオ
ブジェクトを永続させる。オブジェクトをフリーズした
後、フリーズ・メルト・サービスは、フリーズされたオ
ブジェクトを識別するフリーズ・トークンをリターンす
る。前にフリーズされたオブジェクトを検索するため、
クライエントは、オブジェクトをメルトするようフリー
ズ・メルト・サービスを要求し、かつパラメータとして
フリーズ・トークンを与える。その後、フリーズ・メル
ト・サービスは、オブジェクトをメルトし、要求してい
るクライエントにオブジェクトの表示をリターンする。
【0027】永続ネーム・サーバは、オブジェクトの永
続性が保持されるように名前をバインドしかつリゾルブ
する場合にフリーズ・メルト・サービスを使用する。フ
リーズ・トークンは悪意のあるクライエントにより偽造
される場合もあるので、メルト・オペレーションを要求
しているエンティティが、特定のオブジェクトをメルト
するのを任せられていることを保証するよう、フリーズ
・サービスへの接続は認証されなければならない。した
がって、ネーム・サーバが、同じフリーズ・メルト・サ
ービスを用いてオブジェクトをフリーズしかつメルトす
ることを保証することが重要なことである。そうでなけ
れば、ネーム・サービスの安全保護が非常に簡単に損ね
られてしまうことになる。たとえば、オブジェクト・マ
ネージャ識別子(OMID)を用いてフリーズ・メルト
・サービスの名前を得るステップと、フリーズ・オペレ
ーションを1つのオペレーションに実行するステップを
結合することは当然のことである。上記のように規定し
た拡張可能な補助サービス機構を用いることなく、フリ
ーズ・メルト・サービスを実行する最も明らかな方法で
は、1つのステップにおいて、オブジェクトをフリーズ
しかつオブジェクト・マネージャ識別子(OMID)と
フリーズ・トークンをリターンする各オブジェクトにお
ける「フリーズ」オペレーションを実行する。したがっ
て、永続ネーム・サーバにおけるバインドおよびリゾル
ブ・オペレーションは、次のように実行される。
続性が保持されるように名前をバインドしかつリゾルブ
する場合にフリーズ・メルト・サービスを使用する。フ
リーズ・トークンは悪意のあるクライエントにより偽造
される場合もあるので、メルト・オペレーションを要求
しているエンティティが、特定のオブジェクトをメルト
するのを任せられていることを保証するよう、フリーズ
・サービスへの接続は認証されなければならない。した
がって、ネーム・サーバが、同じフリーズ・メルト・サ
ービスを用いてオブジェクトをフリーズしかつメルトす
ることを保証することが重要なことである。そうでなけ
れば、ネーム・サービスの安全保護が非常に簡単に損ね
られてしまうことになる。たとえば、オブジェクト・マ
ネージャ識別子(OMID)を用いてフリーズ・メルト
・サービスの名前を得るステップと、フリーズ・オペレ
ーションを1つのオペレーションに実行するステップを
結合することは当然のことである。上記のように規定し
た拡張可能な補助サービス機構を用いることなく、フリ
ーズ・メルト・サービスを実行する最も明らかな方法で
は、1つのステップにおいて、オブジェクトをフリーズ
しかつオブジェクト・マネージャ識別子(OMID)と
フリーズ・トークンをリターンする各オブジェクトにお
ける「フリーズ」オペレーションを実行する。したがっ
て、永続ネーム・サーバにおけるバインドおよびリゾル
ブ・オペレーションは、次のように実行される。
【0028】 バインド(name,bind_type,object): <omid,freeze_token>=Object_O->freeze(); store_binding(name,bind_type,omid,freeze_token);
【0029】リゾルブ・オペレーションにおいてオブジ
ェクトをメルトするため、永続ネーム・サーバは2つの
ステップを実行する。第1に、永続ネーム・サーバは、
OMIDを用いてフリーズ・メルト・サービス・オブジ
ェクトの表示を得る。その後、永続ネーム・サーバは、
パラメータとしてフリーズ・トークンでフリーズ・メル
ト・サービス中のメルト・オペレーションを呼出すこと
により、オブジェクトをメルトする。
ェクトをメルトするため、永続ネーム・サーバは2つの
ステップを実行する。第1に、永続ネーム・サーバは、
OMIDを用いてフリーズ・メルト・サービス・オブジ
ェクトの表示を得る。その後、永続ネーム・サーバは、
パラメータとしてフリーズ・トークンでフリーズ・メル
ト・サービス中のメルト・オペレーションを呼出すこと
により、オブジェクトをメルトする。
【0030】 リゾルブ(name,mode): <omid,freeze_token>=get_binding_for_name(name); freeze_melt_service=Context->resolve(function_freeze_melt(omid)); Object_O=freeze_service->melt(freeze_token,mode);
【0031】しかし、このストレート・フォワード方式
は安全保護の問題点を有している。悪意のあるオブジェ
クト・マネージャと悪意のあるクライエントとが共謀し
て次のステップを実行することによりネーム・サーバの
安全保護を損なう可能性がある。
は安全保護の問題点を有している。悪意のあるオブジェ
クト・マネージャと悪意のあるクライエントとが共謀し
て次のステップを実行することによりネーム・サーバの
安全保護を損なう可能性がある。
【0032】1)狙ったオブジェクト(たとえば、パス
ワード・ファイル・オブジェクト)のフリーズ・トーク
ンおよびオブジェクト・マネージャ識別子を得る。 2)悪意のあるオブジェクト・マネージャにより実行さ
れるオブジェクトに名前をバインドする悪意のクライエ
ントを確保する。 3)フリーズ・オペレーションに応じて、悪意のあるオ
ブジェクト・マネージャは、狙っているオブジェクトの
フリーズ・トークンおよびオブジェクト・マネージャ識
別子をリターンする。 4)悪意のあるクライエントは、その後、書込みモード
に関しオブジェクトをリゾルブするようネーム・サーバ
に要求する。(悪意のあるクライエントがバインドを行
なったので、悪意のあるクライエントは認可される。)
ワード・ファイル・オブジェクト)のフリーズ・トーク
ンおよびオブジェクト・マネージャ識別子を得る。 2)悪意のあるオブジェクト・マネージャにより実行さ
れるオブジェクトに名前をバインドする悪意のクライエ
ントを確保する。 3)フリーズ・オペレーションに応じて、悪意のあるオ
ブジェクト・マネージャは、狙っているオブジェクトの
フリーズ・トークンおよびオブジェクト・マネージャ識
別子をリターンする。 4)悪意のあるクライエントは、その後、書込みモード
に関しオブジェクトをリゾルブするようネーム・サーバ
に要求する。(悪意のあるクライエントがバインドを行
なったので、悪意のあるクライエントは認可される。)
【0033】したがって、ネーム・サーバはだまされ、
パスワード・ファイル・オブジェクトのフリーズ・メル
ト・サービスでメルト・オペレーションを実行しかつ書
込みモードにおいてファイルをリターンする。この安全
保護の問題を避けるには、同じフリーズ・メルト・サー
ビスにより、フリーズおよびメルト・オペレーションの
両方を実行しなければならない。
パスワード・ファイル・オブジェクトのフリーズ・メル
ト・サービスでメルト・オペレーションを実行しかつ書
込みモードにおいてファイルをリターンする。この安全
保護の問題を避けるには、同じフリーズ・メルト・サー
ビスにより、フリーズおよびメルト・オペレーションの
両方を実行しなければならない。
【0034】前述したような補助サービスを提供する本
発明の機構は、安全なフリーズ・メルト・サービスを実
現するのに使用することができる。たとえば、PIを用
いて安全で永続性のあるネーム・サーバを実行するに
は、永続NSにおけるバインドおよびリゾルブ・オペレ
ーションは、次のように実行される。
発明の機構は、安全なフリーズ・メルト・サービスを実
現するのに使用することができる。たとえば、PIを用
いて安全で永続性のあるネーム・サーバを実行するに
は、永続NSにおけるバインドおよびリゾルブ・オペレ
ーションは、次のように実行される。
【0035】 バインド(name,bind_type,object): omid=Object_O->Get_OMID(); freeze_melt_service=Context->resolve(function_freeze_melt(omid)); freeze_token=freeze_melt_service->freeze(Object_O); store_binding(name,bind_type,omid,freeze_token);
【0036】 リゾルブ(name,mode): <omid,freeze_token>=get_binding_for_name(name); freeze_melt_service=Context->resolve(function_freeze_melt(omid)); Object_O=freeze_melt_service->melt(freeze_token,mode);
【0037】本発明の機構では、バインドおよびリゾル
ブ・オペレーションの両方が同じステップを用いてフリ
ーズ・メルト・サービスを得るので、フリーズ・オペレ
ーションおよびメルト・オペレーションの両方を提供す
るのに、同じフリーズ・メルト・サービスが使用され
る。 freeze_melt_service=Context->resolve(function_freeze_melt(omid));
ブ・オペレーションの両方が同じステップを用いてフリ
ーズ・メルト・サービスを得るので、フリーズ・オペレ
ーションおよびメルト・オペレーションの両方を提供す
るのに、同じフリーズ・メルト・サービスが使用され
る。 freeze_melt_service=Context->resolve(function_freeze_melt(omid));
【0038】複写補助サービス 他の重要な補助サービスに複写サービスがある。複写サ
ービスは、リゾルブ・オペレーションにおいてオブジェ
クトのコピーを生成するため、ネーム・サーバにより用
いられる。複写サービスにより生成されたオブジェクト
のコピーは、異なる「モード」またはアクセス特権で生
成することができる。たとえば、クライエントは、オブ
ジェクトの名前をリゾルブしかつ「読出し専用」モード
でオブジェクトをリターンするようネーム・サーバにリ
クエストすることができる。
ービスは、リゾルブ・オペレーションにおいてオブジェ
クトのコピーを生成するため、ネーム・サーバにより用
いられる。複写サービスにより生成されたオブジェクト
のコピーは、異なる「モード」またはアクセス特権で生
成することができる。たとえば、クライエントは、オブ
ジェクトの名前をリゾルブしかつ「読出し専用」モード
でオブジェクトをリターンするようネーム・サーバにリ
クエストすることができる。
【0039】本発明により提供される拡張可能な補助サ
ービス集合は、複写サービスを実行するのに使用でき
る。複写サービスをアクセスするには、クライエント
は、図7に示したステップにしたがえばよい。
ービス集合は、複写サービスを実行するのに使用でき
る。複写サービスをアクセスするには、クライエント
は、図7に示したステップにしたがえばよい。
【0040】たとえば、次のリスティングは、リクエス
トされたモードでオブジェクトを複写し、その後、複写
されたオブジェクトをリターンするネーム・サーバにお
いてリゾルブ・オペレーションを実行する。
トされたモードでオブジェクトを複写し、その後、複写
されたオブジェクトをリターンするネーム・サーバにお
いてリゾルブ・オペレーションを実行する。
【0041】 リゾルブ(name,mode): <omid,object>=get_binding_for_name(name); duplication_service=Context->resolve(function_duplication(omid)); duplicate_object=duplication_service->duplicate(object,mode); return_to_client(duplicate_object);
【0042】以上のように、オブジェクト指向システム
においてオブジェクトに拡張可能な補助サービス集合を
提供する装置および方法について図1〜7に関し述べて
きたが、本発明はこれら図面に開示されたものよりはる
かに超えた有用性を有していることは当業者には明白で
あろう。また、本発明は、本発明の思想から離れること
なく、様々に改変および修正できることは当業者には明
白であろう。
においてオブジェクトに拡張可能な補助サービス集合を
提供する装置および方法について図1〜7に関し述べて
きたが、本発明はこれら図面に開示されたものよりはる
かに超えた有用性を有していることは当業者には明白で
あろう。また、本発明は、本発明の思想から離れること
なく、様々に改変および修正できることは当業者には明
白であろう。
【0043】
【発明の効果】したがって、本発明は、オブジェクト指
向システムにおいてオブジェクトに拡張可能な補助サー
ビス集合を提供しかつ安全なフリーズ・サービスを提供
することができる。
向システムにおいてオブジェクトに拡張可能な補助サー
ビス集合を提供しかつ安全なフリーズ・サービスを提供
することができる。
【図1】 オブジェクトOの表示を有するオブジェクト
Oのクライエントとオブジェクト・マネージャOMによ
り管理されるオブジェクトOおよびAを示したブロック
図である。
Oのクライエントとオブジェクト・マネージャOMによ
り管理されるオブジェクトOおよびAを示したブロック
図である。
【図2】 オブジェクト・マネージャOMにより管理さ
れるオブジェクトO、オブジェクトOへの名前「fo
o」のバインディングを含んでいる文脈オブジェクト
C、および文脈オブジェクトCの表示を有するクライエ
ントBを示したブロック図である。
れるオブジェクトO、オブジェクトOへの名前「fo
o」のバインディングを含んでいる文脈オブジェクト
C、および文脈オブジェクトCの表示を有するクライエ
ントBを示したブロック図である。
【図3】 クライエントBが、オブジェクトOの表示を
受け取るため文脈オブジェクトCにおける名前「fo
o」をリゾルブした後の図2aのブロック図である。
受け取るため文脈オブジェクトCにおける名前「fo
o」をリゾルブした後の図2aのブロック図である。
【図4】 オブジェクト・マネージャOMにより管理さ
れるオブジェクトO、オブジェクトOへの名前「fo
o」のバインディングおよびオブジェクトASへの名前
「OM」のバインディングとを含んでいる文脈オブジェ
クトC、および文脈オブジェクトCの表示およびオブジ
ェクトOの表示とを有するクライエントBを示したブロ
ック図である。
れるオブジェクトO、オブジェクトOへの名前「fo
o」のバインディングおよびオブジェクトASへの名前
「OM」のバインディングとを含んでいる文脈オブジェ
クトC、および文脈オブジェクトCの表示およびオブジ
ェクトOの表示とを有するクライエントBを示したブロ
ック図である。
【図5】 クライエントBが、オブジェクトOからのO
MIDを得かつ文脈オブジェクトCにおけるリゾルブ・
オペレーションをリクエストした後の図3aのブロック
図である。
MIDを得かつ文脈オブジェクトCにおけるリゾルブ・
オペレーションをリクエストした後の図3aのブロック
図である。
【図6】 文脈オブジェクトCが、補助サービスを行な
うオブジェクトASの表示をリターンしてOMIDをリ
ゾルブした後の図3bのブロック図である。
うオブジェクトASの表示をリターンしてOMIDをリ
ゾルブした後の図3bのブロック図である。
【図7】 あるオブジェクトに関する補助サービスのア
クセスを得るのに必要なステップを含んでいる流れ図で
ある。
クセスを得るのに必要なステップを含んでいる流れ図で
ある。
30 オブジェクト・マネージャOM 31 オブジェクトA 32 オブジェクトAの状態データ 35 オブジェクトO 36 オブジェクトOの状態データ 40 オブジェクトOのクライエントB 41 オブジェクトOの表示 50 ネーム・サーバNS 51 文脈オブジェクトC 52 文脈オブジェクトCの状態データ
フロントページの続き (72)発明者 マイケル・エル・パウェル アメリカ合衆国 94301 カリフォルニア 州・パロ アルト・エマーソン ストリー ト・2305 (72)発明者 マイケル・エヌ・ネルソン アメリカ合衆国 94070 カリフォルニア 州・サン カルロス・ヒルクレスト ロー ド・158
Claims (3)
- 【請求項1】 複数のオブジェクトを管理するオブジェ
クト・マネージャを有するオブジェクト指向システムに
おける、上記オブジェクト指向システムのオブジェクト
に拡張可能な補助サービス集合を提供する方法におい
て、 それぞれ少なくとも1つの補助サービス・オペレーショ
ンを有する複数の補助サービスを生成する過程と、 それぞれ複数の名前−オブジェクト対応付けを有する複
数の文脈オブジェクトを有するネーム・サーバを提供す
る過程と、 上記オブジェクト・マネージャに対応付けられたオブジ
ェクト・マネージャ識別子をリターンする、上記複数の
各オブジェクトにおけるget_OMIDオペレーショ
ンを実行する過程と、 上記オブジェクト・マネージャ識別子を、要求された補
助サービスに対応付けられた名前に変換する過程と、 上記補助サービスの表示を受け取るため、上記複数の文
脈オブジェクトの1つにおける要求された補助サービス
に対応付けられた上記名前をリゾルブする過程と、 上記補助サービスの上記表示を用いて上記補助サービス
における補助サービスのオペレーションの1つを呼出す
過程と、 から成ることを特徴とする、オブジェクト指向システム
のオブジェクトに拡張可能な補助サービス集合を提供す
る方法。 - 【請求項2】 複数のオブジェクトを管理するオブジェ
クト・マネージャを有するオブジェクト指向システムに
おける、安全なフリーズ・メルト・サービスを提供する
方法において、 フリーズ・オペレーションおよびメルト・オペレーショ
ンを有しかつ少なくとも1つのフリーズ・メルト・サー
ビス名を有するフリーズ・メルト・サービスを生成する
過程と、 1つが上記フリーズ・メルト・サービスの表示への上記
フリーズ・メルト・サービス名の対応付けを有する複数
の名前対応付けを有する文脈オブジェクトを有するネー
ム・サーバを提供する過程と、 上記オブジェクト・マネージャに対応付けられたオブジ
ェクト・マネージャ識別子をリターンする、上記複数の
各オブジェクトにおけるget_OMIDオペレーショ
ンを実行する過程と、 上記オブジェクト・マネージャ識別子を上記フリーズ・
メルト・サービス名に変換する変換機能を実行する過程
と、 上記オブジェクト・マネージャ識別子を得るため上記オ
ブジェクトにおける上記get_OMIDオペレーショ
ンを呼出し、上記オブジェクト・マネージャ識別子を上
記フリーズ・メルト・サービス名に変換するため上記変
換機能を呼出し、かつ上記フリーズ・メルト・サービス
の表示を受け取るため上記文脈オブジェクトにおける上
記フリーズ・メルト・サービス名をリゾルブすることに
より、オブジェクトに関する上記フリーズ・メルト・サ
ービスから上記フリーズ・オペレーションおよび上記メ
ルト・オペレーションを得る過程と、 から成ることを特徴とする、安全なフリーズ・メルト・
サービスを提供する方法。 - 【請求項3】 複数のオブジェクトを管理するオブジェ
クト・マネージャを有するオブジェクト指向システムに
おける、上記オブジェクトの複写を生成する複写サービ
スを提供する方法において、 少なくとも1つの複写サービス名を有しかつ1つの複写
オペレーションを有する複写サービスを生成する過程
と、 1つが、上記複写サービスの表示への複写サービス名の
対応付けを有する複数の名前−オブジェクト対応付けを
有する文脈オブジェクトを有するネーム・サーバを提供
する過程と、 上記オブジェクト・マネージャに対応付けられたオブジ
ェクト・マネージャ識別子をリターンする、上記複数の
各オブジェクトにおけるget_OMIDオペレーショ
ンを実行する過程と、 上記オブジェクト・マネージャ識別子を上記フリーズ・
メルト・サービス名に変換する変換機能を実行する過程
と、 上記オブジェクト・マネージャ識別子を得るため上記オ
ブジェクトにおける上記get_OMIDオペレーショ
ンを呼出し、上記オブジェクト・マネージャ識別子を上
記複写サービス名に変換するため上記変換機能を呼出
し、かつ上記複写サービスの表示を受け取るため上記文
脈オブジェクトにおける上記複写サービス名をリゾルブ
することにより、オブジェクトに関する上記複写サービ
ス内の上記複写オペレーションのアクセスを得る過程
と、 から成ることを特徴とする、オブジェクトの複写を生成
する複写サービスを提供する方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US094455 | 1993-07-20 | ||
| US08/094,455 US5581761A (en) | 1993-07-20 | 1993-07-20 | Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002246289A Division JP2003122571A (ja) | 1993-07-20 | 2002-08-27 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0756736A true JPH0756736A (ja) | 1995-03-03 |
Family
ID=22245290
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6179713A Pending JPH0756736A (ja) | 1993-07-20 | 1994-07-08 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
| JP2002246289A Pending JP2003122571A (ja) | 1993-07-20 | 2002-08-27 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
| JP2006062402A Pending JP2006190328A (ja) | 1993-07-20 | 2006-03-08 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002246289A Pending JP2003122571A (ja) | 1993-07-20 | 2002-08-27 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
| JP2006062402A Pending JP2006190328A (ja) | 1993-07-20 | 2006-03-08 | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5581761A (ja) |
| EP (1) | EP0636969B1 (ja) |
| JP (3) | JPH0756736A (ja) |
| DE (1) | DE69425093T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6792596B2 (en) | 2000-03-23 | 2004-09-14 | International Business Machines Corporation | Method and system for protecting resource central programs |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
| US5819283A (en) * | 1993-05-11 | 1998-10-06 | Apple Computer, Inc. | Method and system for the extensibility of objects |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US5706501A (en) * | 1995-02-23 | 1998-01-06 | Fuji Xerox Co., Ltd. | Apparatus and method for managing resources in a network combining operations with name resolution functions |
| US6941556B1 (en) * | 1995-03-24 | 2005-09-06 | Sun Microsystems, Inc. | Method and system for type identification for multiple object interfaces in a distributed object environment |
| US6226691B1 (en) * | 1995-10-02 | 2001-05-01 | International Business Machines Corporation | System, method, and article of manufacture for adding object services to a binary class in an object oriented server |
| US5732263A (en) * | 1995-10-03 | 1998-03-24 | International Business Machines Corporation | Systems, methods and computer program products for generating and validating user defined object classes in an object oriented programming environment after build time |
| US5867709A (en) * | 1995-10-18 | 1999-02-02 | Kapre Software, Inc. | Method and system for reusing customizations to a software product |
| US5878260A (en) * | 1995-11-06 | 1999-03-02 | International Business Machines Corporation | Information handling system, method, and article of manufacture including object name services with multilevel indices |
| US6782538B1 (en) * | 1995-12-14 | 2004-08-24 | International Business Machines Corporation | Object oriented information handling system including an extensible instance manager |
| US6625617B2 (en) | 1996-01-02 | 2003-09-23 | Timeline, Inc. | Modularized data retrieval method and apparatus with multiple source capability |
| US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
| CA2199108C (en) * | 1996-03-05 | 2002-04-23 | Hirotoshi Maegawa | Parallel distributed processing system and method of same |
| JP3763937B2 (ja) * | 1996-06-28 | 2006-04-05 | 富士通株式会社 | オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体 |
| US6154777A (en) * | 1996-07-01 | 2000-11-28 | Sun Microsystems, Inc. | System for context-dependent name resolution |
| US6104874A (en) * | 1996-10-15 | 2000-08-15 | International Business Machines Corporation | Object oriented framework mechanism for order processing including pre-defined extensible classes for defining an order processing environment |
| US6335972B1 (en) | 1997-05-23 | 2002-01-01 | International Business Machines Corporation | Framework-based cryptographic key recovery system |
| US6473893B1 (en) | 1997-05-30 | 2002-10-29 | International Business Machines Corporation | Information objects system, method, and computer program organization |
| US6320592B1 (en) | 1997-06-30 | 2001-11-20 | Sun Microsystems, Inc. | Method and apparatus for separating image data from a color system in image processing |
| US6269378B1 (en) * | 1998-12-23 | 2001-07-31 | Nortel Networks Limited | Method and apparatus for providing a name service with an apparently synchronous interface |
| US7080383B1 (en) * | 1999-01-29 | 2006-07-18 | Microsoft Corporation | System and method for extending functionality of a class object |
| US6895591B1 (en) | 1999-10-18 | 2005-05-17 | Unisys Corporation | Virtual file system and method |
| US6571252B1 (en) | 2000-04-12 | 2003-05-27 | International Business Machines Corporation | System and method for managing persistent objects using a database system |
| WO2001097486A2 (en) * | 2000-06-09 | 2001-12-20 | Brown Charles P | Method and system for protecting domain names |
| US6986123B2 (en) * | 2002-06-28 | 2006-01-10 | Microsoft Corporation | Extensible on-demand property system |
| US8037039B2 (en) * | 2007-04-20 | 2011-10-11 | Microsoft Corporation | Runtime class database operation |
| CN104951359A (zh) * | 2015-05-15 | 2015-09-30 | 广东小天才科技有限公司 | 一种对象重复利用的方法和装置 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0833862B2 (ja) * | 1989-10-23 | 1996-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | オブジエクト指向コンピユータ・システム |
| US5280610A (en) * | 1990-08-14 | 1994-01-18 | Digital Equipment Corporation | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications |
| AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
| US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
| US5327559A (en) * | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
| DE69228621T2 (de) * | 1991-02-25 | 1999-07-22 | Hewlett-Packard Co., Palo Alto, Calif. | Objektorientiertes verteiltes Rechnersystem |
| US5377350A (en) * | 1993-04-30 | 1994-12-27 | International Business Machines Corporation | System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages |
-
1993
- 1993-07-20 US US08/094,455 patent/US5581761A/en not_active Expired - Lifetime
-
1994
- 1994-05-23 EP EP94303658A patent/EP0636969B1/en not_active Expired - Lifetime
- 1994-05-23 DE DE69425093T patent/DE69425093T2/de not_active Expired - Fee Related
- 1994-07-08 JP JP6179713A patent/JPH0756736A/ja active Pending
-
2002
- 2002-08-27 JP JP2002246289A patent/JP2003122571A/ja active Pending
-
2006
- 2006-03-08 JP JP2006062402A patent/JP2006190328A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6792596B2 (en) | 2000-03-23 | 2004-09-14 | International Business Machines Corporation | Method and system for protecting resource central programs |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0636969B1 (en) | 2000-07-05 |
| EP0636969A3 (en) | 1995-02-15 |
| US5581761A (en) | 1996-12-03 |
| JP2006190328A (ja) | 2006-07-20 |
| EP0636969A2 (en) | 1995-02-01 |
| JP2003122571A (ja) | 2003-04-25 |
| DE69425093T2 (de) | 2001-03-15 |
| DE69425093D1 (de) | 2000-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0756736A (ja) | オブジェクト指向システムのオブジェクトに拡張可能な補助サービス集合を提供する方法および安全なフリーズ・サービスを提供する方法 | |
| EP0636970B1 (en) | Methods and apparatus for naming security in an object-oriented system | |
| US5649194A (en) | Unification of directory service with file system services | |
| US6353892B2 (en) | Copy protection of digital images transmitted over networks | |
| JP3518958B2 (ja) | 拡張属性サポートを有する分散ファイル・システム・トランスレータ | |
| US5561799A (en) | Extensible file system which layers a new file system with an old file system to provide coherent file data | |
| CA2136402C (en) | Method and system for executing code remotely | |
| US6282652B1 (en) | System for separately designating security requirements for methods invoked on a computer | |
| EP0853279B1 (en) | Method and apparatus for controlling software access to system resources | |
| US6684230B1 (en) | System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium | |
| JPH09223116A (ja) | 複数ミドルウェアに渡る分散オブジェクトの位置透過性 | |
| US20040186859A1 (en) | File access based on file digests | |
| US6125373A (en) | Identifying a driver that is an owner of an active mount point | |
| JP2002505476A (ja) | スタックをベースとしたアクセス制御 | |
| Bakker et al. | The Globe distribution network | |
| CN109074450A (zh) | 威胁防御技术 | |
| US9122686B2 (en) | Naming service in a clustered environment | |
| US6961772B1 (en) | Transparent connection type binding by address range | |
| EP1001330A2 (en) | Method and system for copyright protection of digital images transmitted over networks | |
| Rimer | The secure file system under windows NT | |
| Nelson et al. | The Spring Name Service | |
| Kit | AppleTalk Filing Protocol Version 2.1 and 2.2 | |
| JPH0820997B2 (ja) | 分散された異種のデータ処理ネツトワーク及びネツトワークに格納されたパラメータの更新方法 |