JPH05274241A - オブジェクトの等価性を判定させる方法及びそのための装置 - Google Patents

オブジェクトの等価性を判定させる方法及びそのための装置

Info

Publication number
JPH05274241A
JPH05274241A JP4314218A JP31421892A JPH05274241A JP H05274241 A JPH05274241 A JP H05274241A JP 4314218 A JP4314218 A JP 4314218A JP 31421892 A JP31421892 A JP 31421892A JP H05274241 A JPH05274241 A JP H05274241A
Authority
JP
Japan
Prior art keywords
server
client
objects
processes
domain
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
JP4314218A
Other languages
English (en)
Inventor
Graham Hamilton
グラハム・ハミルトン
Michael L Powell
マイケル・エル・ポウェル
John Chapin
ジョン・チャピン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05274241A publication Critical patent/JPH05274241A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 オブジェクトとそのサーバの機密保護をそこ
なわずに、2つのオブジェクトが等価であるか否かをク
ライアントプロセスに判定させる。 【構成】 クライアント−サーバモデルに基づくオブジ
ェクト指向分散形システムにおいて、クライアントドメ
インと、サーバドメインと、オブジェクトは、第1のオ
ブジェクトに判定を実行するための第3のオブジェクト
を指定することを要求し、第2のオブジェクトにその指
名と同時進行することを要求しかつ指名された第3のオ
ブジェクトに判定を実行することを要求し、それによ
り、第1及び第2のオブジェクトと、第1及び第2のサ
ーバドメインの機密保護をそこなうことなく判定を実行
させることにより、クライアントドメインが第1のオブ
ジェクトと第2のオブジェクトは第1のサーバドメイン
と第2のサーバドメインにより実現されるか否かを判定
するように、改良方式で実現される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散形コンピュータシス
テム、クライアント−サーバ計算及びオブジェクト指向
プログラミングの分野に関する。特定すれば、クライア
ント−サーバモデルに基づく分散形コンピュータシステ
ムにおいてオブジェクト指向プログラミングを実現する
という用途に特に適用され、クライアントプロセスに2
つのオブジェクトが等価のオブジェクトであるか否かを
判定させる方法及び装置である。
【0002】
【従来の技術】オブジェクト指向システムでは、オブジ
ェクトはデータと、データを操作するために呼び出すこ
とができる演算とから構成されるコンポーネントであ
る。オブジェクトについて、演算はオブジェクトへ呼び
出しを送信することにより呼び出される。各オブジェク
トはオブジェクト型を有する。オブジェクト型は、その
特定のオブジェクト型のオブジェクトについて実行でき
るオブジェクト演算を定義する。オブジェクト演算はオ
ブジェクト自体とは関係なく実現される。加えて、1つ
のオブジェクト型が他のオブジェクト型に関して定義さ
れ且つ実現されるオブジェクト演算を受け継いでいるこ
ともある。オブジェクト指向デザイン及びプログラミン
グ技法の詳細については、B.MeyerのObjec
t−oriented Software Const
ruction(PrenticeHall,1988
年)を参照。
【0003】クライアント−サーバ計算では、通常、コ
ンピュータを接続するネットワークを介して互いに通信
できる1組のコンピュータがある。それらのコンピュー
タの一部は、他のコンピュータに機能性を提供する側と
して動作する。機能性を提供する側はサーバとして知ら
れており、機能性を消費する側はクライアントとして知
られている。ところが、クライアント−サーバモデルは
同一のコンピュータで別個のプログラムがランしている
ケースにも汎用化する。それらの別個のプログラムは保
護メカニズムを介して互いに通信し、機能性の提供側及
び消費側として動作する。クライアント−サーバ計算の
詳細については、J.K.Ousterhout他の
edusa:An experiment in di
stributed operating syste
m structure,Communication
s of the ACM23(2),1980年;
R.M.Needham及びA.J.Herbertの
The CambridgeDistributed
Computing System(Addison−
Wesley,1982年)及びJ.K.Ouster
hout他のTheSprite distribut
ed operating system,IEEE
Computer,1988年を参照。
【0004】クライアント−サーバモデルに基づくオブ
ジェクト指向分散形システムにおいては、通常、そのク
ライアントに対するオブジェクト指向インタフェースを
形成するサーバがある。すなわち、それらのサーバはデ
ータと、関連する演算とから構成されるオブジェクトを
支援する。クライアントはそれらのオブジェクトに対す
るアクセスを獲得し、オブジェクトに対する呼び出しを
実行できるであろう。それらの呼び出しはクライアント
からサーバへ伝送される。サーバでは、オブジェクトと
関連する演算を介して呼び出しを実行する。次に、それ
らの呼び出しの結果をクライアントに戻す。オブジェク
ト指向分散形システムのさらに詳細な説明については、
E.D.Lazowska他のThe Eden Sy
stem:A Technical Review,I
EEE Transactions on Softw
are Engineering SE−11(1),
1985年1月;Jul他のFine grained
mobility inthe Emerald S
ystem,ACM Transactionson
Computer Systems,6(1),198
8年;及びB.LiskovのDistributed
programming in Argus,Com
munications of the ACM,31
(3),1988年を参照。
【0005】通常、クライアントプログラムには特定の
オブジェクトを参照するためのオブジェクトハンドルが
与えられる。オブジェクトハンドルは、オブジェクトの
場所を捜し出し、そのオブジェクトに対して呼び出しを
実行する方法を提供する。システムによっては、クライ
アントが所定のオブジェクトに関わるオブジェクトをサ
ーバから又は既存のクライアントからのみ得ることがで
きるようにオブジェクトハンドルが設計されているもの
もある。サーバは有効なオブジェクトハンドルについて
発行される呼び出しを実行するのみであり、サーバはそ
れが検証したクライアントオブジェクトハンドルを発行
するのみであるように配慮し、それらのクライアントが
実際に基礎をなしているオブジェクトをアクセスするこ
とを許される。通常、1つのクライアントが安全なハン
ドルを有するならば、そのクライアントはそれが信頼す
る他のプログラムへこのハンドルを供給することができ
る。そこで、他のクライアントは第1のプログラムが有
していた下位に位置するオブジェクトに対する同一のア
クセスを共有する。安全ハンドルに基づく分散形システ
ムのさらに詳細な説明については、A.D.Birre
ll及びR.M.NeedhamのA Univers
al File Server,IEEETransa
ctions on Software Engine
ering,S−6(5),1980年及びS.J.M
ullender他のAmoeba−A Distri
buted Operating System fo
rthe 1990s,IEEE Computer,
23(5),1990年を参照。
【0006】クライアント−サーバモデル及び安全ハン
ドルに基づくオブジェクト指向分散形システムにおいて
は、1つのクライアントに2つのハンドルが与えられた
場合、クライアントはそれらのハンドルが共に同一の基
礎オブジェクトを参照するか否かを判定することを望む
であろう。たとえば、クライアントは関連オブジェクト
のグラフを巡って移動してゆくときにループ検出を実行
することを望むかもしれない。単純な解決方法は、クラ
イアントが2つのハンドルを比較するというものであ
る。ハンドルが同一であれば、オブジェクトは等価であ
る。残念ながら、そのような簡単すぎる等価性の概念は
現実には不満足である。通常は、多様な異なるハンドル
フォーマットを様々に異なる状況の中で使用できること
が望ましい。2つのハンドルが異なる値を有していて
も、実際には同一のオブジェクトを参照することもあり
うる。別の状況では、2つのハンドルが所定のサーバの
明確に異なるオブジェクトを参照するが、サーバはそれ
らの異なるオブジェクトを等価として扱うほうを好むと
いうことも考えられる。さらに別の状況では、2つのハ
ンドルは異なるサーバの異なるオブジェクトを参照する
が、それらの異なるサーバは協動するサーバであり、2
つのオブジェクトを等価として扱うほうを好むことも考
えられる。
【0007】オブジェクト等価の概念は、現実には、そ
れらのオブジェクトを実現するサーバによってのみ真偽
を判定できる意味論に基づく概念である。クライアント
によっても、また、オブジェクト呼び出し・搬送メカニ
ズムによっても、明確な返答を得ることはできない。1
つのサーバが異なる状況で適用されるべき「ループ検出
等価」、「厳密等価」、「局所性等価」などのいくつか
の異なる等価の概念を支援することもありうるだろう。
【0008】たとえば、ネームサーバを実現するオブジ
ェクトの集合体を考える。それらのネームサーバは有向
グラフに収集される。異なるクライアントは特定のネー
ムサーバに対する異なるアクセス権利を有する。そこ
で、異なるクライアントは、同一の基礎状態に対する異
なるアクセスを封じ込んでいる異なるオブジェクトにつ
いてのハンドルを与えられる。ネームサーバの一部はい
くつかの異なるホストにおいてランする複製サービスと
して存在するかもしれない。従って、異なるクライアン
トはレプリカセットの異なるサーバに対してそれらのク
ライアントを参照するハンドルを有するであろう。しか
しながら、ループ検出を目的とするときには、異なるレ
プリカ、すなわち、特定の1つのネームサーバに対する
異なるアクセス権利を「同一の」オブジェクトを表わす
ものとして扱うことが望ましいであろう。
【0009】そのため、2つのオブジェクトが等価であ
るか否かをそれらのハンドルに基づいて判定するときに
実現化サーバを取り込むことが望ましい。最も容易なメ
カニズムは、別のサーバにより実現されるオブジェクト
のハンドルを含めて、サーバに双方のハンドルを与える
というものであろう。不幸にして、非集中分散形システ
ムにおいては致命的な問題が起こる。2つのハンドルの
一方が実際には保護資源に対する特権アクセスを許可す
るハンドルであるということもありうる。すなわち、ハ
ンドルはそのハンドルを所有しているだけで権利が許可
されるような1つの能力として作用していると考えるこ
とができる。その場合、オブジェクトと、そのサーバの
機密保護は悪意あるクライアントによってそこなわれて
しまうであろう。
【0010】
【発明が解決しようとする課題】以下に説明する通り、
本発明は従来の技術の欠点を克服し、オブジェクトとそ
のサーバの機密保護をそこなわずに、2つのオブジェク
トが等価であるか否かをクライアントプロセスに安全に
判定させる方法及び装置を提供する。
【0011】
【課題を解決するための手段】クライアント−サーバモ
デルに基づく分散形コンピュータシステムにおいてオブ
ジェクト指向プログラミングを実現するという用途に特
に適用され、クライアントプロセスに2つのオブジェク
トが等価のオブジェクトであるか否かを安全に判定させ
る方法及び装置を開示する。この方法及び装置によれ
ば、クライアントプロセスは、第1及び第2のオブジェ
クトと、第1及び第2のサーバプロセスの機密保護をそ
こなわずに、第1のサーバプロセスと第2のサーバプロ
セスによりそれぞれ実現される第1のオブジェクトと第
2のオブジェクトが等価のオブジェクトであるか否かを
安全に判定できる。
【0012】本発明においては、少なくとも1つのCP
Uを具備し、クライアントプロセスと、第1及び第2の
サーバプロセスとを実行するコンピュータシステムのネ
ットワークを提供する。それら第1及び第2のサーバプ
ロセスは第1及び第2のオブジェクトを操作するオブジ
ェクト指向インタフェースを実現しており、そして提供
する。クライアントプロセスは、まず、判定を実行する
ために第3のオブジェクトを指名することを第1のオブ
ジェクトに要求することにより、第1のオブジェクトと
第2のオブジェクトが等価のオブジェクトであるか否か
を判定する。指名を受信すると、クライアントプロセス
は第2のオブジェクトが指名と同時進行することを要求
する。第2のオブジェクトが同時進行したならば、クラ
イアントプロセスは第3のオブジェクトに判定を実行す
ることを要求し、2つのオブジェクトが等価のオブジェ
クトであるか否かを指示する判定結果を戻す。同時進行
でない場合には、クライアントプロセスは2つのオブジ
ェクトを不等価オブジェクトと考える。
【0013】好ましい実施例によれば、第1のサーバプ
ロセスは、クライアントプロセスの第1のオブジェクト
に対する指名要求に応答して、第3のオブジェクトを指
名する。同様に、第2のサーバプロセスは、クライアン
トプロセスの第2のオブジェクトに対する同時進行要求
に応答して、第3のオブジェクトの指名との同時進行又
は非同時進行を提供する。第1のサーバプロセスと第2
のサーバプロセスは同一のサーバプロセスであっても良
いし、あるいは互いに協動しあうサーバプロセスであっ
ても良い。
【0014】加えて、好ましい実施例では、第2のサー
バプロセスは第1のサーバプロセスと協調して、第3の
オブジェクトが同時進行以前に第1のサーバプロセスに
より実現することを確認するために検査する。第1のサ
ーバプロセスは、第2のサーバプロセスと協調して、第
3のオブジェクトが判定を実行する前に第1のオブジェ
クトと第2のオブジェクトが第1のサーバプロセスと第
2のサーバプロセスによりそれぞれ実現されることを確
認するために検査し、その判定の結果を戻す。第1のサ
ーバプロセスと第2のサーバプロセスは安全な方式で互
いに通信する。
【0015】さらに、好ましい実施例によれば、第1の
オブジェクト、第2のオブジェクト及び第3のオブジェ
クトは対応する第1、第2、第3のオブジェクトハンド
ルにより参照される。第1のサーバプロセスは第3のオ
ブジェクトハンドルをクライアントプロセスに戻すこと
により第3のオブジェクトを指名する。クライアントプ
ロセスは戻された第3のオブジェクトハンドルを第2の
サーバプロセスへ転送することにより同時進行を要求す
ると共に、第1及び第2のオブジェクトハンドルを第3
のオブジェクトへ転送することにより判定を要求する。
本発明の特徴及び利点は、図面に関連する本発明の好ま
しい実施例の以下の詳細な説明から明白であろう。
【0016】〔表記法及び用語〕以下の詳細な説明の大
部分はコンピュータのネットワークにおいて実行される
プログラム手続きに関して提示される。そのような手続
きの説明や表示は、当該分野の当業者がその作業の内容
を他の当業者に最も有効に伝達するために使用する手段
である。ここでは、また、一般的にも、手続きは所望の
結果に至る首尾一貫したステップのシーケンスであると
考えられている。それらのステップは物理的量の物理的
操作を要求するステップである。通常、それらの量は記
憶、転送、組合わせ、比較及びその他の方法による操作
が可能な電気信号又は磁気信号の形態をとるが、必ずそ
うであるとは限らない。時によっては、主に一般に使用
されている用語であるという理由により、それらの信号
をビット、値、要素、記号、オブジェクト、文字、項、
数などと呼ぶと好都合であることがわかる。ただし、そ
のような用語及びそれに類する用語は全て適切な物理的
量と関連させるべきものであり、単にそれらの量に便宜
上付されたラベルであるにすぎないということを忘れて
はならない。
【0017】さらに、実行される操作を、一般にはオペ
レータが実行する知的動作と関連している加算又は比較
などの用語で呼ぶことが多い。本発明の一部を成す、こ
こで説明する動作のいずれにおいても、オペレータのそ
のような能力は不要であり、多くの場合に望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様な装置がある。いずれの場合にも、コンピュータ
を動作させるときの方法動作と、計算自体の方法との明
確な区別に留意すべきである。本発明は、電気信号又は
他の物理的信号を処理して、他の所望の物理的信号を発
生するに際してコンピュータを動作させる方法ステップ
に関する。
【0018】本発明は、それらの動作を実行する装置に
も関する。この装置は要求された目的に合わせて特別に
構成されても良いが、汎用コンピュータに記憶させたコ
ンピュータプログラムによりコンピュータを選択的に起
動又は再構成しても良い。ここで提示する手続きは何ら
かの特定のコンピュータ又は他の装置に専ら関連してい
るというのではない。詳細にいえば、ここで示す教示に
従って書込んだ手続きと共に様々な汎用機械を使用でき
るであろうし、あるいは、要求される方法ステップを実
行するためには、より特殊化した装置を構成するほうが
より好都合であると判明するかもしれない。それらの多
様な機械について要求される構造は以下の説明から明白
になるであろう。
【0019】
【実施例】クライアント−サーバモデルに基づく分散形
コンピュータシステムにおいて、2つのオブジェクトが
等価のオブジェクトであるか否かをクライアントプロセ
スに安全に判定させる方法及び装置を開示する。この方
法及び装置はオブジェクト指向プログラミングの実現に
特に適用される。以下の説明中、本発明を完全に理解さ
せるために、説明の便宜上、特定の数、材料及び構成を
挙げるが、それらの特定の詳細な事項がなくとも本発明
を実施しうることは当業者には明白であろう。また、場
合によっては、本発明を無用にわかりにくくしないため
に、周知のシステムを概略図又はブロック線図の形態で
示すことがある。
【0020】そこで、図1を参照すると、ハードウェア
素子により編成される本発明の教示を取り入れたコンピ
ュータシステムのネットワークの物理的な面を表わすブ
ロック線図が示されている。コンピュータシステムのネ
ットワーク10は少なくとも1つのコンピュータシステ
ム12a又は12bを含む。2つ以上のコンピュータシ
ステム12a及び12bを採用する場合、コンピュータ
システム12a及び12bは互いにネットワーク22を
介して結合される。それぞれのコンピュータシステム1
2a又は12bは中央処理装置(CPU)14a又は1
4bと、メモリ装置16a又は16bと、大容量記憶装
置18a又は18bと、入出力(I/O)装置20a又
は20bとを具備する。それぞれのコンピュータシステ
ム12a又は12bにおけるこれらのハードウェア素子
の速度、大きさなどの特性は互いに異なっていても良
い。これらのハードウェア素子は、大半の汎用コンピュ
ータシステム及びほぼ全ての専用コンピュータシステム
で通常見られる素子である。実際、それぞれのコンピュ
ータシステム12a及び12bに含まれているいくつか
のハードウェア素子は、この広いカテゴリに含まれるデ
ータ処理システムを代表するものである。これらのコン
ピュータシステム12a及び12bの役割を果たすのに
適するデータ処理システムの特定の例として、カリフォ
ルニア州マウンテンビューのSun Microsys
tems,Inc.製造によるコンピュータシステムが
ある。同様の能力を有する他のコンピュータシステムを
以下に説明する機能を実行するように簡単に適応させる
ことができるのは言うまでもない。
【0021】次に図2を参照すると、システムハードウ
ェアにより編成された図1に示すコンピュータシステム
の一方の論理的な面を表わすブロック線図が示されてい
る。システムソフトウェア30はオペレーティングシス
テム32と、ファイルシステム34と、少なくとも1つ
の言語コンパイラ36とを含む。コンピュータシステム
において実行されるアプリケーション38は、システム
ソフトウェア32〜36により提供される下位のシステ
ムサービスを利用する。それぞれのコンピュータシステ
ムで使用するシステムソフトウェアは、等価の機能を提
供するものであり且つ互いに通信することができるので
あれば、異なっていても良い。それらのシステムソフト
ウェア素子は、大半の汎用コンピュータシステム及びほ
ぼ全ての専用コンピュータシステムで通常見られるもの
である。実際、それぞれのコンピュータシステムに含ま
れているいくつかのソフトウェア素子はこの広いカテゴ
リに属するシステムソフトウェアを代表すべき素子であ
る。本発明で使用するコンピュータシステムのこれらの
システムソフトウェア30の役割を果たすのに適するシ
ステムソフトウェアの特定の例としては、UNIX(商
標)オペレーティングシステムと、そのファイルシステ
ム及びShellコマンド言語がある(UNIX(商
標)はUnix Laboratoryの登録商標であ
る)。同様の能力を有する他のシステムソフトウェアを
以下に説明する機能を実行するように簡単に適応させる
ことができるのは言うまでもない。
【0022】次に図3を参照すると、2つのオブジェク
トが等価であるか否かを判定しなければならない図1に
示すコンピュータシステムにおけるクライアントドメイ
ンの論理的な面を表わすブロック線図が示されている。
図3に示すように、クライアントドメインA42は2つ
のオブジェクトハンドルA32及びB54を有する。オ
ブジェクトハンドルA52及びB54は、クライアント
ドメインA42や他のクライアントドメイン(図示せ
ず)により使用すべき機能性を与えるために、サーバド
メインA44及びB46により実現されるオブジェクト
A48及びB50を参照する。
【0023】クライアントドメインA42と、サーバド
メインA44及びB46とはプロセス、すなわち、コン
ピュータプログラムの活動段階を実行している。それら
のドメインは互いに機密保護方式で通信することができ
る。それらは互いにより、また、他のドメイン(図示せ
ず)により隔離され且つ不当な妨害から保護される。ド
メインはコンピュータシステムの1つにあっても良く、
あるいは、図1に示すいくつかの異なるコンピュータシ
ステムにあっても良い。さらに、サーバドメインA44
及びB46は互いに協動しても良い。
【0024】オブジェクトA48及びB50は1つ又は
複数のアプリケーション及び/又はそのアプリケーショ
ンにより操作されるデータを表わす。オブジェクトA4
8及びB50はオブジェクトハンドルA52及びB54
によりそれぞれ参照される。クライアントドメインA4
2は、オブジェクトハンドルA52及びB54をサーバ
ドメインA44及びB46にそれぞれ供給することによ
り、オブジェクトA48及びB50をアクセスする。ク
ライアントドメインA42は何らかの特権ソースからオ
ブジェクトハンドルA48及びB50を獲得する。オブ
ジェクトハンドルA48及びB50は、それらをクライ
アントドメイン42により容易に偽造できないように、
さらに、それらの有効性をサーバドメイン44及び46
により容易に確定しうるように実現される。加えて、オ
ブジェクトA48及びB50は、サーバドメインをそれ
ぞれ実現するときにサーバドメインA44及びB46を
識別することができる。
【0025】これらのオブジェクトとクライアント/サ
ーバドメインは、クライアント−サーバモデル及び機密
保護ハンドルに基づく多くのオブジェクト指向分散形コ
ンピュータシステムにおいて見られる広範囲にわたるオ
ブジェクト及びクライアント−/サーバドメインを代表
すべきものである。実際、2つのオブジェクトハンドル
A52及びB54は単一のサーバドメインの中の2つの
異なるサーバオブジェクトを参照しても良い。すなわ
ち、サーバドメインA44及びB46は同一のサーバド
メインである。あるいは、「同一の」サーバオブジェク
トを参照しても良い。すなわち、オブジェクトA48及
びB50は同一のオブジェクトであり且つサーバドメイ
ンA44及びB46は同一のサーバドメインである。さ
らに、サーバドメインA44及びB46が同一のサーバ
ドメインであり、また、サーバドメインA/Bのオブジ
ェクトがサーバドメインA/Bにより実現される他のオ
ブジェクトのみと等価である場合、オブジェクトA48
及びB50はそれらが実現するサーバドメインを識別す
る能力なく実現されても良い。
【0026】サーバドメインの1例はファイルサーバで
あろう。例にとったファイルサーバにより実現されるオ
ブジェクトの1例はファイルであろう。この例のファイ
ルを参照するオブジェクトハンドルの1例は、十分に広
い範囲から値を容易に推測できないように選択されてい
る秘密ファイル識別番号であろう。
【0027】そこで図4〜図6を参照すると、クライア
ントドメインに第1のオブジェクトと第2のオブジェク
トが等価であるか否かを判定させる本発明の方法を表わ
す3つのフローチャートが示されている。図4に示すよ
うに、ブロック62で、クライアントドメインは第1の
オブジェクトと第2のオブジェクトが等価であるか否か
を判定するための第3のオブジェクトを指名するために
第1のオブジェクトを要求する。ブロック64では、第
3のオブジェクトの指名を伴う応答をクライアントドメ
インに供給する。現時点で好ましい実施例においては、
第1のサーバドメイン(第1のオブジェクトのサーバド
メイン)は、第3のオブジェクトのオブジェクトハンド
ルを戻すことにより第3のオブジェクトの指名を伴って
応答する。さらに、第3のオブジェクトは第1のサーバ
ドメインにより実現されるオブジェクトである。加え
て、第1のサーバドメインが別のサーバドメインと協動
する場合、第3のオブジェクトはそれが実現するサーバ
ドメインとして第1のサーバドメインを識別することが
できるようにも実現される。
【0028】次に、ブロック66で、クライアントドメ
インは第3のオブジェクトの指名と同時に起こるように
第2のオブジェクトを要求する。現時点で好ましい実施
例においては、クライアントドメインは第2のオブジェ
クトに第3のオブジェクトのオブジェクトハンドルを提
供することにより第2のオブジェクトの同時進行を要求
する。
【0029】同様にブロック68では、同時進行応答又
は非同時進行応答をクライアントドメインの要求に提供
する。現時点で好ましい実施例においては、第2のサー
バドメイン(第2のオブジェクトのサーバドメイン)は
同時進行の場合は「TRUE」値、非同時進行の場合に
は「FALSE」値を提供する。第2のオブジェクトが
第3のオブジェクトの指名と同時に発生しない場合(ブ
ランチ70b)、クライアントドメインは2つのオブジ
ェクトを不等価であると考える。
【0030】これに対し、第2のオブジェクトが第3の
オブジェクトの指名と同時に進行する場合には、クライ
アントドメインは、ブロック72で、第3のオブジェク
トに判定を実行することを要求する。現時点で好ましい
実施例においては、第1のオブジェクトは、第1のオブ
ジェクトと第2のオブジェクトのオブジェクトハンドル
を第3のオブジェクトへ転送することにより、第3のオ
ブジェクトに判定を実行することを要求する。判定を実
行したならば、ブロック74で、第3のオブジェクトは
判定の結果を第1のオブジェクトに戻す。
【0031】図5は、同時進行応答又は非同時進行応答
をクライアントドメインに提供するステップ(図4の6
8を参照)をさらに示す。現時点で好ましい実施例にお
いては、第2のサーバドメインは、ブロック76で、第
3のオブジェクトが自ら実現されるか否かを判定するた
めの検査を実行する。第3のオブジェクトが第2のサー
バドメイン自体により実現される場合(ブランチ76
a)、先に説明した通り、ブロック86で、第2のサー
バドメインは第3のオブジェクトの指名と同時に「TR
UE」値をクライアントドメインに戻す。
【0032】第3のオブジェクトが第2のサーバドメイ
ンにより実現されない場合には、ブロック78で、第2
のサーバドメインは第3のオブジェクトを実現するサー
バドメインのアイデンティティ(すなわち、第1のサー
バドメイン)を第3のオブジェクトから獲得する。第3
のオブジェクトが第2のサーバドメインと協動しない実
現サーバドメイン(すなわち、第1のサーバドメイン)
を識別する場合(ブランチ80b)、先に説明したよう
に、ブロック88で第2のサーバドメインは第3のオブ
ジェクトの指名と同時ではなく、「FALSE」値をク
ライアントドメインに戻す。
【0033】第3のオブジェクトが第2のサーバドメイ
ンと協動する実現サーバドメイン(すなわち、第1のサ
ーバドメイン)を識別する場合(ブランチ80a)に
は、第2のサーバドメインは第3のオブジェクトが実際
に識別されたサーバドメイン(すなわち、第1のサーバ
ドメイン)により実現されることを確認するように実現
サーバドメイン(すなわち、第1のサーバドメイン)に
要求する。確認した場合(ブランチ84a)、先に説明
したように、ブロック86で、第2のサーバドメインは
第3のオブジェクトの指名と同時に「TRUE」値をク
ライアントドメインに戻す。確認しなかった場合(ブラ
ンチ84b)には、先に説明したように、ブロック88
で、第2のサーバドメインは第3のオブジェクトの指名
と同時にではなく、「FALSE」値をクライアントド
メインに戻す。
【0034】図6は、2つのオブジェクトが等価である
か否かを判定し、その判定結果をクライアントドメイン
に提供するステップ(図4の74を参照)をさらに示
す。現時点で好ましい実施例においては、第1のサーバ
ドメインは、ブロック90で、第2のオブジェクト並び
に第1のオブジェクトが自ら実現されるか否かを判定す
るための検査を実行する。双方のオブジェクトが第1の
サーバドメイン自体により実現される場合(ブランチ9
0a)、先に説明したように、ブロック100で、第1
のサーバドメインは第1のオブジェクトと第2のオブジ
ェクトが等価であるか否かを判定し、それに従って判定
の結果をブロック102又は104で戻す。
【0035】第2のオブジェクトが第1のサーバドメイ
ンにより実現されない場合(ブランチ90b)には、第
1のサーバドメインは、ブロック92で、第2のオブジ
ェクトの実現化サーバドメインのアイデンティティ(す
なわち、第2のサーバドメイン)を第2のオブジェクト
から獲得する。第2のオブジェクトが第1のサーバドメ
インと協動しない実現サーバドメイン(すなわち、第2
のサーバドメイン)を識別する場合(ブランチ94
b)、ブロック104で、第2のサーバドメインは不等
価の判定結果を戻す。
【0036】第2のオブジェクトが第1のサーバドメイ
ンと協動する実現化サーバドメイン(すなわち、第2の
サーバドメイン)を識別する場合(ブランチ94a)に
は、第1のサーバドメインは第2のオブジェクトが実際
に識別されたサーバドメイン(すなわち、第2のサーバ
ドメイン)により実現されることを確認するように実現
化サーバドメイン(すなわち、第2のサーバドメイン)
に要求し、等価性判定を実行するために必要な情報を提
供する。確認し、必要な情報を受信したとき(ブランチ
98a)、先に説明したように、ブロック100で第1
のサーバドメインは等価性判定を実行し、それに従って
ブロック102又は104でその判定の結果をクライア
ントドメインに戻す。確認しなかった場合(ブランチ9
8b)には、ブロック104で第1のサーバドメインは
不等価の判定結果を戻す。
【0037】本発明を現時点で好ましい実施例に関連し
て説明したが、本発明が上述の実施例に限定されないこ
とは当業者には認められるであろう。本発明の方法及び
装置は特許請求の範囲の趣旨の中で変形及び変更を伴っ
て実施可能である。従って、以上の説明は本発明を限定
するのではなく、単なる例としてみなされるべきであ
る。
【図面の簡単な説明】
【図1】本発明の教示を取り入れたコンピュータシステ
ムのネットワークのハードウェア素子の物理図。
【図2】図1に示すコンピュータシステムの一方のソフ
トウェア素子の論理図。
【図3】2つのオブジェクトが等価であるか否かを判定
しなければならない図1に示すコンピュータシステムの
クライアントドメインの別の論理図。
【図4】クライアントドメインに2つのオブジェクトが
等価であるか否かを判定させるための本発明の方法を示
すフローチャート。
【図5】クライアントドメインに2つのオブジェクトが
等価であるか否かを判定させるための本発明の方法を示
すフローチャート。
【図6】クライアントドメインに2つのオブジェクトが
等価であるか否かを判定させるための本発明の方法を示
すフローチャート。
【符号の説明】
10 コンピュータシステムのネットワーク 12a,12b コンピュータシステム 14a,14b 中央処理装置(CPU) 16a,16b メモリ装置 18a,18b 大容量記憶装置 20a,20b 入出力(I/O)装置 22 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・エル・ポウェル アメリカ合衆国 94301 カリフォルニア 州・パロ アルト・エマーソン ストリー ト・2305 (72)発明者 ジョン・チャピン アメリカ合衆国 94303 カリフォルニア 州・イースト パロ アルト・ナンバー 18・ニューオール ロード・30

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のクライアント及びサーバプロセス
    を実行する少なくとも1つの中央処理装置(CPU)を
    具備し、前記プロセスと、それらのプロセスにより操作
    されるデータとはオブジェクトとして実現されるような
    コンピュータシステムのネットワークで、第1のサーバ
    プロセスと第2のサーバプロセスによりそれぞれ支援さ
    れる第1のオブジェクトと第2のオブジェクトが等価の
    オブジェクトであるか否かを、前記第1及び第2のオブ
    ジェクトと、前記第1及び第2のサーバプロセスの機密
    保護をそこなわずにクライアントプロセスに安全に判定
    させる方法において、 a)前記クライアントプロセスにより前記クライアント
    プロセスに関わる判定を実行するために第3のオブジェ
    クトを指名することを前記第1のオブジェクトに要求す
    る過程と; b)前記指名をもって前記クライアントプロセスに応答
    する過程と; c)前記クライアントプロセスにより前記第2のオブジ
    ェクトに前記指名と同時進行することを要求する過程
    と; d)同時進行か非同時進行のいずれか一方を前記クライ
    アントプロセスに応答する過程とから成る方法。
  2. 【請求項2】 複数のクライアント及びサーバプロセス
    を実行する少なくとも1つの中央処理装置(CPU)を
    具備し、前記プロセスと、それらのプロセスにより操作
    されるデータとはオブジェクトとして実現されるような
    コンピュータシステムのネットワークで、第1のサーバ
    プロセスと第2のサーバプロセスによりそれぞれ支援さ
    れる第1のオブジェクトと第2のオブジェクトが等価の
    オブジェクトであるか否かを、前記第1及び第2のオブ
    ジェクトと、前記第1及び第2のサーバプロセスの機密
    保護をそこなわずにクライアントプロセスに安全に判定
    する装置において、 a)前記クライアントプロセスを実行するクライアント
    CPUから構成され、前記クライアントプロセスに関わ
    る前記判定を実行するために第3のオブジェクトを指名
    することを前記第1のオブジェクトに要求し、前記第2
    のオブジェクトに前記指名と同時進行することを要求す
    ることで前記クライアントプロセスを容易にするクライ
    アント手段と; b)前記第1のクライアント手段に結合し、前記第1の
    サーバプロセスを実行し、前記第1のオブジェクトを操
    作し、前記指名をもって前記クライアントプロセスに応
    答するのを容易にする第1のサーバCPUから構成され
    る第1のサーバ手段と; c)前記第1のクライアント手段に結合し、前記第2の
    サーバプロセスを実行し、前記第2のオブジェクトを操
    作し、同時進行か非同時進行の一方を前記クライアント
    プロセスに応答するのを容易にする第2のサーバCPU
    から構成される第2のサーバ手段とを具備する装置。
  3. 【請求項3】 複数のクライアントプロセス及びサーバ
    プロセスを実行する中央処理装置(CPU)を具備し、
    前記プロセスと、前記プロセスにより操作されるデータ
    とはオブジェクトとして実現されるコンピュータシステ
    ムにおいて、前記クライアントプロセスは、前記サーバ
    プロセスのうち第1のサーバプロセスと第2のサーバプ
    ロセスによりそれぞれ支援される第1のオブジェクトと
    第2のオブジェクトが等価のオブジェクトであるか否か
    を、前記第1及び第2のオブジェクトと、前記第1及び
    第2のサーバプロセスの機密保護をそこなわずに安全に
    判定する方法を使用することを特徴とするコンピュータ
    システム。
  4. 【請求項4】 複数のクライアントプロセス及びサーバ
    プロセスを実行する複数の中央処理装置(CPU)を具
    備し、前記プロセスと、前記プロセスにより操作される
    データとはオブジェクトとして実現されるようなコンピ
    ュータシステムのネットワークにおいて、前記クライア
    ントプロセスは、前記サーバプロセスの中の第1のサー
    バプロセス及び第2のサーバプロセスによりそれぞれ支
    援される第1のオブジェクトと第2のオブジェクトが等
    価のオブジェクトであるか否かを、前記第1及び第2の
    オブジェクトと、前記第1及び第2のサーバプロセスの
    機密保護をそこなわずに安全に判定する方法を使用する
    ことを特徴とするコンピュータシステムのネットワー
    ク。
JP4314218A 1991-10-30 1992-10-30 オブジェクトの等価性を判定させる方法及びそのための装置 Pending JPH05274241A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/787,320 US5301316A (en) 1991-10-30 1991-10-30 System for determination of the equivalence of two objects without compromising then done by a third object nominated by one and accetped by the other
US787,320 1991-10-30

Publications (1)

Publication Number Publication Date
JPH05274241A true JPH05274241A (ja) 1993-10-22

Family

ID=25141111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4314218A Pending JPH05274241A (ja) 1991-10-30 1992-10-30 オブジェクトの等価性を判定させる方法及びそのための装置

Country Status (5)

Country Link
US (1) US5301316A (ja)
EP (1) EP0540166B1 (ja)
JP (1) JPH05274241A (ja)
KR (1) KR0139409B1 (ja)
DE (1) DE69229588T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007106955A (ja) * 2005-10-17 2007-04-26 Arakawa Chem Ind Co Ltd 環状オレフィン系樹脂基材表面保護用の活性エネルギー線硬化性樹脂組成物

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951300A (en) * 1997-03-10 1999-09-14 Health Hero Network Online system and method for providing composite entertainment and health information
US5481715A (en) * 1993-12-15 1996-01-02 Sun Microsystems, Inc. Method and apparatus for delegated communications in a computer system using trusted deputies
FR2714746B1 (fr) * 1993-12-31 1996-02-02 Bull Sa Procédé de simulation d'une architecture "serveur" à partir d'une architecture "client".
EP0684553B1 (en) * 1994-05-26 2004-06-16 Sun Microsystems, Inc. Method and apparatus for generating and using short operation identifiers in object oriented systems
WO1996032685A1 (en) * 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US5878428A (en) * 1995-11-20 1999-03-02 International Business Machines Corporation System, method, and article of manufacture for adding transactional recovery to a binary class in an object oriented system
US5867708A (en) * 1995-11-20 1999-02-02 International Business Machines Corporation System, method, and article of manufacture for adding concurrency to a binary class in an object oriented system
US5873092A (en) * 1995-12-14 1999-02-16 International Business Machines Corporation Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration
US5720036A (en) * 1996-01-05 1998-02-17 Network Imaging Corporation Enterprise multimedia data processing system and method using scalable object-based architecture
US5809506A (en) * 1996-01-22 1998-09-15 International Business Machines Corporation Method for creating an object base of persisent application objects in an object oriented programming environment and apparatus related thereto
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6281893B1 (en) * 1996-04-04 2001-08-28 Sun Microsystems, Inc. Method and apparatus for providing an object oriented approach to a device independent graphics control system
US5727145A (en) * 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
JPH11143840A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd 分散オブジェクトシステムおよびその方法
US6725373B2 (en) * 1998-03-25 2004-04-20 Intel Corporation Method and apparatus for verifying the integrity of digital objects using signed manifests
US6163859A (en) * 1998-12-02 2000-12-19 Support.Com, Inc. Software vault
US20050050482A1 (en) * 2003-08-25 2005-03-03 Keller S. Brandon System and method for determining applicable configuration information for use in analysis of a computer aided design
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
EP2701090A1 (en) * 2012-08-22 2014-02-26 Aahlstö OÜ Method and system for enforcing 3D restricted rights in a rapid manufacturing and prototyping environment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5142674A (en) * 1988-03-08 1992-08-25 International Business Machines Corporation Interchange object data base index which eliminates the need for private copies of interchange documents files by a plurality of application programs
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5202982A (en) * 1990-03-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for the naming of database component files to avoid duplication of files
US5204961A (en) * 1990-06-25 1993-04-20 Digital Equipment Corporation Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007106955A (ja) * 2005-10-17 2007-04-26 Arakawa Chem Ind Co Ltd 環状オレフィン系樹脂基材表面保護用の活性エネルギー線硬化性樹脂組成物

Also Published As

Publication number Publication date
US5301316A (en) 1994-04-05
EP0540166A2 (en) 1993-05-05
EP0540166A3 (en) 1993-06-09
KR930008650A (ko) 1993-05-21
EP0540166B1 (en) 1999-07-14
KR0139409B1 (ko) 1998-07-01
DE69229588T2 (de) 2000-02-03
DE69229588D1 (de) 1999-08-19

Similar Documents

Publication Publication Date Title
JPH05274241A (ja) オブジェクトの等価性を判定させる方法及びそのための装置
US5793965A (en) Method and apparatus for determining the type of an object in a distributed object system
Mullender et al. Amoeba: A distributed operating system for the 1990s
EP1027795B9 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US6151639A (en) System and method for remote object invocation
US6704803B2 (en) Method and system for distributing data events over an information bus
US6266716B1 (en) Method and system for controlling data acquisition over an information bus
AU742797B2 (en) Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
EP0737922B1 (en) Method and apparatus for managing computer processes
EP0803101B1 (en) A mechanism for linking together the files of emulated and host system for access by emulated system users
US6105049A (en) Resource lock/unlock capability in multithreaded computer environment
JP3696639B2 (ja) ディレクトリサービスのファイルシステムサービスとの統一
US6704804B1 (en) Method and system for communicating information among interactive applications
JPH06231029A (ja) データ処理装置およびデータ処理装置においてローカル・コンピュータから遠隔ファイルをアクセスする方法
US5581761A (en) Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system
EP0660234A2 (en) Method and system for executing code remotely
JPH07234846A (ja) 分散計算機システム
JP2002505476A (ja) スタックをベースとしたアクセス制御
JPH08115223A (ja) コンピュータで実施する方法及びデータ処理システム
KR20010050426A (ko) 멀티 스레드 컴퓨터 환경에서 멀티 프로세스간의커뮤니케이터 설정
US6237043B1 (en) System and method for adding highly optimized synchronization capability to objects at run-time
JPH0756866A (ja) トランザクションを管理する方法及び装置並びにコンピュータプログラム製品
US6769125B2 (en) Methods and apparatus for managing computer processes
US20030061398A1 (en) Method and system for retrieving data over an information bus
Kowalski et al. Protection in the BirliX operating system

Legal Events

Date Code Title Description
A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040528