JPH0390953A - 手順呼出しシステム及び方法 - Google Patents

手順呼出しシステム及び方法

Info

Publication number
JPH0390953A
JPH0390953A JP2220136A JP22013690A JPH0390953A JP H0390953 A JPH0390953 A JP H0390953A JP 2220136 A JP2220136 A JP 2220136A JP 22013690 A JP22013690 A JP 22013690A JP H0390953 A JPH0390953 A JP H0390953A
Authority
JP
Japan
Prior art keywords
procedure
remote
service
node
remote node
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
JP2220136A
Other languages
English (en)
Other versions
JP2677343B2 (ja
Inventor
Richard T Brandle
リチャード・テイー・ブランドル
Don L Goodliffe
ダン・エル・グドライフ
Donald E Keith
ドナルド・イー・キース
Randy A Robinette
ランデイ・エイ・ロビネツト
Robert C Sizemore
ロバート・シー・サイズモア
Garry J Smithwick
ギヤリー・ジエー・スミスウイツク
Anthony J Zappavigna
アンソニー・ジエー・ザパヴイグナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0390953A publication Critical patent/JPH0390953A/ja
Application granted granted Critical
Publication of JP2677343B2 publication Critical patent/JP2677343B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般にコンピュータ・システムに関し、より
詳しくは手順呼出しを作る技術に関する。
B、従来の技術及びその課題 プログラミング言語は、再利用できるコードが画定され
た位置に置かれ、必要な時に実行される、手順呼出しを
行なうための機能を提供する。パラメータは呼び出され
た手順にバスされ、結果が戻される。ここで使用される
ように、用語”手順(procedure)”は、総称
的な意味で使い、特に手順、機能、及びサブルーチンと
呼ぶプログラム・セグメントを、ここではすべて手順と
呼ぶ。
手順呼出し規定の詳細は、プログラミング言語によって
異なる。いくつかのパラメータは9手順スタック上のレ
ジスタ内、またはレジスタ、またはスタックの位置に保
待されたポインタによって指定されたメモリ・ブロック
内に渡すことができる。手1頓呼出しを、異なる言語に
よって使用された異なる呼出し規定のために、同じ言語
、または同じ呼出し規定を用いた他の言語内に初めから
書き込まれた手順のために作らなければならない。
異なる言語に初めから書き込まれた手順に対する呼出し
を望み、元の言語と同一であることが分かる場合、特定
のステップがそのような手順で正確に機能するために1
時には呼出しを再構成するために取ることができる。こ
の再構成は、アセンブリ言語レベルでの呼出し修正を必
要とする。
事実上すべての大型、及び中型システムを含む多くのコ
ンピュータ・システムで、手順の共通ライブラリが、標
準的でよく使用されている機能のために保待される。シ
ステム・サービスと呼ばれることもあるこれらの手順は
、アプリケーション・プログラムから呼び出され、アプ
リケーション・プログラマを、共通の機能を実行するた
めにコードの書込みとデパックを行なうことから解放す
る。
ライブラリ機能を、リンク時にアプリケーション・プロ
グラムにリンクすることができるか、または、これが動
作システムによって支援される場合には、実行時間に動
的にリンクする。
上記の言語呼出し規定問題は、手順ライブラリの使用で
存在する。多重手順が同じライブラリ機能を実行するた
めに存在するように、−股肉には、ライブラリ手順はシ
ステムによって支援された各言語で書かれなければなら
ない。1つの代替方法は、特定の言語で書かれた1つま
たは限られた数の手順を有し、たとえどんなステップが
異なる言語で書かれた手順を呼び出すために必要であっ
ても、実行するためにアプリケーション・プログラマを
必要とすることである。
いくつかのコンピュータ・システムが構内ネットワーク
を介して共に接続されると、できる限り多くの資源を共
用することが望ましい。これは、従来の技術システムは
異なる機械に置かれた手順を透過的(トランスペアレン
ト)に呼び出す準備をしていないので、−股肉にライブ
ラリ手順にとって実現可能なことではない。これは、手
順呼出し規定が異なるシステム構成の間で異なる非同期
ネットワークに対しては、特に真実である。
ネットワークに取り付けた遠隔ノードに置かれたライブ
ラリ手順を呼び出すために、アプリケーション・プログ
ラムに対して能力を与えることは、システムにとって望
ましい。さらに、そのようなシステムにとって、アプリ
ケーション・プログラムが、それらが構内ネットワーク
・ノード、または、遠隔ノード上に置かれるのか否かを
知ることなく、ライブラリ手順を呼び出せることが望ま
しい。また、そのような呼出しが、アプリケージタン・
プログラムによって作られた言語特定翻訳の必要なしに
、異なる手順呼出し規定を用いた言語で書き込まれた手
順に対し行なわれるのが望ましい。
したがって本発明の1つの目的は、アプリケーション・
プログラムがネットワークによって構内機械に接続され
た遠隔機械上に置くことのできるライブラリ手順に対し
て、呼出しができるようにするシステム及び方法を提供
することである。
また、本発明の1つの目的は、アプリケーション・プロ
グラムが、そのような手順が構内機械、または遠隔機械
上に置かれているか否かを知ることなく、ライブラリ手
順に呼出しを行なうことができるようにするシステム、
及び方法を提供することである。
本発明のさらにもう1つの目的は、ライブラリ手順に対
する呼出しが、ライブラリ手順によって用いられた規定
とは異なる手順呼出し規定を用いたアプリケーション・
プログラムから作ることができるシステムを提供するこ
とである。
C0課題を解決するための手段 したがって、本発明によれば、ライブラリ手順に対して
呼出しをするためのシステムは、アプリケーション・プ
ログラムのために標準インタフェイスを提供する。ライ
ブラリ手順に対する要求は、所望の手順が、構内で、ま
たは遠隔機械で利用できるか否かを知るためにチエツク
される。構内で利用できる手順は構内で実行される。遠
隔機械で利用できる手順は、手順識別子、及び遠隔機械
に対する任意の必要なパラメータを通信することによっ
て呼び出される。結果は、アプリケーション・プログラ
ムによって使用するために、構内機械に戻される。
D、実施例 手順呼出しを行なうためのシステムが、コンピュータの
ネットワークと共に使用できる。構内(local) 
 ノードのアプリケーション呼出しは、所望のライブラ
リ手順を呼び出す。ライブラリ手順は、構内ノードまた
は遠隔ノードに利用でき、また位置はアプリケージタン
によって知られる必要はない。ライブラリ手順が遠隔ノ
ードに利用できる場合、遠隔ルータ手順は遠隔ノードに
対して手順識別子を通信する。手順が実行され、ど1ん
な結果も構内ノードに戻され、アプリケーション・プロ
グラムに戻される。
本明細書に説明するソフトウェア・システムは、はとん
どどの−膜内な目的のディジタル・コンピュータと共に
使用するのに適している。メインフレーム、ミニコンピ
ユータ、エンジニアリング・ワークスチーシロン、及び
多くのデスクトップ・パーソナル・コンピュータは、後
述のシステムを支援することができる。当業者の能力の
範囲内では、単に小修正だけが、後述のような様々な既
存の言語コンパイラに対して必要とされる。
項目ライブラリ手順、サービス、及びサービス手順は、
同じ意味に使用される。構内ノード、及び構内機械は、
アプリケーション・プログラムが実行しているコンピュ
ータを意味する。遠隔ノード、及び遠隔機械は、構内領
域ネットワークなどの通信リンクによって構内ノードに
接続されたコンピュータを意味する。
第1図で、構内ノードで利用できるライブラリ手順呼出
しを取り扱うためのシステム10は、サービス・ディレ
クタ12を含む。サービス・ディレクタ12は、切取り
(stub)手順14によって呼び出されるソフトウェ
ア手順である。切取り手順工4は、アプリケーション・
プログラム16の一部分である。
サービス・ディレクタ12は、内部サービス18を定義
するいくつかの手順を含む。サービス・ディレクタ12
は、また、サービス・テーブル20を定義するデータ構
造にアクセスする。実行中に、サービス・ディレクタ1
2は、ライブラリ手順22.24.26、及び28に対
し手順呼出しをすることができる。
アプリケーション・プログラム16は、任意のエンドユ
ース、すなわちシステム機能を実行することができ、−
膜内にはCまたはC0BOLなどの高レベル言語で書か
れる。アプリケーション16をアセンブリ言語で書くこ
とは次第に減っている。切取り手順14は、リンク時に
アプリケーション16にリンクされる小さな手順である
切取り手順14は、アプリケ−シロン16によって、任
意の他の手順によって呼び出される。切取り手順14に
渡されるパラメータは、実行が望まれるシステム・ライ
ブラリ手順、あるいはサービスを定める。切取り手順1
4は、これらのパラメータを使用して、サービス・ディ
レクタ12に対シて手順呼出しを行なう。
いろいろなプログラミング言語は、いろいろな手順呼出
し規定を使用するので、異なる切取り手順14は、支援
された各プログラミング言語のためのシステムによって
準備されなければならない。
しかし、単一の切取りプログラム14が、すべての所望
ライブラリ・サービスのためのサービス・ディレクタt
2に対して、すべての呼出しを行なう。
サービス・ディレクタ12は、ライブラリ手順が呼び出
された時、アプリケーション・プログラム16により使
用されるインタフェイスである。
サービス・ディレクタ12は、呼び出された時、それに
渡されたパラメータを調べ、どの手順が呼び込まれるべ
きかを判定する。ある手順は、サービス・ディレクタ1
2のコードに直接食まれるのが好ましい。これらの手順
は、内部サービス18または環境サービスと呼ぶことが
できる。これらの手順18は、−膜内にはしばしば実行
されるもので、あまり複雑なものではない。これらの手
順18に対する効果的な呼出しは、システムの性能低下
を防ぐために好ましい。サービス・ディレクタ12に対
する内部サービス18として含まれる一般的なシステム
・サービスは、プログラム、及び記憶マネージメント、
時刻及び同様のシステム・サービス、及び、初期設定及
びサービス・ディレクタ12自体の動作に向けられた制
御ルーチンを含む。
切取部分14を介して、アプリケーション16がサービ
ス・ディレクタ12を呼び出す時、実行される手順は、
そこに渡されるパラメータによって識別される。いった
ん所望の手順が識別されると、サービス・ディレクタは
、その手順がシステム内のどこに記憶され、それがどの
パラメータを必要としているのか、さらに手順がはじめ
に書かれた言語は何かを判定しなければならない。この
最後の項目は、所望のライブラリ手順が呼び込まれた時
に使用しなければならない手順呼出し規定を示す。サー
ビス・ディレクタ12は、この情報をサービス・テーブ
ル20から見つける。サービス・テーブル20は、シス
テム・ライブラリ手順の名前から、今述べた情報に対す
るマツピングを準備し、いくつかの周知のデータ構造の
どれで゛も実行できるデータ構造である。
いったんサービス・ディレクタ12が呼び込まれようと
するライブラリ手順を識別すると、それは、手順によっ
て期待される呼出し規定に対し適切にそこにパスされる
任意のパラメータも配置し、その後それを呼び出す。手
順によって戻されたいかなる結果も、サービス・ディレ
クタ12にパスされる。必要ならば、サービス・ディレ
クタ12は、その結果を再びフォーマットし、それらを
切取り手順14に戻す。
多くの場合、アプリケーション・プログラム16及び呼
び出されたライブラリ手順は、同じ言語で書き込まれ、
その結果、必要な手順呼出しをする際には、はとんど困
難性はない。また他の場合、ある1つの言語の実施態様
は、パラメータをパスし、レジスタ内の結果を戻すこと
ができ、一方で、他の言語のインプリメンテーシコンは
、スタックを使用することができる。サービス・ディレ
クタ12は、1つの呼出し規定、及び他の呼出し規定の
間で翻訳ないしは変換する必要のあるものを「知り」、
かなり直接的方法でこれらを変える。
たとえば、データ及びポインタは、レジスタからスタッ
クへ移動することができ、逆もまた可能である。
好ましい実施例において、アプリケーションは、任なの
システム・ライブラリ手順を呼び出す前に、サービス・
ディレクタ12に初期設定呼出しをしなければならない
。この呼出しはアプリケーションを識別し、さらにサー
ビス・ディレクタ12が適切なサービス・テーブル20
をみつけるようにすることができるパラメータを渡す。
いろいろなアプリケージ3ンが、いろいろなサービス・
テーブルの組を使用することができる。この呼出しはま
た、第2図で説明される機能をもつ共通の制御ブロック
に対してポインタを準備することができる。
ライブラリ手順に対するすべての呼出しが完了した後で
、サービス・ディレクタ12に対して終了呼出しをする
ことも、アプリケ−シコン16にはまた好ましい。これ
によって、サービス・ディレクタt2はメモリの割り当
てられた領域を自由にさせ、一般に、アプリケーション
16の後に、終結処置させる。
第2図は、ライブラリ手順を呼び出すために、アプリケ
ーション16内で使用するための一般的な命令を示す。
命令前40は、切取り手順塩″FXXZ  ”42を有
する切取り手順14に対する呼出し” CALL″であ
る。FORTRANなどのいくつかの言語では、ワード
CALLは、実際には、切取り手順14を呼び出すステ
ートメントの一部分として現われる。また別の多くの言
語では、ワードCALLは使用されず、切取り手順14
は、単にその名前42を使用することにより呼び出され
る。
切取り手順塩42は、記述的な手順塩の使用と矛盾しな
い傾向を有するように、比較的任意であることが好まし
い。システム・リンカは、アプリケーション・プログラ
ム16の言語に適切な切取部分14内に連結することが
できるように、切取り手順塩42はどの言語が使われて
いるのかを表使用される言語を表す1つまたは複数の文
字によって置き換えられるのが好ましい。たとえば、こ
れらの文字は、”C’  (COBOLに対して)“C
BL″ または(アセンブリ言語に対して)“ASM”
が可能である。代わりに、同じ切取り名がすべての言語
に対して使用され、各コンパイラは、それがアプリケー
ション・プログラム16をコンパイルする時、それが作
成するオブジェクト・ファイル内に必要な外部連係情報
を置くことにより、適切な切取り手順14を識別する。
切取り手順14に渡される第1のパラメータは、サービ
ス・パラメータ″5ERVICE″44であり、サービ
ス・パラメータ44は、サービス名ブロック46と呼ば
れるデータ構造に対するポインタである。渡そうとする
第2のパラメータは共通ブロック識別子”C0MM0N
″48であり、共通ブロック識別子48は共通ブロック
50に対するポインタを含む。第3のパラメータ″PR
OCEDURE”52は、手順ブロック54に対するポ
インタを含み、さらに、追加パラメータ″PARAM1
″56は、パラメータ・ブロック58を分離するための
各ポインタである。
かぎかっこで示したパラメータ52.56は、いくつか
の場合には自由選択である。すなわち、時刻のようない
くつかの内部サービス呼出しが、インプリメンテーショ
ンに応じてパラメータ44及び48だけで足りる場合も
ある。
サービス・パラメータ44は、サービス名ブロック46
を指摘し、サービス名ブロック46は、情報のいくつか
の異なる項目を含むメモリの割り振られたブロックであ
る。ブロック46に示された数は、そのフィールドが占
める多くのバイトを表す。好ましい実施例では、サービ
ス名ブロック46内の第1のフィールドは、長さ”LE
NGTH’フィールドであり、LENGTHフィールド
は、サービス名ブロック46内のバイトのすべての数を
表す。次のフィールドは名前″NAME″フィールドで
あり、NAMEフィールドはサービスの名前である。パ
ラメータカウント”PARM”フィールドは呼び出され
たサービスに渡そうとするパラメータの数を表す。この
カウントは、手順パラメータ52がパスされているか否
か、さらに、どれだけのパラメータ項目56がバスされ
ているかを判定するために使用される。
フラグ′vFLAGS”フィールドは、切取り手順14
からサービス・ディレクタ12に、情報を渡すために使
用される。−股肉に渡される情報の1型式は、呼出し言
語の識別子である。異なる言語に対するすべての切取り
手順14は、同じエントリ・ポイントで、サービス・デ
ィレクタ12を呼び出し、サービス名ブロック内のF 
LAG Sフィールドは、どの呼出し規定が使用されて
いるかを、サービス・ディレクタ12に示す。
指標”INDEX’フィールドは、特定のサービスにつ
いての情報の位置をより速く識別するために使用される
。サービスが呼び出された初回は、サービス・ディレク
タ12は、NAMEフィールドをテーブル20内で有効
な様々な名前と突き合わせるために、サービス・テーブ
ル20を介して探索しなければならない。いったんこの
突合わせが行なわれると、サービス・ディレクタ12は
、テーブル20内のそのエントリに対する識別子をIN
DEXフィールド内に置く。識別子は、たとえば、その
エントリに対するアドレス、または、インデックスをテ
ーブルの中に置くことができる。
このサービスの様々な機能が後で呼び出される時はいつ
でも、この識別子が使用されて、サービス・テーブル2
0内の適切なエントリに直接アクセスする。
共通ブロック50はサービス・ディレクタ12によって
使用され、状況及び他の情報をアプリケーション・プロ
グラム16に戻す。長さ“’LENGTH”フィールド
は、共通ブロック50のサイズを表す。リターン・コー
ド”RETURN  C0DE″フイールドが使用され
て、状況コードをアプリケーション・プログラム16に
戻す。好ましい実施例の規定によって、戻りコードのた
めの正の値は、単に、呼び出されたライブラリ手順によ
って生成された任意の戻りコードを通過する。また規定
によって、戻りコードのための負の値はサービス・ディ
レクタ12によって使用され、責任領域内の障害を示す
。そのような障害には、たとえば、所望のライブラリ手
順をみつける能力がない、ということも含まれる。拡張
コード″EXTENDED  C0DE″フイールドは
、エラー・コードを戻すための追加能力を準備する。
追加要素″ADDITIONAL  ELEMENTS
″フィールドは、任意選択であり、データまたはデータ
・バックのためのポインタを、アプリケーション・プロ
グラム16に転送するために使用してもよい。
長さLENGTH”フィールドの他に、手順ブロック5
4は機能コード″FUNCTIONCODE″フィール
ドを含む。このフィールドは、どのサービスの機能が望
まれるかを示す数である。
好ましい実施例では、関連した機能は共にグループ化さ
れ、このグループ化をサービスと呼ぶことにする。これ
らの手段の1つにアクセスするために、全体としてサー
ビスに適用される名前が必要であり、それはサービス名
ブロック46内にあり、さらにサービスの範囲内の手順
が必要とされる指示は、手順ブロック54内にある。た
とえば、マトリックス操作を実行するためのルーチンの
lグループは、行列式の計算、マ) IJフックス作、
反転、または他のマトリックス操作が必要とされるか否
かを指示する手順ブロックで、単一のサービスにより識
別することができる。
各パラメータ・ブロック58は、1つのパラメータを要
求されたライブラリ手順に伝送するために使われる。パ
ラメータ・ブロック58内のサービス・データ″5ER
VICE  DATA″フィールドは、データを直接合
むことができるか、またはデータに対するポインタを含
む。各パラメータ・ブロック58内に含まれたデータ・
タイプは、各個別のライブラリ手順が何を期待するかに
依存し、その特定ライブラリ手順のための文書資料に指
定されることになる。
第3図は、アプリケーション・プログラム16によって
、構内ノードで利用できるライブラリ手順の呼出し中に
発生するステップを示す。第3図のフローチャートは、
サービス・ディレクタ12に対し行なわれる必要のある
任意の初期化呼出しがすでに行なわれている、と仮定す
る。第3図は、ライブラリ手順に対する単一呼出し中に
発生する事象の順序のみを示す。
まず、アプリケーション・プログラム16は切取り手順
を呼び出し、パラメータをそれに渡す(70)。第2図
に関して述べられたようなこれらのパラメータは、少な
くともサービス、及び、共通ブロックを識別することが
好ましく、さらに必要ならば手順識別子及びパラメータ
を任意選択的に識別する。次に切取り手順は呼出し言語
フラグをセットする(72)。このフラグは、サービス
・ディレクタ12に対し、アプリケーション・プログラ
ム16のプログラミング言語を表示し、それによって、
どの呼出し規定がアプリケーション16及び切取り手順
14により使用されるかをt旨示する。
それから、切取り手順はサービス・ディレクタを呼出し
く74)、サービス・ディレクタは、要求が内部サービ
スに対するものであるか否かを決定する(76)。要求
された手順がサービス・ディレクタに対し内部的でない
場合は、サービス・ディレクタ12は、所望の手順をサ
ービス・テーブルから探す(78)。上記のように、サ
ービス・テーブル・エントリは、要求されたライブラリ
手順を適切に呼び出すために、サービス・ディレクタ1
2に必要なその情報を示す。第3図の方法では、サービ
ス・テーブル・エントリは、所望の手順が横内ノードで
使用可能であることを示す。
次に、サービス・ディレクタ12は、ライブラリ手順を
呼び出すためにパラメータをセットしく80)、それを
呼び出す(82)。サービス手順は、通常の方式で実行
しく84)、どんな生成された結果をもサービス・ディ
レクタに戻す(86)。
サービス・ディレクタ12は、ステップ72内のフラグ
・セットにより示されるアプリケーション・プログラム
16の呼出し規定を突き合わせるために、その戻りパラ
メータをセットする(88)。次にその結果は切取り手
順に戻され(90)、切取り手順はそれらをアプリケー
ション・プログラムへ戻す(92)。
ステップ76で、サービス・ディレクタ12が、内部サ
ービスが要求されていることを検出した場合、それは、
そのような内部手順を実行しく94)、それからステッ
プへ行< (90)。サービス・ディレクタ12は、ス
テップ72内の呼出し言語フラグ・セットのために、ア
プリケーション・プログラム16によって使われたパラ
メータ受渡しメカニズムを理解し、必要とされるいかな
る翻訳も直接取り扱うことができる。
第4図は、ネットワークの1つのノード上で実行中のア
プリケージタンが、ネットワークの他のノード」二のサ
ービス手順を呼び出すことができる、システムの1実施
例のブロック図である。第4図に示すシステムは、いく
つかの異なる遠隔モードでの動作のために使用すること
ができ、いくつかの異なる遠隔モードは、第5図〜第8
図のフローチャート内に個別に述べる。理解しやすくす
るために、好ましい実施例は同じ技術を用いているが、
第1図で述べた詳細のすべてを第4図内に含めてはいな
い。
第4図では、アプリケージタン・プログラム100は、
手順呼出し104を介してサービス・ディレクタ102
を呼び出す。サービス・ディレクタ102は、手順ディ
レクタ108で遠隔経路指定サービス106を呼び出す
。遠隔経路指定サービス106は、ネットワークを通し
て構内ノードに接続された遠隔ノードと遠隔通信を始め
るライブラリ手順である。
遠隔経路指定プログラムlO6は、データと結果をネッ
トワークを通して転送のために、ネットワーク・インタ
フェイス110と通信する。ネットワーク・インタフェ
イス110は、ネットワーク内の2つのノードに接続す
るのに必要なすべてのハードウェア及びソフトウェア・
インタフェイス、及び接続を示す。ネットワーク構造は
互いに非常に異なっており、ネットワーク連係の詳細は
本発明の一部分を形成するものではない、したがって、
ネットワーク・インタフェイス110の詳細は省略する
。また遠隔経路指定サービス108は、データ・マツパ
112と通信し、データ・マツパ112は、ネットワー
クを通して転送されるメツセージのフォーマット化を制
御する。遠隔経路指定応答手順114は、選択された状
況でネットワーク・インタフェイス110と通信する。
これらの状況では、応答手順114は遠隔ノードからネ
ットワークを通して戻される結果を受信し、アプリケー
ション100による後の検索のために、それらを待ち行
列116の中に置く。応答手順114は、戻された結果
のフォーマットを解釈し、さらに、アプリケーション1
00によって期待された形にそれらをリフオーマットす
るために、データ・マツパ112と通信する。
遠隔ノードで、遠隔経路指定アプリケーション118は
、ネットワーク・インタフェイス110からデータを受
は取る。このデータは、遠隔ノードにおいて呼び出そう
とするサービス手順を説明する。遠隔経路指定アプリケ
ーション手順118は、通信の流れから必要な情報を抽
出するために、遠隔ノードでデータ・マツパ120と通
信し、手順呼出し124でサービス・ディレクタ122
を呼び出す。遠隔ノードにおいて、遠隔経路指定アプリ
ケーション手順118は、アプリケーション・プログラ
ムとしてサービス・ディレクタ122を呼び出し、第1
図で説明したサービス手順を呼び出すために、サービス
・ディレクタ122を要求する。サービス・ディレクタ
122は、必要などの呼出し規定翻訳をも行ない、要求
されるサービス手順124を呼び出す。
要求された手順124が終わると、何かあれば、結果を
サービス・ディレクタ122に戻し、サービス・ディレ
クタはその結果を手順戻し128によってアプリケ−シ
ロン手順118に戻す。アプリケーション手順118は
データ・マツパ120と通信し、ネットワークを通して
通信するために結果をフォーマットし、それらをネット
ワーク・インタフェイス110を通って元のノードに戻
す。
使用されている呼出し方法に応じて、アプリケーシaン
手順118によって戻された結果は、待ち行列116内
に置くために、応答手順114に戻すことができる。後
者の場合、サービス手順1゜6は、手順130で結果を
サービス・ディレクタに戻し、次に、その結果をアプリ
ケーション1゜Oに戻すために手順復帰132を使用す
る。
第4図に関して説明されたシステムは、構内ノード及び
遠隔ノードの様々な遠隔経路指定手順の間の通信を行な
うために、いくつかの異なる技術を使用することができ
る。遠隔サービス126は、「同期」技術で呼び出すこ
とができ、呼出しアプリケーションは、結果が処理する
前に戻されるまで、待つことを意味する。遠隔サービス
はまた、「非同期」方式で呼び出すこともでき、これは
、アプリケーションがさらに処理を実行し続け、方では
遠隔ノードがサービス手順を呼び出すことを意味し、ま
た遠隔サービスは、結果が応答手順114によって待ち
行列に置かれた後で、待ち行列116から結果を取り出
す。
遠隔呼出しされるか、または、単一の接続がいくつかの
異なる遠隔呼出しをするために開始できる時間毎に、ア
プリケ−シロン手順110に新しいネットワーク接続を
開始させることも可能である。各遠隔呼出し用の新しい
接続を作ることは、一般に、接続をセットするためによ
り多くの諸経費を必要とするが、遊休時間部分であるネ
ットワーク上の専用通信リンクを有することは避けられ
る。
いくつかの遠隔手順呼出し用の単一通信リンクを開設す
る技術は、5TART/5TOPによる遠隔要求と呼ぶ
ことができる。
上記のように、アプリケーション100は、サービス・
ディレクタ102を初期化しなければならない。サービ
ス・テーブル(第4図に別々に図示せず)は、遠隔ノー
ド上で呼び出されたものを含むアプリケ−シリン100
によって呼び出されることのできるすべてのサービス手
順の位置を識別する。遠隔サービスについては、遠隔ノ
ード及びそれに対するどの通信リンクも、遠隔サービス
126を呼び出すために、遠隔サービス・ディレクタ1
22に必要な情報も、識別されなければならない。遠隔
ノードと通信するために使われる通信プロトコル、並び
に遠隔手順にパスされるパラメータは、データ・マツパ
112に記憶され、これによって、遠隔ノードと通信す
るためにいかにデータをフォーマットし抽出するかを知
ることにある。
遠隔データ・マツパ120は、遠隔経路指定アプリケー
ション手順118が他のノードからサービス手順126
にアクセスできるように、初期化される。
第5図は、5TART/5TOPなしの同期遠隔要求を
示す。第5図では、アプリケ−シロン手順100は、構
内サービス・ディレクタを呼び出しく150)、第2図
で説明したように、そこにパラメータを渡す。サービス
・ディレクタ102はそのサービス・テーブルを探し、
要求されたサービスのためにエントリを置く。遠隔サー
ビスとして定義されるサービスのために、この事実はサ
ービス・テーブル内で識別される(152)。それから
、サービス・ディレクタ102は遠隔経路指定サービス
を呼び出す(154)。
上記のように、データ・マツパ・ルーチン112は、遠
隔サービスが定義された時間に、サービス・テーブル内
の各遠隔サービスに関連していた。
データ・マツパ112は、ネットワークによって使用さ
れたプロトコルに専用の通信ブロックを作成することに
よって、ネットワークを通して送信するために、サービ
ス識別子及びパラメータを準備する(156)。遠隔ノ
ードにおいて実際に使用されるその情報のみが転送され
るので、サービス名ブロック46及び共通ブロック5o
内のいくつかのエントリを転送する必要はない。データ
・マツパ112はまた、どの遠隔データ・マツパ120
が転送されたパラメータを正確に抽出するために使用さ
れるべきかを識別する。
遠隔経路指定アプリケーション手順に対して、ネットワ
ーク通信リンクを開設するための接続が行なわれる(1
58)。呼び出そうとするサービス手順、及びすべての
必要なパラメータを含むデータは、ネットワークを通し
て送られ(160)、遠隔経路指定アプリケーン8フ手
順により受信される(162)。これは同期呼出しであ
るため、構内ノードでの遠隔経路指定サービス106は
、それが回答を受信するまで待つ(164)。
遠隔ノードでは、遠隔経路指定アプリケーションは、デ
ータを抽出するデータ・マツパ120と通信する(16
6)。サービス呼出し識別子及びデータ・マツパ120
により抽出されたパラメータを用いて、遠隔経路指定ア
プリケーション118は、他の任意のアプリケーション
を呼び出すように、サービス・ディレクタ122を呼び
出す(168)。サービス・ディレクタ122は適切な
サービス手順を呼び出しく170)、適切なサービス手
順は通常の方式で実行される(172)。
完了時、選択されたサービス手順126は、その結果を
サービス・ディレクタに戻しく174)、サービス・デ
ィレクタ174は、その結果を遠隔経路指定アプリケー
ションに戻す(178)。
それから、データ・マツパ120はネットワークを通し
て通信するために結果を準備しく178)、遠隔経路指
定アプリケージジン118はその結果を遠隔経路指定サ
ービスに戻す(180)。
いったん遠隔経路指定サービス10f3が結果を受信す
ると(182)、遠隔経路指定アプリケ−シロン118
は、終了する(184)。データ・マツパ112は、そ
の結果を、サービス・ディレクタ102によって理解さ
れたフォーマットの中に抽出しく186)、それらをサ
ービス・ディレクタに戻す(188)。それからサービ
ス・ディレクタ102は、これらの結果をアプリケージ
ジンに戻しく190)、アプリケーションは処理を続け
る。
第6図(第6A図及び第6B図)に、5TART/5T
OPなしで非同期遠隔要求を行なうための好ましい方法
を示す。アプリケージジン・プログラムはサービス・デ
ィレクタを呼び出しく200)、サービス・ディレクタ
は、サービス・テーブル内の遠隔サービスとして要求さ
れたサービス手順を識別する(202)。それから、サ
ービス・ディレクタは遠隔経路指定サービスを呼び出し
く204)、遠隔経路指定サービスは、送信に対するサ
ービス手順識別子及びパラメータを準備するために、デ
ータ・マツパと通信する(206)。
次に通信リンクを設定するために、遠隔ノードに対して
接続開始され(208)、それから遠隔サービス手順及
びそのパラメータを説明するデータは遠隔ノードに送ら
れる(210)。遠隔ノードでの遠隔経路指定アプリケ
−シロンがデータを受信すると(212) 、構内遠隔
経路指定サービスはサービス・ディレクタに戻る手順を
実行しく214)、サービス・ディレクタは呼出しアプ
リケーションへの復帰を実行する(216)。それから
、アプリケ−シランは処理を続け(218) 、後で待
ち行列116の戻された結果をチエツクすることができ
る。
遠隔経路指定アプリケ−シロン118がサービス手順及
びパラメータ・データを受信すると(212)、構内ノ
ードでデータ・マツパ112によって識別された遠隔デ
ータ・マツパは、手順識別子及びパラメータを抽出する
(220)。次に、他のアプリケーン3ン・プログラム
として作用する遠隔経路指定アプリケーションは、サー
ビス・ディレクタを呼び出しく222)、サービス・デ
ィレクタは適切なサービス手順を呼び出す(224)。
サービス手順が実行され(226)、さらにどんな結果
もサービス・ディレクタに戻される(228)。サービ
ス・ディレクタは、その結果を遠隔経路指定アプリケー
ションに戻しく230)、遠隔経路指定アプリケージジ
ンは、マツパとの通信によってネットワークを通して送
信するために、結果をフォーマットする(232)。
これは非同期要求であったため、結果は、サービス手順
の実行を初めに要求した構内ノードでは、遠隔経路指定
サービス106に戻されない。その代わり、データが遠
隔ノードに送られるとぐステップ210)、)ランザク
ジョンは、非同期として識別され、結果が戻されなけれ
ばならない遠隔経路指定応答手順114が識別される。
したがって、遠隔経路指定アプリケーション118は、
識別された遠隔経路指定応答手順234への接続を開始
する。−度接続が設定されると、その結果は応答手順2
3Gに送られる。いったん応答手順114がその結果を
受信すると(238)、遠隔経路指定アプリケージ3ン
118は終了する(240)。それから、構内ノードに
おけるデータ・マツパはその結果を抽出しく242)、
それから、応答手順はそれらを待ち行列に置く、(24
4)。いくらか時間が経ってから、アプリケーション・
プログラムは待ち行列から結果を検索しく246)、処
理を続ける。アプリケージ縫ン・プログラム100が待
ち行列の検索を試みる時(246) 、その結果が待ち
行列116にまだ置かれていない場合、アプリケージタ
ン・プログラムは、結果が有効になるまで待つか、ある
いはさらに処理を続けて、後で再試行することができる
上記のように、5TART/5TOP)ランザクシロン
を使用して、構内ノード及び遠隔ノードの間に通信リン
クを設定するために必要な諸経費を最小にすることがで
きる。第5図と第6図に関して述べた方法では、遠隔サ
ービス手順126が呼び出される度に、新しいネットワ
ーク通信リンクを設定しなければならない。アプリケー
ジタン・プログラム100が、1つまたは関連したサー
ビス手順126の多重連続呼出しがなされることを知っ
た場合、ノードの間の1つの通信リンクを設定し、さら
に、いくつかのトランザクションのためにそのリンクを
利用することは、より有効である。
第7図と第8図は、一連の5TART/5TOPトラン
ザクシdンを開始し、終了するための好ましい方法を示
す。アプリケージタン・プログラム100は、一連の5
TART/5TOPトランザクシヨンを開始し、上記の
方法と非常に似た方法で、トランザクションを実行し、
最後にそのシリーズを終了する。
本明細書で述べるシステムは、アプリケーション・プロ
グラム100に対して透明であるため、特定の要求され
たサービス手順が構内で実行されたのか、または遠隔ノ
ードで実行されたのかが分からないことが多い。したが
って、アプリケージタン・プログラム100は、あたか
もそれらが遠隔サービス手順であるように、一連のトラ
ンザクションを開始、終了することができる。サービス
・テーブルを探すことによって、サービス・ディレクタ
が、要求されたサービスが実際に構内で利用可能である
と判定する場合、一連のトランザクションのための開始
命令及び終了命令は単に無視される。
したがって、アプリケーション・プログラム100は、
すべての例で、一連の関連した要求を単に開始、終了し
、特定の要求が構内かまたは遠隔かということは、反対
の影響を持たない。実際、特定の要求は、ある時には、
構内で利用可能であり、別の時には、遠隔で利用可能で
あり、アプリケージタン・プログラムに対しては何の違
いも現われない。非同期要求が行なわれる場合、サービ
ス・ディレクタは、アプリケージタン・プログラム10
0の代わりに、待ち行列116に直接結果を単に戻すこ
とができる。
第7図に、一連の関連したトランザクションを開始する
ための好ましい方法を示す。アプリケーション・プログ
ラム100はサービス・ディレクタ102を呼び出して
5TART/5TOPシリーズが開始されることを要求
する(280)。このシリーズの間に呼び出されるサー
ビス手順126は、この時識別される。サービス・ディ
レクタ102は、要求されたサービス手順を遠隔サービ
スとして識別しく262)、さらに、手順呼び出しで遠
隔経路指定サービス106を呼び出す(264)。上記
のように、要求されたサービス手順が構内ノードで利用
可能な場合、第7図のステップの残りは単に無視される
遠隔経路指定サービス106は、遠隔経路指定アプリケ
ーション手順への接続を開始する(266)。それから
、遠隔経路指定アプリケーション手順118はデータを
受信するために待ち(268)、また、構内ノードの遠
隔経路指定サービス106はサービス・ディレクタに戻
る(270)。
次に、サービス・ディレクタ102はアプリケージタン
・プログラムに戻り(272)、プロセスは完了する。
この時、通信リンクはネソトヮークを通して設定され、
そして、遠隔ノードに要求を送るために再設定される必
要はない。
第8図では、5TART/5TOPシリーズが完了する
と、アプリケーション・プログラム100は、サービス
・ディレクタ102を呼び出して、通信リンクを終了す
る(280)。サービス・ディレクタ102は、サービ
ス手順を遠隔サービスとして識別しく282)、遠隔経
路指定サービスを呼び出す(284)。5TART/5
TOPリンクを開始する場合のように、識別されたサー
ビス手順が構内で利用可能である場合、リンクを終了す
る命令は単に無視される。
それから、遠隔経路指定サービスエ06は、5TART
/5TOPリンクが終了しつつあることを、遠隔経路指
定アプリケーシ一ン118に報知し、そして遠隔ノード
へのネットワーク接続を終了する(286)。次いで、
遠隔経路指定サービス108はサービス・ディレクタに
戻り(288)、サービス・ディレクタはアプリケーシ
ョンに戻る(290)。
5TART/5TOPシリーズが要求された後、遠隔サ
ービス手順106を呼び出すために使われた方法は、5
TART/5TOPなしで使われた方法と事実上同一で
ある。接続を開始したり終了したりする代わりに、利用
可能な接続を使用する。
、同期要求について、第5図に示すステップは、ステッ
プ158が除去されていることを除いては同じであり、
ステップ184は、遠隔経路指定アプリケーシ一ン11
8を終了しないが、その代わりに、それが次の要求を待
たせる原因となる。残りのステップは同じである。
5TART/5TOPによる同期要求のために、第8図
のフローチャートは、僅かな例外のある専用ステップを
示す。接続ステップ208及び234は除去され、その
代わり、終了ステップ240は、遠隔経路指定アプリケ
ージジン118のための次の要求ステップ待ちとなる。
したがって、フラグがどんな種類のトランザクシロンが
要求されているかを示すために必要であるという差はあ
るが、5TART/5TOPで、または5TART/5
TOPなしで要求するために、同じシステムを使うこと
ができる。5TART/5TOPが要求される時、特別
の開始及び終了手順も使用しなければならない。
上記のシステム及び方法によって、ライブラリ手順がネ
ットワークを通して遠隔ノードで呼び出されることがで
きる。ライブラリ手順の位置は、アプリケーション・プ
ログラムに対して知られる必要はなく、実際には時々変
えることができる。
ライブラリ手1頑を書き込むために使われる言語は、そ
れがアプリケーション・プログラムの言語と合致する必
要はないので、変えることもできる。
したがって、ライブラリ・ルーチンの単一セットは、ネ
ットワークに接続されたすべての機械を支援するために
供給することができる。アプリケーション・プログラム
は、言語とは独立したインタフェイスを通って、ライブ
ラリ手順にアクセスするために書くことができ、それら
が必要とするライブラリ手順が構内ノードあるいはほか
の場所に置かれても、それは問題にはならない。これに
ょって、特殊化されたハードウェアを用いるベクトル動
作などのある機械では、より効率的に動作するライブラ
リ手順がより効率的な機械で実行できるようになる。
E1発明の詳細 な説明したように本発明によれば、アプリケーション・
プログラムがネットワークによって構内機械に接続され
た遠隔機械上に置くことのできるライブラリ手順に対し
て、呼出しができるシステム及び方法が提供される。
本発明を、特に好ましい実施例を用いて詳しく述べたが
、一方、形状及び詳細の様々な変更を、本発明の意図及
び範囲から逸脱することなく行なうことができることを
、当業者は理解されたい。
【図面の簡単な説明】
第1図は、構内機械でライブラリ手順を呼び出すための
システムのブロック図である。 第2図は、ライブラリ・ルーチンを呼び出すためのフォ
ーマットを示す図である。 第3図は、構内機械でライブラリ手順を呼び出すために
取られるステップを示す流れ図である。 第4図は、遠隔機械でのライブラリ手順呼出し用システ
ムのブロック図である。 第5図は、遠隔機械でライブラリ手順に同期呼出しをす
るために取られるステップを示す流れ図である。 第6A部及び第6B図は、遠隔機械でライブラリ手順に
同期呼出しをするために取られるステップを示す点れ図
である。 第7図は、遠隔機械でライブラリ手順に対する一連の呼
出し用通信リンクを開始するために取られるステップを
示す流れ図である。 第8図は、遠隔機械でライブラリ手順に対する一連の呼
出し用通信リンクを終了するために取られるステップを
示す流れ図である。 サービス手順 Wl、6A図

Claims (12)

    【特許請求の範囲】
  1. (1)所望の手順が遠隔ノード上にあるか否かを判定し
    、所望の手順識別子を遠隔ノードに報告し、さらにそこ
    から結果を受信するために、アプリケーション・プログ
    ラム手順呼出しに応答して呼び出すことのできる、構内
    ノードでの経路指定手順と、所望の手順識別子を遠隔ノ
    ードから受信し、さらに結果をそこに送るために、前記
    構内ノード経路指定手順と通信するための、遠隔ノード
    での経路指定手順と、 前記所望の手順に対応する手順が前記遠隔ノード経路指
    定手順により呼び出され、結果をそこに戻す、前記遠隔
    ノード経路指定手順によって手順呼出しに応答して呼び
    出すことができる、遠隔ノードでの複数の手順 を含む、構内ノードから遠隔ネットワーク・ノード上の
    手順を呼び出すための手順呼出しシステム。
  2. (2)所望の手順が遠隔ノード上にある場合、第1イン
    タフェイスが前記構内ノード経路指定手順を呼び出すと
    いう、標準フォーマットでアプリケーシヨン・プログラ
    ムによって呼び出すことができる、前記第1インタフェ
    イスと、 第2インタフェイスが、前記遠隔ノード経路指定手順か
    ら受信された所望の手順識別子に対応する前記複数の手
    順の1つを呼び出すという、基準フォーマット内の前記
    遠隔ノード経路指定手順によって呼び出すことができる
    、第2インタフェイス をさらに含む、請求項1のシステム。
  3. (3)所望の手順が構内ノード、または遠隔ノード上で
    利用できるか否かを示すために、前記第1インタフェイ
    スに接続された第1テーブルと、所望の手順を前記第2
    インタフェイスから呼び出すために、位置及び手順呼出
    し要求を示すための前記第2インタフェイスに接続され
    た第2テーブル をさらに含む、請求項2のシステム。
  4. (4)戻された結果が前記待ち行列の中に置かれている
    という、アプリケーション・プログラムに対する後での
    利用可能性のために、前記遠隔ノード経路指定手順から
    戻された結果を保待するための待ち行列をさらに含む、
    請求項1のシステム。
  5. (5)前記遠隔ノード経路指定手順により戻された結果
    が、前記構内ノード経路指定手順によって、アプリケー
    ション・プログラムに戻される、請求項1のシステム。
  6. (6)所望の手順識別子で、アプリケーション・プログ
    ラムから構内ノード上の経路指定手順を呼び出すステッ
    プと、 所望の手順識別子で、構内ノード経路指定手順から遠隔
    ノード上の経路指定手順を呼び出すステップと、 所望の手順識別子に対応する遠隔ノード上の手順を呼び
    出すステップ を含む、アプリケーション・プログラムから手順を呼び
    出すための手順呼出し方法。
  7. (7)結果を所望の手順から戻すステップと、結果を構
    内ノード経路指定手順に戻すステップと、 結果をアプリケーション・プログラムに戻すステップ をさらに含む、請求項6の方法。
  8. (8)結果をアプリケーション・プログラムに戻す前記
    ステップが、 結果をアプリケーション・プログラムによってアクセス
    できる待ち行列内に置くステップと、待ち行列からアプ
    リケーション・プログラム内への結果を読み取るステッ
    プ を含む、請求項7の方法。
  9. (9)所望の手順が遠隔ノードで呼び出される度に、新
    しいネットワーク通信リンクが設定される、請求項6の
    方法。
  10. (10)手順に対する一連の所望の呼出しを遠隔ノード
    上に作る前に、構内ノードと遠隔ノードの間にネットワ
    ーク通信リンクを設定するステップと、一連の呼出し中
    に、そのような通信リンクを維持するステップ をさらに含む、請求項6の方法。
  11. (11)前記第1呼出しステップが、 所望の手順識別子で、アプリケーション・プログラムか
    ら構内ノード上の第1インタフェイスを呼び出すステッ
    プと、 所望の手順が構内ノードまたは遠隔ノードで利用可能で
    あるか否かを判定するステップと、所望の手順が遠隔ノ
    ードで利用可能である場合、所望の手順識別子で構内ノ
    ード経路指定手順を呼び出すステップ を含む、請求項6の方法。
  12. (12)遠隔ノード上の経路指定手順を呼び出す前記手
    段が、 所望の手順識別子で遠隔ノード経路指定手順から、遠隔
    ノード上の第2のインタフェイスを呼び出すステップと
    、 所望の手順に対応する手順を決定するステップを含む、
    請求項11の方法。
JP2220136A 1989-08-24 1990-08-23 手順呼出しシステム及び方法 Expired - Lifetime JP2677343B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39812689A 1989-08-24 1989-08-24
US398126 1989-08-24

Publications (2)

Publication Number Publication Date
JPH0390953A true JPH0390953A (ja) 1991-04-16
JP2677343B2 JP2677343B2 (ja) 1997-11-17

Family

ID=23574087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2220136A Expired - Lifetime JP2677343B2 (ja) 1989-08-24 1990-08-23 手順呼出しシステム及び方法

Country Status (3)

Country Link
EP (1) EP0414624B1 (ja)
JP (1) JP2677343B2 (ja)
DE (1) DE69029441T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259380A (ja) * 1993-03-08 1994-09-16 Nec Corp 遠隔手続き呼出し装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0587880A1 (en) * 1992-04-07 1994-03-23 Digital Equipment Corporation Entity management system with remote call feature
JP3370704B2 (ja) * 1992-10-12 2003-01-27 株式会社日立製作所 通信制御方法
US5452456A (en) * 1992-12-18 1995-09-19 Apple Computer, Inc. Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment
US6813769B1 (en) 1997-10-28 2004-11-02 Microsoft Corporation Server application components with control over state duration
CA2115464C (en) * 1994-02-11 1998-12-15 William G. O'farrell Concurrent processing in object oriented parallel and near parallel systems
GB9407971D0 (en) * 1994-04-21 1994-06-15 British Telecomm Messaging system
GB2304944A (en) * 1995-09-12 1997-03-26 Ibm Support for application programs in a distributed environment
US5758186A (en) * 1995-10-06 1998-05-26 Sun Microsystems, Inc. Method and apparatus for generically handling diverse protocol method calls in a client/server computer system
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US6437803B1 (en) 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
AU747018B2 (en) * 1996-01-16 2002-05-09 British Telecommunications Public Limited Company Distributed processing
GB9600823D0 (en) * 1996-01-16 1996-03-20 British Telecomm Distributed processing
AU8631298A (en) * 1997-07-11 1999-02-08 Telefonaktiebolaget Lm Ericsson (Publ) Remote procedure call translation
EP0892345A3 (en) * 1997-07-15 1999-05-06 International Business Machines Corporation Method of propagating a command status code from a remote unit to a host unit
EP0902366A3 (en) * 1997-07-15 1999-05-06 International Business Machines Corporation System of propagating a command status code from a remote unit to a host unit
US6631425B1 (en) 1997-10-28 2003-10-07 Microsoft Corporation Just-in-time activation and as-soon-as-possible deactivation or server application components
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6526416B1 (en) 1998-06-30 2003-02-25 Microsoft Corporation Compensating resource managers
JP2002523817A (ja) * 1998-08-14 2002-07-30 サイトリックス システムズ,インコーポレイテッド メッセージストリームからアルゴリズム情報を抽出する装置および方法
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
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
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6920636B1 (en) 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US8135843B2 (en) 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862351A (en) * 1983-09-01 1989-08-29 Unisys Corporation Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same
FR2570525B1 (fr) * 1984-09-20 1986-12-12 Inst Nal Rech Informatiq Procede et dispositif electronique pour l'execution repartie d'une activite entre plusieurs sites differents

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ACM TRANSACTIONS ON COMPUTER SYSTEMS=1984 *
COMMUNICATIONS OF THE ACM=1987 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259380A (ja) * 1993-03-08 1994-09-16 Nec Corp 遠隔手続き呼出し装置

Also Published As

Publication number Publication date
DE69029441D1 (de) 1997-01-30
DE69029441T2 (de) 1997-06-12
EP0414624B1 (en) 1996-12-18
EP0414624A3 (en) 1992-05-13
JP2677343B2 (ja) 1997-11-17
EP0414624A2 (en) 1991-02-27

Similar Documents

Publication Publication Date Title
JPH0390953A (ja) 手順呼出しシステム及び方法
US5218699A (en) Remote procedure calls in heterogeneous systems
US4274139A (en) Digital telecommunication network having improved data processing systems
US4891785A (en) Method for transferring data files between computers in a network response to generalized application program instructions
US6654741B1 (en) URL mapping methods and systems
EP0613274B1 (en) Socket structure for concurrent multiple protocol access
US5060140A (en) Universal programmable data communication connection system
US6253257B1 (en) Software Interface for dynamic API mapping
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US5133053A (en) Interprocess communication queue location transparency
US5377350A (en) System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages
US5659701A (en) Apparatus and method for distributed program stack
CA2049121C (en) Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US6081826A (en) System using environment manager with resource table in each computer for managing distributed computing resources managed for each application
US6845505B1 (en) Web request broker controlling multiple processes
EP1300757A1 (en) Shareable installation hierarchies
JPS63174135A (ja) 分散型メツセージ・ベース・オペレーテイング・システムにおけるノードの自己構成法
JPH09218860A (ja) クライアント/サーバシステムにおける多様なプロトコルに従った遠隔手続き呼出しをハンドリングする方法
US20030055862A1 (en) Methods, systems, and articles of manufacture for managing systems using operation objects
JPH07281974A (ja) ネットワーク内のコンピュータ間でデータを交換するための通信システム
US6151709A (en) Processes and apparatuses for uploading instructions to a computer
JPH10133895A (ja) 多重osネットワーク動作方法
US5657447A (en) Platform-transparent registration and build of stored procedures and user-defined functions
EP1246059B1 (en) Dynamic interface aggregation on demand
JPH07191888A (ja) データベース・マネージャにアクセスするデータベース・アクセス要求の処理方法及びシステム