JPH08511889A - 拡張プログラム間通信サーバ - Google Patents
拡張プログラム間通信サーバInfo
- Publication number
- JPH08511889A JPH08511889A JP7502411A JP50241194A JPH08511889A JP H08511889 A JPH08511889 A JP H08511889A JP 7502411 A JP7502411 A JP 7502411A JP 50241194 A JP50241194 A JP 50241194A JP H08511889 A JPH08511889 A JP H08511889A
- Authority
- JP
- Japan
- Prior art keywords
- program
- server
- aps
- ibm
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
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)
- Multi Processors (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Micro-Organisms Or Cultivation Processes Thereof (AREA)
- Saccharide Compounds (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
(57)【要約】
本発明は、第1のコンピュータ環境にあるプログラムと第2のコンピュータ環境にあるプログラムとのインタフェースをとるためのシステムおよび方法を提供する。拡張プログラム間サーバ(APS)は、クライアントコンピュータで走行するプログラムと異なるコンピュータ環境で走行するプログラムとの間のデータ交換を可能にする。APSコントローラプロセスは、複数のサーバプロセスを生成し管理する。このサーバプロセスは、クライアント−サーバ機能を実行することによって、あるコンピュータ環境のクライアントプログラムと別のコンピュータ環境のプログラムとの間に通信リンクを確立し付与する。APSは、複数のクライアントが単一のサーバを通じて通信可能にする単一制御ポイントを提供する。
Description
【発明の詳細な説明】
拡張プログラム間通信サーバ
〔発明の分野〕
本発明は、クライアントサーバ、より詳細には、あるコンピュータ環境のプロ
グラムと別のコンピュータ環境のプログラムとのインタフェースをとることがで
きるクライアントサーバに関する。
〔関連技術〕
費用面で有利な価格でコンピュータ性能の向上がなされるにつれ、今日の産業
はその経営上の必要事項を処理するためにコンピュータによる解決策をますます
用いつつある。しかし、産業の多くが追求しているコンピュータ化の発展サイク
ルは、ある工場内でのそうしたコンピュータ解決策の電子的寄せ集めをもたらし
ている。例えば、X社は、そのビジネスおよび財務に関する必要事のすべてを処
理するためのIBM(International Biusiness Ma
chines)社のメインフレームと、製造・生産工程を管理するためのVAX
(Digital Equipment Corporation社から販売さ
れている)を所有しているかもしれない。
ある時点までは、この種の相違は企業にとってほとんど問題とならない。各々
のコンピュータ化経営は他とは十分に独立して機能する。しかし、企業がコンピ
ュータ化されたビジネス経営を独立にコンピュータ化された生産経営と統合しよ
うと着手すると、インタフェースの課題を解決する必要がある。完全な統合化の
ために、企業は、その生産用コンピュータ(例えば、VAX装置群)からのデー
タをそのビジネス用コンピュータ(例えば、IBMメインフレーム)のデータと
交換できなければならない。そうすれば、企業は、その在庫の更新、出荷スケジ
ュールの生成などを自動化できるであろう。
こうした統合化の要請を満たすために、異なるコンピュータ環境間においてそ
うしたデータ交換を可能にするためにいくつかの方法が開発されている。例えば
、あるコンピュータメーカーは、VAX機がIBM機およびそのクローンまたは
互換機とインタフェースをとれるようにするゲートウェイを提供している。VA
X機がこのゲートウェイを通じてIBM機と通信するには、そうした通信を可能
にする、所有権主張可能なソフトウエアライブラリを使用しなければならない。
例えば、DECnet/SNA VMS APPC/LU6.2プログラミング
インタフェースルーチンが使用できるであろう。これは、IBMのSystem
Network Architecture Logical Unit(L
U)6.2の具体化にもとづいた拡張プログラム間通信(APPC)ルーチンで
ある。こうしたルーチンは、パーソナルコンピュータを含め、すべてのIBM機
(およびそのクローン)とのLU6.2通信による通信を可能にする。
IBMプログラムと通信する必要があるVAXで走行するプログラムは、この
APPC/LU6.2ルーチンおよび関係するソフトウエアライブラリを使用で
きるであろう。しかし、APPCルーチンによるプログラミングは困難かつ時間
のかかる作業となりがちであり、それらのルーチンはネットワーク資源およびコ
ンピュータ通信資源の相当な割当てを必要とする。その1つの理由は、APPC
を用いて書かれるプログラムが“コール”を要するからである。APPCコール
の一部のものは、20ものパラメータを必要とする。指定されたパラメータはV
AXで維持されなければならない。また、一部のパラメータはIBM側の関係す
る定義と一致しなければならない。さらに、これらのパラメータのうち一部はI
BM指向であり、一部はVAX指向であるので、システム開発者はコールパラメ
ータを適切に処理するために両方の環境の専門知識を要求される。
本明細書では、用語「プログラム」は、アプリケーションまたはその他の種類
のコンピュータプログラム、ルーチン、プロセスなどを指すために用いる。アプ
リケーションは、通常、ある機能を実行するために1つにまとめられた1個以上
のプログラムを含む。
従来のゲートウェイによる解決法に伴う別の問題は、ゲートウェイに接続され
た各々のVAX機が、IBM機と通信するためのソフトウエアライブラリを持た
なければならないことである。言い換えれば、ゲートウェイを通じてIBM機と
のリンクを確立または受信したいと望む各VAX機は、ソフトウエアライブラリ
の複製を持っていなければならない。これはゲートウェイ環境の管理に関係する
付加的な問題をもたらす。上述のパラメータは、実施される各システムで維持お
よび更新されなければならず、しばしば、その更新は同時に生じるはずである。
極めて多数のシステムが関与する場合に、この種の維持は困難な管理作業である
。別の欠点は、IBM機と通信する各VAX機で使用するためのソフトウエアラ
イブラリのライセンス契約に関係する費用である。
現在利用可能なゲートウェイ技術のさらに別の欠点は、LU6.2セッション
がすでにIBM機と確立されていない限り、または、VAX機がIBM機に接続
されたゲートウェイとセッションを確立していない限り、IBMメインフレーム
は、VAX機で会話を開始できないことである。従来の知識によれば、IBM機
は、ネットワーク上の多数のVAX機のうちの1台を“探し”て見つけることは
できない。IBM機が特定のVAX機に送信したいとするデータを持っている場
合、そのIBM機は、まずVAX機がIBM機との接続を確立しない限り、その
データを送信できない。
求められているものは、複数のクライアントコンピュータで走る複数のクライ
アントプログラムと、別のコンピュータ環境にあるプログラムとのインタフェー
スをとるためのシステムおよび方法である。この理想的な解決法は、従来のシス
テムに存在する管理の問題を軽減するために単一の制御ポイントを提供するはず
である。
〔発明の概要〕
拡張プログラム間通信サーバ(APS)は、あるコンピュータ環境のプログラ
ムが異なる処理環境で走行するプログラムとデータを交換できるようにするため
のシステムおよび方法を提供する。このAPSは、別のコンピュータ環境にある
1台以上のコンピュータとの通信制御のための単一ポイントを付与する、複数の
クライアントコンピュータとのサーバ関係を形成する。
このクライアント−サーバ関係の利点は、クライアントシステムのプログラマ
が、アプリケーションレベルで実施するための通信機能はいずれであるかという
問題およびそれらの機能の実施方法にのみ関与すればよいことである。彼らは、
相手方のコンピュータ環境と通信するために必要な通信セッション接続技法に関
与しない。クライアントシステムと相手方のコンピュータ環境との間の通信セッ
ション接続に必要な技法は、クライアントシステムにインストールされ、かつ、
APSを介して相手方のコンピュータ環境と透過な通信を提供する、APSクラ
イアントルーチンを用いてクライアントシステムによってアクセスされる。その
結果、それら2つのコンピュータ環境間の通信インタフェースを実行するために
、単一の制御ポイントが付与される。これにより、通信リンクの管理のための必
要条件が著しく低減されることになる。
APSは各通信環境のプログラム間に透過(transparent)な通信
サービスを提供する。その結果、それらのプログラムは、相互に通信するために
各自の通信技法を使用する。単純なSAA CPI−C(Systems Ap
plication Architecture Common Progra
mming INterface for Communications)呼
出し可能ルーチンが、そのインタフェースを起動させ、起動するとインタフェー
スと対話するために、クライアントシステムに提供される。
APSは、第2のコンピュータ環境のプログラムと通信するために第1のコン
ピュータ環境のプログラムによって使用される複数のサーバプロセスを確立し維
持する。一方のコンピュータ環境のプログラムが別のコンピュータ環境の別のプ
ログラムと通信したいと望むと、そのプログラムはAPSを介してセッションを
要求する。そうした要求を受信すると、APSコントローラプロセスが、そのセ
ッションを形成するためのサーバプロセスを指名する。第1のコンピュータ環境
のプログラムと第2のコンピュータ環境のプログラムとの間でそのセッションが
確立される。セッションは、いずれか一方のプログラムの要求によって切断する
ことができる。
本発明のさらに詳細な特徴および利益は、本発明の各種実施例の構造および動
作とともに、添付図面によって以下に詳述する。
〔図面の簡単な説明〕
本発明を添付図面によって説明する。図面中、同一の参照番号は同一または機
能的に類似の要素を示す。さらに、参照番号の最上位の桁は、その参照番号が最
初に用いられた図面を示す。
図1は、本発明に従ったAPSおよびその周囲環境の高水準ブロック図である
。
図2は、本発明に従ったAPSの機能性を例示する機能ブロック図である。
図3は、第1のコンピュータ環境のクライアントプログラムと第2のコンピュ
ータ環境のプログラムとのインタフェースをとるための方法を例示する流れ図で
ある。
図4は、指定のIBMプログラムとのセッションを確立し実施するDECサー
バの特定の実施例を例示する流れ図である。
図5は、指定のクライアントプログラムとのセッションを確立し実施するIB
Mサーバプロセスの特定の実施例を例示する流れ図である。
図6は、本発明に従ったAPSの例示的な具体化を例示するブロック図である
。
図7は、ビジネス環境にあるプログラムが製造環境にあるプログラムと通信す
るためにAPSを使用する状況を例示するブロック図である。
図8は、APSコントローラプロセスとAPSサーバプロセスとの間の内部イ
ンタフェースを例示するブロック図である。
図9は、2つのコンピュータ環境とAPSとのインタフェースをとるために使
用されるルーチンを例示するブロック図である。
〔発明の詳細な説明〕
本発明の拡張プログラム間通信サーバ(APS)は、2つの異なるコンピュー
タ環境で走るプログラム間のデータ交換を可能にするシステムおよび方法である
。詳細には、APSは、あるコンピュータ環境の1つ以上のクライアントが別の
コンピュータ環境の1つ以上のホストとインタフェースをとることを可能にする
。
好ましい実施例によれば、APSは、複数のVAXが複数のIBMメインフレ
ームと通信できるようにする通信インタフェースを付与する。より詳しくは、こ
の実施例では、サーバは、複数のVAXが、LU6.2通信を使用するIBMと
通信するためにDECnetを介してインタフェースをとることを可能にする。
本明細書の一部は、好ましいVAXおよびIBM環境にもとづいてAPSを説
明している。しかし、当業者にとって、他の通信ネットワーク、規格およびプロ
トコルを用いる他のコンピュータ環境のインタフェースをとるために、APSを
いかにして使用できるかは明白であろう。
APSシステムはクライアント−サーバの概念に従って設計されている。すな
わち、IBMプログラムとの通信はAPSによって取り扱われ、また、クライア
ントシステム(VAX)は、データやステータスを含むことが可能な情報をIB
Mプログラムと交換するためにAPSシステムを使用する。このクライアント−
サーバ関係の利点は、クライアントシステムのプログラマが、アプリケーション
レベルで実施するための通信機能はいずれのレベルであるかという問題およびそ
れらの機能の実施方法にのみ関与すればよいことである。彼らは、相手方のコン
ピュータ環境と通信するために必要な通信セッション接続技法に関与しない。ク
ライアントシステムは、CPI−Cにもとづくルーチンである与えられたAPS
クライアントルーチンを呼び出すことによって通信セッション接続に必要な技法
を助成する。これらのルーチンは、IBMプログラムとのAPSを介した透過な
通信を提供する。通信機能のほとんどがAPSによって取り扱われるので、クラ
イアントプログラムがIBMプログラムと通信することは容易である。
APSシステムおよびその環境の高水準ブロック図を図1に示す。図1によれ
ば、APS 102は、VAX/VMS環境106で走行するAPSクライアン
トプログラム104が、IBM環境110(例えば、1台以上のメインフレーム
)で走行するIBMプログラム108(LU6.2プログラムなど)と通信する
セッションを提供する。APS 102は、1台以上のVAX 106で走行す
る複数のAPSクライアントプログラム104が、1台以上のIBM機で走行す
る1つ以上のIBMプログラム108と通信できるようにする。
DECnet/SNAゲートウェイ112は、DECnet 122通信環境
とIBM SNA 124通信環境との間のインタフェースを提供する。ゲート
ウェイ112は、図1および以降の図において独立した“ボックス”として示さ
れている。このようにゲートウェイ112がAPS 102から分離しているこ
とは、機能的分離であって、必ずしも論理的または物理的分離ではないことに留
意しなければならない。言い換えれば、ゲートウェイ112とAPS 102と
は同一のプロセッサ上で実施可能である。ゲートウェイ112の全部の機能は、
APS 102の機能を実行し、従って分離した物理ゲートウェイ112を不要
にする同一の機械によって実行することができる。
ゲートウェイ112は、あるプロトコルセットから別のセットへ行くために必
要な変換を扱う。メッセージフォーマット変換は、メッセージを、そのメッセー
ジが送られる先のコンピュータ環境に適切なフォーマットおよびサイズに変換す
る。アドレス変換は、メッセージに関係するアドレスを、宛て先ネットワークが
要求するアドレス構造に変換する。プロトコル変換は、一方のコンピュータ環境
からの制御情報を、相手方の環境において相当する機能を実行するために必要な
制御情報と置き換える。この変換は、通常、メッセージの分割および再組立、デ
ータフロー制御、エラーの検出および回復といったサービスを考慮している。
APSコントローラプロセス132はAPS 102の核心である。APSコ
ントローラプロセス132は、APS 102内の他のAPSサーバプロセス1
34を管理する。APSサーバプロセス134は、LU6.2によるIBMリン
クを処理する。DECnetセッションは、APSコントローラプロセス132
および各APSサーバプロセス134によって確立され利用される。APSサー
バプロセス134は、APSコントローラプロセス132によって管理され、A
PSクライアントプログラム104とプログラム108との間の通信セッション
を確立するために使用される。
APS 102は、IBMプログラム108とクライアントプログラム104
との間の通信サービスを提供する。これらのサービスはそれらのプログラムにと
って透過であるように設計されているので、IBMプログラム108もクライア
ントプログラム104のいずれも、各自が中間にあるAPSシステム102を介
して通信しているということに“気づか”ない。各プログラム108および10
4は、各自のローカル通信機能を使用する(例えば、IBMにとってはCICS
ステートメントまたはCPI−Cルーチン。VAXは、CPI−C準拠のAPS
クライアントルーチンを使用する。)。
APS 102は、セッション多重化機能を提供する。この機能は、所定の時
間、極めて多数の異なるクライアントプログラム104によるIBM 110と
のLU6.2セッションの使用を助成する。IBMプログラム108との会話は
、
第1のクライアントプログラム104とIBMプログラム108との間の第1の
会話が完全に終了してから、その次のクライアントプログラム104と同じIB
Mプログラム108との間の次の会話が開始されるというように、逐次的に行わ
れる。これに関して、APS 102の重要な基本機能の1つは、LU6.2セ
ッションが、IBM 110が複数のクライアントプログラム104と会話する
時に再確立されない永久セッションである、ということである。これによって、
オペレーティングシステムが、変化するセッション負荷を管理するタスク、また
は、LU6.2の接続および切断を管理する定期的かつ時間を費すタスクに頻繁
に関わらなくてよいので、IBM 110のより正確なシステムの平衡化および
微調整が可能になる。
この多重化機能から導かれるもう1つの重要な機能は、LU6.2セッション
が複数のVAXクライアント106によって使用および共用され得ることである
。その結果、各クライアントシステム106は、IBMプログラム108との会
話を助成するためにLU6.2セッションを確立するというタスクに資源および
時間を充てる必要がなくなる。クライアントシステム106にもたらされる別の
利益は、あるアプリケーションのためのあるIBM機110との現在のLU6.
2セッションの完全な利用を指示する高速フィードバックから得られる。このよ
うなフィードバックは、別のIBM機110に問い合わせるための、または、ク
ライアントシステム106の別のタスクに資源を再指定するためのフィードバッ
ク事象として用いることができる。
いずれかの特定のIBM 110にとってアクティブであるセッションの数を
制限することによって、クライアントシステム106は、IBM 110から、
それらの接続時に高速な応答を受ける。APS 102によって提供されるさら
に別の重要な機能は、代替APS 102へのリンクの開始を助成するためにク
ライアントアプリケーションプログラム104を要さずに代替経路でIBMプロ
グラム108が到達できるように、会話の開始時に代替APS 102インタフ
ェースへの透過なフェイルオーバ機能である。
代替経路は、そのIBMプログラム108に達するために別のゲートウェイ1
12を使用することが可能な別のAPS 102としてもよい。多数の代替AP
S 102を定義できることに留意されたい。
透過なフェールオーバ機能はIBM側に備えることもできる。この機能は、複
数のAPS 102から同じIBMプログラム108への永久LUセッションを
定義することによって使用可能となる(例えば、図6を参照)。もし1つのAP
S 102からクライアント106へのDECnet経路が使用不能となった場
合、または、APS 102自体が使用できない場合、別のAPS 102がそ
のクライアントシステム106に到達するために使用することができよう。代替
APS 102を選択する機能は、所望の場合、各IBMプログラム108に組
み込む必要がある。
APS 102によって提供される別のフェールオーバ機能は、APSサーバ
プロセス134が、それらがゲートウェイ112で各自の基本LUによって各自
のLUセッションを確立できない場合に、別のゲートウェイ112によって、ま
たは、同一のゲートウェイ112で代替LUによって各自のLUセッションを確
立しようとする試みが可能なことである。
APS 102はまた、IBMプログラム108がいずれかのクライアントシ
ステム106に存在するクライアントプログラム104と(インストールされた
APSクライアントルーチンおよびDECnetルーチンと)DECnet 1
22によって会話を確立できるようにする、その手段を提供する。IBMプログ
ラム108がAPS 102を介してクライアントプログラム104との会話を
要求すると、APS 102は、DECnet 122を通じて要求されたクラ
イアントプログラム104を起動させる。
APS 102のさらに別の基本機能は、ある環境のプログラムが他の環境に
存在する複数のプログラムと会話することができる、1群のほぼ同時の会話を確
立できるようにするものである。それらのセッションは、単一のクライアントプ
ログラム104または、1台以上のVAX機106の複数のクライアントプログ
ラム104に対して向けることができる。同様に、APS 102は、1台以上
のIBM機110の1つ以上のIBMプログラム108に対し複数のセッション
をオープンさせ続けることも可能である。
この複数セッション状況を可能にするために、複数の代替実施例を実施するこ
とができる。1実施例では、クライアントプログラム104Aは、APS 10
2によってIBM 110と多数の個別の会話を確立することができる。確立さ
れた各会話について、その会話に必要なセッションを可能にするために、1個の
DECサーバプロセス206が指定される。
別の実施例では、IBMプログラム108は、IBMサーバプロセス208に
よってクライアントプログラム104に会話を要求する。クライアントプログラ
ム104はその後、DECサーバプロセス206を用いてAPS 102による
IBM 110との個別の会話を確立する。確立された各々の個別の会話につい
て、必要なセッションを可能にするために、1個のAPSサーバプロセス134
が指定される。
さらに別の実施例では、単一のIBMプログラム108が、異なるクライアン
トプログラム104Bに接続するために1群の連携IBMサーバプロセス208
を用いて異なるクライアントプログラム104Bと1群の会話を要求することが
できる。この状況で確立された各々の個別の会話について、その会話に必要なセ
ッションを可能にするために、1個のIBMサーバプロセス208が指定される
。
これらの実施例の各々について、APSクライアントプログラム104は、一
度に、IBMプログラム108によって要求されたアクティブなセッションをた
だ1つしか持てない点に留意しなければならない。
全部の場合において、APS 102は、当該の会話が終了するまでその会話
を助成することに専念する単一のDECサーバプロセス206を用いてクライア
ントプログラム104の要求時に使用可能なLUセッションに接続する。また、
APS 102は、当該の会話が終了するまでその会話を助成することにただ専
念する単一のIBMサーバプロセス208を用いてIBMプログラム108の要
求時にクライアントプログラム104Bに接続する。しかし、1実施例では、A
PSクライアントプログラム104は、一度に、IBMプログラム108によっ
て要求されたアクティブなセッションをただ1つしか持つことができない。
APS 102はロギングおよび制御機能も提供する。APS 102は、そ
のアクティビティの全部のログを取り、問題が発生した場合にはシステム警告を
生成する。また、統計データがAPS102によって収集される。
APS102によって提供される1つの追加機能は文字変換である。VAXシ
ステムは、7ビット文字であるAmerican Standard Code
for Information Interchange(ASCII)(
情報交換用米国標準コード)を用いて通信する。他方、IBMは、EBCDIC
(拡張2進化10進符号)として公知の8ビットコードを使用する。従って、I
BMとVAXとの間で文字データを交換するには文字変換が必要になる。ASC
II−EBCDIC変換をサポートするためのVAX用の既製品は入手可能であ
る。しかし、それらの製品は標準文字セットをサポートしているにすぎない。A
PS 102は、多国語またはその他の文字を含む広範な文字への文字変換を行
う変換機能を提供する。従って、プログラム104および108は、各自の通信
相手に適応するために文字変換を実行する必要がない。
図2は、APS 102の上述および追加の機能を例示する機能ブロック図で
ある。図2によれば、APSコントローラプロセス132はAPS 102の核
心である。APSコントローラプロセス132は、他の全部のAPSプロセス1
34を管理し、自己自身のDECnetセッションを有する。
好ましい1実施例によれば、APSコントローラプロセス132は、複数の論
理DECnetセッションをサポートする、永久DECnetプロセスである。
この好ましい実施例では、2種類のサーバプロセス134が備わっている。DE
Cサーバプロセス206およびIBMサーバプロセス208である。別の実施例
では、インタフェースされるコンピュータ環境ならびにそれらの関係する通信プ
ロトコル、規格およびルーチンに応じて、他のサーバプロセス134を備えるこ
とができる。
1実施例によれば、サーバプロセス134はAPS 102の開始時に生成さ
れる。付加的なサーバプロセス134が要求されるような、より多数のセッショ
ンが必要な場合、ユーザが追加のサーバプロセス134を生成できるように管理
ユーティリティが備わっている。APSコントローラプロセス132が、必要な
場合に追加のサーバプロセス134を生成する、または、過剰な数が存在する場
合にサーバプロセス134を削除するといった実施例を含む、別の実施例を想定
することもできよう。
好ましい1実施例では、サーバプロセス134はクラス特定プロセスである。
言い換えれば、サーバプロセス134は、特定のIBMプログラム108または
特定の形式のIBMプログラム108を指示する。例えば、買付け・注文システ
ムが、クライアントプログラム104が通信を望むIBMプログラム108であ
ると仮定する。特定のサーバプロセス134のクラスがそのプログラムと通信す
るために確立され、そのクラス内の特定のサーバプロセス134が当該の買付け
・注文システムとのセッションを確立するために使用される。システムのクラス
形式に適応するように、(期待される用途を有する)各クラス形式について複数
のサーバプロセス134が、クライアントプログラム104Aが要求を発した時
に使用可能であるために確立される。
APS 102の機能を説明するために、2種類のクライアントプログラム1
04Aおよび104Bが示されている。クライアントプログラム104Aは、I
BMプログラム108との接続を要求するVAXプログラムである。クライアン
トプログラム104Bは、接続を要求するIBMプログラム108によって起動
されるVAXプログラムである。図2は、2つのクライアントシステム106の
2個のクライアントプログラムしか図示していないが、本発明によれば、1つ以
上のクライアントシステム106に存在する複数のプログラム104が、1つ以
上のIBMシステムのプログラムと通信することができる。
(サーバプロセス134によって確立された)IBMプログラム108との所
定の数の論理装置セッションは、ずっと維持される。クライアントプログラム1
04AがIBMプログラム108と通信できるようにするために、1つのサーバ
プロセス134によって1つの論理装置セッションが使用される。また、確立さ
れた論理装置セッションは、クライアントプログラム104Bと通信するために
IBMプログラム108によって使用されることも可能である。事前に論理装置
セッションを確立させることは、クライアントプログラム104Aが、サービス
が要求された時にDECサーバ206によってLU6.2セッションが確立され
るのを待つ必要がないので、性能上の利益をもたらす。
恐らくシステムおよびネットワーク上の制約が使用可能なサーバプロセス13
4の数を制限するはずなので、要求側プログラム(クライアントプログラム10
4AまたはIBMプログラム108のいずれか一方)をサポートするためにサー
バプロセス134が使用できないという状況が生じる可能性がある。こうした場
合、要求側プログラム104Aまたは108は、サーバプロセス134が使用可
能となるまで待たなければならないであろう。好ましい実施例では、APSクラ
イアントルーチン922(図9)が、いずれか1つが使用可能であれば別の
APS 102を通じて接続を試みる。
IBMプログラム108がクライアントプログラム1048と会話を開始でき
るようにするためには、それまでに論理装置セッションがIBMサーバプロセス
208によって確立されていなければならない。
管理ユーティリティ214は、端末262を介したAPS 102のオペレー
タ制御を可能にするインタフェースを提供する。管理ユーティリティ214によ
って提供される機能の一部は、オペレータが付加的なサーバプロセス134を生
成できるようにすること、および、オペレータがAPS 102のプロセスおよ
び機能を管理できるようにすることを可能にする。
監視ユーティリティ216は、制御セクション212からデータを取り出し、
そのデータを報告および画面にフォーマットし、フォーマットされたデータを端
末262へ転送するために備わっている。これにより、人間オペレータがAPS
102の動作を監視することができる。監視ユーティリティ216は、管理ユ
ーティリティ214のサブセットまたはサブシステムとして実施することもでき
る点に留意しなければならない。
制御セクション212はAPS 102の主作業領域として機能する。また、
制御セクション212は、大域データの記憶域としても機能し、このデータを、
サーバプロセス134、管理ユーティリティ214、監視ユーティリティ216
およびAPSコントローラプロセス132が使用できるようにする。さらに、A
PS 102が永久定義を記憶する場所である制御ファイル210が備わってい
る。
図2によって図示および説明したアーキテクチャは、本発明の機能を最も良く
例示するために選択されたものである点に留意しなければならない。所望の機能
を実施するために、多数の他の物理および/または論理アーキテクチャが選択で
きよう。そのような代替アーキテクチャを実施する方法は、当業者には明白であ
ろう。
DECサーバプロセス206を介してクライアントプログラム104AとIB
Mプログラム108とのインタフェースをとる方法を、図3に示す。以下に図2
および図3に言及しつつ、この方法について説明する。この説明は、第2のコン
ピュータ環境にあるプログラム108への接続を要求する第1のコンピュータ環
境にあるクライアントプログラム104Aに関して行う。
APS 102が開始すると、ステップ302で、指定数のDECサーバプロ
セス206が生成される。生成されるDECサーバプロセス206の数は、意図
されたリンク要求条件にもとづいて選択され、それらの数は制御ファイル210
で定義される。プログラム104Aがプログラム108への接続を要求した時に
使用可能なDECサーバプロセス206が通常存在するように、十分な数が生成
される。生成された各DECサーバプロセス206について、IBMプログラム
108との論理装置セッションが確立される。
ステップ303では、DECサーバプロセス206がサービス要求を待ってい
る。プログラム104Aからサービスが要求されると、APSコントローラプロ
セス132がプログラム104Aからその要求を受け取る。この要求は会話セッ
ション242によって行われる。この会話セッション242は、クライアントプ
ログラム104Aがセッションを要求している間ずっとアクティブである。
ステップ304では、APSコントローラプロセス132がDECサーバプロ
セス206が使用可能かどうかを判定する。複数のクラスのDECサーバプロセ
ス206を用いるシステムでは、実際の判定は、所望のセッションを処理するた
めに適正なクラスのDECサーバプロセス206が使用可能かどうかについて行
われる点に留意しなければならない。DECサーバプロセス206が使用可能で
あれば、それがステップ306においてAPSコントローラプロセス132によ
って要求側プログラム104Aに割当てられる。ステップ306ではまた、AP
Sコントローラプロセス132が、一意のセッションIDを割当て、そのIDを
指定されたDECサーバプロセス206に通知し、要求側プログラム104Aに
接続情報を送信する。この時点で、会話セッション242は終了する。
ステップ308では、要求側プログラム104Aが指定されたDECサーバプ
ロセス206と直接にセッション244を確立する。ステップ309で、クライ
アントアプリケーション104AとIBMプログラム108との間の会話が指定
のDECサーバプロセス206を介して行われる。要求側プログラム104Aは
、第2のコンピュータ環境にある指定されたプログラム108へデータを転送し
始める。一度セッションが確立されると、APSコントローラプロセス132は
、要求側プログラム104Aと指定プログラム108との間の通信に能動的に関
与することはない。
ステップ309で確立された会話がアクティブである間、APS 102は、
要求側プログラム104Aが指定プログラム108と通信可能にするために必要
なすべてのデータ会話を実行する。例えば、APS 102はDECnetを通
じて要求側プログラム104Aからデータを受信する。このデータが指定された
IBMプログラム108へ転送される際、そのデータは、IBM環境に適合する
通信を提供するAPS LU6.2ルーチンを用いて転送される。この場合、A
SCIIからEBCDICへの文字変換は同じくAPS 102によって実行さ
れ得る。
通信が完了すると、いずれか一方のプログラムが、ステップ314において、
DECサーバプロセス206によってその会話を割当て解除できる。それに応え
て、ステップ316で、DECサーバプロセス206は、プログラム108(ま
たはクライアントプログラム104A)との会話を割当て解除し、新しい会話要
求を受け入れる準備ができたことをAPSコントローラプロセス132に通知す
る。DECサーバプロセス206はどちらか一方のセッションを終了することも
できる点に留意しなければならない。会話およびDECnetセッションが終了
すると、DECサーバプロセス206は、ステップ303に示された状態に復帰
する。
ステッ304で、APSコントローラプロセス132が要求されたセッション
を処理するために使用可能なDECサーバプロセス206がまったくないと判定
すると、APSコントローラプロセス132はステップ310で要求側プログラ
ム104Aに通知する。ステップ312で、要求側プログラム104Aは、1個
以上のバックアップAPSが使用可能であれば、バックアップAPS 102を
通じて接続を試みる。好ましい実施例によれば、クライアントルーチン922(
図9)が別のAPS 102を探す動作を開始する。
図3に関して上述した方法は、以下でさらに、特定の例によって説明する。I
BMプログラム108への接続がVAXクライアントプログラム104Aから要
求された場合、APSコントローラプロセス132は、適切なクラスの使用可能
なDECサーバプロセス206を探す。DECサーバプロセス206が使用可能
であれば、APSコントローラプロセス132は、それを要求側クライアントプ
ログラム104Aに割当て、一意のセッションIDを割当て、そのIDをDEC
サーバプロセス206に通知し、接続情報を要求側クライアントプログラム10
4Aに送信する。その後、要求側クライアントプログラム104Aは、指定され
たDECサーバプロセス206と直接DECnetセッションを確立する。それ
に応えて、DECサーバプロセス206は指定されたプログラム108と会話を
確立し、プログラム104AはそのDECサーバの会話によってプログラム10
8と通信する。
クライアントプログラム104Aがその通信を完了すると、クライアントプロ
グラム104AはDECサーバプロセス206とのDECnetセッションを切
断する。DECサーバプロセス206は、IBMプログラム108との会話を割
当て解除し、新しい会話の要求を受け入れる準備ができたことをAPSコントロ
ーラプロセス132に通知する。IBMプログラム108がその会話を終了した
場合、DECサーバプロセス206はクライアントプログラム104Aとのセッ
ションを終了する。
さらに、DECサーバプロセス206とのDECnetセッションおよびLU
セッションは、DECサーバプロセス206によっても切断することができる。
これは、エラーの場合に発生する。
上述の通り、ステップ309で、DECサーバプロセス206は指定されたI
BMプログラム108との会話を確立する。図4は、この接続を確立、維持およ
び終了する際にDECサーバプロセス206がたどるステップを示す流れ図であ
る。図4は、指定されたIBMプログラム108とのセッションを確立し、以降
の会話を促進するDECサーバプロセス206について説明している。以下の説
明にもとづき、図4によって説明する方法がまた、別のコンピュータ環境にある
プログラムと通信するために第1のコンピュータ環境にあるプログラムのために
通信を確立するサーバプロセスのより一般的な場合にいかにして適用されるかは
、当業者にとって明白であろう。
ここで図1、図2および図4を参照すれば、ステップ402において、DEC
サーバプロセス206は指定されたIBMプログラム108とLUセッションを
確立する。1実施例では、このセッションは、APS 102の起動時に最初に
確立され、以後、各サーバプロセス134の起動時に確立される。
ステップ404で、DECサーバプロセス206は、APSコントローラプロ
セス132との初期会話に続き、APSクライアントプログラム104Aからの
DECnet接続要求を受信する。クライアントプログラム104Aは指定され
たIBMプログラム108への接続を要求している。ステップ406では、この
要求に応えて、指定されたIBMプログラム108に会話が割当てられる。
必要な接続が確立されたので、ステップ408において、クライアントプログ
ラム104AとIBMプログラム108との間でデータが転送される。この転送
はAPSコントローラプロセス132とは独立して行われる。この転送を完遂さ
せるために、APS 102は、DECnet 122を通じてクライアントプ
ログラム104Aとデータを転送するためにAPS DECnetルーチンを使
用する。APS 102はまた、指定のIBMプログラム108へデータを転送
するためにAPPC/LU6.2ルーチンを使用する。他のコンピュータ環境と
の間でデータを検索および/または転送するために別のルーチンを使用する、別
の実施例を考慮することもできるであろう。
LU6.2セッションが早期に終了した場合(ボックス409)、サーバプロ
セス134は、ステップ410でLU6.2セッションを再確立しようと試みる
。好ましい実施例では、この試行は、所定のタイムアウト期間後、周期的に行わ
れる。必要なLU6.2セッションを再確立しようとする動作は、クライアント
プログラム202Aのユーザにとっては透過である。タイムアウト期間は、サー
バプロセス134がシステム資源を無限に拡張することなく通信を再確立する機
会が持てるように選択される。しかし、LU6.2セッションが失われた場合、
DECサーバプロセス206はクライアントプログラム104Aとのセッション
を終了し、両セッションは、会話が再開可能となる前に再確立される必要がある
。この場合、DECサーバプロセス206は、クライアントプログラム104A
との他のセッションについて使用可能となる前にLU6.2セッションを再確立
しなければならない点に留意されたい。クライアントプログラム104Aは、再
確立されたDECサーバプロセス206に周期的に問い合わせるか、または、別
のDECサーバプロセス206を探さなければならない。
クライアントプログラム104とサーバプロセス134との間のセッションが
失われた場合、IBMプログラム108との会話は終了する。しかし、IBMプ
ログラム108とのLU6.2セッションは終了しない。影響を受けたDECサ
ーバプロセス206は、次の要求側クライアントプログラム104にとって使用
可能となる。
セッションが早期に終了しなければ、DECサーバプロセス206は、ステッ
プ412において、クライアントプログラム104AまたはIBMプログラム1
08のいずれか一方の要求時に会話を終了する。IBMプログラム108または
VAXクライアントプログラム104Aのいずれか一方が、会話を終了させるこ
とも可能である。
次に、IBMプログラム108がVAXプログラム1040への接続を要求し
た時に生じることを示すために、第2の例を説明する。LU(論理装置)セッシ
ョンがAPS 102によって確立されていなければならないので、IBMプロ
グラム108による接続要求は、アクティブなLUセッションにおいてのみ行う
ことができる。IBMサーバプロセス208は、その確立されたセッションを記
録しており、IBMプログラム108が会話を要求するまで待機している。この
要求が生じると、IBMサーバプロセス208は、指定されたクライアントプロ
グラム104BとのDECnetセッションを確立する。このセッションがアク
ティブになると、IBMプログラム108およびクライアントプログラム104
Bの両者は、データおよびステータスメッセージを送受信することができる(す
なわち、両者はセッションによって会話を行うことができる)。さらに、IBM
プログラム108およびクライアントプログラム104Bの両者は、その会話を
割当て解除することもできる。これが生じると、IBMサーバプロセス208は
、そのLUセッションをアクティブにしておき、別の会話要求を待つ。
次に、好ましい実施例に従ってIBMプログラム108をクライアントプログ
ラム104Bに接続する際にIBMサーバプロセス208により生起するプロセ
スについて説明する。図5は、そのような接続を確立する際にIBMサーバプロ
セス208によって行われる方法を示す流れ図である。ここで図1、図2および
図5を参照すれば、ステップ502において、IBMサーバプロセス208はI
BMプログラム108と永久LUセッションを確立する。
ステップ504で、IBMサーバプロセス208は、IBMプログラム108
からクライアントプログラム104Bへの接続要求を受信する。ステップ506
で、IBMサーバプロセス208は指定のクライアントプログラム104Bとの
DECnetセッションを確立する。
会話が確立されると、ステップ508において、IBMプログラム108とク
ライアントプログラム1040との間でデータおよびステータスの転送が生じ得
る。この転送はAPSコントローラプロセス132とは独立して行われる。IB
Mサーバプロセス208は、要求側IBMプログラム108と指定のクライアン
トプログラム104Bとの間でデータを転送するために必要な通信および/また
はプロトコル会話を実行する。好ましい実施例では、IBMプログラム108と
の間でデータを転送するためにはAPPC/LU6.2ルーチンが使用され、D
ECnet 122を介して指定のクライアントプログラム104Bとの間でデ
ータを転送するためにはDECnetルーチンが使用される。要求側プログラム
108と指定のプログラム104Bとの間でデータを転送するために他の通信ル
ーチンを使用する、別の実施例を考慮することもできよう。LU6.2セッショ
ンが早期に終了した場合(ボックス509)、IBMサーバプロセス208は、
ステップ510においてLU6.2セッションを再確立しようと試みる。好まし
い実施例では、この試行は、指定のタイムアウト期間後に周期的に行われる。必
要なLU6.2セッションを再確立するその動作は、クライアントプログラム1
040のユーザにとっては透過である。タイムアウト期間は、IBMサーバプロ
セス208がシステム資源を無限に拡張することなく通信を再確立する機会が持
てるように選択される。しかし、LU6.2セッションが失われた場合、IB
Mサーバプロセス208はクライアントプログラム1040とのセッションを終
了し、両セッションは、会話が再開可能となる前に再確立される必要がある。こ
の場合、IBMサーバプロセス208は、クライアントプログラム1048との
他のセッションについて使用可能となる前に、LU6.2セッションを再確立し
なければならない点に留意されたい。
IBMプログラム108は、再確立されたIBMサーバプロセス208に周期
的に問い合わせるか、または、別のIBMサーバプロセス208を探さなければ
ならない。
セッションが早期に終了しなければ、IBMサーバプロセス208は、ステッ
プ512において、IBMプログラム108またはクライアントプログラム10
4Bのいずれか一方の要求時に、そのLUセッションを確立させたまま、通信リ
ンクを終了する。
APS 102の基本機能は、異なるコンピュータ環境で走行するプログラム
間の通信インタフェースを提供することである。この機能の詳細な例示を助ける
ために、2つの異なるコンピュータ環境で走行するプログラムがAPS 102
を介して通信できる、例示的なAPS環境に関してAPS 102を検討する。
図6は、例示環境においてAPS102の使用を示すブロック図である。以下、
図6を参照しつつ、この環境およびそこでAPS 102が果たす役割について
説明する。図示した環境はAPS 102が実施可能である多数の環境のうちの
一例にすぎない点に留意されたい。
IBMメインフレーム602(または、APPCを実施できる他のシステム)
は、ある製品の製造および販売を行うある会社のビジネス面を管理するために、
ビジネスプログラム642を走行させる。このIBMメインフレームで走行する
ビジネスプログラムは、在庫計算、注文日程計画、請求書作成などといった機能
を実行する。
この会社の製品の製造を管理するために、複数のDEC VAX 604が使
用されている。VAX 604で走行する製造プログラム644は、製造工程と
のインタフェースをとり、製造工程を監視する。
この会社のコンピュータ化されたビジネス環境をコンピュータ化された製造環
境と統合するために、ビジネスプログラム642は製造プログラム644と通信
する必要がある。従来の知識は、そうした通信を実現するためには、IBMメイ
ンフレーム602とDEC VAX 604とのインタフェースをとるためにD
ECnet/SNAゲートウェイ112を備えるべきであると教示する。
同様に、従来の知識によれば、インタフェースされる各々のVAX 604に
ついて、個別のDECnet/SNA VMS APPC/LU6.2ルーチン
がVAX 604に要求される。多数の製造製品または工程管理用VAX 60
4を有する大規模プラントにとっては、従来の解決策はそれらのルーチンの多数
の複製物を必要とする。このことは、本明細書の発明の背景の部分で検討した通
り、管理の観点からの難題をもたらす。それはまた、ネットワーク資源の非効率
的な使用につながる。
本発明によれば、APS 102は、単一のゲートウェイ112を介して、多
数のVAX 604または他のDECnetシステムのインタフェースをとる。
好ましい実施例では、環境に冗長的かつ補助的な能力を付与するために、第2の
APS 102も備えられる。ゲートウェイ機能をAPS 102に含めること
が可能であることを示すために、ゲートウェイ112およびAPS 102の各
組の周囲にボックスが描かれている。
この環境のAPS 102について、単純な想定を用いて以下に詳述する。こ
の想定では、ビジネスプログラム642は、製品の注文に応答して生産指示要求
を生成する。この生産指示要求は、その製品が製造環境で製造できるようにVA
X 604の製造プログラム644へ通信されなければならない。それに応えて
、
製造プログラム644は、使用する原料や製造する製品にもとづいて在庫の変更
を報告するために、さらに、他の生産関連データを報告するためにビジネスプロ
グラム642と通信する必要が生じる。図7は、こうした想定を実行する際に関
係するステップを例示するために用いた流れ図である。
以下、図6および図7に言及すれば、ステップ702において、IBMメイン
フレーム602で走行するビジネスプログラム642が生産指示を生成し、それ
をVAX 604で走行する製造プログラム644へ送信したいと望む。ステッ
プ704で、ビジネスプログラム642は製造プログラム644との接続を確立
する。従来の知識に従って、VAX 604と直接にインタフェースされたDE
Cnet/SNAゲートウェイ112を用いると、ビジネスプログラム642は
製造プログラム644との接続を確立できないはずなので、それは実現できない
であろう。しかし、本発明によれば、APS 102がゲートウェイ112によ
ってIBMメインフレーム602とLUセッションをすでに確立しているので、
ビジネスプログラム642は、図5に関して説明した通り、製造プログラム64
4との会話を確立できる。
この接続が確立されると、ステップ706で、ビジネスプログラム642は生
産指示を製造プログラム644へ送信する。この転送もやはり、図5に関して説
明した方法に従って行われる。その生産指示を受信すると、製造プログラム64
4は、ステップ708で、要求された製品の生産を実行する。
次に、製造プログラム644は生産情報をビジネスプログラム642に通信し
たいと望む。この生産情報には、使用する原料や生産する製品の数量といった情
報が含まれる。この情報を通信するために、製造プログラム644は、ステップ
710で、APS 102を介してビジネスプログラム642と接続を確立する
。これは、図4に関して前述した通り、ビジネスプログラム642と接続を確立
するAPS 102によって実現される。ステップ712で、製造プログラム
644はAPS 102を介して在庫・生産情報をビジネスプログラム642に
送信する。
APS 102を用いて、複数の製造プログラム644と複数のビジネスプロ
グラム642との間での通信を可能にするために複数の通信リンクが確立できる
ことに留意されたい。また、APS 102は、ビジネスプログラム642が複
数の製造プログラム644のうちのいずれか1つと通信トランザクションを開始
できるようにもする。APS 102によって付与されるこの第2の機能は、従
来の知識のゲートウェイ112を用いては利用できないものであった(クライア
ントによるゲートウェイとの以前のリンクがそのクライアントによってすでに確
立されていた場合の一部の限定機能を除く)。
また、この環境において、DEC VAX 604はUPS 102にとって
クライアントとして構成される点にも留意されたい。図6で例示したように、A
PS 102とVAX 604との間の通信はDECnet 122を通じて行
われる。ゲートウェイ112とIBMメインフレーム602との間の通信はIB
Mの通信プロトコルSNAを通じて行われる。
APSコントローラプロセス132とサーバプロセス134との間の通信を図
8に示す。インタフェースルーチン802は、サーバプロセス134がAPSコ
ントローラプロセス132と通信できるようにするために備わっている。複数の
メールボックス804,806,808および810は、APSコントローラプ
ロセス132とサーバプロセス134との間のメッセージ、コマンドおよび要求
の交換を助成するために備わっている。各APSサーバプロセス134について
1個のサーバプロセスメールボックス804が存在する。サーバプロセスメール
ボックス804およびコントローラ管理メールボックス806は、コントローラ
プロセス132およびサーバプロセス134の非同期動作を可能にする。メッセ
ージ、コマンドおよび要求は、メールボックス804および806に任意の時点
に入れておき、後の時点で宛て先プロセス132および134によって取り出さ
れ、処理されるようにできる。
サーバプロセスメールボックス804は、コントローラプロセス132によっ
て送信されたコマンドおよびメッセージを格納し、それらをサーバプロセス13
4へ転送する。これらのメッセージはセッションIDその他の接続情報などの情
報を含むことができる。
コントローラ管理メールボックス806は、APSサーバプロセス134およ
び管理ユーティリティ214からのメッセージを格納するために備わっている。
それらのメッセージは後にコントローラプロセス132に転送される。これらの
メッセージの一例は、制御ファイル210から情報を検索するための要求である
。
APSコントローラプロセス132は、管理ユーティリティメールボックス8
10を通じて管理ユーティリティ214と通信する。
プロセス終了メールボックス808は、サーバプロセス134の終了に関して
VAX/VMSにより生成された終了メッセージ822を格納し、それらをコン
トローラプロセス132に転送する。このような終了メッセージは、サーバプロ
セスが消滅したり抜け出たりした場合に生成される。コントローラプロセス13
2は、終了したサーバプロセス134を再生することによってそれに対処する。
VMS終了メッセージ822は、それが実際にはサーバプロセス134からでは
なくVMSから来ることを示すために、破線によって示されている。
前述の通り、好ましい実施例では、APS 102は、それがVAX 106
とクライアント−サーバ関係を形成するように実施される。1つのAPSサーバ
プロセス134と1つのVAX 106との接続を図9に示す。図9によれば、
VAX 106で走行するクライアントプログラム104は、APS 102と
の通信を可能にするルーチンを有する。APSクライアントルーチン922は、
プログラム104がAPS 102と通信できるようにするルーチンである。A
PSクライアントルーチン922は、VAX 106で走行するいずれかのプロ
グラム言語によって呼び出し可能なコールを含むことができる。これらのルーチ
ンの一覧を表1に示す。
APSクライアントルーチン922は、APS 102との複数の会話をサポ
ートし、自動バックアップサーバ選択機能を提供する。この機能は、基本APS
102が故障したり何らかの理由で使用できなくなった場合、または、適切な
クラスでいずれのサーバプロセス134も使用不可能となった場合に、APSク
ライアントルーチン922が二次APS 102(または複数の使用可能なAP
S 102のうちの1つ)を選択できるようにする。APS DECnetルー
チン924はVAX 106に存在する。APSクライアントDECnetルー
チン925はAPS 102に存在する。APSクライアントDECnetルー
チン924およびAPS DECnetルーチン925はDECnet 122
を介して通信することができる。
APS 102にあるAPSクライアントルーチン906は、APS 102
と1つ以上のVAX 106との間でサーバ−クライアント関係を確立するため
に必要な機能を実行する。
サーバプロセス134は、VAX 106と、それが通信する相手のIBMプ
ログラムとの間の接続を行う。サーバプロセス134については、図1〜図5に
よってすでに詳述してある。
APS LU6.2ルーチン928およびDEC LU6.2ルーチン926
は、APS 102がDECnet/SNAゲートウェイを通じてIBM LU
6.2プログラムと通信するために必要な通信プロトコルを付与する。APS
LU6.2ルーチンは、IBMプログラムとの通信機能を提供する。DEC L
U6.2ルーチン926は、APS LU6.2ルーチン924によって使用さ
れ、DECゲートウェイとの通信機能を提供する。
別の実施例では、階層設計により、上述のクライアント−サーバ関係は、ファ
イル転送といった別の専用機能を実施するために置換または増補することもでき
よう。
以上、本発明の各種実施例を説明したが、それらは例示として提示したにすぎ
ず、何ら限定的なものではないことを理解しなければならない。従って、本発明
の請求の範囲は、上述の例示実施例のいずれによっても限定されるものではない
。
〔表1〕
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FR,GB,GR,IE,IT,LU,M
C,NL,PT,SE),OA(BF,BJ,CF,CG
,CI,CM,GA,GN,ML,MR,NE,SN,
TD,TG),AT,AU,BB,BG,BR,BY,
CA,CH,CN,CZ,DE,DK,ES,FI,G
B,HU,JP,KR,KZ,LK,LU,LV,MG
,MN,MW,NL,NO,NZ,PL,PT,RO,
RU,SD,SE,SI,SK,UA,UZ,VN
Claims (1)
- 【特許請求の範囲】 1. 第1のコンピュータ環境にある複数のプログラムのうちの少なくとも1 つと第2のコンピュータ環境にある複数のプログラムのうちの少なくとも1つと のインタフェースをとるためのプログラム間サーバ装置であって、 第1のコンピュータ環境と第2のコンピュータ環境との間の通信セッションを 提供するように構成された少なくとも1つのサーバプロセスであり、それによっ て前記第1および第2のコンピュータ環境の一方にある第1のプログラムが前記 サーバプロセスと通信セッションを確立し、前記第1および第2のコンピュータ 環境の他方にある第2のプログラムと通信することが可能となり、その際前記通 信は前記サーバプロセスを通じて行われるものである、前記サーバプロセスと、 前記サーバプロセスと結合されており、前記第1のプログラムからの接続要求 を受信し、かつ、前記接続要求を受信すると前記サーバプロセスの1つに通信タ スクを割当てるように構成されたコントローラプロセスとを含むことを特徴とす るプログラム間サーバ装置。 2. 請求項1記載の装置であって、前記コントローラプロセスと結合されて おり、大域データを格納し、かつ、前記大域データを前記サーバプロセスおよび 前記コントローラプロセスに供給するように構成された制御セクションをさらに 含むことを特徴とする装置。 3. 請求項1または2に記載の装置であって、前記コントローラプロセスと 結合されており、前記コントローラプロセスによって使用されるための永久定義 を格納し、かつ、使用可能なサーバプロセスの数を定義するように構成された制 御ファイルをさらに含むことを特徴とする装置。 4. 請求項1ないし3のいずれかに記載の装置であって、前記コントローラ プロセスと結合されており、前記サーバのオペレータ制御用のインタフェースを 提供するように構成された管理ユーティリティをさらに含むことを特徴とする装 置。 5. 請求項4記載の装置であって、前記管理ユーティリティがさらに、オペ レータが追加のサーバプロセスを生成できるように構成されていることを特徴と する装置。 6. 請求項2ないし5のいずれかに記載の装置であって、前記制御セクショ ンと結合されており、前記制御セクションからデータを取り出し、前記データを 報告および画面にフォーマットし、さらに前記フォーマットされたデータをユー ザ端末に送信し、それによって人間オペレータがプログラム間サーバ装置の動作 を監視できるように構成された、監視ユーティリティをさらに含むことを特徴と する装置。 7. 請求項1ないし6のいずれかに記載の装置であって、前記サーバプロセ スに結合されており、前記第1および第2のコンピュータ環境の間の通信インタ フェースを提供するように構成されたゲートウェイをさらに含むことを特徴とす る装置。 8. 請求項1ないし7のいずれかに記載の装置であって、 前記コントローラプロセスおよび前記サーバプロセスに結合されており、コマ ンドおよび前記コントローラプロセスによって発せられた第1のメッセージを格 納し、かつ、前記格納されたコマンドおよび第1のメッセージを前記サーバプロ セスに転送するように構成されたサーバプロセスメールボックスと、 前記コントローラプロセスおよび前記サーバプロセスに結合されており、前記 サーバプロセスからの第2のメッセージを格納し、かつ、前記第2のメッセージ を前記コントローラプロセスに転送するように構成されたコントローラ管理メー ルボックスと、 前記コントローラプロセスおよび前記サーバプロセスに結合されており、前記 サーバプロセスからの終了メッセージを格納し、かつ、前記終了メッセージを前 記コントローラプロセスに転送するように構成されたプロセス終了メールボック スとをさらに含むことを特徴とする装置。 9. 第1のコンピュータ環境にある複数のプログラムのうちの少なくとも1 つと第2のコンピュータ環境にある複数のプログラムのうちの少なくとも1つと のインタフェースをとるための方法であって、 (a)第1および第2のコンピュータ環境のうちの一方にある第1のプログラ ムにサーバプロセスを割当て、前記第1のプログラムが第1および第2のコンピ ュータ環境のうちの他方にある第2のプログラムにセッションを要求するステッ プと、 (b)前記第1のプログラムと前記割当てられたサーバプロセスとの間で第1 のセッションを確立するステップと、 (c)前記第2のプログラムと前記割当てられたサーバプロセスとの間で第2 のセッションを確立するステップと、 を備え、これにより 前記第1のセッションおよび第2のセッションは前記第1のプログラムと前記 第2のプログラムとの間の会話を有することを特徴とする方法。 10. 請求項9記載の方法であって、前記第2のプログラムとの会話のため に前記第1のプログラムからの要求を受信するステップをさらに含むことを特徴 とする方法。 11. 請求項9または10に記載の方法であって、前記ステップ(a)が、 複数のサーバプロセスのうちの1つが前記第1のプログラムによって要求され たセッションを提供するために使用可能であるかどうかを判定するステップと、 前記サーバプロセスが使用可能である場合に前記サーバプロセスを前記第1の プログラムに割当てるステップと、 前記複数のサーバプロセスのうちの1つが使用不能である場合にサーバプロセ スが使用不可能であることを前記第1のプログラムに通知するステップとを含む ことを特徴とする方法。 12. 請求項9ないし11のいずれかに記載の方法であって、前記第1およ び第2のプログラムのセッションを割当て解除するステップをさらに含むことを 特徴とする方法。 13. 請求項12記載の方法であって、前記セッションが前記第1および第 2のプログラムの一方から受信された終了要求に応答して割当て解除されること を特徴とする方法。 14. 請求項9ないし13のいずれかに記載の方法であって、前記複数のサ ーバプロセスを生成するステップをさらに含むことを特徴とする方法。 15. 請求項14記載の方法であって、前記サーバプロセスが最初に前記コ ントローラプロセスによって生成されることを特徴とする方法。 16. 請求項14記載の方法であって、前記サーバプロセスは、前記要求側 プログラムが前記指定されたプログラムに接続を要求した時に生成されることを 特徴とする方法。 17. 請求項12ないし16のいずれかに記載の方法であって、前記セッシ ョンが早期に終了した場合に前記セッションを再確立しようと試みるステップを さらに含むことを特徴とする方法。 18. 請求項9ないし17のいずれかに記載の方法であって、前記第1およ び第2のプログラムの間の通信を生起させるために必要なプロトコル会話を実行 するステップをさらに含むことを特徴とする方法。 19. 統合化プラント環境用システムであって、 前記プラントのビジネス面を管理するビジネスプログラムを走らせるために構 成された1台以上のコンピュータシステムを含むビジネスコンピュータ環境と、 製品の製造を管理する製造プログラムを走らせるために構成された複数の第2 のコンピュータシステムであり、前記第1および第2のコンピュータ環境は同一 のコンピュータ環境ではない、前記第2のコンピュータシステムと、 前記ビジネスプログラムと、前記複数の第2のコンピュータシステムのうちの 1台で走る前記製造プログラムとの間で通信できるように構成されたゲートウェ イと、 前記複数の第2のコンピュータシステムの各々にある製造プログラムが前記第 1のコンピュータ環境にある前記ビジネスプログラムと前記ゲートウェイを介し て通信できるようにサーバ/クライアント関係を構築するために構成された拡張 プログラム間サーバとを含むことを特徴とするシステム。 20. IBM環境にある1つ以上のIBMプログラムとDEC環境にある1 つ以上のDECプログラムとのインタフェースをとるためのプログラム間サーバ 装置であって、 前記IBMプログラムが前記DECプログラムと会話を開始できるようにする 1つ以上の論理装置セッションを確立し維持するように構成されたサーバプロセ スと、 前記サーバプロセスと結合されており、前記DECプログラムおよびIBMプ ログラムからの接続要求を受け入れ、かつ、接続を要求するプログラムにサーバ プロセスを割当てるように構成されたコントローラプロセスとを含むことを特徴 とする装置。 21. 請求項20記載のサーバ装置であって、前記コントローラプロセスと 結合されており、大域データを格納し、かつ、前記大域データを前記第1、第2 および第3の手段に提供するための第1の手段をさらに含むことを特徴とする装 置。 22. 請求項21記載のサーバ装置であって、前記第1の手段と結合されて おり、前記コントローラプロセスによって使用されるための永久定義を格納する ための第2の手段をさらに含むことを特徴とする装置。 23. 請求項20記載のサーバ装置であって、 前記コントローラプロセスおよび前記サーバプロセスと結合されており、コマ ンドおよび前記コントローラプロセスによって発せられた第1のメッセージを格 納し、かつ、前記格納されたコマンドおよび第1のメッセージを前記サーバプロ セスに転送するための第1の手段と、 前記コントローラプロセスおよび前記サーバプロセスに結合されており、前記 サーバプロセスからの第2のメッセージを格納し、かつ、前記第2のメッセージ を前記コントローラプロセスに転送するための第2の手段と、 前記コントローラプロセスおよび前記サーバプロセスに結合されており、前記 サーバプロセスからの終了メッセージを格納し、かつ、前記終了メッセージを前 記コントローラプロセスに転送するための第3の手段とをさらに含むことを特徴 とする装置。 24. コンピュータ統合化製造環境用システムであって、 製造プラントのビジネス面を管理するビジネスプログラムを走らせるために構 成されたIBMコンピュータ環境と、 製品の製造を管理する製造プログラムを走らせるために構成されたDECコン ピュータ環境と、 前記製造プログラムが前記ビジネスプログラムと通信できるようにサーバ/ク ライアント関係を構築するために構成された拡張プログラム間サーバとを含み、 前記拡張プログラム間サーバが、 前記ビジネスプログラムが前記製造プログラムと会話を開始できるようにする 1つ以上の論理装置セッションを確立し維持するように構成されたサーバプロセ スと、 前記サーバプロセスと結合されており、前記ビジネスプログラムおよび製造プ ログラムからの接続要求を受け入れ、かつ、接続を要求するプログラムにサーバ プロセスを割当てるように構成されたコントローラプロセスとを含むことを特徴 とするシステム。 25. 請求項24記載のシステムであって、前記ビジネスプログラムと製造 プログラムとの間の通信を可能にするように構成されたゲートウェイをさらに含 むことを特徴とするシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US8390293A | 1993-06-28 | 1993-06-28 | |
| US08/083,902 | 1993-06-28 | ||
| PCT/EP1994/001949 WO1995000905A1 (en) | 1993-06-28 | 1994-06-15 | Advanced program-to-program communication server |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08511889A true JPH08511889A (ja) | 1996-12-10 |
Family
ID=22181391
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7502411A Pending JPH08511889A (ja) | 1993-06-28 | 1994-06-15 | 拡張プログラム間通信サーバ |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US5802293A (ja) |
| EP (1) | EP0706685B1 (ja) |
| JP (1) | JPH08511889A (ja) |
| KR (1) | KR100343517B1 (ja) |
| AU (1) | AU7185494A (ja) |
| CA (1) | CA2164524A1 (ja) |
| DE (1) | DE69407185T2 (ja) |
| ES (1) | ES2111941T3 (ja) |
| WO (1) | WO1995000905A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005267312A (ja) * | 2004-03-19 | 2005-09-29 | Hitachi Ltd | アプリケーション入れ替え方法およびそのプログラム |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5485369A (en) | 1993-09-28 | 1996-01-16 | Tandata Corporation | Logistics system for automating tansportation of goods |
| US5758084A (en) * | 1995-02-27 | 1998-05-26 | Hewlett-Packard Company | Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections |
| GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
| US6460020B1 (en) | 1996-12-30 | 2002-10-01 | De Technologies, Inc. | Universal shopping center for international operation |
| US6161123A (en) * | 1997-05-06 | 2000-12-12 | Intermec Ip Corporation | Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session |
| US6574239B1 (en) * | 1998-10-07 | 2003-06-03 | Eric Morgan Dowling | Virtual connection of a remote unit to a server |
| US6381616B1 (en) * | 1999-03-24 | 2002-04-30 | Microsoft Corporation | System and method for speeding up heterogeneous data access using predicate conversion |
| US6965855B1 (en) | 1999-05-17 | 2005-11-15 | General Electric Company | Methods and apparatus for system and device design and control |
| US7814208B2 (en) * | 2000-04-11 | 2010-10-12 | Science Applications International Corporation | System and method for projecting content beyond firewalls |
| US7899690B1 (en) | 2000-08-18 | 2011-03-01 | The Crawford Group, Inc. | Extended web enabled business to business computer system for rental vehicle services |
| US7275038B1 (en) | 2000-08-18 | 2007-09-25 | The Crawford Group, Inc. | Web enabled business to business operating system for rental car services |
| US8600783B2 (en) | 2000-08-18 | 2013-12-03 | The Crawford Group, Inc. | Business to business computer system for communicating and processing rental car reservations using web services |
| FR2813679B1 (fr) * | 2000-09-01 | 2006-09-29 | Airsys Atm S A | Systeme informatique multiprocess |
| US8108231B2 (en) | 2002-06-14 | 2012-01-31 | The Crawford Group, Inc. | Method and apparatus for improved customer direct on-line reservation of rental vehicles |
| US20040039612A1 (en) | 2002-06-14 | 2004-02-26 | Neil Fitzgerald | Method and apparatus for customer direct on-line reservation of rental vehicles |
| US7761864B2 (en) | 2005-08-09 | 2010-07-20 | Intermec Ip Corp. | Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices |
| US8271309B2 (en) | 2006-03-16 | 2012-09-18 | The Crawford Group, Inc. | Method and system for providing and administering online rental vehicle reservation booking services |
| US7757116B2 (en) * | 2007-04-04 | 2010-07-13 | Vision Solutions, Inc. | Method and system for coordinated multiple cluster failover |
| KR100909955B1 (ko) * | 2007-12-17 | 2009-07-30 | 한국전자통신연구원 | 이기종 단말기를 이용한 인터넷 서비스 제공 시스템 및 그방법 |
| US9253016B2 (en) | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing environment |
| US8959220B2 (en) | 2010-11-02 | 2015-02-17 | International Business Machines Corporation | Managing a workload of a plurality of virtual servers of a computing environment |
| US8984109B2 (en) | 2010-11-02 | 2015-03-17 | International Business Machines Corporation | Ensemble having one or more computing systems and a controller thereof |
| US8966020B2 (en) | 2010-11-02 | 2015-02-24 | International Business Machines Corporation | Integration of heterogeneous computing systems into a hybrid computing system |
| US9081613B2 (en) | 2010-11-02 | 2015-07-14 | International Business Machines Corporation | Unified resource manager providing a single point of control |
| US10296968B2 (en) | 2012-12-07 | 2019-05-21 | United Parcel Service Of America, Inc. | Website augmentation including conversion of regional content |
| CN104657124A (zh) * | 2013-11-25 | 2015-05-27 | 中国直升机设计研究所 | 一种基于xml rpc集成pdm系统的方法 |
| US9965466B2 (en) | 2014-07-16 | 2018-05-08 | United Parcel Service Of America, Inc. | Language content translation |
| TWI742774B (zh) * | 2020-07-22 | 2021-10-11 | 財團法人國家實驗研究院 | 運算系統及其主機資源分配方法 |
| US12012110B1 (en) | 2023-10-20 | 2024-06-18 | Crawford Group, Inc. | Systems and methods for intelligently transforming data to generate improved output data using a probabilistic multi-application network |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61121153A (ja) * | 1984-11-19 | 1986-06-09 | Nec Corp | プロセツサ間通信制御方式 |
| US5218713A (en) * | 1985-06-17 | 1993-06-08 | International Business Machines Corporation | Distributed data management mechanism for handling a data stream |
| US4739398A (en) * | 1986-05-02 | 1988-04-19 | Control Data Corporation | Method, apparatus and system for recognizing broadcast segments |
| US4914619A (en) * | 1987-10-19 | 1990-04-03 | International Business Machines Corporation | Apparatus and method for interconnecting an application of a transparent services access facility to remote source |
| US5218697A (en) * | 1990-04-18 | 1993-06-08 | Microsoft Corporation | Method and system for networking computers having varying file architectures |
| AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
| AU631749B2 (en) * | 1990-09-14 | 1992-12-03 | Digital Equipment Corporation | System and method for communication between windowing environments |
| JPH0727504B2 (ja) * | 1990-12-10 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ネットワークの構成を定義するシステム、ネットワークのための構成パラメータを生成する方法及びネットワークを構成するためのシステム |
| US5291416A (en) * | 1991-03-08 | 1994-03-01 | Software Algoritms Incorporated | Event feedback for numerically controlled machine tool and network implementation thereof |
| US5317568A (en) * | 1991-04-11 | 1994-05-31 | Galileo International Partnership | Method and apparatus for managing and facilitating communications in a distributed hetergeneous network |
| US5586240A (en) * | 1992-03-11 | 1996-12-17 | Genesis Software, Inc. | Image generation and retrieval system integrated with arbitrary application using layered interface |
| US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
-
1994
- 1994-06-15 JP JP7502411A patent/JPH08511889A/ja active Pending
- 1994-06-15 KR KR1019950705792A patent/KR100343517B1/ko not_active Expired - Fee Related
- 1994-06-15 CA CA002164524A patent/CA2164524A1/en not_active Abandoned
- 1994-06-15 DE DE69407185T patent/DE69407185T2/de not_active Expired - Fee Related
- 1994-06-15 WO PCT/EP1994/001949 patent/WO1995000905A1/en not_active Ceased
- 1994-06-15 EP EP94920939A patent/EP0706685B1/en not_active Expired - Lifetime
- 1994-06-15 AU AU71854/94A patent/AU7185494A/en not_active Abandoned
- 1994-06-15 ES ES94920939T patent/ES2111941T3/es not_active Expired - Lifetime
-
1996
- 1996-04-16 US US08/633,144 patent/US5802293A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005267312A (ja) * | 2004-03-19 | 2005-09-29 | Hitachi Ltd | アプリケーション入れ替え方法およびそのプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| KR960703249A (ko) | 1996-06-19 |
| EP0706685B1 (en) | 1997-12-03 |
| HK1005347A1 (en) | 1998-12-31 |
| ES2111941T3 (es) | 1998-03-16 |
| KR100343517B1 (ko) | 2002-11-29 |
| EP0706685A1 (en) | 1996-04-17 |
| DE69407185T2 (de) | 1998-06-10 |
| US5802293A (en) | 1998-09-01 |
| CA2164524A1 (en) | 1995-01-05 |
| DE69407185D1 (de) | 1998-01-15 |
| WO1995000905A1 (en) | 1995-01-05 |
| AU7185494A (en) | 1995-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08511889A (ja) | 拡張プログラム間通信サーバ | |
| EP0312739B1 (en) | Apparatus and method for interconnecting an application of a transparent services access facility to a remote source | |
| US6868442B1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
| US5727142A (en) | Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure | |
| US6192389B1 (en) | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system | |
| US6393581B1 (en) | Reliable time delay-constrained cluster computing | |
| JP4616159B2 (ja) | クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム | |
| JP2001522114A (ja) | 分散を意識させない態様で分散ソフトウェア開発を容易にするための方法およびシステム | |
| US20100036957A1 (en) | Method and System for Implementing Transfer of a Network Session | |
| US6009474A (en) | Method and apparatus for re-assigning network addresses to network servers by re-configuring a client host connected thereto | |
| JPS5835297B2 (ja) | デ−タ処理システム | |
| JPH11312153A (ja) | オブジェクト・サ―バ間の作業負荷管理方法および装置 | |
| JPH10513633A (ja) | 標準対話式呼び処理通信用の汎用アプリケーション・プログラム・インターフェースを備えた電気通信交換器 | |
| US7536688B2 (en) | Segmented virtual machine | |
| WO1997019411A1 (en) | Registry communications middleware | |
| EP1417567A2 (en) | Remote device management in grouped server environment | |
| CN105976245A (zh) | 一种模拟交易系统及方法 | |
| JPH03206542A (ja) | 割込み方法 | |
| US7769828B2 (en) | System for provisioning time sharing option (TSO) and interactive productivity system facility (ISPF) services in a network environment | |
| US6963905B1 (en) | System and method including a communication interface for transferring information between at least two processes | |
| JP4976128B2 (ja) | サーバ間の透過的なセッション移送 | |
| CN116112497B (zh) | 一种云主机集群的节点调度方法、装置、设备及介质 | |
| CN117938928A (zh) | 分布式服务管理方法、装置、服务器及存储介质 | |
| WO1993018464A1 (en) | Distributed processing system | |
| HK1005347B (en) | An integrated plant environment system having a program-to-program communication server and method |