JPH0675888A - 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置 - Google Patents

分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置

Info

Publication number
JPH0675888A
JPH0675888A JP3202700A JP20270091A JPH0675888A JP H0675888 A JPH0675888 A JP H0675888A JP 3202700 A JP3202700 A JP 3202700A JP 20270091 A JP20270091 A JP 20270091A JP H0675888 A JPH0675888 A JP H0675888A
Authority
JP
Japan
Prior art keywords
class
server
application
instance
platform
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.)
Granted
Application number
JP3202700A
Other languages
English (en)
Other versions
JPH0743686B2 (ja
Inventor
Jr Robert L Travis
エル トラヴィス ジュニア ロバート
Andrew P Wilson
ピー ウィルソン アンドリュー
Neal F Jacobson
エフ ジェイコブソン ニール
Michael J Renzullo
ジェイ レンズロー マイケル
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0675888A publication Critical patent/JPH0675888A/ja
Publication of JPH0743686B2 publication Critical patent/JPH0743686B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 (修正有) 【目的】サーバー・アプリケーションが同じ又は他のプ
ラットフォーム上のアプリケーションを効率よく呼び出
す。 【構成】クライアント・アプリケーションは共通の特徴
を共有するようクラス編成された複数のインスタンス、
及び確認されたインスタンスに対応するオペレーション
の種類を指定する複数のメッセージを有する。プラット
フォームが第1インスタンスについての識別子、及び所
望のオペレーションについての識別子を含む第1メッセ
ージをクライアント・アプリケーション内に生成し、第
1メッセージ及び第1インスタンスのクラスから、所望
のオペレーションを許す手順への参照を包含するような
識別子を決定し、第1インスタンスの識別子及び手順へ
の参照をサーバー・アプリケーションを内蔵するプラッ
トフォームの中のサーバー・プラットフォームへ送る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、不均一データ処
理回路網にわたるコンピューターアプリケーションの相
互作用に関する。特に、この発明は、オブジェクト指向
モデルに従うデータ処理回路網の組織と、その様な不均
一回路網環境にわたる独立のアプリケーション同士の相
互作用とに関する。
【0002】
【従来技術とその課題】コンピューターは、データ処理
回路網を介して相互に通信をする。コンピューター自体
は一般に「ノード」と呼ばれ、特定の形態のコンピュー
ター、即ち、特定の形態のオペレーティングシステムを
使う特定の形態のハードウェア、は「プラットフォー
ム」と呼ばれる。異なる種類のプラットフォームを包含
する回路網は「不均一回路網」と呼ばれる。プラットフ
ォームを接続して回路網にする一つの目的は、共用され
るデータに対してアプリケーションプログラム(簡単に
「アプリケーション」と呼ぶ)を実行する種々の環境を
提供することである。
【0003】典型的データ処理回路網では、異なる種類
のプラットフォームと、異なる種類のプラットフォーム
上で走るアプリケーションとがそれ自身に特有の方法で
情報を記憶する。例えば、VAX.VMSプラットフォ
ームではテキスト編集タスクはTPUテキスト編集プロ
グラムを使って達成され、MIPS.ULTRIXプラ
ットフォームでは、テキスト編集タスクはEMACSテ
キスト編集プログラムを使って達成されることが出来
る。両方のプラットフォームを持っている回路網のユー
ザーは、これらのプラットフォーム及びテキスト編集の
詳細を知る必要無しに、異なるテキスト編集プログラム
からのオペレーションを異なるプラットフォームに使用
しようと希望することが出来る。
【0004】この互換性は、以前は不可能であった。む
しろ、普通の回路網は、各アプリケーションが特別のプ
ラットフォーム上でのオペレーションのために必要とす
る特別のインターフェースを不均一回路網のユーザーが
採用することを必要とする。普通の回路網は、標準的イ
ンターフェースを使ってアプリケーション間で通信を行
う能力をユーザーに提供することが出来ない。
【0005】普通の不均一回路網環境でのアプリケーシ
ョン間通信の困難の例として、一プラットフォーム上の
テキスト編集アプリケーションのユーザーが、他のプラ
ットフォーム上の、科学論文のためのDIALOGや裁
判官の意見のためのLEXISなどの、多ユーザー・デ
ータベース検索サービスにアクセスすることを希望した
とする。普通の回路網上でそうするためには、テキスト
編集アプリケーションの動作を一時停止させなければな
らず、且つ、該データベース検索サービスに特有のコマ
ンド及びメッセージを使って該データベース検索サービ
スを呼び出さなければならない。ユーザーは、希望する
各サービスの特有の名称を知らなければならないだけで
なくて、回路網中の該サービスの位置も知らなければな
らず、且つ、各サービスが採用する種々のコマンド及び
コマンドフォーマットに精通していなければならない。
【0006】不均一な回路網において一プラットフォー
ム内のアプリケーションが異なるプラットフォーム上の
アプリケーションを効率的に且つ複雑でない方法で呼び
出せる様にするために、これまでは標準的インターフェ
ースは開発されていない。むしろ、普通のアプリケーシ
ョン間通信は、単に、アプリケーション同士の間でメッ
セージ及びデータを物理的に運ぶためのメカニズムを提
供するに過ぎない。
【0007】一プラットフォーム上のアプリケーション
が別のプラットフォーム上のアプリケーションと通信出
来る様にするために現在使われているメカニズムの一例
は、遠隔手続きコール(Remote Procedure Call(RPC と
略記する))システムである。一プラットフォーム上の
RPCシステムは、最初にそのアプリケーションのメッ
セージを回路網データフォーマットに変換し、次にその
変換した問いあわせを該回路網を介して受け取り側プラ
ットフォームに送ることによって、「呼出しを行ってい
る」アプリケーションからの問い合わせに応答する。受
け取り側プラットフォームにおいて、RPCシステムの
他の構成要素が、変換されたメッセージを解読して、呼
び出されたアプリケーションに受入れられるデータフォ
ーマットの問い合わせにする。しかし、呼出し側プラッ
トフォームからの元のメッセージは、呼び出されたアプ
リケーションにより述べられる構文と矛盾してはならな
い。
【0008】普通の回路網の他の難点は、遠くのノード
上のアプリケーションが現在ロードされ走っていないと
きに生じる。多くのRPCシステムは、既にロードされ
走っているアプリケーションの遠隔呼出しだけを可能に
するに過ぎない。若しそうでなければ、クライアント・
アプリケーションのユーザーは、遠隔のプラットフォー
ム上のサーバーアプリケーションを呼び出す前に該アプ
リケーションをロードする何らかの方法を発見しなけれ
ばならない。これは極めて限定的である可能性がある。
【0009】アプリケーション間通信を促進するための
汎回路網システムを実現するについての一つの障害は、
回路網内の種々のデータ、オペレーション、及びアプリ
ケーションの全てを扱うためにシステムに必要とされる
と考えられていたシステム資源の量の多さであった。回
路網が拡大するに従って、システム、資源、及び要件も
増大して、多くの提案された装置が全く扱いにくいもの
となる。
【0010】従って、アプリケーションのための均一で
一貫性のあるインターフェースを通すなどして、異種の
プラットフォーム上のアプリケーションが相互に通信す
るための効率的で単純な方法が必要である。分散不均一
環境におけるアプリケーションのための動的呼出し環境
も必要である。これは、ロードされ走っているアプリケ
ーションと同様に未だロードされ走ってはいないアプリ
ケーションも呼び出す能力を提供することを含む。
【0011】
【発明の概要】これらの必要を満たすために、本発明
は、データ自体を管理するのではなくてデータ・インス
タンス及びアプリケーションの「クラス」をシステムが
管理するオブジェクト指向的方法でプロセスの相互作用
に対処する。この様なクラスの管理は、該クラスにより
支援されるアプリケーション又はインスタンス(instan
ce) の或る共通の属性などの、該クラスについての情報
を包含するデータベースを必要とすることがある。
【0012】クライアント・アプリケーションは、パラ
メーターと共に、大域的に(即ち、回路網にわたって)
認識されるメッセージを送ることによって他のアプリケ
ーションを遠くから呼び出すことが出来る。メッセージ
の名称と、或るパラメーター及び或る優先順位情報(コ
ンテキスト情報と称する)のクラスに関する情報とを使
って、特別の方法への参照が該データベースから選択さ
れる。この方法は、該メッセージで指定されているオペ
レーションを行う。該データベース中の他の情報は、そ
のとき、参照された方法を実施する実際のコードの位置
を確認して実行するのに使われる。
【0013】詳しく言うと、複数のプラットフォームを
含むデータ処理回路網において、この発明に従ってクラ
イアント・アプリケーションによりサーバー・アプリケ
ーションを呼び出すプロセスは幾つかのステップを含む
が、該クライアント・アプリケーションは、該クライア
ント・アプリケーションにより操作又はアクセスされる
ことのあるアイテムである複数のインスタンスを包含
し、該インスタンスは、同じクラスの中のインスタンス
が共通の特徴を共有する様にクラスに編成され、更に該
クライアント・アプリケーションは、該クライアント・
アプリケーションについて確認されたインスタンスに対
して行われることの出来るオペレーションの種類を指定
する複数のメッセージを包含する。詳しく言うと、該プ
ロセスは、プラットフォームにより行われる次のステッ
プからなる、即ち、第1のインスタンスについての識別
子と、該第1インスタンスに対して行われるべき所望の
オペレーションについての識別子とを含む第1メッセー
ジを該クライアント・アプリケーション内に生成するス
テップと;該第1メッセージと、該第1インスタンスが
編入されているクラスとから第1の方法についての識別
子を決定するステップであって、該第1方法についての
識別子は、該サーバー・アプリケーションが該第1イン
スタンスに対して所望のオペレーションを行うのを許す
手順への参照を包含しているステップと;該第1インス
タンスについての該識別子と該手順への該参照とを、該
サーバー・アプリケーションを呼び出するための該サー
バー・アプリケーションを内蔵するプラットフォームの
サーバーの一つへ送るステップと、から成っている。
【0014】クライアント・アプリケーションによりサ
ーバー・アプリケーションをオブジェクト指向的に遠く
から呼び出せる様にするこの発明のデータ処理回路網
は、一義的に識別可能な複数のクラスについての情報を
含む複数のクラス項目を含むデータベースを内蔵する回
路網内のメモリーを備えており、該クラスはインスタン
スの種類を特定し、該インスタンスは、共有される特徴
に従って該アプリケーションにより操作又はアクセスさ
れることのあるアイテムであり、該クラス項目の各々は
メッセージ項目の対応するグループの識別を包含してお
り、該メッセージ項目は、対応するクラス内のインスタ
ンスに対して行われることの出来るオペレーションの種
類を指定する情報を包含しており、該クラス項目の各々
は、該アプリケーションを呼び出す呼出しコマンドへの
参照を内蔵する方法項目の対応するグループの識別を内
蔵しており;該データ処理回路網は、更に、該クライア
ント・アプリケーションを実行するための複数の第1プ
ラットフォームと該サーバー・アプリケーションを実行
するための複数の第2プラットフォームとを備えてい
る。該第1プラットフォームは、第1インスタンスにつ
いての識別子と、該第1インスタンスに対して行われる
べき所望のオペレーションについての識別子とを含む第
1メッセージを生成する手段と、該メモリーに接続され
て該データベースを制御するデータベース制御手段とを
包含する。該データベース制御手段は、該第1メッセー
ジの結果として呼び出されるべきサーバー・アプリケー
ションを選択する手段と、該第1インスタンスに対して
所望のオペレーションを行う選択されたサーバー・アプ
リケーションへの参照を含む第1方法についての識別子
を該第1メッセージと該第1インスタンスが編入されて
いるクラスとから決定する手段と、該第1インスタンス
についての該識別子を介して該選択されたサーバー・ア
プリケーションへの該参照を該第2プラットフォームの
中の選択された一つに送る手段とを含む。該第2プラッ
トフォームは、該データベース制御手段内の該送り手段
から該サーバー・アプリケーションについての該参照を
受け取る手段を含む。
【0015】この明細書に組み込まれてその一部を形成
する添付図面は、発明の具体例を示していて、説明と共
に発明の原理を説明する。
【0016】
【実施例】添付図面に示されている発明の好適な実施例
を詳しく参照する。この発明は、普通の回路網アーキテ
クチャに組織されたデータプロセッサにより好適に実施
される。しかし、協働的にアプリケーションを実施する
ためのアーキテクチャ及び手順は、該回路網内のアプリ
ケーション間の相互作用へのオブジェクト指向的アプロ
ーチに対処するものであるので、従来からある普通のも
のではない。 A.回路網の主要な構成要素 図1は、本発明を実施するのに使うことの出来る回路網
50を示す。図1において、回路網50は、回路網バス
55によって接続された3個の独立のプラットフォーム
100、200、及び300を包含する。プラットフォ
ーム100、200、及び300は完全に不均一である
として示されているけれども(即ち、プラットフォーム
100はVMSオペレーティングシステムを使用するV
AXプロセッサとして示されており、プラットフォーム
200はULTRIXオペレーティングシステムを使用
するMIPSプロセッサとして示されており、プラット
フォーム300はMS−DOSオペレーティングシステ
ムを使用する80286プロセッサとして示されてい
る)、この発明は均一回路網でも作用するものである。
また、プラットフォームの数は重要ではない。
【0017】回路網バス55の構成及びプロトコール
は、それがプラットフォーム100、200、及び30
0の間の情報の通信を考慮にいれる限りは、重要ではな
い。また、この特別の回路網アーキテクチャは、この発
明には充用でない。例えば、この発明に従って使用され
ることの出来る他の回路網アーキテクチャは、一つのプ
ラットフォームを、他のすべてのプラットフォームが接
続される回路網コントローラとして使用する。しかし、
図1に示されている回路網50は、本発明の利点を強化
するものと考えられる。
【0018】回路網50の好適な実施例では、プラット
フォーム100、200、及び300は、各々、中央処
理装置(CPU)110、210、及び310をそれぞ
れ包含すると共に、メモリー150、250、及び35
0をそれぞれ包含している。各中央処理装置110、2
10、及び310には、アプリケーション120、22
0、及び320、オペレーティングシステム(OP S
YS)140、240、及び340、及びアプリケーシ
ョン制御アーキテクチャ・サービス(ACAS)ソフト
ウェア構成要素130、230、及び330がそれぞれ
包含されている。
【0019】アプリケーション120、220、及び3
20は、本発明と協働するように前もって書かれて修正
され、又は本発明の与えるサービスを利用するように特
に書かれたプログラムであることが出来る。この解説の
目的のために、アプリケーションは、この発明に従って
行われるべきオペレーションを呼出し、或いは他のアプ
リケーションによる呼出しに応答する。
【0020】ACASソフトウェア構成要素130、2
30、及び330は、この発明のオブジェクト指向的ア
プローチを具体化するものである。好ましくは、ACA
Sソフトウェア構成要素130、230、及び330
は、詳しく後述する数個のソフトウェア・モジュールか
ら成る。オペレーティングシステム140、240、及
び340は、それぞれ、プラットフォーム100、20
0、及び300の対応するCPU110、210、及び
310に結び付けられている標準的オペレーティングシ
ステムである。
【0021】メモリー150、250、及び350は、
幾つかの機能に貢献する。その機能の一つは、勿論、随
伴するプラットフォームのために汎用記憶装置を提供す
ることである。他の機能は、アプリケーション120、
220、及び320と、ACASソフトウェア構成要素
130、230、及び330と、オペレーティングシス
テム140、240、及び340とを、それぞれのCP
U110、210、及び310によるそれらの実行に先
立って記憶することである。
【0022】また、メモリー150、250、及び35
0の一部分は、回路網50内のプラットフォーム10
0、200、及び300の全てにより共有され且つ直接
に又は間接的に利用されることの出来る、汎回路網、又
は「大域的な」、データベースについての情報を内蔵す
る。この大域データベースについて以下に詳細に説明す
る。 B.オブジェクト指向アーキテクチャの要素 (1) 要素の定義 オブジェクト指向的方法は、実際の実施からデータのイ
ンターフェースを分離するためにプログラミングにおい
て使用されてきているが、この様な方法は不均一回路網
には適用されていない。本発明では、オブジェクト指向
技術を使って実際のアプリケーション及びそのデータ
を、他のアプリケーションによるそのデータに対するオ
ペレーションの実施から分離する。
【0023】この発明のオブジェクト指向アーキテクチ
ャは、好ましくは、或るキー要素を包含する。図2は、
これらの要素の或るものと、アプリケーションの或る普
通の特徴との関係を説明する。図2に示されている様
に、アプリケーション260は2通りの方法で記述され
ることが出来る。第1に、そのアプリケーションは或る
アプリケーション定義265を持っている。例えば、ア
プリケーション260がワード処理プログラムであるな
らば、そのアプリケーション定義は、そのワード処理プ
ログラムが行うことの出来るオペレーションと、そのワ
ード処理システムが操作することの出来るデータの種類
についての定義を含むことが出来る。
【0024】また、アプリケーション260は、アプリ
ケーションデータ268を含む。アプリケーションデー
タ268は、アプリケーション260が操作するデータ
である。本発明に従って、該アプリケーションデータは
オブジェクト指向アーキテクチャによって「処理」され
ない。むしろ、本発明は、該アプリケーション定義及び
アプリケーションデータをオブジェクトの種類(この明
細書の残りの部分でオブジェクトと呼ばれている)に関
しての特徴付けを巡って組織される。オブジェクトは、
図2に示されてはいないが、図示の要素に浸透してい
る。
【0025】以下の議論において、「オブジェクト」と
いう用語は、幾つかの異なる種類の要素を一般的に指す
が、その全ては二つの特徴を共通に持っている。第1
に、それは外部能力を指し、オブジェクトが、アプリケ
ーション定義又はアプリケーションデータの、他のアプ
リケーションと共に伝えられる必要のある部分を指し又
は記述することを意味する。第2に、それは包括的で、
オブジェクトは全てのアプリケーションに対して利用可
能なものであって、その様なものとして普遍的に認識さ
れた独特の名称を、そのオブジェクトへのインターフェ
ースを有する全てのアプリケーションについて有するこ
とを意味する。本発明は、特別のデータ又はアプリケー
ションの取扱ではなくてオブジェクトの取扱に関わるも
のである。
【0026】図2に示されている様に、この発明のオブ
ジェクト指向アーキテクチャの二つの要素は、アプリケ
ーション定義265から開発される。一つはクラス27
0で、他方は方法280である。クラスは、クラスの名
称とクラスの特徴との両方が外部的で且つ包括的である
という意味でオブジェクトである。更に、クラスは、ア
プリケーションだけでなくて、該アプリケーションによ
り使われるデータをも記述する手段として使われること
が出来る。
【0027】また、そのアプリケーションによって行わ
れる或る種のオペレーションをアプリケーション定義2
65から得ることが出来、それは方法280の特別の例
である。しかし、特別の方法280は、該システムによ
って管理されることはなくて、クラスに編成されること
が出来る。該アプリケーションにより実行される特別の
コマンドやオペレーションがそうではなくても、これら
の方法についてのクラス(方法オブジェクトと呼ばれ
る)は包括的で且つ外部的である。
【0028】インスタンス290は、アプリケーション
データ268から得られたものであるが、アプリケーシ
ョンが操作し又はアクセスすることの出来る項目であ
る。インスタンスは、このアーキテクチャにより管理さ
れるオブジェクトではない。むしろ、インスタンスは、
同じクラス内のインスタンスが共通の特徴を共有するこ
ととなる様にクラスに編成される。例えば、特別のDE
Cwriteアプリケーションは、複合文書編集プログ
ラムであるが、MYFILEと呼ばれる特別のファイル
上で動作することが出来る。これは特別のファイルであ
って、ACASシステムによっては取り扱われない。む
しろ、MYFILEは、包括的で、従ってクラスオブジ
ェクトである例えばASCII FILE等の両立ファ
イルのクラスに属することが出来る。
【0029】また、特別のDECwriteアプリケー
ションも該システム全体によって管理されるものではな
い。しかし、この特別のDECwriteアプリケーシ
ョンは、包括的でクラスオブジェクトであるDECwr
iteと呼ばれるクラスに属することが出来る。図2か
ら分かる様に、アプリケーションが属するクラスによ
り、そのアプリケーションにおいて特別の方法を支援す
るクラス(方法オブジェクト)により、該方法オブジェ
クトが操作することの出来るクラスオブジェクトによっ
て、アプリケーションは特徴付けられることが出来る。
【0030】クラスの特徴の一つは、それらが階層的に
編成され得ることである。このことは、以下に詳しく説
明するけれども、上位クラス及び下位クラスの概念を考
察することにより前もって理解することの出来るもので
ある。上位クラスは、その下位クラスの親であり、各下
位クラスは少なくとも一つの上位クラスの子である。上
位クラス/下位クラスの関係は、上位クラスの属性又は
共有される特徴が下位クラスに受け継がれることを意味
する。例えば、DATA FILESのクラスは、属性
として、開かれ、読み出され、書き込まれることの出来
る能力を持つことが出来る。クラスDATA FILE
Sの二つの下位クラスはSEQUENTIAL FIL
ES及びRANDOM ACCESS FILESの下
位クラスである。開かれ、読み出され、書き込まれるこ
とが出来るという属性に加えて、下位クラスSEQUE
NTIAL FILESは、順次にアクセス可能である
という属性を持つことも出来、下位クラスRANDOM
ACCESS FILESは、アドレスにより直接ア
クセス可能であるという属性を持つことが出来る。
【0031】図2に反映されていない本発明のオブジェ
クト指向アーキテクチャの他の要素は、メッセージであ
る。メッセージは、アプリケーションプログラムと方法
との間のインターフェースであって、クライアント・ア
プリケーションで確認されるインスタンス上に行われる
ことの出来るオペレーションの種類を指定するために該
アプリケーションプログラムにおいて使用される。メッ
セージは、一般に、PRINTなどのオペレーション
と、数個のパラメーター(これはインスタンス、ストリ
ング、番号、等々であることが出来る)とのセレクター
の形を取る。これらの要素間の関係を次の節で説明す
る。 (2) 要素の関係 図3は、前述した種々の要素の関係を示す図である。図
3が示す様に、各インスタンス370にクラス380が
随伴している。これを理解する他の道は、クラス380
を、そのクラスでの目的の創作(これはインスタンスで
あることが出来る)と、そのオブジェクトの操作とのた
めの「テンプレート」と見なすことである。「テンプレ
ート」という用語は、オブジェクト(それがデータ項
目、方法、又はアプリケーションであるとしても)が各
クラスにおいて、そのクラスにより決まる或る特徴又は
属性を共有することを意味する。
【0032】インスタンス370は、メッセージ360
を送ることによって操作される。メッセージ360は、
EDIT、READ又はPRINTなどの動作である。
メッセージはクラスにより「支援される」と言われる
が、それは、メッセージの解釈が、そのメッセージ内の
インスタンスが属するところのクラスに依存するという
ことを意味する。例えば、若しインスタンスがクラスC
OLOR GRAPHICS内のカラーグラフイックス
ファイルではなくてクラスTEXT FILE内のテキ
ストファイルであるならば、PRINTメッセージは別
様に解釈されることがある。
【0033】メッセージ360は、特定のオペレーショ
ンの実施を説明せず、単に特定のオペレーションの実施
へのインターフェースを表すに過ぎない。よって、特定
のメッセージ360が要求している特定のオペレーショ
ン(即ち、方法)を発見するためには、該メッセージだ
けではなくて、該インスタンスのクラスをも検査しなけ
ればならない。特別の動作を起こさせるためには、メッ
セージ360を実際の実行可能なプログラムコードにマ
ッピングしなければならない。このマッピングは、特定
のインスタンス370の特定のクラス380に対応する
特定のメッセージ360を発見し、次に該クラス380
により支援されるメッセージ360に対応する特定の方
法390を発見することによって行われる。該方法39
0は、該インスタンス370上のメッセージ360の所
望のオペレーションを実施する実際の実行可能なプログ
ラムコードを表す。 (3) 編 成 図4は、種々のオブジェクト指向アーキテクチャ要素
を、メモリーにおけるその特別の表示に先立って編成す
る方法を示す。図4から明らかな様に、クラスと方法と
の間には複雑な関係がある。アプリケーション間に存在
しなければならない挙動に関する関係を反映するのに必
要なオブジェクト指向アプローチを実現するために、好
適な実施例では方法及びクラスの両方のために階層が使
用される。しかし、与えられた特別の例は単なる説明の
ためのものであって、これらのクラス及び方法について
の他の種類の表示は当業者には明らかであろう。
【0034】図4に示されている図では、本質的に2分
岐の階層がある。一つは方法オブジェクト400という
見出しが付され、他方にはクラス450という見出しが
付されている。該分岐、階層は、受け継がれるものによ
り異なる。クラス階層では、受け継がれるものは、メッ
セージを包含するので、挙動についてのものである。方
法階層では、受け継がれるのは属性についてのものだけ
である。クラス階層と方法階層との間の橋は、メッセー
ジ490及び495などのメッセージと、マップ493
及び398などの方法マップとを経由する。図4に示さ
れている方法階層では、方法階層410、415、及び
420は、それぞれWORD CUT MS−DO
S、WORD READ VMS、及びWORD
READ ULTRIXとして表されているが、方
法オブジェクト400から受け継ぐ。例えば、図4で
は、方法オブジェクト400は、該方法を指示し、或る
相互作用タイプを使用し、或るサーバー始動タイプを有
する属性(図示せず)を持つことが出来る。
【0035】方法オブジェクト410は、EMACSア
プリケーションにおいてCUT機能を代表する。方法4
10には、方法オブジェクト400から受け継がれたも
のを包含する属性430の組が付随している。簡単に言
うと、PlatformType属性は、該方法オブジ
ェクトをその上で実行出来るところのプラットフォーム
を示す。InteractionType属性は、特定
の方法サーバーの中で実行される方法の実際の種類を記
述する。以下に説明するこの属性についての値の例は、
BUILT IN、SCRIPT SERVER、及び
DYNAMIC LOADである。ServerStar
tupType属性は、該方法サーバーのために使われ
るべき適切な呼出しメカニズムを示す。この属性につい
ての値の例は(これについても後述する)、SHEL
L、DYNAMIC LOAD、及びNAMED AP
PLICATIONである。
【0036】属性430の組は、MS DOSオペレー
ティングシステム付きの80286プロセッサを有し、
BUILT IN、相互作用タイプ、及びNAMED
APPLICATIONサーバー始動タイプを有するプ
ラットフォーム上で付随の方法が作動することを示す。
同様に、方法オブジェクト415は、EMACSアプリ
ケーションにおいてREAD機能を代表する。方法41
5には属性435の組が付随しているが、これらの属性
は、方法オブジェクト400から受け継がれたものを含
んでいるけれども、これも、付随の方法がVMSオペレ
ーティングシステムを走らせるVAXプラットフォーム
上で動作し、BUILT INの相互作用タイプと、N
AMED APPLICATIONサーバー始動タイプと
を有することを示す。
【0037】方法オブジェクト420は、EMACSア
プリケーションにおけるREAD機能を表す方法オブジ
ェクト400の下位クラスである。方法クラス420に
ついて属性440は、BUILT IN相互作用タイ
プ、及びNAMED APPLICATIONサーバー
始動タイプでULTRIXオペレーティングシステムを
走らせるMIPSプロセッサ付きのプラットフォーム・
タイプを有する。
【0038】一方、クラス450は、FILESと呼ば
れるクラス460と、APPLICATIONSと呼ば
れるクラス465との上位クラスである。クラス460
はデータオブジェクトを参照する。図4に示されている
様に、クラス460は、属性(図示せず)を有し、クラ
ス470の上位クラスである。クラス470はASCI
FILEと呼ばれる。例えば、クラス470は、A
SCIIファイルの共通の特徴を持っている回路網50
(図1を見よ)内の全てのファイルを代表することが出
来る。この共通の特徴は、クラス470についての属性
において記述されることが出来るが、それは図4には示
されていない。
【0039】クラス470は、数個のインスタンスにつ
いてのクラスであるが、該インスタンスは、該オブジェ
クト指向アーキテクチャによって管理されるものではな
いので、図4には示されていない。図4に示されている
のは、クラス470が支援するメッセージであり、簡単
のために図示されている唯一のものはEDITメッセー
ジ490である。
【0040】クラス支援メッセージは、該メッセージが
このオブジェクト指向アーキテクチャへのインターフェ
ースとして使われるときには、それを支援するクラスと
共に、従ってそのクラスの中のインスタンスと共に、使
用されることが出来ることを意味する。よって、図4に
示されている例では、ASCII FILEクラス内の
全てのインスタンスにEDITメッセージを送ることが
出来る。
【0041】APPLICATIONSクラス465も
上位クラスであり、その下位クラスの一つ(EDITO
Rクラス475)が示されている。EDITORクラス
475は、WORD A、WORD B、又はWORD
Cに対応する、特別のアプリケーションクラス48
0、483及び485に対して上位クラスである。WO
RD Cなどの、該クラスの各々は、EMACS又はT
PU特別のアプリケーションを代表する。よって、各ア
プリケーションは1クラスにより定義される。しかし、
アプリケーション・クラスは、2アプリケーション以上
の実施挙動に言及することが出来る。
【0042】アプリケーション・クラスはメッセージも
支援するが、それは、メッセージCUT495がアプリ
ケーション・クラス485に支援されていることで示さ
れている。これは、クラス定義の時に、クラス485に
より代表される如何なるアプリケーションもメッセージ
CUTを支援しなければならないことが決定されたとい
う事実を反映している。
【0043】簡単に上記した様に、好適な実施例では、
アプリケーションは、上位クラスと呼ばれる親クラス
と、下位クラスと呼ばれる子クラスとのあるクラスの階
層に編成される。図4において、クラス465は、ED
ITORと呼ばれる上位クラスである。この上位クラス
の全ての下位クラスは、該上位クラスの特定の独特の特
徴又は属性の同一の組を少なくとも持っている。図4に
おいて、上位クラス475EDITOR下位クラスは、
WORD A480、WORD B483、及びWOR
C485である。WORD AはTPUアプリケー
ションを表し、WORD B483は全てのLSEアプ
リケーションを表し、WORD C485は全てのEM
ACSアプリケーションを表す。これらの上位クラスの
各々は、上位クラス475から受け継いだ特徴及び属性
に加えて、それ自身の独特の特徴及び属性の組を持って
おり、その特徴及び属性は、上位クラス475EDIT
ORの中で下位クラスとして分離されることが可能とな
る様に異なっている。
【0044】この発明の好適な実施例では、受け継ぎの
特別の規則は、クラス間での多重受け継ぎを許す様にな
っている。これは、如何なる下位クラスも2以上の上位
クラスを持つことが出来ることを意味する。この種類の
受け継ぎは、定義時に曖昧さを作り出すかもしれないの
で、上位クラスは、潜在的な受け継ぎ矛盾を解決するた
めに定義時に「順序づけ」られると考えられる。例え
ば、後述する下位クラスの定義の時に、メッセージ又は
属性が、記録されている上位クラスの中の二つ以上にお
いて重複して定義されているために矛盾が生じたなら
ば、最高の順位のクラスにおいて定義されているメッセ
ージ又は属性が該下位クラスに受け継がれるものである
と見なされる。
【0045】前述した様に、方法オブジェクトとクラス
との間の関係は方法マップを経由するものである。図4
は、二つの方法マップ493及び498を示す。クラス
の各々はメッセージを有し、その各々は特別の方法マッ
プを指す。よって、方法マップ493にはEDITメッ
セージ490が随伴し、方法マップ498にはCUTメ
ッセージ495が随伴している。
【0046】好ましくは、方法マップは、メッセージに
随伴する方法オブジェクトの名称を含んでいる。方法マ
ップは、他のクラス及びメッセージの名称を内蔵するこ
とも出来る。よって、方法マップ493は、二つの方法
オブジェクトの名称を含んでいる。方法マップ493
は、方法オブジェクトWORD READ MIP
S.ULTRIX494(これは方法オブジェクト42
0の名称である)の名称と、方法オブジェクトWORD
READ VMS496(これは方法オブジェク
ト415の名称である)の名称とを包含している。
【0047】同様に、メッセージCUT495について
の方法マップ498は、名称WORD CUT 8
0286.MS−DOS499を内蔵するが、これは方
法オブジェクト410の名称である。この様にして、方
法マップ493及び498を使って、方法オブジェクト
410、415、及び420にそれぞれ対応する属性の
組430、435、及び440の位置を示すことが出来
る。この種の順位を使って方法の位置を示すやり方を以
下に詳細に説明する。 C.クラス・データベース構造 該回路網アーキテクチャのクラス及び方法オブジェクト
は、図5に示されているクラス・データベース500に
記憶される。クラス・データベース500は、回路網5
0により共有され使用されることの出来る相互に関連し
たデータ項目の非冗長集合体を表す。
【0048】図4において、クラス・データベース50
0は、図4に示されているのと類似した2種類のオブジ
ェクトから成っている。該オブジェクトは、クラス50
5又は方法549である。クラス505の各々は、対応
するクラスのインスタンスについての包括的外部表示に
対応する。例えば、図5において、クラスオブジェクト
ASCII FILE506は、クラスASCII
ILE506の特徴を有するインスタンスの組の全ての
構成員についての包括的外部表示に対応する。該特徴
は、属性510の対応する組によって表される。
【0049】好適な実施例では、クラス505に対応す
る属性510は、システム開発者又はユーザーが希望す
る随意の方法で使われる。例えば、ASCII FIL
E506についての属性511は、クラス506をディ
スプレイ上に表示するアイコン(icon)の名称を含
むことが出来る。クラス505の各々は、メッセージ5
20の組も支援する。メッセージは、「動詞」又はセレ
クターと呼ばれるCUT、READ又はEDITなどの
メッセージ名と、パラメーターとから成る。該パラメー
ターの各々は、名称と、タイプと、方向とから成る。そ
の名称は「タイプ分けされている」が、それは、その名
称が、例えば整数、文字又はストリングなどの特定のタ
イプのものであることを意味する。各パラメーターにつ
いて可能な方向は「イン(in)」、「アウト(ou
t)」及び「イン/アウト(in/out)」である。
メッセージ内のパラメーターが「イン」方向を持ってい
るとき、これは、そのパラメーターが、呼び出されるべ
き方法への入力であることを意味する(後述する)。メ
ッセージ内のパラメーターが「アウト」方向を持ってい
るとき、それは、該パラメーターが方法からの出力であ
ることを意味する。メッセージ内のパラメーターが「イ
ン/アウト」方向を持っているとき、それは、該パラメ
ーターが方法への入力及び方法からの出力の両方である
ことを意味する。
【0050】メッセージ520は、対応するクラス50
0により表されるインスタンスの各々が支援することの
出来る妥当なオペレーションについての表示である。例
えば、図5において、クラスオブジェクトASCII
FILE506は、メッセージ521及び525を含む
メッセージの組520を支援する。メッセージの組52
0内の特別のメッセージは、OPEN(PARA 1、
PARA 2...)521及びEDIT(PARA
1、PARA 2...)525である。例えば、メッ
セージEDIT(PARA 1)では、PARA 1は
「FileName:ストリング、イン/アウト」を表
すが、ここでFileNameはパラメーターの名称で
あり、ストリングはパラメーターのタイプであり、イン
/アウトはパラメーターの方向である。
【0051】メッセージ521及び525は、各々、そ
れぞれの方法マップ530及び540を指す。方法マッ
プ530及び540の各々は、クラス・データベース5
00内の対応する方法オブジェクトへの、又は他のクラ
ス及びメッセージの名称への、参照の組を内蔵する。例
えば、方法マップ530は、参照531及び533を内
蔵しており、その各々は、異なる方法オブジェクト(図
示せず)に対応する。方法マップ540も参照541及
び543を内蔵し、その各々は、クラス・データベース
500内の方法オブジェクト549の中の異なる一つ一
つに対応する。参照541についての対応する方法オブ
ジェクトは図5に示されている。この例の目的のため
に、図5は、方法マップ540上の参照543が方法オ
ブジェクト550(これはED READである)
を指すことを示す。
【0052】上述した様に、クラス・データベース50
0内の方法オブジェクト549も階層的に記憶される。
方法オブジェクト549の各々は、方法を行うことの出
来る実行可能なコードへの参照を表す。好適な実施例と
同様の回路網データ処理システムにおいては、方法オブ
ジェクト549の各々に随伴していて、各方法オブジェ
クトにより特定される機能を行うことの出来る実行可能
なコードの多くのインスタンスがあり得る。例えば、各
メモリー150、250及び350(図1)において、
方法オブジェクトED READ550に実行可能な
コードの設備が随伴することが出来、その実行可能なコ
ードの各々は方法オブジェクトED READ55
0NO機能をプラットフォーム100、200、及び3
00のそれぞれの一つに行うことが出来る。好適な実施
例によるシステムは、3個の実行可能なコードの間で選
択を行うプロセスを包含する。
【0053】クラスに随伴する属性510とは異なっ
て、方法オブジェクト549に随伴するクラス・データ
ベース500の方法属性560は、回路網中の、方法オ
ブジェクト550などの特定の方法オブジェクトに随伴
するインスタンスの位置を示して実行するのに使われ
る。簡単のために、図5は、クラス・データベース50
0内の方法属性561の唯一の組を示す。組561に
は、クラス・データベース500内の方法オブジェクト
549の中の方法オブジェクト550が随伴している。
組560内の方法属性の幾つかは、該システムのユーザ
ーによって任意に指定されて実行中に該システムにより
使用されることが出来るけれども、或る属性は、オペレ
ーションにとっては重大である。
【0054】図5に示されている様に、組561内の方
法属性は、PlatformType=80286.M
S−DOS.InteractionType=BUI
LT IN.及びServerStatupType=S
HELLを包含する。好適な実施例では、他に二つの方
法属性が方法属性の組561に含まれている。一つは、
指定された方法サーバーが始動されなければならない場
合に、それを始動させるために使われるべき呼出しスト
リングを定義するInvocationString属
性である。この属性の値は、第1属性で指定される特定
のプラットフォームについて適切な値でなければならな
い。例えば、PlatformType属性の値がMI
PS.ULTRIXで、SeverStartupTy
pe属性の値がSHELLであれば、この属性の値は適
切なULTRIXシェル・コマンドであるべきである。 D.情報の流れ この発明の好適な実施例の詳細を説明する前に、システ
ム全体における情報の流れについて図6を参照して説明
する。
【0055】図6は、図1に示されている回路網50の
種々の構成要素と、これらの構成要素の間を流れる情報
とを示す図600を包含している。図6のアプリケーシ
ョン610及び670は、各々、アプリケーション12
0、220、又は320のいずれか一つにそれぞれ対応
しており、ACASソフトウェア構成要素620及び6
60は、各々、ACASソフトウェア構成要素130、
230、又は330のいずれか一つに対応している。ク
ラス・データベース640及びコンテキストオブジェク
トデータベース630は、メモリー150、250、及
び350の中の1個以上に記憶される。
【0056】以下に詳しく説明する様に、アプリケーシ
ョン610(これは、「クライアント・アプリケーショ
ン」と称する)は、メッセージを送る。該メッセージ
は、クライアント・アプリケーション(又はその他のア
プリケーション)のインスタンスを識別するのに使われ
るメカニズムであるインスタンス・ハンドルを包含する
ことがある。該メッセージは、クライアント・プラット
フォーム内のソフトウェア構成要素620に受け取られ
る。
【0057】ACASソフトウェア構成要素620は、
メッセージと、該インスタンス・ハンドルが指している
インスタンスのクラスとの名称を使って、クラス・デー
タベース640内の方法マップを見つけだす。ACAS
ソフトウェア構成要素620は、コンテキストオブジェ
クトデータベース630からのコンテキスト情報を使っ
て、該方法マップから、実行されるべき方法を表す方法
識別子を選択することも出来る。該コンテキスト情報
は、選択された方法をその上で実行するべきプラットフ
ォーム(「サーバー・プラットフォーム」と称する)を
選択するためにも使われる。該コンテキスト情報につい
て以下に詳細に説明する。
【0058】ACASソフトウェア構成要素620は、
クラス・データベース640から検索された方法識別子
とインスタンス・ハンドルとをサーバー・プラットフォ
ーム内のACASソフトウェア構成要素660に送る。
その後、ACASソフトウェア構成要素660は、「サ
ーバー・アプリケーション」670を使って、識別され
た方法を実行するために適切なステップを行うか、或い
は、ACASソフトウェア構成要素660を内蔵するサ
ーバー・プラットフォームが要求に答えることが出来な
いことをACASソフトウェア構成要素620に知らせ
る。この後者の場合、ACASソフトウェア構成要素6
20は、該コンテキスト情報を検討して該回路網内の他
のプラットフォームをサーバー・プラットフォームとし
て選択するか、又は、その要求が成就しなかったことを
クライアントに知らせる。
【0059】図6において確認された方法の、サーバー
・アプリケーション670による実行が、クライアント
・アプリケーション610に戻されるべきメッセージを
発生させたならば、そのメッセージは、追加の情報と共
に、サーバー・アプリケーション670からサーバー・
プラットフォーム内のACASソフトウェア構成要素6
60に渡される。サーバー・プラットフォーム内のAC
ASソフトウェア構成要素660は、クライアント・プ
ラットフォーム内のACASソフトウェア構成要素62
0に応答を送り、これは、その応答を該クライアント・
プラットフォーム内のクライアント・アプリケーション
610へ中継する。
【0060】これらのトランザクションの全てについて
以下に詳細に説明する。 E.メモリー・システム (1) 大域クラス・データベース メモリー・システム700の全体の図が図7に示されて
いる。メモリー・システム700は、大域クラス・デー
タベース705と、局所クラス・データベース710、
730及び750とを包含している。後述する他の或る
情報を回路網のユーザーが利用できる様にするために、
汎回路網メモリー705も設けられている。
【0061】大域クラス・データベース705は、プラ
ットフォームがアクセス出来る情報を内蔵する。好まし
くは、大域クラス・データベース705は、プラットフ
ォームのメモリー全体に分散されている。例えば、図7
において、大域クラス・データベース705は、メモリ
ー150、250、及び350の各々の中に部分的に内
在するものとして示されている。大域クラス・データベ
ース705の残りの部分は、図7に示されていない他の
メモリーに内在する。大域クラス・データベース705
の内容は、図4及び5に関して既に説明した。
【0062】当業者は、図7に示されている分散メモリ
ー構成は本発明を実施するのに必要ではないことを理解
するであろう。例えば、本発明の原理に影響を与えず
に、大域クラス・データベース705の全体を単一ノー
ドのメモリーに又は専用のメモリーに記憶させることが
出来る。また、メモリー150、250、及び350の
各々は、局所クラス・データベース710、730、及
び750と共に、ノード・キャッシュ720、740、
及び760をそれぞれ有するものとして示されている。
局所クラス・データベースの情報は、対応するプラット
フォーム上のユーザーだけがアクセス可能である。ノー
ド・キャッシュ720、740、及び760は、大域ク
ラス・データベース705の、対応するプラットフォー
ムによって頻繁にアクセスされる部分のコピーを保持す
るのに使われる。
【0063】該大域クラス・データベース構造を具体化
するのに使われるデータベース・システムは、単一のデ
ータベースの中の名称の大域的独自性、データベースを
横断する識別子の独自性、アクセス制御メカニズム、及
び適切な記憶及び検索メカニズムを支援するべきであ
る。大域的な名称の独自性は、包括的(generi
c)であるので、オブジェクトにとって重要である。識
別子の独自性は、後述する様にデータベースを組み合わ
せることを可能にする。
【0064】該データベース・システムのアクセス制御
メカニズムは、該回路網内の随意のプラットフォーム上
の正当と認められたユーザーがオブジェクト及び属性を
記憶し且つ検索することを可能にするものでなければな
らず、且つ、大域クラス・データベース705の完全性
を危険に曝すことを防止するために予防制御(secu
rity control)及び構文チェックを提供し
なければならない。この制御の詳細の一部を以下に説明
する。残りは、周知のデータベース管理技術に関わるも
のである。
【0065】本実施例は、(オブジェクト名称と同じ
く)オブジェクトを指すのに使うことの出来るオブジェ
クト識別子を大域クラス・データベース705内の各オ
ブジェクトに割り当てることが出来ることを必要とす
る。オブジェクト識別子は、2進コードであるので、好
都合なことに言語中立でもある。オブジェクト識別子
は、「大域的に」承認された方式に基づいて割り当てら
れ、そして、何個のクラス・データベースにわたっても
独特である。一方、オブジェクト名称は、単一のクラス
・データベースの中だけで独特であれば良い。クラス名
称と識別子との差異は、例によって良く理解することが
出来る。二つの会社が、各々それ自身のクラス・データ
ベースを持っていて、これらのデータベースを合併させ
たいと希望しているとする。これらのデータベースは、
合併されたデータベース内では異なっているべき同一の
名称のクラスを持っていることがあり、その差異は、大
域的に独特の識別子を通して維持されることが出来る。
該データベースは、合併されたデータベース内では同一
であるべき異なった名称の二つのクラスも持っているこ
とがある。これらのクラスは、同じクラス識別子を有す
ることとなる様にセットされることが出来る。よって、
オブジェクト識別子は、大域クラス・データベース内の
同じクラスが2以上のクラス名称によって識別されるこ
とを許す。例えば、回路網内の大域クラス・データベー
ス内のクラス名称EDITORSは、クラス名称WPR
OCESSORSによっても識別される。
【0066】ACASソフトウェア構成要素130、2
30、及び330の各々にも含まれている他のソフトウ
ェア構成要素は、クラス・データベース内で使用され記
憶されるための独特のオブジェクト識別子を作り出すメ
カニズムを提供する。好ましくは、オブジェクト名称の
永続的記憶を必要とするアプリケーションにより採用さ
れる記憶方式は、多数の大域クラス・データベース間の
命名の矛盾を避けるために、オブジェクト名ではなくオ
ブジェクト識別子を記憶するべきである。
【0067】好都合なことにアプリケーションはそれ自
身のアプリケーション・インスタンス・データの組を完
全に管理するので、大域クラス・データベース705は
アプリケーション・インスタンス・データを記憶するよ
うにはなっていない。このために、既存のアプリケーシ
ョンは、その現在の記憶戦略を続けることが出来、新し
いアプリケーションのために利用可能な記憶オプション
は制限されない。
【0068】しかし、好適な実施例は、二つのメカニズ
ム、即ち記憶クラス及びインスタンス命名を提供し、こ
れにより、アプリケーションは、その専用のインスタン
スを、好適な実施例によって維持される大域クラス・デ
ータベース705に接続することが可能となる。記憶ク
ラスは、アプリケーションが専用のインスタンスの解釈
の仕方を指定することを可能にする抽象である。記憶ク
ラスは、インスタンスがメッセージにおいて使われると
きに各インスタンスのクラスを識別することの代わりと
なるものである。好適な実施例では、記憶クラスは、イ
ンスタンスの名称を内蔵するレポジタリー(repos
itories)又はファイルなどの記憶システムを特
定する。例えば、記憶クラスは、RMS FILEやU
NIX FILEなどの既知の記憶メカニズムを記述す
ることが出来る。
【0069】この発明のオブジェクト指向アーキテクチ
ャでは、記憶クラスはクラスであるとも見なされる。ク
ラス・データベースに記憶されている他のクラスと同じ
く、記憶クラスは、属性、メッセージ、及び方法から成
る実際のオブジェクト指向クラス定義と見ることの出来
るものである。各記憶クラスに随伴する方法は、そのイ
ンスタンスの記憶クラスにより識別される特定の記憶シ
ステムに随伴するインスタンスについてのクラス名を検
索するのに使われる。
【0070】他方のメカニズム、即ちインスタンス命
名、は好適な実施例においてインスタンスの命名のため
に標準を使用する。該標準インスタンス・ハンドルは、
以下の論理構造により表されるストリングである: <class><storage class><lo
cation><instance referenc
data> 「クラス」(class)という用語は、随伴するAC
ASクラスの名称である。「記憶クラス」(stora
ge class)という用語は、クラス名の代わりで
あって、記憶クラスの名称である。「位置」(loca
tion)という用語は、インスタンスの、ノードなど
の論理的位置である。「位置」は随意的であって、イン
スタンスがある位置と同じ位置で方法が走ることをクラ
イアントが希望する場合に使用されるものである。「イ
ンスタンス基準データ」(instance refe
rence data)という用語は、インスタンス・
ハンドルは、アプリケーション専用部分である。
【0071】インスタンス・ハンドルは、設備がインス
タンスを抽象的に指すことを可能にし、従ってインスタ
ンス自体を管理する必要が無い。インスタンス・ハンド
ルは、好都合なことには、クラス又は記憶クラス(必要
ならば)、インスタンスの位置、及び該インスタンスに
ついての識別子を含む。例えば、 EDIT(INSTANCE HANDLE) というメッセージにおいて、EDITは所望のオペレー
ションを表す。INSTANCE HANDLEストリ
ングは、ASCII FILE/NODE 1/MYF
ILE.TXTであることが出来る。このインスタンス
・ハンドルでは、ASCII FILEはクラスを表
し、NODE 1はインスタンスの位置であり、MYF
ILE.TXTは該インスタンスの識別子である。この
メッセージは、適切な方法マップを発見するのに充分な
クラス及びメッセージ情報を提供する。好適な実施例が
達成するのと同じ目的を達成するためにINSTANC
HANDLEストリングについて他のフォーマット
を使用することも出来ることは当業者には明らかであろ
う。
【0072】既に説明した様に、好適な実施例の大域ク
ラス・データベース内の全てのクラスは特定の大域クラ
ス・データベースと共に独特の名称を持っている。該ク
ラス名は、一般に、該クラスを最初に定義するユーザー
によって割り当てられる。 (2) 局所クラス・データベース 大域クラス・データベースに加えて、好適な実施例は、
クラス及び方法定義についての局所クラス・データベー
スも支援する。局所クラス・データベースは、局所クラ
ス・データベースの内容が大域的に利用可能ではないこ
とを除いて、大域クラス・データベースと同様に機能す
る。これらは、その局所ノードのために利用可能であれ
ばよい。よって、局所クラス・データベースを他の切に
分散させたり複写したりする必要はない。
【0073】図7は、それぞれメモリー150、25
0、及び350内における局所クラス・データベース7
10、730、及び750の好適な設備を示す。大域ク
ラス・データベース710、730、及び750は、該
大域クラス・データベースに未だ加えられていない対応
するノードにより作られるクラス及び方法を保持する。
好適な実施例では、メモリー150、250及び350
は、それぞれ、ノード・キャッシュ720、740及び
760も含んでおり、それは、大域クラス・データベー
ス705からロードされる方法及びクラス情報を保持す
る。キャッシュは、最適化であり、厳密に要求されるわ
けではない。
【0074】局所クラス・データベースを具体化するの
に使われるデータベース・システムは、単一のデータベ
ースの中で名称の独自性をもたらさなければならない。
局所クラス・データベースのためのアクセス制御は、デ
ータベース・レベルでのみ必要とされるに過ぎない。局
所クラス・データベースの好適な実施例は、該局所クラ
ス・データベースの内容へのアクセスを制御するために
該データベース・システムの中で下に位置する機密メカ
ニズム(security mechanism)に依
拠する。
【0075】局所クラス・データベースの使用は、大域
クラス・データベースの使用に比べて幾つかの利点をも
たらす。例えば、局所クラス・データベースは、回路網
が利用できないときでもオブジェクト指向的に相互に通
信し続ける能力を各ノード上のアプリケーションに与え
る。その様な場合、該ノード上のアプリケーションは、
そのノードに特有の他のアプリケーションを呼出し続け
ることが出来る。
【0076】また、多くの呼出しは、単一のプラットフ
ォームの範囲内で完全に操作されることが出来るので、
局所クラス・データベースを使えば、該局所クラス・デ
ータベースと同じノード内にあるアプリケーションのた
めに一層良好な動作が得られる。局所的に取り扱われる
ことの出来る呼出しを殆どのアプリケーションが使いそ
うなプラットフォームの上では、局所クラス・データベ
ースを使うと、呼出しを達成するために大域クラス・デ
ータベースにアクセスするなどの回路網の活動の必要が
無くなり、又は大いに減少する。
【0077】大域データベースを探索する前に局所デー
タベースを探索することにより、クラス・データベース
はクラス及び方法の情報について好都合に探索される。
各ノードの局所データベースは、後述する所定の順序で
好都合に探索される。所望の情報の位置が突き止められ
ると、直にその探索は停止する。所望の情報の位置が局
所データベース内に突き止められない場合に限って、大
域データベースが探索される。よって、該探索順序は、
クラス・データベースの「優先順位」を定義する。
【0078】図8は、局所クラス・データベース800
の一部の一つの設計を示す。しかし、この設計は、ハン
ドルにとって重大ではない。好ましくは、局所クラス・
データベースは800は、局所クラス・データベース8
00においてインデックス及び割り振りマップなどの、
組織に関する他の情報の位置を示すのに使われるデータ
ベース・ヘッダ−810を内蔵する。局所クラス・デー
タベース800は、クラス及び方法に関する情報を保持
する数個のブロック820、822、及び824を内蔵
するブロック記憶スペース815も包含する。
【0079】図9は、ブロック820、822、又は8
24であることの出来るブロック900の好都合な構成
を示す。ブロック900は、ブロック900の始めに位
置する、該ブロック内のオブジェクトの位置を特定する
登録簿910と、オブジェクト記憶部920とを包含す
る。登録簿910内の項目955及び965は、各々、
ブロック900のオブジェクト記憶部920内に位置す
る異なるオブジェクト950及び960に対応する。各
登録薄項目は、IDフィールド912についての値(こ
れは対応するオブジェクトを特定する)、OFFSET
フィールド915についての値(これは、ブロック90
0内の対応するオブジェクトの相対的位置を表す)、及
び、対応するオブジェクトに割り振られたブロック90
0の量を示すSIZEフィールド917についての値を
包含する。
【0080】オブジェクト950及び960は好都合な
ことには文字ストリングとして書式作成されるが、他の
技術を使うことも出来る。再び図8を参照すると、局所
クラス・データベース800は、好都合なことには、そ
の名称をオブジェクト識別子に相関させることによっ
て、オブジェクトを検索することを可能にするNAME
−TO−ID−INDEX830を包含する。
【0081】オブジェクト識別子は、ID TO BL
OCK NO.MAP840に含まれている。マップ8
40は、局所クラス・データベース800において識別
される各々の独自のオブジェクトについてのブロック番
号を提供する。局所クラス・データベース800内の残
りのフィールドは、BLOCK TABLE850であ
る。BLOCK TABLE850は、好都合なことに
は、ブロック820、822、及び824の位置と、局
所クラス・データベース800の中の利用可能なスペー
ス829の位置とを包含する。利用可能なスペース82
9は、局所クラス・データベース800により割り振ら
れたブロック記憶スペース815の未使用スペースであ
る。
【0082】局所クラス・データベース800からオブ
ジェクトを検索するために、そのオブジェクトについて
の名称がNAME−TO−ID−INDEX830にマ
ッピングされる。NAME−TO−INDEX830か
らの識別子情報は、ID−TO−BLOCK NO.M
AP840を使って適切なブロック番号へマッピングさ
れる。該マッピングは、所望のオブジェクトが現在ある
場所のブロック番号をもたらす。所望のオブジェクトを
伴うブロックの位置が示されると、オブジェクト登録簿
910を使ってそのオブジェクトが発見される(図
9)。 (3) ローダー/アンローダー 図10に示されている様に、好都合なことには、局所ク
ラス・データベース100、大域クラス・データベース
1020、及びノード・キャッシュ1030の間にLO
ADER/UNLOADERソフトウェア構成要素10
10が接続されている。LOADER/UNLOADE
Rソフトウェア構成要素1010は、ACASソフトウ
ェア構成要素130、230、及び330(図1)の一
部であり、局所データベース1020、ノード・キャッ
シュ1030、及び局所クラス・データベース1020
への、及びこれらからの、ACAS情報の転送を制御す
るために使われる。好適な実施例では、LOADER/
UNLOADERソフトウェア構成要素1010は、局
所クラス・データベース1000が情報を大域クラス・
データベース1020にロードし、ノード・キャッシュ
1030がクラス・データベース情報を大域クラス・デ
ータベース1020から検索することを可能にする。ロ
ード及びアンロードの際に、LOADER/UNLOA
DER構成要素1010は、好都合なことには記憶のた
めにメモリー150を使用する。
【0083】LOADER/UNLOADERソフトウ
ェア構成要素1010は、局所クラス・データベース1
000内のクラス情報を大域クラス・データベース10
20へ転送することを希望するユーザーにより作動させ
られる。この転送により、以前は該プラットフォームだ
けに対してアクセス可能であった情報に、大域クラス・
データベース1020を通じて全ての回路網ユーザーが
アクセス出来る様になる。局所クラス・データベース1
000からのクラス情報の、大域クラス・データベース
1020への転送は、好都合なことには、ASCIIフ
ォーマットのクラス及び方法オブジェクト定義をLOA
DER/UNLOADERソフトウェア構成要素101
0に送って大域クラス・データベースにロードさせるこ
とにより達成される。LOADER/UNLOADER
ソフトウェア構成要素1010は、好都合なことには、
局所クラス・データベースにより記憶されている言語定
義を分解するプロセスを実行し、それらの定義を適切な
ASCII表示に変換する。LOADER/UNLOA
DER1010は、大域クラス・データベースにより適
切なフォーマットで記憶されるべきこのASCII表示
のフォーマットを整える。
【0084】LOADER/UNLOADERソフトウ
ェア構成要素1010は、ノード・キャッシュ1030
へのロードのために大域クラス・データベース1020
から情報をアンロード又は検索するユーザーからの要求
にも応答しなければならない。検索された情報は、好都
合なことには、LOADER/NLOADERソフトウ
ェア構成要素1010により言語定義に変換され、この
定義はノード・キャッシュ1030に記憶される。 F.クラス及び方法の創出、定義/登録 (1) 創 出 好都合なことには、クラスは、例えばLOADER/U
NLOADERにおいて使われる言語などの非手順言語
を使って定義され、次にコンパイルされてクラス・デー
タベースにロードされる。該言語、コンパイラ及びロー
ダー・ソフトウェアは好都合なことにはオブジェクト定
義設備の構成要素である。他の周知の技術も、当業者に
は自明であろう。
【0085】該オブジェクト定義設備は、ACASソフ
トウェア構成要素130、230、及び330(図1)
の一部であって、クラス、メッセージ、クラス属性、方
法及び方法属性を定義する手段を提供する。この設備
は、クラス間の受け継ぎの指定にも対処するものであっ
て、上記のLOADER/UNLOADERソフトウェ
ア構成要素1010と共に、大域クラス・データベース
及び局所クラス・データベースの中の既存の定義を修正
するために使われることが出来る。また、該オブジェク
ト定義設備は、好都合なことには、大域クラス・データ
ベース内で新しいクラス及び方法定義を作るのに使われ
るクラス定義入力及び方法定義入力の所要の構文チェッ
クを行う。該オブジェクト定義設備のユーザーは、クラ
スを作るために或る情報を指定しなければならない。こ
の情報は、好都合なことには、大域クラス名称及び識別
子;このクラスの上位クラスの大域名称及び識別子(若
しあるならば);このクラスにより支援されるメッセー
ジと、それに付随するアーギュメントのタイプ(若しあ
るならば);定義される方法マップ及び各マップが関連
するメッセージ;並びに、このクラスについて定義され
た属性、を包含する。
【0086】各メッセージは、好都合なことには、メッ
セージの名称、該メッセージにより支援されるパラメー
ター、及び対応する方法マップを含む構造を生成するこ
とにより指定される。各メッセージ構造は、好適な実施
例では2組の値に変換される。1組の値は、メッセージ
名と、該メッセージにより支援されるパラメーターのリ
ストとを包含する。他の組の値は、該メッセージの実施
を表す方法オブジェクトの組を特定する。
【0087】方法オブジェクトは、クラスと同じ方法で
回路網環境内で定義される。しかし、好適な実施例のオ
ブジェクト定義設備は、方法オブジェクトの定義のため
の特別の備えを持っている。方法オブジェクトを定義す
るとき、次の情報、即ち、該方法オブジェクトの大域名
称と識別子;該方法オブジェクトの上位クラスの大域名
称と識別子;並びに、方法属性として記憶されるメタデ
ータ(即ち、データの記述)、が指定される。該方法定
義は、アーギュメント、及び、該メッセージ内のパラメ
ーターに対応するそのタイプ、並びに、該方法がパラメ
ーター・リストを含むか否か、を指定する。このパラメ
ーター・リストは、該方法により呼び出されることの出
来る実行可能なコード(後述する)により要求される入
力を表す。 (2) 方法/クラス定義 好適な実施例では、クラス及び方法定義のロードは、実
行時間前に行われ、或いは実行時間中に動的に行われ
る。クラス及び方法オブジェクトは、回路網内のノード
上で局所的にアクセス可能であるか(「局所定義」と称
する)、又は回路網内の全てのプラットフォームから大
域的にアクセス可能である(「大域定義」と称する)。
局所定義及び大域定義は、共に、LOADER/UNL
OADERソフトウェア構成要素1010又は他の何ら
かの許容出来るメカニズムを使って達成されることが出
来る。 (3) サーバー登録 サーバー登録の目的は、メッセージからの要求に答える
ために利用出来る方法サーバーを発見することである。
方法サーバーは、方法を実現する活動中の(即ち、現在
走っている)プロセスである。方法サーバーは、単一の
アプリケーションのコード又は1個以上のアプリケーシ
ョンのコードの多くの部分の実行を必要とすることがあ
る。
【0088】方法サーバーの登録は、クラス及び方法オ
ブジェクトの定義とは別である。クラス及び方法オブジ
ェクトの定義は、システムにおけるそれらの存在を識別
するために使われるのに対して、方法サーバーの登録
は、それらの状況(即ち、使用可能性)を追跡するため
に使われる。方法サーバーが登録されなければ、それは
システムにとっては未知である。 (4) アプリケーションの設置及び定義 好都合なことには、回路網においてアプリケーションを
登録し設置するために支援メカニズムが設けられる。好
適な実施例は、クラス・データベースに記憶されている
クラス、下位クラス、メッセージ及び方法のオブジェク
ト指向モデルにおいてアプリケーション及びアプリケー
ション断片を定義する能力をもたらす。この様なアプリ
ケーションの定義は、この発明の好適な実施例により行
われるアプリケーション間通信の実行のために重要であ
る。詳しく言うと、クラス・データベース内のクラス・
下位クラス、メッセージ及び方法の記憶は、アプリケー
ションが、実行時間中に該クラス・データベースを更新
すると共に、再コンパイルと再連係とを必要とすること
無くその更新したクラス・データベースを使って処理し
続けることを可能にする。
【0089】アプリケーションは、他のクラスと同様に
して定義される。実際、上述した様に、アプリケーショ
ンは、それ自体が特別の種類のクラスであると定義され
る。アプリケーションは、そのプラットフォーム上の特
定のオペレーティングシステムに必要とされる方法でプ
ラットフォーム上に設置される。この発明の好適な実施
例では、アプリケーション設置は、幾つかの追加の機能
も必要とする。例えば、既に定義されているのでなけれ
ば、アプリケーションは、既存のACAS APPLIC
ATIONの下位クラスとして定義されるそれ自身のク
ラス定義を設けなければならない。
【0090】アプリケーション設置は、既に設置されて
いるクラス定義を使ってもよく、或いは新しい定義を付
加してもよい。アプリケーション設置時には、設置手順
は、該アプリケーションにより支援されるクラス定義を
コンパイルして、上記したLOADER/UNLOAD
ERソフトウェア構成要素1010を使って局所クラス
・データベース又は大域クラス・データベースに登録す
ることが出来、その新しいアプリケーションによる影響
を受けるデータオブジェクトクラスの方法マップを更新
しなければならない。アプリケーション設置は、上記し
た方法オブジェクト定義手順も必要とする。 G.コンテキストオブジェクトデータベース この発明の好適な実施例では、コンテキストオブジェク
トデータベース630(図6を見よ)は方法を分解し、
方法を実行するべきプラットフォームを選択し、回路網
内にクラス・データベースを置くために使われるべき優
先順位を定義するメカニズムを提供する。数レベルのコ
ンテキストオブジェクトデータベースが図1の回路網5
0内に存在することが出来る。例えば、1レベルはユー
ザーコンテキストオブジェクトデータベースから成り、
もう一つのレベルはグループコンテキストオブジェクト
データベースから成る。システム(又はプラットフォー
ム)コンテキストオブジェクトデータベースも、該プラ
ットフォーム全体のユーザーのために優先順位を特定す
るために使われる。全てのコンテキストオブジェクトデ
ータベースは、方法分解時に優先順位を供給するけれど
も、グループコンテキストオブジェクトデータベース
は、2以上のユーザーの優先順位を認識するためにAC
ASソフトウェア構成要素130、230、及び330
により使われ、システムコンテキストオブジェクトデー
タベースは、2以上のグループの優先順位を認識するた
めに使われる。好都合なことには、方法分解において、
ユーザーコンテキストオブジェクトデータベース内の優
先順位がグループコンテキストオブジェクトデータベー
ス内のそれをオーバーライドし、それがシステムコンテ
キストオブジェクトデータベースをオーバーライドする
様に、コンテキストオブジェクトデータベース630内
のデータベースは使われる。
【0091】コンテキストオブジェクトデータベース6
30は、好都合なことには、特定の回路網セッション時
にユーザーに随伴するプラットフォーム上にある。ユー
ザーが回路網に入るときに実行される初期ログオン手順
において、そのユーザーに随伴するコンテキストオブジ
ェクトデータベースに記憶されている情報は、後にAC
ASソフトウェアの動作時に使用されるために呼び出さ
れる。
【0092】図11は、コンテキストオブジェクトデー
タベース1100のための好適なメモリーシステムを示
す。コンテキストオブジェクトデータベース1100
は、方法オーバーライド・テーブル1110、サーバー
・ノード・テーブル1150、及びクラス・データベー
ス・オーバーライド・テーブル1170、並びに他のユ
ーザー定義テーブル1180を含む。方法オーバーライ
ド・テーブルは、メッセージ名と、インスタンス・ハン
ドルにおいて特定されるクラスとに応じて好適な方法を
選ぶために、方法分解(詳しく後述する)の際に使われ
る。サーバー・ノード・テーブル1150は、プラット
フォームを選んで、サーバー・プラットフォームである
ことの出来る回路網内に置くために、呼出し動作(これ
についても詳しく後述する)の際に使われる。クラス・
データベース・オーバーライド・テーブル1170は、
方法及びクラス情報について局所クラス・データベース
を探索する順序を定義する。
【0093】テーブル1110、1150、及び117
0は、システム供給テーブルである。ユーザーは、自身
の好みを実現するために自身のテーブル1180を供給
してもよい。方法オーバーライド・テーブル1110の
好適な実施例が図11Bに示されている。方法オーバー
ライド・テーブル1110は、方法セレクター属性名称
1115と、随伴する値1120とのリストを含む。各
項目は、属性名称1115について、好適な値1120
を指定する。例えば、図12において、好適なプラット
フォームはVAX.VMSと指定され、好適な相互作用
タイプはBUILT INである。2以上の方法がメッセ
ージに応じて特定されると、テーブル1110内の優先
順位は、それらの方法の中から一つを選ぶのに使われ
る。属性について値が指定されていなければ、システム
は、優先順位は無いと見なす。
【0094】コンテキストオブジェクトデータベース1
100のサーバー・ノード・テーブル1150の好適な
実施例が図13に示されている。サーバー・ノード・テ
ーブル1150は、図1の回路網50内のノードの順序
づけられたリストである。テーブル1150内の各項目
は、プラットフォーム・タイプ1152と、選ばれた方
法を実施するのに使われることの出来る対応するプラッ
トフォーム・タイプを伴う回路網50内のノード115
4の場所とに対応する。例えば、テーブル1150は、
TYPE Aのプラットフォームタイプについて2個の
ノード、ノードa及びノードb、を特定している。
【0095】図14は、クラス・データベース・オーバ
ーライド・テーブル1170の好適な実施例を包含す
る。テーブル1170は、局所クラス・データベース1
172の名称と、その場所1174とを含む数個の項目
を包含している。項目1175については、データベー
スDB SCH LSTは場所dbl及びdb2にあ
り、テーブル1170のもっと下側に列挙されている他
の局所クラスオブジェクトデータベースより前に探索さ
れる。
【0096】本発明の好適な実施例は、コンテキストオ
ブジェクトデータベースを作成し、システムコンテキス
トオブジェクトデータベースの各々の中の項目を付加
し、修正し及び削除する能力をもたらす回路網の全ユー
ザーに利用可能なインターフェースを包含する。このイ
ンターフェースは、好都合なことには、これらの機能を
行うために標準的コンパイラを実行する。例えば、コン
テキストオブジェクトデータベースに項目を付加するた
めには、ユーザーは、設けられているインターフェース
を使ってコマンドを入力する。そのコマンドは、ACA
Sソフトウェア構成要素130、230、及び330
(図1)により解釈されて、該インターフェースが受け
取ったデータを該標準的コンパイラにより適切なフォー
マットに変換せしめる。 H.ACASサービス (1) 一般的動作 この発明の好適な実施例の或る構成要素についての以上
の説明で、ACAS構成要素についての充分な理解が得
られるであろう。好都合なことには、本発明は、クライ
アントが要求を発生させ、サーバーが要求に答えるクラ
イアント/サーバー・モデルを使って実施される。以下
の記述においては、クライアント・プラットフォーム上
のクライアント・アプリケーションに随伴するサービス
又はオペレーションは「クライアント・サービス」と呼
ばれ、サーバー・プラットフォーム上で実行するサーバ
ー・アプリケーションに随伴するサービス又はオペレー
ションは「サーバー・サービス」と呼ばれる。好適な実
施例のクライアント・サービス及びサーバー・サービス
は、クライアント・プラットフォームからのメッセージ
をサーバー・プラットフォームへ、及びサーバー・プラ
ットフォームから、送ることの出来る輸送システムに依
拠する。好適な実施例では、RPCの様な通信システム
が該輸送システムとして使われる。
【0097】図1に示されているACASソフトウェア
構成要素130、230、及び330は、好都合なこと
には、クライアント・サービス及びサーバー・サービス
をそれぞれ表すクライアント・サービス構成要素及びサ
ーバー・サービス構成要素を包含する。これは、例え
ば、2個のプラットフォーム1200及び1300と回
路網バス55との図である図15に示されている。プラ
ットフォーム1200及び1300は、図1のプラット
フォーム100、200、又は300のいずれにも対応
することが出来る。
【0098】プラットフォーム1200及び1300内
に、それぞれ、メモリー1250及び1350と、CP
U1210及び1310とがある。プラットフォーム1
200及び1300内の要素は、図1に関して上記した
類似の要素と同様に機能する。CPU1210はクライ
アント・アプリケーション1220を実行し、CPU1
310はサーバー・アプリケーション1320を実行す
る。CPU1210及び1310は、OP SYS 1
1240及びOP SYS 2 1340もそれぞれ
実行し、且つ、ACASソフトウェア構成要素1230
及び1330もそれぞれ実行する。
【0099】ACASソフトウェア構成要素1230及
び1330は、好都合なことには、指名ソフトウェア構
成要素1232及び1332をそれぞれ包含し、制御サ
ーバー・ソフトウェア構成要素1234及び1334を
それぞれ包含し、呼出しソフトウェア構成要素1236
及び1336をそれぞれ包含し、補助ソフトウェア構成
要素1237及び1337をそれぞれ包含している。
【0100】大抵、呼出しソフトウェア構成要素123
6及び1336はクライアント・サービスを表し、指名
ソフトウェア構成要素1232及び1332はサーバー
・サービスを表す。補助ソフトウェア構成要素1237
及び1337は、好適な実施例の他の或るオペレーショ
ンを表す。回路網内のプラットフォーム1200及び1
300は、呼出しソフトウェア構成要素1236及び1
336をそれぞれ内蔵し、制御サーバー・ソフトウェア
構成要素1234及び1334をそれぞれ内蔵し、指名
ソフトウェア構成要素1232及び1332をそれぞれ
内蔵しているので、いずれのプラットフォームもクライ
アントとして又はサーバーとして活動することが出来
る。
【0101】好適な実施例では、呼出しソフトウェア構
成要素1236及び1336と指名ソフトウェア構成要
素1232及び1332とは、コンテキストオブジェク
トデータベース内のコンテキストデータと同様にクラス
・データベース内のクラス及び方法情報を解釈して、呼
び出すべき適切な方法を決定し、その方法をどの様にし
て呼び出すかを決定し、その方法を実施するコードを実
行するために必要なコマンドを指名する責任を有する。
呼出しソフトウェア構成要素1236及び1336及び
指名ソフトウェア構成要素1232及び1332は、ク
ライアント・アプリケーションを方法呼出し及び輸送レ
ベル・メカニズムの詳細から隔離させる。
【0102】制御サーバー・ソフトウェア構成要素12
34及び1334は、幾つかの機能を持っている。一つ
の機能は、現在作動中のサーバー・アプリケーションに
関する情報を回路網50内のプラットフォーム1200
及び1300に記憶させることである。制御サーバー・
ソフトウェア構成要素1234及び1334は、方法サ
ーバーとなる新しいアプリケーションを始動させるプロ
セスも実行する。制御サーバー・ソフトウェア構成要素
1234及び1334が行う他の機能は、方法サーバー
登録である。例えば、制御サーバー・ソフトウェア構成
要素1334は、サーバー・プラットフォーム1300
上で現在作動している、サーバー・アプリケーション1
320により特定される方法サーバーに関する情報を記
憶する。制御サーバー・ソフトウェア構成要素1334
は、汎回路網メモリー704(図7)におけるサーバー
登録設備とも通信して、サーバー・アプリケーション1
320に関する状況情報を記憶する。
【0103】補助ソフトウェア構成要素1237及び1
337は、クラス及び方法オブジェクト定義及び登録、
各プラットフォームの方法実行可能なカタログにおける
方法実行可能な登録(後述する)、LOADER/UN
LOADERソフトウェア構成要素1010(図10)
の機能などのACASソフトウェア構成要素1230及
び1330のオペレーションを表す。
【0104】以下の説明の目的のために、プラットフォ
ーム1200はクライアント・プラットフォームと呼ば
れ、プラットフォーム1300はサーバー・プラットフ
ォームと呼ばれる。この例では、クライアント・アプリ
ケーション1220は、サーバー・プラットフォーム1
300内のサーバー・アプリケーション1320とオブ
ジェクト指向的に通信する。本発明に従って、好適な実
施例においては、1プラットフォーム上のクライアント
・アプリケーションは、同じプラットフォーム上のサー
バー・アプリケーションと通信することが出来る。
【0105】クライアント・アプリケーション1220
がサーバー・アプリケーション1320と通信すると
き、クライアント・プラットフォーム1200の指名ソ
フトウェア構成要素1232及び制御サーバー・ソフト
ウェア構成要素1234は関与しないので、図15では
陰が付けられている。同じく、サーバー・プラットフォ
ーム1300の呼出しソフトウェア構成要素1336
は、活動していないので、陰が付けられている。
【0106】図16は、好適な実施例に従う方法の呼出
しにおいて行われる主な機能の概略を示す流れ図136
0である。流れ図1360中のステップを開始する前
に、ACASソフトウェア構成要素1230及び133
0は最初に「待ち」状態にある。クライアント・アプリ
ケーション1220が方法呼出し要求を送るとき、図1
6に示されているACASソフトウェア構成要素123
0及び1330のプロセスが始まる。この方法呼出し要
求は、クライアント・アプリケーション1220の所望
のオペレーションを特定する入力メッセージを包含す
る。
【0107】第1に、該方法呼出し要求は呼出しソフト
ウェア構成要素1236に受け取られ(ステップ137
0)、この構成要素1236は該方法呼出し要求を処理
する(ステップ1375)。呼出しプロセスについて
は、以下に詳しく説明する。呼出しプロセスの普通の結
果は、処理済み方法呼出し要求である。次に、呼出しソ
フトウェア構成要素1236は、処理済みの方法呼出し
要求を、回路網バス55を介して指名ソフトウェア構成
要素1332に送る(ステップ1380)。指名ソフト
ウェア構成要素1332及び制御サーバー1334は、
そのとき、それらの動作を開始する。
【0108】その処理済み方法呼出し要求を受け取った
後、指名ソフトウェア構成要素1332及び制御サーバ
ー・ソフトウェア構成要素1334は、該呼出し要求に
より特定される方法をサーバー・アプリケーション13
20により実行させる(ステップ1390)。サーバー
・アプリケーション1320は、該方法の実行を完了す
ると、その実行から生じたアーギュメントを出力し、指
名ソフトウェア構成要素1332は状況メッセージ(例
えば、「成功」)を生成する。その出力アーギュメント
及び状況メッセージは、処理済み方法呼出し要求(今
や、「応答」と呼ばれる)にマッピングされる。次に、
この応答は該指名ソフトウェア構成要素1332によっ
て呼出しソフトウェア構成要素1236に送られる。呼
出しソフトウェア構成要素1236は、元の方法呼出し
要求にマッピングされた指名ソフトウェア構成要素13
32から受け取られた応答をクライアント・アプリケー
ション1220に戻す(ステップ1395)ことによっ
て処理を完了する。
【0109】ACASソフトウェア構成要素1230及
び1330についての以上の説明により、この発明の好
適な実施例における情報の流れを良く理解出来る。図1
7は、呼出しソフトウェア構成要素1236から指名ソ
フトウェア構成要素1332への情報の流れによる影響
を受ける回路網50の他の要素を示す。クライアント・
アプリケーション1220、サーバー・アプリケーショ
ン1320、呼出しソフトウェア構成要素1236、指
名ソフトウェア構成要素1332、及び制御サーバー・
ソフトウェア構成要素1334に加えて、図17は、コ
ンテキストオブジェクトデータベース630(図6)、
クラス・データベース640(図6)、サーバー登録設
備1420、及び制御サーバー登録1425を包含する
が、これは、制御サーバー・ソフトウェア構成要素13
34によって維持されて、サーバー・プラットフォーム
内の実行可能なコードを追跡する。
【0110】図14に示されている様に、コンテキスト
オブジェクトデータベース630は、ユーザーコンテキ
ストオブジェクトデータベース1402、グループコン
テキストオブジェクトデータベース1404、及びシス
テムコンテキストオブジェクトデータベース1406を
包含しており、この各々については、コンテキストオブ
ジェクトデータベースに関する説明において上述してあ
る。クラス・データベース640は、局所データベース
1000(図10)、ノード・キャッシュ1030、及
び大域クラス・データベース1020を包含する。クラ
ス・データベース640のこれらの要素の各々につい
て、クラス・データベースに関する説明において上述し
てある。
【0111】上述した様に、呼出しソフトウェア構成要
素1236に送られる方法呼出し要求をクライアント・
アプリケーション1220が生成するときに情報の流れ
が始まる。このインターフェースは、好都合なことに
は、好適な実施例のInvokeMethod手順コー
ルにより提供される。InvokeMethod手順コ
ールにおいては、クライアント・アプリケーション12
20は、インスタンス・ハンドルと、メッセージ(メッ
セージ名、及びパラメーター・リストを含む)と、コン
テキストオブジェクトハンドルと、随意に出力インスタ
ンス・ハンドルとを、呼出しソフトウェア構成要素12
36に送る。
【0112】以上に詳しく説明した様に、インスタンス
・ハンドルは、方法呼出しに関与すべくクライアント・
アプリケーション1220が選んだ現在のインスタンス
を特定する構造である。メッセージ名は、該インスタン
スに対する所望のオペレーションを表す。メッセージ・
パラメーター・リストは、該メッセージが要求するパラ
メーターから成る。コンテキストオブジェクトハンドル
は、詳しく後述する呼出しプロセスにおいて使われるべ
きコンテキストオブジェクトデータベースを特定する参
照である。出力インスタンス・ハンドルは、呼び出され
る方法に随伴する作動中の方法サーバーのインスタンス
を表す。これにより、クライアント・アプリケーション
は、同じ方法サーバーとの対話を持ち続けることが出来
る。出力インスタンス・ハンドルの意味論は、インスタ
ンス・ハンドルについてのそれと同じである。
【0113】呼出しソフトウェア構成要素が方法呼出し
要求を受け取ったとき、呼出しソフトウェア構成要素1
236は、方法識別子を発見するためにコンテキストオ
ブジェクトデータベース630及びクラス・データベー
ス640に問い合わせる。この手順については上述し
た。該メッセージ名についての適切な方法識別子を決定
すると、呼出しソフトウェア構成要素1236は、次
に、該方法識別子に随伴する方法をその上で実行するべ
きサーバー・プラットフォームを発見するためにサーバ
ー登録設備1420とコンテキストオブジェクトデータ
ベース630とに問い合わせる。サーバー登録設備14
20は、該方法識別子に随伴する方法を行うことの出来
る作動中の方法サーバー(若しあるならば)の場所を確
認するために使われる。作動中の方法サーバーは、既に
始動したものとして自身を回路網50に知らせた、例え
ばサーバー・アプリケーション1320などの、方法サ
ーバーである。
【0114】若し作動中の方法サーバーがあるならば、
呼出しソフトウェア構成要素1236により処理される
呼出し要求の方法を実行させることをクライアント・ア
プリケーション1220のユーザーが望む回路網50
(図1)中の遠くのプラットフォームの場所を決定する
ために、呼出しソフトウェア構成要素は、コンテキスト
オブジェクトデータベース630のサーバー・プラット
フォーム・テーブルにも問い合わせる。しかし、サーバ
ー・アプリケーション1320が利用可能でなければ、
制御サーバー・ソフトウェア構成要素1334は、選ば
れた遠くのプラットフォーム上で該サーバー・アプリケ
ーションが利用可能でないことを呼出しソフトウェア構
成要素1236に知らせる。以上に略述した様に処理を
する呼出しソフトウェア構成要素1236は、特定され
た方法をその上で実行するべき回路網50内の他のプラ
ットフォームを選ぶために、コンテキストオブジェクト
データベース630及びサーバー登録設備1420のサ
ーバー・プラットフォーム・テーブルに再び問いあわせ
を始める。
【0115】次に、呼出しソフトウェア構成要素123
6は選択されたサーバー・プラットフォームの制御サー
バー・ソフトウェア構成要素1334に問いあわせを送
り、これによって、制御サーバー・ソフトウェア構成要
素1334は、処理済み方法呼出し要求で特定される方
法を処理するために、選択されたサーバー・プラットフ
ォーム上の所望の方法サーバーを利用できるか否か決定
するために制御サーバー登録1425に問いあわせをす
る。方法サーバーの利用可能性は、好適な実施例では、
制御サーバー登録1425において、クライアント・ア
プリケーションにより呼び出された方法を該方法サーバ
ーが現在処理出来るか否か検査することによって決定さ
れる。
【0116】サーバー・アプリケーション1320の形
の方法サーバーが利用可能であることを制御サーバー・
ソフトウェア構成要素1334が呼出しソフトウェア構
成要素1236に示せば、呼出しソフトウェア構成要素
1236は、該処理済み方法呼出し要求を該サーバー・
プラットフォームの指名ソフトウェア構成要素1332
へ送る。呼出しソフトウェア構成要素1236は、コン
テキストオブジェクトデータベース630からの情報を
送ることも出来るが、それは所望の方法サーバーによっ
て使用されることが出来る。
【0117】指名ソフトウェア構成要素1332は、そ
のとき、その所望の方法を処理し始める。このプロセス
(「指名プロセス」と称する)は、一般に、該方法識別
子を指名してサーバー・アプリケーション1320によ
る該方法の実行を始めさせることを含む。しかし、回路
網内のプラットフォームで現在作動しているサーバー・
アプリケーション1320のコピーがあることをサーバ
ー登録設備1420が示さなければ、呼出しソフトウェ
ア構成要素1236は、コンテキストオブジェクトデー
タベース630及びクラス・データベース640から検
索された情報を使って、サーバー・アプリケーション1
340を始動させる要求を制御サーバー・ソフトウェア
構成要素1334に送ることが出来る。サーバー・アプ
リケーション1320が始動させられた後、制御サーバ
ー・ソフトウェア構成要素1334は、サーバー登録設
備1420に通知して、サーバー・アプリケーション1
320が作動していることを示す様に汎回路網メモリー
704(図7)を更新させる。制御サーバー・ソフトウ
ェア構成要素は、サーバー・アプリケーション1320
が使用可能であることを示すように制御サーバー登録1
405も更新する。呼出しソフトウェア構成要素123
6は、そのとき、該処理済み方法呼出し要求を指名ソフ
トウェア構成要素1332に送って、該処理済み方法呼
出し要求の方法識別子に対応する方法を実行させる。
【0118】サーバー・アプリケーション1320は、
その処理を終えた後、該処理済み方法呼出し要求により
要求された出力情報を指名ソフトウェア構成要素133
2に戻す。指名ソフトウェア構成要素1332は、その
とき、上述したように、指名ソフトウェア構成要素13
32により受け取られた該処理済み方法呼出し要求の出
力アーギュメントにマッピングされた出力情報と共に、
応答を呼出しソフトウェア構成要素1236に戻す。 (2) 呼出しオペレーション 呼出しソフトウェア構成要素1236が行う方法呼出し
のプロセスの部分を、今や詳細に説明することが出来
る。好都合なことには、その部分は、呼び出されるべき
適切な方法を決定すること(方法分解)、サーバー接続
又は始動、及び、該方法サーバー又はその他の実行可能
なコードにより実行されるべき適切な方法への識別子の
指名を可能にする輸送レベル通信、を含む数個の別々の
段階から成る。
【0119】図18−21及び22は、図15及び17
の呼出しソフトウェア構成要素1236により行われ又
は呼ばれる手順の流れ図を含む。図18−21における
主な制御手順1550は、呼出しソフトウェア構成要素
1236により行われるステップ1370、1375、
及び1380(図16)を表す。手順1360の場合と
同じく、主制御手順1550に入る前に、クライアント
・アプリケーション1220(図15及び17)は通常
は方法呼出し要求無しに作動しており、ACASソフト
ウェア構成要素1230は「待ち」状態にある。クライ
アント・アプリケーション1220がInvokeMe
thod手順コールを使って方法呼出し要求を生成する
とき、主制御手順1550が始まり(図18のステップ
1552)、呼出しソフトウェア構成要素1236は方
法呼出し要求を受け取る(ステップ1555)。
【0120】呼出しソフトウェア構成要素1236は最
初に該方法呼出し要求を確認する(ステップ155
7)。若しエラーがあったならば、呼出しソフトウェア
構成要素1236はエラー・メッセージを生成し(ステ
ップ1558)、これを呼出しソフトウェア構成要素1
236はクライアント・アプリケーション1220に戻
す(図21のステップ1599)。
【0121】若し該方法呼出し要求が妥当であるならば
(図18のステップ1557)、呼出しソフトウェア構
成要素1236は、次に、呼び出されるべき方法を、I
nvokeMethodコール内のメッセージ、クラス
・データベース、及びコンテキスト対象データベースか
ら分解する(ステップ1560)。方法分解は、適切な
方法を決定又は特定するプロセスである。
【0122】図22は、方法を分解する好適な手順16
00を示す。方法分解について既に言及したけれど、手
順1600は、この様な分解について、叙上よりも遥か
に詳しく示す。好適な実施例では、呼び出されるべき適
切な方法の決定は、呼出しソフトウェア構成要素123
6により間接的に処理される。方法分解のための作業の
大半は、ACASソフトウェア構成要素1230及び1
330の補助ソフトウェア構成要素1237及び133
7によって処理される。好適な実施例では、補助ソフト
ウェア構成要素1237は、コンテキストオブジェクト
データベース及びクラス・データベースから情報を検索
する。勿論、呼出しソフトウェア構成要素1236も、
その様な情報を検索することが出来る。
【0123】方法分解手順1600を開始した後(ステ
ップ1605)、呼出しソフトウェア構成要素1236
は、インスタンス・ハンドルが記憶クラス名称部分を含
んでいるか否か判定する(ステップ1610)。若し記
憶クラスが存在するならば、その位置が確認され(ステ
ップ1620)そのインスタンス・ハンドルに随伴する
クラスの名称を検索するために特別の方法が呼び出され
る(ステップ1630)。
【0124】クラス名を検索するために記憶クラスによ
り特定される方法を呼び出した後、又は、インスタンス
・ハンドルが記憶クラス名を包含していないと判定した
後、上記の探索順序を使ってクラス・データベース64
0(図6及び17)についてクラス情報の位置を確認す
るために呼出しソフトウェア構成要素1236によって
プロセスが実行される(ステップ1640)。例えば、
メッセージがEDIT(INSTANCE HANDL
E)で、インスタンス・ハンドルがASCII FILE
/NODE 1/MYFILE.TXTであれば、クラ
ス名ASCII FILEを使ってクラス・データベー
ス640内のクラスASCII FILE1645を発
見することが出来る。
【0125】次に、該メッセージのEDITという名称
で、適切な方法マップ1655がクラス・データベース
640から検索される(ステップ1650)。説明して
いる特別の例では、好適な実施例の補助ソフトウェア構
成要素1237は、方法マップ1655を検索すると共
に、ステップ1640で位置が確認されたクラス情報が
メッセージ名EDITを包含することを検査して確かめ
る。これにより、対応するメッセージが該クラスにより
支援されることが保証される。
【0126】図22に示されている様に、方法マップ1
655は、メッセージ名EDIT及びクラスASCII
FILE1645について方法オブジェクトMETH
OD1及びMETHOD 2を包含する。方法オブジェ
クトMETHOD 1には属性の組1657が随伴し、
方法オブジェクトMETHOD 2には属性の組165
9が随伴している。属性の組1657は、METHOD
1がPLATFORM TYPE A上で実行される
ことが出来ることを示し、属性の組1659は、Met
hod 2がPLATFORM TYPE B上で実行
されることが出来ることを示す。
【0127】方法マップには数個の方法オブジェクトが
あるかも知れないので、曖昧さを解明するためにコンテ
キストオブジェクトデータベース640に参照符が付さ
れる(ステップ1660)。コンテキストオブジェクト
データベース640に参照符を付するとき、維持されて
いる適切なサーバー・ノード・テーブルも、後に使用さ
れるために検索される。
【0128】コンテキストオブジェクトデータベース6
30内の項目(若しあるならば)は、そのとき、方法オ
ブジェクト、従って、該メッセージにより表される所望
のオペレーションを実行する適切な方法とを選ぶために
(ステップ1680)、方法マップ上の方法コンテキス
トの組の中の属性と比較される(ステップ1670)。
図22において、方法オーバーライド・テーブル166
5は、ユーザー優先順位がPlatformType
Aについて優位であることを示す項目1668を含む。
この項目1668を使って、呼出しソフトウェア構成要
素1236は、クラス・データベース640から、所望
のオペレーションEDITを実行する適切な方法168
6を選ぶ。図22に示されている例では、適切な方法
は、PLATFORM TYPE A上で実行されるべ
きMethod 1である。手順1600は、今、図1
8乃至図21の主制御手順1550に戻る(ステップ1
685)。
【0129】方法分解手順1600の作動中の随意の点
において若しエラーがあれば(ステップ1640時など
に、インスタンス・ハンドルにおいて特定されたクラス
がクラス・データベースにおいて位置確認可能なクラス
でないならば)、方法分解手順1600は、このエラー
を示すメッセージと共に戻る。方法分解手順1600か
ら戻った後、方法分解プロセス時にエラーが発生したか
否か判定が行われる(図18のステップ1562)。若
し答えが「yes」ならば、呼出しソフトウェア構成要
素1236は、適切なエラー・メッセージを生成し(ス
テップ1563)、該エラー・メッセージをクライアン
ト・アプリケーション1220に戻す(図21のステッ
プ1599)。
【0130】そうでない場合、エラー無しに方法を分解
した後(図18のステップ1562)、呼出しソフトウ
ェア構成要素1236は、回路網内の適切なプラットフ
ォーム上で適切な方法を実行するために、分解された方
法の識別子に対応する方法属性を検討する。該方法が既
にクライアント・アプリケーション1220内に連結さ
れている事をこれらの方法属性が、示すならば(例え
ば、InteractionType方法属性の値が
「BUILT IN」であるなど)、起動エラーについ
てチェックが行われる(ステップ1566)。若し一つ
あったならば、エラー・メッセージが生成され(ステッ
プ1576)、コントロールはクライアント・アプリケ
ーション1220に戻される(図21のステップ159
9)。
【0131】若しエラーが無かったならば、成功フラグ
が生成され(ステップ1567)、クライアント・アプ
リケーション1220内に既に常駐しているコードによ
って、分解された方法が実行される(ステップ156
9)。該方法がクライアント・アプリケーション122
0に既に連結されていることを該方法属性が示さなけれ
ば(図19のステップ1565)、呼出しソフトウェア
構成要素1236は、該方法が動的にロード可能である
ことを該方法属性が示しているか否か問い合わせる(ス
テップ1570)。動的にロード可能な方法は、実行時
にクライアント・アプリケーションの実行可能なコード
と合併させることの出来る実行可能な方法を代表する。
動的にロード可能な方法は、クライアント・アプリケー
ションの副手順又は機能により特定される実行可能な方
法であり得ることを当業者は認めるであろう。好都合な
ことには、動的にロード可能な方法サーバーについての
試験は、InteractionType方法属性の値
が「DYNAMIC LOAD」であるか否か判定する
ことによって達成される。若しそうならば、呼出しソフ
トウェア構成要素1236は、分解された方法により特
定される実行可能なコードをクライアント・アプリケー
ション1220にロードしようと試みる(ステップ15
72)。
【0132】実行可能なコードのロード中にエラーが発
生したならば(ステップ1574)、呼出しソフトウェ
ア構成要素1236は、ロード・エラーが発生したこと
を示すメッセージを生成し(ステップ1576)、該ロ
ード・エラー・メッセージをクライアント・アプリケー
ション1220に戻す(図21のステップ1599)。
【0133】そうでない場合、ロード・エラーが若し無
かったならば(ステップ1574)、呼出しソフトウェ
ア構成要素1236は、該方法呼出しが首尾よく完了し
たことを示すフラグを生成する(ステップ1567)。
次に、分解された方法に対応する、動的にロードされた
実行可能なコードが実行され(ステップ1569)、コ
ントロールは出力アーギュメントと共にクライアント・
アプリケーション1220に戻る(図21のステップ1
599)。連結された又は動的にロード可能な方法サー
バーを実行している際のエラーは好都合なことにはパラ
メーター値として戻される。
【0134】方法属性が、前もって連結された、又は動
的にロード可能な方法を示さなければ(図19のステッ
プ1565及び1570)、呼出しソフトウェア構成要
素1236は、図17に関して上述した分解された方法
を処理することの出来る回路網内のプラットフォーム上
の実行中の方法サーバーの位置を確認しなければならな
い。
【0135】サーバー登録設備1420(ステップ15
78)から検索された情報が、分解された方法により特
定される方法を行うことの出来る作動中の方法サーバー
が少なくとも一つあることを示すならば(図20のステ
ップ1579)、呼出しソフトウェア構成要素1236
は、サーバー登録設備1420から検索された情報を、
該方法分解手段1600時にコンテキストオブジェクト
データベース630から検索されたサーバー・ノード・
テーブル上の項目と比較して回路網内のサーバー・プラ
ットフォームを選ぶ(ステップ1580)。
【0136】サーバー・プラットフォームを選んだ後、
呼出しソフトウェア構成要素1236は、QueryS
erverコールを、その選択されたサーバー・プラッ
トフォームの制御サーバー・ソフトウェア構成要素13
34に送る。制御サーバー・ソフトウェア構成要素13
34の機能については、図23及び24に関して以下に
詳しく説明する。簡単には、制御サーバー・ソフトウェ
ア構成要素1334は、所望の方法サーバーが使用可能
であるか否かを判定する。
【0137】呼出しソフトウェア構成要素1236の主
制御手順1550は、そのとき、ステップ1582(図
20)において継続して、所望の方法サーバーの使用可
能性について制御サーバー・ソフトウェア構成要素13
34により生成されたメッセージを受け取り、該メッセ
ージを、クライアント・アプリケーションが認識出来る
フォーマットに変換する。呼出しソフトウェア構成要素
1236は、制御サーバー・ソフトウェア構成要素13
34から、分解された方法に対応する方法サーバーが、
分解された方法により特定される方法を処理するために
使用出来るか否か判定する(ステップ1583)。若し
その対応する方法サーバーが使用出来るならば、該方法
サーバーが図21において非同期方法サーバーであるか
否か問い合わせる(ステップ1593)ことにより呼出
しソフトウェア構成要素の処理が図21において継続す
る。非同期方法サーバーは当該技術分野において公知で
ある。
【0138】該方法サーバーが非同期であれば(ステッ
プ1593)、該方法サーバーに知らせるためにSig
nalServerコールを使って制御サーバー・ソフ
トウェア構成要素1334が呼び出される(ステップ1
594)。該方法サーバーが非同期でない場合、又は非
同期方法サーバーが信号された後(ステップ159
4)、該方法についての識別子と、方法分解時にコンテ
キストオブジェクトデータベースから検索された情報と
を含む、処理済み方法呼出し要求は回路網における通信
に使われるデータ構造にまとめられ(ステップ159
5)、呼出しソフトウェア構成要素1236は、そのま
とめられた処理済み方法呼出し要求を指名ソフトウェア
構成要素1332へ送る。指名ソフトウェア構成要素1
332のプロセスについて、図25及び26を参照して
以下に説明する。
【0139】指名ソフトウェア構成要素1332がその
処理を終えて、まとめられた応答を送った後、呼出しソ
フトウェア構成要素1236は、そのまとめられた応答
を受け取り(ステップ1597)、その応答をほぐし
(アンパックし)(ステップ1598)、その処理を完
了させるために該応答をクライアント・アプリケーショ
ン1220に戻す(ステップ1599)。
【0140】若し前の判定(図20のステップ158
3)において、実行中の方法サーバーが使用可能でない
ことが分かったならば、呼出しソフトウェア構成要素1
236は、分解された方法により特定される方法を行う
ことの出来る他の実行中の方法サーバーをサーバー登録
設備1420が示したか否か判定する(ステップ158
4)。若しそうならば、検索された情報は、コンテキス
トオブジェクトデータベース630内のサーバー・ノー
ド・テーブルと照合され、QueryServerコー
ルが制御サーバー・ソフトウェア構成要素1334に対
して行われる(ステップ1581)。
【0141】そうでない場合、呼出しソフトウェア構成
要素は、最高の優先順位のサーバー・ノードをサーバー
・ノード・テーブルから選択する(ステップ158
6)。その選択されたサーバー・プラットフォームの制
御サーバー・ソフトウェア構成要素1334は、そのと
き、分解された方法により特定される方法に対応する適
切なアプリケーションを始動させようと試みるために制
御サーバー・ソフトウェア構成要素1334に指示する
StartServerコールを使って接触される(ス
テップ1587)。
【0142】制御サーバー・ソフトウェア構成要素13
34がその処理を終えてメッセージを送った後、呼出し
ソフトウェア構成要素1236は、その送られたメッセ
ージを受け取ってアンパックする(ステップ158
8)。アプリケーションが始動させられて方法サーバー
になったならば(ステップ1589)、呼出しソフトウ
ェア構成要素1236はその処理を終えるが、それにつ
いては既に説明した(図21のステップ1593)。若
しアプリケーションが始動させられなければ(ステップ
1589)、呼出しソフトウェア構成要素1236は、
コンテキストオブジェクトデータベース630のサーバ
ー・ノード・テーブルにそれ以上のノードがあるか否か
問い合わせる(ステップ1590)。若しそうでなけれ
ば、サーバー・プラットフォームが位置確認出来なかっ
たので方法呼出しが不成功だったことを示すエラー・メ
ッセージが生成され(ステップ1592)、そのエラー
・メッセージはクライアント・アプリケーション122
0に戻される(図21のステップ1599)。
【0143】しかし、他のノードがサーバー・ノード・
テーブル上にあれば(図20のステップ1590)、次
に高い優先順位のプラットフォームが選択され(ステッ
プ1591)、呼出しソフトウェア構成要素1236の
処理は図20のステップ1587に戻る。方法サーバー
が始動させられるまで(ステップ1589)又はサーバ
ー・プラットフォーム・リスト上にプラットフォームが
無くなるまで(ステップ1590)、ステップ158
7、1588、1589、1590、及び1591から
成るループが行われる。 (3) 制御サーバー・オペレーション 図23及び24は、制御サーバー・ソフトウェア構成要
素1334のオペレーションを表す制御サーバー手順1
700を示す。当業者は、制御サーバー・ソフトウェア
構成要素1334の機能を具体化する他の多くの方法を
理解するであろう。
【0144】図23のステップ1702において制御サ
ーバー手順1700を開始した後、制御サーバー・ソフ
トウェア構成要素1334は制御サーバー・メッセージ
を受け取る(ステップ1705)。これに応じて、制御
サーバー・ソフトウェア構成要素1334は、制御サー
バー・ソフトウェア構成要素1334と共通のプラット
フォーム上で実行中のアプリケーションが方法呼出し要
求を処理するべく方法サーバーとして登録されるべきこ
とを要求していることを該制御サーバー・メッセージが
示しているか否か判定する(ステップ1710)。答え
が「yes」ならば、制御サーバー・ソフトウェア構成
要素1334は、該方法サーバーが使用可能であること
を示すために該サーバー・アプリケーションについての
所要の情報を制御サーバー登録1425に記録すること
によって該サーバー・アプリケーションを方法サーバー
として登録する。制御サーバー・ソフトウェア構成要素
1334は、該方法サーバーが実行中であることを示す
ためにサーバー登録設備1420にも知らせる(ステッ
プ1715)。実行中の使用可能な方法サーバーは、適
切な方法を実行することも出来る。制御サーバー・ソフ
トウェア構成要素1334は、今登録されたアプリケー
ションに戻される(図24のステップ1799)べき成
功メッセージも生成する(ステップ1729)。
【0145】アプリケーションが登録されることを希望
していることを制御サーバー・メッセージが示さなけれ
ば(図23のステップ1710)、制御サーバー・ソフ
トウェア構成要素は、現在登録されている方法サーバー
が制御サーバー・ソフトウェア構成要素1334及びサ
ーバー登録設備1425で登録解除されることを要求し
ていることを該制御サーバー・メッセージが示すか否か
判定する(ステップ1720)。若しそうならば、制御
サーバー・ソフトウェア構成要素1334は、該情報を
制御サーバー登録1425から除去することにより該方
法サーバーを登録解除する。これは、該方法サーバーに
より特定されるアプリケーションが最早使用可能でない
ことを示す。制御サーバー・ソフトウェア構成要素13
34は、汎回路網メモリー704に記憶されている情報
を除去するためにサーバー登録設備1420にも通知す
る(ステップ1725)。制御サーバー・ソフトウェア
構成要素1334は、そのとき、今登録解除されたアプ
リケーションに戻される(図24のステップ1799)
べき成功メッセージを生成する(ステップ1729)。
【0146】アプリケーションがそれ自体を登録又は登
録解除することを要求したことを制御サーバー・メッセ
ージが示さなければ、制御サーバー・ソフトウェア構成
要素は、処理済み方法呼出し要求を実行する(ステップ
1730)ために呼び出されるべきことを期待すること
を非同期方法サーバーに信号することを呼出しソフトウ
ェア構成要素1236が希望することを制御サーバー・
メッセージが示すか否か判定する。若しそうならば、制
御サーバー・ソフトウェア構成要素1334は、非同期
方法サーバーに信号するプロセスを実行し(ステップ1
735)、処理を終える(図24のステップ179
9)。
【0147】上記した様に、この発明の好適な実施例
は、この発明の特徴を利用するべく書かれたアプリケー
ションでも、或いは、好適な実施例で私達のために修正
された前もって書かれたアプリケーションでも動作する
ことが出来る。好適な実施例で動作する様に非同期アプ
リケーションを書き又は修正するとき、ユーザーは、部
分的にはこれらの非同期信号を認識すると共に、後述す
る様に、これらの信号と次の処理済み方法呼出し要求と
をキューに登録するプログラムコードを含める。これら
のオペレーションについて、指名ソフトウェア構成要素
1332により行われるプロセスを参照して以下に説明
する。
【0148】若し他の機能が要求されていなければ、制
御サーバー・ソフトウェア構成要素1334は、方法を
処理する方法サーバーとなるために新しいアプリケーシ
ョン(これは制御サーバー・ソフトウェア構成要素13
34と同じプラットフォーム上にある)が始動させられ
る(図24の1740)べきであることを呼出しソフト
ウェア構成要素1236が要求していることを制御サー
バー・メッセージが示しているか否か判定する。若しそ
うならば、制御サーバー・ソフトウェア構成要素133
4は、制御サーバー登録1425をチェックして(ステ
ップ1745)、新しいアプリケーションの実行可能な
方法(分解された方法に対応する)が選択されたプラッ
トフォーム上にあるか否か判定する(ステップ175
0)。
【0149】制御サーバー登録1425は、局所的有効
範囲を持っているので、サーバー・プラットフォーム1
300だけが、常駐している実行可能な方法を承知して
いる。実行可能な方法の登録1425における登録は、
例えば、方法を実施するシェル・スクリプト、及びこれ
らの実行可能な方法の状況など、実際の実行可能なコー
ドの実行可能なファイルにおける登録を含む。実行可能
なコードを大域的に管理する必要はないので、これらの
項目は好都合なことには局所的な登録有効範囲を有する
に過ぎない。
【0150】対応する実行可能な方法が制御サーバー登
録1425において特定されたならば、選択されたプラ
ットフォームはサーバー・プラットフォームである可能
性がある。制御サーバー・ソフトウェア構成要素133
4は、対応する実行可能な方法を始動させるプロセスを
実行すると共に、その結果としての方法サーバーをサー
バー登録設備1420と制御サーバー登録1425とに
登録して、新しく始動した方法サーバーが実行中であり
且つ使用可能であることを示す(ステップ1752)。
この始動プロセス時に、制御サーバー・ソフトウェア構
成要素1334は、その始動した方法サーバーにより使
われることの出来るコンテキストオブジェクトデータベ
ースも作る。次に、制御サーバー・ソフトウェア構成要
素1334は、分解された方法に対応するアプリケーシ
ョンが始動させられていて且つ今や方法サーバーである
ことを示すメッセージを生成する(ステップ175
4)。そのとき、このメッセージは、該方法サーバーが
始動させられることを要求した呼出しソフトウェア構成
要素1236に送られ(ステップ1790)、制御サー
バー・ソフトウェア構成要素1334はその処理を終え
ている(ステップ1799)。
【0151】分解された方法に対応する実行可能な方法
が制御サーバー登録1425において特定されなけれ
ば、制御サーバー・ソフトウェア構成要素1334は、
該実行可能な方法が始動させられなかったことを示す適
切なメッセージを生成する(ステップ1756)。この
メッセージは、該方法サーバーが始動させられるべきこ
とを要求した呼出しソフトウェア構成要素1236に送
られ(ステップ1790)、制御サーバー・ソフトウェ
ア構成要素1334はその処理を終えている(ステップ
1799)。
【0152】若し他の機能が要求されていなければ、制
御サーバー・ソフトウェア構成要素1334は、制御サ
ーバー・メッセージが、分解された方法により特定され
る方法を実行する実行中の方法サーバーの使用可能性に
関する情報についての呼出しソフトウェア構成要素12
36からの要求であるか否か判定する(ステップ176
0)。若しそうでなければ、制御サーバー・ソフトウェ
ア構成要素1334は、エラー・メッセージを生成し
(ステップ1780)、そのメッセージを呼出しソフト
ウェア構成要素1236に送り(ステップ1790)、
その処理を終える(ステップ1799)。
【0153】そうでない場合、制御サーバー・ソフトウ
ェア構成要素1334は、制御サーバー登録1425か
らの実行中の方法サーバーについての要求された情報を
再試行する(ステップ1765)。分解された方法によ
り特定される方法サーバーが使用可能であることを制御
サーバー登録1425からの情報が示しているならば
(ステップ1770)、制御サーバー・ソフトウェア構
成要素1334は、該方法サーバーの使用可能性を示す
メッセージを生成する(ステップ1775)。このメッ
セージは呼出しソフトウェア構成要素1236に送られ
(ステップ1790)、制御サーバー・ソフトウェア構
成要素の処理は完了する(ステップ1799)。
【0154】しかし、方法サーバーが使用可能でないこ
とを制御サーバー登録1425が示したならば、(ステ
ップ1770)、制御サーバー・ソフトウェア構成要素
1334は、方法サーバーが使用可能でないことを示す
メッセージを生成する(ステップ1777)。制御サー
バー・ソフトウェア構成要素1334は、そのとき、生
成されたメッセージを呼出しソフトウェア構成要素に送
り、(ステップ1790)、制御サーバー・ソフトウェ
ア構成要素1334の処理は完了する(ステップ179
9)。 (4) 指名オペレーション 方法サーバーを指名するプロセスは、方法サーバーによ
り処理されるべき方法を指名すること、及び輸送レベル
通信から成る。指名ソフトウェア構成要素1332は、
種々の方法呼出しも処理する。
【0155】非同期方法呼出しは、クライアント・アプ
リケーションが処理を完了するために特定された方法サ
ーバーを持つことを必要としない。例えば、呼出し要求
は、実行されるべくキュー上に置かれることが出来、R
PC輸送レベル・コールは、呼出しソフトウェア構成要
素1334に戻って、クライアント・アプリケーション
が「妨げられ」又は継続を阻止されることなくそれ自身
の処理を続けることを許すことが出来る。呼出しソフト
ウェア構成要素から受け取られた処理済み方法呼出し要
求のキューは、そのとき、図25の指名手順1800内
などの、指名ソフトウェア構成要素1332により試験
され、所定の順序に従って行われる。
【0156】非同期方法呼出しは、クライアント・アプ
リケーションが方法サーバーから応答を受け取ることを
予期しないならば、要求されることが出来る。唯一の応
答は、方法呼出しがサーバー・プラットフォーム上のA
CASソフトウェア構成要素によって首尾よく受け取ら
れたか否かの表示である。該応答は、その実行が成功し
たか否か示さず、同期方法呼出しについては出来る様
に、実際の方法呼出しの出力を包含しない。
【0157】同期方法呼出しは、全ての方法呼出しにつ
いてデフォールト・モードである。同期方法呼出しで
は、該方法を呼び出したクライアント・アプリケーショ
ンは、それ自身の処理を続ける前に応答を待つ。図25
及び26は、図15及び17の指名ソフトウェア構成要
素1332により行われ又は呼び出される手順の流れ図
である。指名手順1800は、指名ソフトウェア構成要
素1382により行われるステップ1385、139
0、及び1395(図16)を表す。
【0158】指名手順1800に入る前に、指名ソフト
ウェア構成要素1332は、回路網内の呼出しソフトウ
ェア構成要素から処理済み方法呼出し要求を待つ「待
ち」状態である。指名手順1800を開始した後(ステ
ップ1802)、指名ソフトウェア構成要素1332
は、回路網輸送サービスを介して、輸送データ構造を受
け取る。この輸送データ構造は、回路網内の呼出しソフ
トウェア構成要素により送られた、まとめられた(パッ
クされた)処理済み方法呼出し要求を表す(ステップ1
805)。この輸送データ構造を受け取った後、呼出し
ソフトウェア構成要素1332は、該輸送データ構造を
アンパックして、サーバー・プラットフォームが認識出
来るデータ構造に変換する(ステップ1810)。呼出
しソフトウェア構成要素1332は、そのとき、実行中
の方法サーバーに随伴しているコンテキストデータベー
スを更新する(ステップ1815)。コンテキストオブ
ジェクトデータベースは、該方法サーバーを始動させる
ときに制御サーバー・ソフトウェア構成要素1334に
より作られることにより、又はサーバー・プラットフォ
ーム上にロギングして該方法サーバーを始動させるユー
ザーによって、実行中の方法サーバーに随伴させられる
ことが出来る。
【0159】呼出しソフトウェア構成要素1332は、
次に、受け取った処理済み方法呼出し要求が非同期方法
サーバーによって処理されるべき非同期呼出し要求であ
るか否か質問する(ステップ1820)。若しそうでな
ければ、呼出しソフトウェア構成要素1332は、該呼
出し要求が妥当な方法の識別(identificat
ion)を含んでいるか否か質問するが、それは、該方
法サーバーによって処理されることの出来る方法である
(ステップ1825)。若しそうでなければ、エラー・
メッセージが生成され(ステップ1840)、それは応
答としてパックされて(図26のステップ1890)、
指名処理を完了する前に(ステップ1899)呼出しソ
フトウェア構成要素に送られる(ステップ1895)。
【0160】若し呼出し要求が妥当な方法の識別(id
entification)を含んでいたならば(図2
5のステップ1825)、指名ソフトウェア構成要素1
332は、受け取られた呼出し要求により特定される妥
当な方法を、該方法サーバーにより実行されるべく指名
する(ステップ1830)。該方法サーバーによる妥当
な方法の実行時にエラーが発生したならば(ステップ1
835)、指名ソフトウェア構成要素1332は適切な
エラー・メッセージを生成する(ステップ1840)。
指名ソフトウェア構成要素1332は、そのとき、該エ
ラー・メッセージを応答としてパックし(図26のステ
ップ1890)、指名処理を完了する前に(ステップ1
899)そのパックしたエラー・メッセージを呼出しソ
フトウェア構成要素に送る(ステップ1895)。
【0161】若し実行エラーが発生しなければ、(図2
5のステップ1835)、指名ソフトウェア構成要素1
332は応答をパックするが(図26のステップ189
0)、それは、この場合には、分解された方法により特
定される方法を処理した方法サーバーからの出力を含む
処理済み方法呼出し要求である(図18のステップ15
60)。その応答は、パックされた後、元の処理済み方
法呼出し要求を初めに送った呼出しソフトウェア構成要
素に送られ(ステップ1895)、指名処理は完了する
(ステップ1899)。
【0162】指名ソフトウェア構成要素に受け取られた
処理済み方法呼出し要求が非同期呼出し要求であるなら
ば(図25のステップ1820)、その非同期呼出し要
求は、好都合なことには、後に方法サーバーとして処理
されるべく指名ソフトウェア構成要素1332によって
指名されるべきキュー上に置かれる(ステップ185
0)。該非同期呼出し要求の成功を示すメッセージが生
成され(ステップ1855)、受け取られた処理済み方
法呼出し要求への応答としてパックされ(ステップ18
60)、次に、その処理済み方法呼出し要求を最初に送
った呼出しソフトウェア構成要素に送られる(ステップ
1865)。
【0163】好適な実施例では、非同期方法サーバー
は、非同期方法呼出し要求を、それらが最初にキュー上
に置かれた順に実行する。非同期要求を実行するとき、
指名ソフトウェア構成要素1332は、該非同期方法サ
ーバーにより処理されるべき方法呼出し要求がキュー上
にあるか否か質問する(図26のステップ1870)。
若し方法呼出し要求が該キュー上に無ければ(ステップ
1870)、指名処理は完了する(ステップ189
9)。
【0164】若し非同期方法呼出し要求が該キュー上に
あったならば(ステップ1870)、指名ソフトウェア
構成要素1332は、次の非同期方法呼出し要求を該キ
ューから取り去る(ステップ1875)。該キューから
取り去られた要求が、例えば該方法サーバーにより処理
されることの出来ない要求などの無効な要求であるなら
ば(ステップ1880)、待ち合わせさせられた方法呼
出し要求が他にあるか否か発見するために該処理は戻る
(ステップ1870)。
【0165】該キューから取り去られた要求が妥当であ
るならば(ステップ1880)、指名ソフトウェア構成
要素1332は、該キューから取り去られた非同期方法
呼出し要求を該非同期方法サーバーにより処理されるべ
く指名する(ステップ1885)。 そのとき、該方法
サーバーの処理時にエラーが発生したか否かという質問
が行われる(ステップ1887)。エラーが若しあれ
ば、それは記録され(ステップ1888)、エラーが若
し発生しなかったならば、指名ソフトウェア構成要素1
332は該キューをチェックする(ステップ187
0)。この様にして、該方法呼出し要求を発したクライ
アント・アプリケーションを妨げずに該キュー上の全て
の非同期呼出し要求が処理される。 I. 要 約 この様にして、本発明は、1プラットフォーム上のアプ
リケーションが、他のプラットフォームについての詳細
や、他のアプリケーションについての詳細についても知
る必要無しに、同じ又は異なるプラットフォーム上のア
プリケーションを呼び出す効率的で単純な方法を提供す
る。その様な呼出しは、不均一回路網内の似ていないプ
ラットフォーム同士の間でも発生することが出来る。
【0166】この発明のコンテキスト指向技術による
と、データ(又はインスタンス)及びアプリケーション
は管理されないので、それらのデータ及びアプリケーシ
ョンを、アプリケーションの開発者が選んだ方法で管理
することが出来る。その代わりに、オブジェクトと、ア
プリケーションへの参照とだけを管理することにより、
システム資源についての要求は減少し、システムの柔軟
性が向上する。
【0167】この発明がもたらす他の利点は、現在実行
中ではないアプリケーションを自動的に呼び出す能力で
ある。これにより、この発明に従って構成されたシステ
ムの力と柔軟性とが更に向上する。一般的発明思想の範
囲から逸脱することなく本発明を修正、変形出来ること
を当業者は理解するであろう。従って、この発明は、広
い意味では、図示し説明した特別の詳細や代表的方法に
限定されるものではない。
【図面の簡単な説明】
【図1】図1は、本発明の好適な実施例に使用すること
の出来る回路網の図である。
【図2】図2は、アプリケーションとの関連でこの発明
のオブジェクト指向的モデルの主要構成要素を示す図で
ある。
【図3】図3は、本発明のこの実施例のオブジェクト指
向的モデルの構成要素間の関係の図である。
【図4】図4は、この発明のオブジェクト指向的モデル
の構成要素の例の間の関係の図である。
【図5】図5は、この好適な実施例による、図4に示さ
れている関係と一貫するクラスデータベースについての
構造の図である。
【図6】図6は、この好適な実施例の種々の構成要素
と、それらの構成要素間の情報の好適な流れとの図であ
る。
【図7】図7は、この好適な実施例における種々のメモ
リーシステムの関係を示す図である。
【図8】図8は、局所クラスデータベースの好適な構造
の図である。
【図9】図9は、図8に示されている局所クラスデータ
ベース内のブロックの好適な実施例の図である。
【図10】図10は、大域データベース、局所データベ
ース、及びノードキャッシュについてのローダー/アン
ローダーの機能の図である。
【図11】図11は、コンテキストオブジェクトデータ
ベースの好適な実施例を示す図である。
【図12】図12は、図11に示されているコンテキス
トオブジェクトデータベースにおける方法オーバーライ
ド・テーブルの好適な実施例を示す図である。
【図13】図13は、図11に示されているコンテキス
トオブジェクトデータベースにおけるサーバー・ノード
・テーブルのための好適な記憶構造を示す図である。
【図14】図14は、図11に示されているコンテキス
トオブジェクトデータベースにおけるクラス・データベ
ース・オーバーライド・テーブルの好適な実施例を示す
図である。
【図15】図15は、該回路網のプラットフォームにお
ける個々のソフトウェア構成要素の図である。
【図16】図16は、アプリケーションの遠隔呼出しの
ために本発明の好適な実施例により行われる一般的オペ
レーションの流れ図である。
【図17】図17は、該回路網の構成要素と情報の流れ
との詳細な図である。
【図18】図18は、図17の呼出しソフトウェア構成
要素が行う手順の流れ図である。
【図19】図19は、図17の呼出しソフトウェア構成
要素が行う手順の流れ図である。
【図20】図20は、図17の呼出しソフトウェア構成
要素が行う手順の流れ図である。
【図21】図21は、図17の呼出しソフトウェア構成
要素が行う手順の流れ図である。
【図22】図22は、方法を分解するために図17の呼
出しソフトウェア構成要素が行うステップの図である。
【図23】図23は、図17の制御サーバーソフトウェ
ア構成要素が行うステップの流れ図である。
【図24】図24は、図17の制御サーバーソフトウェ
ア構成要素が行うステップの流れ図である。
【図25】図25は、図17のタスク指名ソフトウェア
構成要素が行うステップの流れ図である。
【図26】図26は、図17のタスク指名ソフトウェア
構成要素が行うステップの流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドリュー ピー ウィルソン イギリス リーディング アールジー7 3ディーピー バーグフィールド コモン バンセス レーン コモンズ ブリンク (番地なし) (72)発明者 ニール エフ ジェイコブソン アメリカ合衆国 ニューハンプシャー州 03062 ナシュア クランウェル コート 6 (72)発明者 マイケル ジェイ レンズロー アメリカ合衆国 マサチューセッツ州 01721アッシュランド バイロン ロード 7

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 複数のプラットフォームを含むデータ処
    理回路網において、クライアント・アプリケーションに
    よりサーバー・アプリケーションを呼び出すプロセスで
    あって、該クライアント・アプリケーションは、 該クライアント・アプリケーションにより操作され又は
    アクセスされることの出来るアイテムであって、同じク
    ラス内のインスタンスが共通の特徴を共有することとな
    る様にクラスに編成された複数のインスタンスと、 該クライアント・アプリケーションについて確認された
    インスタンスに対して行われることの出来るオペレーシ
    ョンの種類を指定する複数のメッセージとを包含し、 該プロセスは、該プラットフォームが行う下記のステッ
    プ、即ち、 1のインスタンスについての識別子と、該第1インスタ
    ンスに対して行われるべき所望のオペレーションについ
    ての識別子とを含む第1メッセージを該クライアント・
    アプリケーション内に生成するステップと、 該第1メッセージと、該第1インスタンスが編入されて
    いるクラスとから第1の方法についての識別子を決定す
    るステップであって、該第1方法についての該識別子
    は、該サーバー・アプリケーションが該第1インスタン
    スに対して所望のオペレーションを行うのを許す手順へ
    の参照を包含しているステップと、 該第1インスタンスについての該識別子と該手順への該
    参照とを、該サーバー・アプリケーションを呼び出すた
    めの該サーバー・アプリケーションを内蔵するプラット
    フォームの中のサーバー・プラットフォームへ送るステ
    ップと、から成ることを特徴とするプロセス。
  2. 【請求項2】 送るステップは、 該プラットフォームの中のサーバー・プラットフォーム
    をして該サーバー・アプリケーションを実行せしめるサ
    ブステップを含むことを特徴とする請求項1に記載のプ
    ロセス。
  3. 【請求項3】 該サーバー・アプリケーションを始動さ
    せるステップを更に含むことを特徴とする請求項2に記
    載のプロセス。
  4. 【請求項4】 該データ処理回路網は、該クライアント
    ・アプリケーションのユーザーに対応するユーザーコン
    テキスト情報を包含しており、 該第1方法についての該識別子を決定するステップは、 該ユーザーコンテキスト情報への参照によって該第1方
    法についての該識別子を決定するサブステップを含むこ
    とを特徴とする請求項1に記載のプロセス。
  5. 【請求項5】 該データ処理回路網は、該回路網のユー
    ザーのグループに対応するグループコンテキスト情報を
    包含しており、 該第方法についての該識別子を決定するステップは、 該グループコンテキスト情報への参照によって該第1方
    法についての該識別子を決定するサブステップを含むこ
    とを特徴とする請求項1に記載のプロセス。
  6. 【請求項6】 該データ処理回路網は、該回路網内のプ
    ラットフォームの各々にとってアクセス可能で、該クラ
    スについての情報を含む大域データベースを包含してお
    り、 該第1方法についての該識別子を決定するステップは、 該第1インスタンスのクラスを決定し、 該第1インスタンスのクラス及び該第1メッセージで該
    大域データペースにアクセスして該第1方法について該
    識別子の位置を確認し、 該第1方法の該識別子を検索するサブステップを含むこ
    とを特徴とする請求項1に記載のプロセス。
  7. 【請求項7】 該データ処理回路網は、該クライアント
    ・アプリケーションのユーザーに対応するコンテキスト
    情報を包含しており、 随伴するクラス内のインスタンスの共通の特徴を定義す
    る属性の組が該方法の各々に随伴しており、 該第1方法についての該識別子を決定するステップは、 該コンテキスト情報を各方法の属性の組と比較して該方
    法の中の一つを選択するサブステップを含むことを特徴
    とする請求項6に記載のプロセス。
  8. 【請求項8】 該サーバー・アプリケーションをして実
    行せしめるステップは、 該サーバー・アプリケーションにより使用されるべきコ
    ンテキストオブジェクトデータベースを生成するサブス
    テップを含み、該コンテキストオブジェクトデータベー
    スはコンテキスト情報を含むことを特徴とする請求項2
    に記載のプロセス。
  9. 【請求項9】 送るステップは、 該サーバー・アプリケーションにより使用されるべきコ
    ンテキスト情報を該プラットフォームの中のサーバー・
    プラットフォームに送るサブステップを含むことを特徴
    とする請求項1に記載のプロセス。
  10. 【請求項10】 随伴するクラス内のインスタンスを定
    義する属性の組が該クラスの各々に随伴しており、 対応する上位クラスの下位クラスとなっているクラス
    が、対応する上位クラスから属性を受け継ぐ様に、該ク
    ラスは上位クラスと下位クラスとに階層的に整理されて
    おり、 該方法は、更に、 該1インスタンスの属性を、該第1インスタンスについ
    てのクラスの属性と、該第1インスタンスについてのク
    ラスの全ての上位クラスの属性とから決定するステップ
    を含むことを特徴とする請求項1に記載のプロセス。
  11. 【請求項11】 該クライアント・アプリケーション
    は、該プラットフォームの中のクライアント・プラット
    フォームにおいて実行し、 該第1方法についての該識別子を決定するステップは、 該プラットフォームの中の該クライアント・プラットフ
    ォームにおいて、該第1インスタンスが編入されている
    クラスを決定するサブステップを含むことを特徴とする
    請求項1に記載のプロセス。
  12. 【請求項12】 クライアント・アプリケーションによ
    りサーバー・アプリケーションをオブジェクト指向的に
    遠くから呼び出せる様にするデータ処理回路網であっ
    て、 データベースを内蔵する回路網内のメモリーを備えてお
    り、該データベースは、 一義的に識別可能な複数のクラスについての情報を含む
    複数のクラス項目を含んでおり、該クラスは、インスタ
    ンスの種類を特定し、該インスタンスは、共有される特
    徴に従って該アプリケーションにより操作又はアクセス
    されることのあるアイテムであり、 該クラス項目の各々はメッセージ項目の対応するグルー
    プの識別を包含しており、該メッセージ項目は、対応す
    るクラス内のインスタンスに対して行われることの出来
    るオペレーションの種類を指定する情報を包含してお
    り、 該クラス項目の各々は、該アプリケーションを呼び出す
    呼出しコマンドへの参照を内蔵する方法項目の対応する
    グループの識別を内蔵しており、 該データ処理回路網は、更に、該クライアント・アプリ
    ケーションを実行するための複数の第1プラットフォー
    ムと該サーバー・アプリケーションを実行するための複
    数の第2プラットフォームとを備えており、該第1プラ
    ットフォームは、 第1インスタンスについての識別子と、該第1インスタ
    ンスに対して行われるべき所望のオペレーションについ
    ての識別子とを含む第1メッセージを生成する手段と、 該メモリーに接続されて該データベースを制御するデー
    タベース制御手段とを包含しており、該データベース制
    御手段は、 該第1メッセージの結果として呼び出されるべきサーバ
    ー・アプリケーションを選択する手段と、 該第1インスタンスに対して所望のオペレーションを行
    う選択されたサーバー・アプリケーションへの参照を含
    む第1方法についての識別子を該第1メッセージと該第
    1インスタンスが編入されているクラスとから決定する
    手段と、 該第1インスタンスについての該識別子を介して該選択
    されたサーバー・アプリケーションへの該参照を該第2
    プラットフォームの中の選択された一つに送る手段とを
    含んでおり、該第2プラットフォームは、 該データベース制御手段内の該送り手段から該サーバー
    ・アプリケーションについての該参照を受け取る手段を
    含むことを特徴とするデータ処理回路網。
  13. 【請求項13】 該第1プラットフォームの中の選択さ
    れたプラットフォームは、該第2プラットフォームの中
    のプラットフォームであることが出来ることを特徴とす
    る請求項12に記載のデータ処理回路網。
  14. 【請求項14】 該メモリーの一部分は該第1プラット
    フォーム内にあることを特徴とする請求項12に記載の
    データ処理回路網。
  15. 【請求項15】 該メモリーの一部分は該第2プラット
    フォーム内にあることを特徴とする請求項12に記載の
    データ処理回路網。
  16. 【請求項16】 該第1プラットフォームは、 該クライアント・アプリケーションのユーザーに対応す
    るコンテキスト情報を保持する記憶手段と、 該コンテキスト情報への参照によって該第1方法につい
    ての該識別子を決定する手段とを含むことを特徴とする
    請求項12に記載のデータ処理回路網。
JP3202700A 1990-08-14 1991-08-13 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置 Expired - Lifetime JPH0743686B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56738990A 1990-08-14 1990-08-14
US567389 1990-08-14

Publications (2)

Publication Number Publication Date
JPH0675888A true JPH0675888A (ja) 1994-03-18
JPH0743686B2 JPH0743686B2 (ja) 1995-05-15

Family

ID=24266957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3202700A Expired - Lifetime JPH0743686B2 (ja) 1990-08-14 1991-08-13 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置

Country Status (7)

Country Link
US (1) US5341478A (ja)
EP (1) EP0474340B1 (ja)
JP (1) JPH0743686B2 (ja)
AU (1) AU639802B2 (ja)
CA (1) CA2049121C (ja)
DE (1) DE69131245T2 (ja)
TW (1) TW233396B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909466A (zh) * 2017-01-25 2017-06-30 北京奇虎科技有限公司 一种应用调用方法和装置

Families Citing this family (273)

* 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
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
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5408652A (en) * 1990-08-31 1995-04-18 Fujitsu Limited Method and apparatus for heterogenous database access by generating different access procedures for different database data structures
DE4131380A1 (de) * 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
JP3260813B2 (ja) 1992-04-23 2002-02-25 株式会社日立製作所 情報処理システム
JP3613401B2 (ja) * 1992-07-06 2005-01-26 マイクロソフト コーポレーション オブジェクトの名称を付けて結び付ける方法及びシステム
US5802290A (en) * 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
US5459860A (en) * 1992-10-05 1995-10-17 International Business Machines Corporation Computerized system and process for managing a distributed database system
EP0667012B1 (en) * 1992-11-09 1997-02-05 Microsoft Corporation Method and system for connecting objects in a computer system
US5515536A (en) * 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
FR2698977B1 (fr) * 1992-12-03 1994-12-30 Alsthom Cge Alcatel Système d'information multimédia.
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5999942A (en) * 1993-02-11 1999-12-07 Appage Corporation Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
CA2090852A1 (en) * 1993-03-02 1994-09-03 Joseph Iossiphidis Generic data and process base manager and data and process base management system for heterogeneous databases and process bases
US5652879A (en) * 1993-05-12 1997-07-29 Apple Computer, Inc. Dynamic value mechanism for computer storage container manager enabling access of objects by multiple application programs
US5797007A (en) * 1993-06-14 1998-08-18 International Business Machines Corporation Persistent object storage system with default object encoder/decoder
KR100343517B1 (ko) * 1993-06-28 2002-11-29 다우 베네룩스 엔. 브이. 확장프로그램간통신서버
US5473777A (en) * 1993-07-19 1995-12-05 Moeller; Christopher P. Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls
US5379432A (en) * 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
US6684261B1 (en) * 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
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
WO1995004960A2 (en) * 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
JPH0795202A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd システム間での定義情報の共用方式
IL111154A0 (en) * 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5742848A (en) * 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5499343A (en) * 1993-12-17 1996-03-12 Taligent, Inc. Object-oriented networking system with dynamically configurable communication links
US5721904A (en) * 1993-12-20 1998-02-24 Hitachi, Ltd. Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL
US5832219A (en) * 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
CA2115464C (en) * 1994-02-11 1998-12-15 William G. O'farrell Concurrent processing in object oriented parallel and near parallel systems
US5721906A (en) * 1994-03-24 1998-02-24 Ncr Corporation Multiple repositories of computer resources, transparent to user
US5493681A (en) * 1994-04-08 1996-02-20 Motorola, Inc. Method of configuring alternative instances of an element class in a software system
US5682532A (en) * 1994-05-02 1997-10-28 Microsoft Corporation System and method having programmable containers with functionality for managing objects
DE69533148T2 (de) * 1994-05-26 2005-08-25 Sun Microsystems, Inc., Santa Clara Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
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
US5745766A (en) * 1994-09-19 1998-04-28 International Business Machines Corporation PC product registration and tracking
US5805886A (en) * 1994-09-26 1998-09-08 Intel Corporation Method for notifying client applications of events in a shared application in a computer system
US5752027A (en) * 1994-11-30 1998-05-12 Dun & Bradstreet Software Services, Inc. Apparatus and process for creating and accessing a database centric object
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5819091A (en) * 1994-12-22 1998-10-06 Arendt; James Wendell User level control of degree of client-side processing
KR100221374B1 (ko) * 1995-01-19 1999-09-15 포만 제프리 엘 이벤트를 효율적으로 처리하는 데이타 처리 시스템 및 그의 방법과 저장장치
US5692180A (en) * 1995-01-31 1997-11-25 International Business Machines Corporation Object-oriented cell directory database for a distributed computing environment
WO1996025754A1 (en) * 1995-02-17 1996-08-22 Bell Communications Research, Inc. Methods and apparatus for implementing data networking system having object-oriented architecture
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5727212A (en) * 1995-04-12 1998-03-10 International Business Machines Corporation Object oriented device driver system for procedural device drivers
US5499333A (en) * 1995-04-20 1996-03-12 International Business Machines Corporation Method and apparatus for at least partially instantiating an object in a compound document using the object's parent class configuration data when the object's configuration data is unavailable
US5710924A (en) * 1995-04-24 1998-01-20 Motorola, Inc. Method of routing messages within a multi-processing software system
AU5726596A (en) * 1995-05-05 1996-11-21 Apple Computer, Inc. System and method for providing cooperative interrupts in a preemptive task scheduling environment
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US5740455A (en) * 1995-05-16 1998-04-14 Apple Computer, Inc. Enhanced compound document processing architectures and methods therefor
US5664208A (en) * 1995-05-16 1997-09-02 Apple Computer, Inc. Methods and apparatuses for seamless compound document processing
US6266808B1 (en) 1995-06-05 2001-07-24 International Business Machines Corporation Computer program product for enabling the construction of dialogs for commands and templates
US5761499A (en) * 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5692129B1 (en) * 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
US6047312A (en) * 1995-07-07 2000-04-04 Novell, Inc. System for replicating and associating file types with application programs among plurality of partitions in a server
US5640579A (en) * 1995-07-24 1997-06-17 Microsoft Corporation Method and system for logically partitioning a view of a document object from a frame in which the document object is displayed
US5892946A (en) * 1995-09-12 1999-04-06 Alcatel Usa, Inc. System and method for multi-site distributed object management environment
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
US6684259B1 (en) * 1995-10-11 2004-01-27 Citrix Systems, Inc. Method for providing user global object name space in a multi-user operating system
US5913060A (en) * 1995-10-11 1999-06-15 Citrix Systems, Inc. Method for deadlock avoidance in a distributed process system using a synchronous procedure call
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6370552B1 (en) 1997-05-14 2002-04-09 Citrix Systems, Inc. Apparatus and method for displaying application output in an HTML document
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
US6782538B1 (en) 1995-12-14 2004-08-24 International Business Machines Corporation Object oriented information handling system including an extensible instance manager
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
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
US6374287B1 (en) * 1996-01-24 2002-04-16 Sun Microsystems, Inc. Method and system for allowing client processes to run on distributed window server extensions
CA2199108C (en) * 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US6785690B1 (en) * 1996-03-18 2004-08-31 Hewlett-Packard Development Company, L.P. Method and system for storage, retrieval, and query of objects in a schemeless database
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US5745675A (en) * 1996-04-23 1998-04-28 International Business Machines Corporation Object oriented framework mechanism for performing computer system diagnostics
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6081798A (en) * 1996-04-24 2000-06-27 International Business Machines Corp. Object oriented case-based reasoning framework mechanism
US5778378A (en) 1996-04-30 1998-07-07 International Business Machines Corporation Object oriented information retrieval framework mechanism
US5696961A (en) * 1996-05-22 1997-12-09 Wang Laboratories, Inc. Multiple database access server for application programs
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US5987512A (en) * 1996-06-12 1999-11-16 Sun Microsystems, Inc. Method and apparatus for access to remote gateway servers
US6718550B1 (en) * 1996-06-26 2004-04-06 Sun Microsystems, Inc. Method and apparatus for improving the performance of object invocation
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6134583A (en) * 1996-07-01 2000-10-17 Sun Microsystems, Inc. Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16)
US6154742A (en) * 1996-07-02 2000-11-28 Sun Microsystems, Inc. System, method, apparatus and article of manufacture for identity-based caching (#15)
US5828840A (en) * 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
DE19637883B4 (de) * 1996-09-17 2005-06-16 Fujitsu Siemens Computers Gmbh Datenverarbeitungsanlage zur Ausführung großer Programmsysteme
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6243763B1 (en) * 1996-11-12 2001-06-05 International Business Machines Corporation Method for sending a message to a group and the group broadcasts the message to its members or references within an object-oriented system
US6219717B1 (en) * 1996-11-20 2001-04-17 Merrill Lynch & Co., Inc. Method and apparatus for implementing object transparent invocation
US6401099B1 (en) 1996-12-06 2002-06-04 Microsoft Corporation Asynchronous binding of named objects
US6460058B2 (en) 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
US6272523B1 (en) 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6058423A (en) 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US5832521A (en) * 1997-02-28 1998-11-03 Oracle Corporation Method and apparatus for performing consistent reads in multiple-server environments
US6065116A (en) * 1997-05-07 2000-05-16 Unisys Corporation Method and apparatus for configuring a distributed application program
US5961586A (en) * 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US5941949A (en) * 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
US6023721A (en) * 1997-05-14 2000-02-08 Citrix Systems, Inc. Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility
US5983272A (en) 1997-08-29 1999-11-09 Cisco Technology, Inc. Option request protocol
US6311226B1 (en) * 1997-08-29 2001-10-30 Cisco Technology, Inc. Method and apparatus for dynamic link name negotiation
US6898782B1 (en) 1997-10-14 2005-05-24 International Business Machines Corporation Reference-based associations using reference attributes in an object modeling system
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6389452B1 (en) 1997-12-01 2002-05-14 Recursion Software, Inc. Method of communicating between objects and agents across a computer network
US6834389B1 (en) 1997-12-01 2004-12-21 Recursion Software, Inc. Method of forwarding messages to mobile objects in a computer network
US6321261B1 (en) 1997-12-01 2001-11-20 Objectspace, Inc. Method of constructing an object remotely across a computer network
US6415315B1 (en) 1997-12-01 2002-07-02 Recursion Software, Inc. Method of moving objects in a computer network
US6519653B1 (en) 1997-12-01 2003-02-11 Recursion Software, Inc. Method of communicating between agent objects in a computer network
US6535928B1 (en) 1997-12-01 2003-03-18 Recursion Software, Inc. Method of determining the timing for reclaiming a remote object
US6442586B1 (en) 1997-12-01 2002-08-27 Recursion Software, Inc. Method of moving objects across multiple locations in a computer network
US6510460B1 (en) 1997-12-18 2003-01-21 Sun Microsystems, Inc. Method and apparatus for enforcing locking invariants in multi-threaded systems
US6249803B1 (en) 1997-12-18 2001-06-19 Sun Microsystems, Inc. Method and apparatus for executing code during method invocation
US6516354B2 (en) 1997-12-18 2003-02-04 Sun Microsystems, Inc. Method and apparatus for efficient representation of variable length identifiers in a distributed object system
US6898792B1 (en) * 1998-02-18 2005-05-24 Iona Technologies, Plc Foreign object definition information repository
WO1999044133A2 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6917939B1 (en) 1998-05-22 2005-07-12 International Business Machines Corporation Method and apparatus for configurable mapping between data stores and data structures and a generalized client data model using heterogeneous, specialized storage
US6826571B1 (en) 1998-05-22 2004-11-30 International Business Machines Corporation Method and apparatus for dynamically customizing and extending functions of a server program to enable and restrict functions of the server
US6366916B1 (en) * 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications
US6912561B1 (en) 1998-05-22 2005-06-28 International Business Machines Corporation Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data
US6381734B1 (en) * 1998-06-03 2002-04-30 Microsoft Corporation Method, software and apparatus for referencing a method in object-based programming
EP0978977A1 (en) 1998-08-07 2000-02-09 International Business Machines Corporation A method and system for improving high speed internetwork data transfers
US6711178B1 (en) 1998-09-08 2004-03-23 Cisco Technology, Inc. Enhanced claw packing protocol
YU45600A (sh) * 1998-11-18 2002-10-18 Saga Software Inc. Promenljivi distribucioni sistem za integraciju programa u preduzeću
US6182267B1 (en) 1998-11-20 2001-01-30 Cisco Technology, Inc. Ensuring accurate data checksum
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6832377B1 (en) * 1999-04-05 2004-12-14 Gateway, Inc. Universal registration system
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6601195B1 (en) 1999-09-09 2003-07-29 International Business Machines Corporation Switch adapter testing
US6560720B1 (en) 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
US6487208B1 (en) 1999-09-09 2002-11-26 International Business Machines Corporation On-line switch diagnostics
US6697835B1 (en) * 1999-10-28 2004-02-24 Unisys Corporation Method and apparatus for high speed parallel execution of multiple points of logic across heterogeneous data sources
US6947965B2 (en) 1999-11-30 2005-09-20 Recursion Software, Inc. System and method for communications in a distributed computing environment
US6678743B1 (en) 1999-11-30 2004-01-13 Recursion Software, Inc. Method for moving objects in a distributed computing environment
US7051338B1 (en) * 2000-03-03 2006-05-23 The Mathworks, Inc. Method and system for accessing externally-defined objects from an array-based mathematical computing environment
US9710242B1 (en) * 2000-03-03 2017-07-18 The Mathworks, Inc. Method selection in an external language based on output parameters
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
AU2001264895A1 (en) 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6874143B1 (en) 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7020773B1 (en) 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
US7275079B2 (en) 2000-08-08 2007-09-25 International Business Machines Corporation Common application metamodel including C/C++ metamodel
US7346842B1 (en) 2000-11-02 2008-03-18 Citrix Systems, Inc. Methods and apparatus for incorporating a partial page on a client
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
US6907445B2 (en) * 2001-02-12 2005-06-14 International Truck Intellectual Property Company, Llc Consistent application programming interface for communicating with disparate vehicle network classes
US20050155042A1 (en) * 2001-07-02 2005-07-14 Michael Kolb Component-based system for distributed applications
US7203700B1 (en) * 2001-08-31 2007-04-10 Oracle International Corporation Online instance addition and deletion in a multi-instance computer system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7536404B2 (en) * 2001-12-13 2009-05-19 Siemens Product Lifecycle Management Software, Inc. Electronic files preparation for storage in a server
US7660876B2 (en) * 2001-12-13 2010-02-09 Siemens Product Lifecycle Management Software Inc. Electronic file management
US6917975B2 (en) * 2003-02-14 2005-07-12 Bea Systems, Inc. Method for role and resource policy management
US8831966B2 (en) * 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US7591000B2 (en) 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7653930B2 (en) 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US7017051B2 (en) * 2003-02-24 2006-03-21 Bea Systems, Inc. System and method for enterprise authentication
US7610618B2 (en) 2003-02-24 2009-10-27 Bea Systems, Inc. System and method for authenticating a subject
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7516145B2 (en) 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
US7168035B1 (en) 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7581177B1 (en) 2003-08-01 2009-08-25 Microsoft Corporation Conversion of structured documents
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050262362A1 (en) * 2003-10-10 2005-11-24 Bea Systems, Inc. Distributed security system policies
US7644432B2 (en) * 2003-10-10 2010-01-05 Bea Systems, Inc. Policy inheritance through nested groups
US20050257245A1 (en) * 2003-10-10 2005-11-17 Bea Systems, Inc. Distributed security system with dynamic roles
US20050097352A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Embeddable security service module
US20050251851A1 (en) * 2003-10-10 2005-11-10 Bea Systems, Inc. Configuration of a distributed security system
US20050097353A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Policy analysis tool
US7603547B2 (en) * 2003-10-10 2009-10-13 Bea Systems, Inc. Security control module
US7137099B2 (en) 2003-10-24 2006-11-14 Microsoft Corporation System and method for extending application preferences classes
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7430711B2 (en) 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7568101B1 (en) 2004-05-13 2009-07-28 Microsoft Corporation Digital signatures with an embedded view
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7584417B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7509353B2 (en) 2004-11-16 2009-03-24 Microsoft Corporation Methods and systems for exchanging and rendering forms
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7437376B2 (en) 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US7543228B2 (en) 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US7844957B2 (en) * 2005-08-19 2010-11-30 Sybase, Inc. Development system with methodology providing optimized message parsing and handling
US7953734B2 (en) * 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US7483893B2 (en) 2005-09-26 2009-01-27 Bae Systems, Inc. System and method for lightweight loading for managing content
US7752205B2 (en) * 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US7895639B2 (en) * 2006-05-04 2011-02-22 Citrix Online, Llc Methods and systems for specifying and enforcing access control in a distributed system
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US8738703B2 (en) 2006-10-17 2014-05-27 Citrix Systems, Inc. Systems and methods for providing online collaborative support
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
JP5128496B2 (ja) * 2006-12-27 2013-01-23 京セラ株式会社 通信システム、無線通信端末、通信方法、無線通信方法、無線通信装置、およびその制御方法
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8051141B2 (en) * 2009-10-09 2011-11-01 Novell, Inc. Controlled storage utilization
IT1396303B1 (it) * 2009-10-12 2012-11-16 Re Lab S R L Metodo e sistema per l elaborazione di informazioni relative ad un veicolo
US8515979B2 (en) * 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
EP2466455A1 (en) * 2010-12-15 2012-06-20 Schneider Electric Buildings AB Definition of objects in object-oriented programming environments
US9372912B2 (en) * 2014-03-07 2016-06-21 Zef Oy Method, server, database and computer program for enriching comparison data of a decision making application
US10455040B2 (en) * 2017-01-30 2019-10-22 Microsoft Technology Licensing, Llc Deferring invocation requests for remote objects

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
JPS60229160A (ja) * 1984-04-26 1985-11-14 Toshiba Corp マルチプロセツサシステム
US4882674A (en) * 1985-03-05 1989-11-21 Wang Laboratories, Inc. Apparatus and method for control of one computer system by another computer system
AU589400B2 (en) * 1985-03-05 1989-10-12 Wang Laboratories, Inc. Apparatus and method for control of one computer system by another computer system
US5014192A (en) * 1985-05-06 1991-05-07 Motorola Computer X, Inc. System for locating a file in a logical ring by sequentially forwarding access request with file system name and file name
US4835685A (en) * 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4868745A (en) * 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
WO1988007718A1 (en) * 1987-03-24 1988-10-06 Insignia Solutions Limited Arrangement for software emulation
JPS647231A (en) * 1987-06-30 1989-01-11 Toshiba Corp Parallel processing device for object directional system
US4961133A (en) * 1987-11-06 1990-10-02 Visystems, Inc. Method for providing a virtual execution environment on a target computer using a virtual software machine
US4885684A (en) * 1987-12-07 1989-12-05 International Business Machines Corporation Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5109486A (en) * 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
US5142622A (en) * 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
US5075847A (en) * 1989-05-26 1991-12-24 Hewlett-Packard Company Method and apparatus for computer program encapsulation
US5175854A (en) * 1989-06-19 1992-12-29 Digital Equipment Corporation Inter-applicataion interface system
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
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
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909466A (zh) * 2017-01-25 2017-06-30 北京奇虎科技有限公司 一种应用调用方法和装置
CN106909466B (zh) * 2017-01-25 2020-06-26 北京奇虎科技有限公司 一种应用调用方法和装置

Also Published As

Publication number Publication date
CA2049121C (en) 1996-08-13
EP0474340A2 (en) 1992-03-11
TW233396B (ja) 1994-11-01
JPH0743686B2 (ja) 1995-05-15
EP0474340A3 (en) 1993-01-13
DE69131245D1 (de) 1999-06-24
US5341478A (en) 1994-08-23
DE69131245T2 (de) 1999-09-23
CA2049121A1 (en) 1992-02-15
EP0474340B1 (en) 1999-05-19
AU7945491A (en) 1992-03-26
AU639802B2 (en) 1993-08-05

Similar Documents

Publication Publication Date Title
JP2842714B2 (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法
JPH0675888A (ja) 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置
JPH0664559B2 (ja) クライアントインターフェースをアプリケーションのオブジェクト指向呼出しに対処するための方法及び装置
JPH0675889A (ja) 分散不均一環境におけるサーバー機能の実行方法及び装置
JP3949180B2 (ja) 基底システムオブジェクトモデルを備えたシステム管理サービスの統合
EP0501610B1 (en) Object oriented distributed computing system
US6470375B1 (en) System and method for managing the execution of system management tasks
US6438590B1 (en) Computer system with preferential naming service
US6665786B2 (en) Dynamic disk partition management
KR100301274B1 (ko) 컴퓨터시스템및프로그램제품전송방법
EP0660234A2 (en) Method and system for executing code remotely
JP2002522842A (ja) オペレーティングシステム用多言語ユーザインタフェース
JPH0997204A (ja) 分散オブジェクト操作環境において透明性のある不変性を提供する方法および装置
US6470346B2 (en) Remote computation framework
US6751796B1 (en) Integration of systems management services with an underlying system object model
US6886172B2 (en) Method for mapping procedural C++ code to java object-oriented classes
US7039673B1 (en) Method and apparatus for dynamic command extensibility in an intelligent agent
Sharrott et al. ObjectMap: Integrating high performance resources into a distributed object-oriented environment

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090515

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100515

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110515

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 17

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 17