JP3251800B2 - ネットワーク内のコンピュータ間でデータを交換するための通信システム - Google Patents
ネットワーク内のコンピュータ間でデータを交換するための通信システムInfo
- Publication number
- JP3251800B2 JP3251800B2 JP03343695A JP3343695A JP3251800B2 JP 3251800 B2 JP3251800 B2 JP 3251800B2 JP 03343695 A JP03343695 A JP 03343695A JP 3343695 A JP3343695 A JP 3343695A JP 3251800 B2 JP3251800 B2 JP 3251800B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- communication
- data
- application
- client
- 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.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
された2台以上のコンピュータ間でのデータ交換を容易
にするための、通信システムおよびそのようなシステム
の動作方法に関する。詳細には、この通信システムはク
ライアント/サーバ型に基づくものであり、典型的なク
ライアント/サーバ型では、ネットワークの両端に接続
されたクライアント・コンピュータとサーバ・コンピュ
ータにおけるアプリケーション・プログラムの間で定期
的な通信をおこなう。クライアント・コンピュータは通
常、システムの使用者の近くにあり、サーバ・コンピュ
ータは様々な中央サービスを提供する。
コンピュータのアーキテクチャはしばしば、データを表
現しタスクを管理する方式が異なる。またその性質上、
サーバ・コンピュータのオペレーティング・システム
は、非常に複雑なことがあり(たとえば、IBM社のM
VSオペレーティング・システム)、十分な性能で動作
し、かつクライアント・システムによるユーザが十分に
サービスを受けるためは不可欠な十分な信頼性、可用
性、保守容易性(一般にRASとして知られる)を備え
るためには、システムの構造と機能に関する深い知識を
必要とする。
ータとサーバ・コンピュータの間の「インターフェー
ス」を提供し、クライアント・アプリケーション・プロ
グラムを書き込むプログラマは、このインターフェース
を利用して、クライアントとサーバの間で広範囲の基本
的要求および応答を通信する。これらの基本的要求に加
えてさらに、クライアント・アプリケーションに特に関
係する高レベルの要求を実施する必要があることもあ
る。
ンピュータの間の協働的処理をある程度容易にするイン
ターフェースを確立するために、様々な既知の技法があ
る。これらの技法は、多かれ少なかれ、APPC(拡張
プログラム間通信機能:LU6.2ともいう)やTCP
/IPプロトコルなどの基礎的通信プロトコルに依存す
る。
の1つは、たとえばAPPCなどの基本通信インターフ
ェースである。当業者には周知のように、APPCは、
分散データ・モデルのようなものについてのアーキテク
チャ「towers」を含む1組の膨大な数のLU6.2機能
への「アプリケーション・プログラム・インターフェー
ス」(API)アクセスを可能にする。他の通信プロト
コル(たとえば、TCP/IP)は、その代替機能を提
供する。
グラムは、APPCの上にそれ自体の実施態様(インプ
リメンテーション)を開発することができるが、インタ
ーフェースの使用境界が予め定義されないので、特に複
雑な分野において労力や訓練の重複が生じ、全コードの
再使用がより困難になる。
率的な実施態様は、クライアント・アプリケーション・
プログラマがLU6.2などの通信プロトコルを深く理
解する必要のないものでなければならない。
ーフェースは、リモート手順呼出し(RPC)によって
提供される。この機能では、クライアント・アプリケー
ション・プログラムは単にサブルーチンを呼び出すだけ
でデータベースなどのリモート機能にアクセスし、通信
システムが、サブルーチンがローカルかリモートかを認
識する。リモートの場合には、呼出しはパッケージ化さ
れて、リンク(たとえば、LU6.2リンク)上をリモ
ート・システムに送られる。クライアント・アプリケー
ションはこの「機能伝送」について知らないので、呼出
しが戻るまで待機する。
ント/サーバ・システムの必要性に対して十分な柔軟性
がない。この技法は、応答を受け取る前に他の処理を実
行可能にする柔軟性をもたず、リンクの透過性を維持す
る必要があるため実施が複雑になることがある。
が、リモート・コンピュータへの通信が行われているこ
とをまったく知らないという点でまったく「透過」であ
るが、これは、クライアント/サーバ・システムがその
性能と可用性を最適化することが望まれる場合には理想
的ではない。そのような場合は、クライアント・アプリ
ケーション・プログラマが、要求のタイプ(リモート手
順呼出し、ファイル転送など)を非透過な方法で選択で
き、したがって、サーバ・アクセスが必要なとき、要求
のタイプに応じて、プログラマが最終ユーザに過度に影
響を与えない最良の決定を行えることが重要である。
BMの「MQ Series(キュー管理を行う)」の
製品によって提供されるような)アプリケーション・イ
ンターフェースは、分散されたアプリケーション間で完
全に非同期の待機通信を実現する。分散アプリケーショ
ンは、2台以上のコンピュータに部分的に存在するアプ
リケーションであり、それらの部分は互いに通信する必
要がある。このアプリケーション・インターフェース
は、ワークフロー管理に適した広範囲のメッセージ配布
と複雑な回復および保全性を提供する。
用する他のより簡単な通信方法も、特にワークステーシ
ョンのみの環境では存在する。
全なMQ Series の解法)は、密結合の協働的アプリケ
ーションには妥当ではなく「高価」すぎる。そのような
アプリケーションは、異なるコンピュータ上で走行する
別々の部分が、互いにいつ対話し聴取すべきかを知って
いるものである。1つの例は、専用クライアント/サー
バ通信システムである。この場合、クライアントは、サ
ーバに質問してサーバが答え、サーバは、質問されるま
でクライアントに決して話しかけない。そのようなアプ
リケーションでは、クライアントが要求を出しサーバが
すぐにそれを処理するので、非同期に待機する必要がな
い。
の強力なクライアント/サーバ機能(ホストのデータベ
ースへの無制限のアクセスおよび性能を含む)に必要と
される、MVSなどのホスト・システム上ですぐには使
用できない。
ルAPIエミュレーション」と呼ばれる。様々な協働的
プログラミング・インターフェースは、「ローカル」の
APIの一部または全部をエミュレートすることに依拠
しており、この技法はある種の改良RPCと見なすこと
ができる。たとえば、IBM社の製品 "AConnS"
は、OS/2プレゼンテーション・マネージャ・インタ
ーフェースのサブセットの分散バージョンによって、協
働的機能を提供した。標準的なRPC技法に勝る利点
は、クライアント・アプリケーションのプログラマが、
通信が進行中であり、したがって自分のアクティビティ
を最適化できることをはっきりと知っていることであ
る。一方、欠点は、複雑なローカルAPIの分散が、扱
いにくく、高価で、不自然なことがあり得ることであ
る。さらに、分散APIの概念は、広すぎたり、あるい
は、クライアント/サーバ・システムの特定の必要から
遠くかけ離れていたりすることがある。
テム上で走行するアプリケーションによって「オブジェ
クト・インスタンス」が作成され使用される、メッセー
ジ・ベースの環境を有する。
ト指向プログラミング(OOP)技法によって使用さ
れ、このOOPは、「オブジェクト」に送られる「メッ
セージ」によって必要な機能を実施するソフトウェア開
発の具体的手法である。「オブジェクト」は、関連する
手順(以下、「メソッド」と呼ぶ)とデータの集合体を
含むソフトウェア構成要素である。さらに、オブジェク
トは、「オブジェクト・クラス」に分類することがで
き、オブジェクト・クラスは、特定タイプのオブジェク
トに関するメソッドおよびデータを定義するためのテン
プレートである。所与のクラスのすべてのオブジェクト
は、形式と挙動が同一であるが、それに関連するデータ
が異なる。
ソッドのうちの1つを実行するように要求するために、
オブジェクトに送られる信号である。したがって、オブ
ジェクトに送られるメッセージは、必要な機能を実施す
るためにメソッドを呼び出す。
分野にOOP技法を適用することは一般的になってきて
いる。オブジェクト指向の設計において、最初のタスク
は、アプリケーション(実世界)、ユーザ・インターフ
ェース、システム・サービス、通信などの「定義域(do
main)」を識別することである。これらの境界を明確に
定めるのことは難しい。
クラス(属性と関連サービスを有するオブジェクト)を
識別することである。結果として生じるソフトウェアの
複雑さは、この分析に極めて大きく依存する。
従来のシステムは、一般に、既存のAPI(たとえば、
APPC)を反映する必要に駆られて、関連のない1組
のオブジェクトで終了する。その結果として、通常は通
信定義域の境界は明確に識別できない。たとえば、典型
的なOOPシステムは、その開発の対象であったアプリ
ケーション・プログラムに強く拘束された「セッション
開始」、「バッファ獲得」、「送信/受信」、「エラー
応答」、「データ除去」などの通信機能を、関連のない
オブジェクトとして実施するかもしれない。したがっ
て、それらのオブジェクトを再使用するのは難しい。
環境において、クライアントとサーバの間のプログラミ
ング・インターフェースが、クライアント・アプリケー
ションを通信アーキテクチャまたは通信APIに露出
(exposure)させずに、たとえば、ローカルのクライア
ント・アプリケーションが機能の呼出し、ファイルの操
作、データの転送、およびリモート・サーバ・プラット
フォームとの対話通信ができるようにする、主要なクラ
イアント/サーバ機能を提供する必要がある。
ライアント/サーバに関して最適化でき、複雑で強力な
ホスト・システムを利用でき、異なるデータ表現を支援
できるような形で動作できると好都合である。
ターフェースを実施した通信システムは、他の様々な種
類のクライアント/サーバに再使用でき、たとえば他の
サーバ・プラットフォームに拡張可能でなければならな
い。
基本的な通信アプリケーション・プログラム・インター
フェース(API)を有し、クライアント/サーバ装置
において動作するようにネットワーク内で接続された、
第1のコンピュータと、第1のコンピュータとは異なる
オペレーティング・システムを使用する第2のコンピュ
ータとの間のデータの交換を容易にする通信システムを
提供する。このシステムは、第1のコンピュータ上で走
行する第1のアプリケーションからの、第2のコンピュ
ータとの接続を求める要求を処理して、複数の通信サー
ビスのうちの1つを実施するための第1の論理手段と、
第2のコンピュータ上の第2のアプリケーションに通信
サービスを実施するよう指示し、第2のアプリケーショ
ンによって提供されたデータを第1のコンピュータに戻
すための第2の論理手段と、各コンピュータ上にあって
各論理手段によってアクセス可能であり、それぞれが複
数の各通信サービスに関する定義を提供するための単一
のオブジェクト・クラスを記憶する記憶装置を有するこ
とを特徴とする。
は、単一のオブジェクト・クラスから派生した(導出さ
れた)オブジェクト・クラスのコヒーシブな(cohesiv
e:単一クラスから導出された密な)フレームワーク(f
ramework)を記憶する。さらに、オブジェクト・クラス
のフレームワークによって定義された通信サービスが、
機能呼出し、ファイル操作およびデータ転送を容易にす
る。すなわち引用可能な複数の通信サービスのそれぞれ
についての定義を与える単一のオブジェクト・クラスが
記憶されており、この単一のオブジェクト・クラスから
派生し強固に関連付けられたオブジェクト・クラスのフ
レームワークがこの単一のクラスをインプリメントす
る。
ては、第1のコンピュータによって使用されるオペレー
ティング・システムは、IBM社のOS/2オペレーテ
ィング・システムである。さらに、第2のコンピュータ
によって使用されるオペレーティング・システムは、I
BM社のMVSオペレーティング・システムである。そ
のような装置では、基本的通信APIはAPPCでもよ
い。
本的な通信アプリケーション・プログラム・インターフ
ェース(API)を有し、クライアント/サーバ装置に
おいて動作するようにネットワーク内で接続された、第
1のコンピュータと、第1のコンピュータとは異なるオ
ペレーティング・システムを使用する第2のコンピュー
タとの間のデータの交換を容易にする通信システムを操
作する方法を提供する。この方法は、第1の論理手段を
使用して、第1のコンピュータ上で実行する第1のアプ
リケーションからの、第2のコンピュータとの接続を求
める要求を処理して、複数の通信サービスのうちの1つ
を実施する段階と、第2の論理手段を使用して、第2の
コンピュータ上の第2のアプリケーションに通信サービ
スを実施するよう指示する段階と、第2のアプリケーシ
ョンによって提供されたデータを、第2の論理手段を経
由して第1のコンピュータに戻す段階と、それぞれのコ
ンピュータにおいて、各論理手段によってアクセス可能
な記憶領域に、複数の通信サービスのそれぞれに関する
定義を提供する単一のオブジェクト・クラスを記憶する
段階とを有することを特徴とする。
「オブジェクト・クラス」によって表すことができると
いう認識にたっており、このアプローチは、クライアン
ト/サーバ通信において多くの著しい改良をもたらす。
「通信」(クライアント←→サーバ)を「それ自体」ク
ラスとして表すことができるので、通信定義域(そのク
ラスおよびその派生クラスのサービス)が明確に定義で
きる。
法とも異なり、API自体の内部に、明確で再使用可能
な1組のクライアント/サーバ機能を提供する。
提供する際の問題点は、特定の環境のために最適化し、
あるいは特定のアプリケーションの必要に合わせて機能
の容易な変更または強化を可能にすることがすぐにはで
きないことである。
うなコードも理論的にはオブジェクト指向方式で作成さ
れるので)必ずオブジェクト指向方式で作成できること
は明らかであるが、1組の基本的クライアント/サーバ
通信機能を単一のC++オブジェクト・クラス自体とし
て表すことによって、柔軟性のある簡単なインターフェ
ースを構築できることが本発明の最も重要な点である。
言い換えると、本発明は、クライアント/サーバ・アプ
リケーション用の、極めて有用な協働的インターフェー
スを確立するための新しい技法をカプセル化するもので
ある。
用とあいまって、クライアント/サーバの協働的必要性
をクラスの属性とみなす着想から生まれた(たとえば、
クラスの導出により、基本機能の容易な変更と拡張が可
能になり、それにより、インターフェースがシステムの
特定要件に合わせて調整される)。
信などのサービスをクラス・サービスとして表すことに
よって、通信は、通常の機能呼出しと同様に複雑でない
が、その基本的性質に影響を及ぼすことなく拡張可能か
つ最適化可能であり、いかなる既存の使用にも影響を及
ぼすことなしにクラスを拡張またはサブクラス化でき
る。さらに、新しいクライアント/サーバ・アプリケー
ション用の新しいクラスを導出できるので、再使用可能
性が極めて高い。
クライアント/サーバ・モデルに基づく通信システムを
検討する。クライアント・コンピュータは、通常はIB
MのOS/2オペレーティング・システムなどのオペレ
ーティング・システムを使用し、サーバ・コンピュータ
は、IBMのMVSオペレーティング・システムなどの
ホスト・ベースのオペレーティング・システムを使用す
る。
般に、いくつかの具体的分野に分けることができる。こ
れを行うためには、まず、問題の通信システムの特定の
機能要件を検討しなければならない。たとえば、通信シ
ステムに関するいくつかの特定の機能要件は、以下のよ
うなものである。
に、クライアントの要求に応じて、通信システムがホス
ト・サーバ上の手順を呼び出す。利用可能な手順の初期
の数は比較的少ないかもしれないが、この機能は、将来
新しい手順を加えるために容易に拡張可能でなければな
らない。
データ・タイプからなり、クライアントとホスト・サー
バの間で交換される、多数の複雑な制御ブロックを有す
ることがある。これらの制御ブロックは、適切なプラッ
トフォーム・フォーマットに変換しなければならず、漢
字などのDBCS(2バイト文字セット)データに対応
しなければならないこともある。
から戻されるが、戻されるデータの量は前もってはわか
らない。送信バッファの限度を越える大きさのこともあ
る(送信バッファは、リンク上に送られるデータの記憶
域である)。
(区分データ・セット)メンバを含むファイルの、ダウ
ンロードとアップロードを必要とすることがある。削
除、印字、コピーなど、他の潜在的要件がある。
目標のためには、通信の諸態様は「不可視」でなければ
ならない。ユーザが開始する起動と終了の必要をなくす
べきである。
システム構成上で使用可能なので、重要な性能要因がか
なり変化することがある。これに対処するために、キー
性能パラメータの修正が容易でなければならない。しか
しまた、使い易さのために、省略時構成を提供しなけれ
ばならない。
は、通信システムは、APPC通信を使用するOS/2
クライアントとMVSサーバとの間に上記の機能を必要
とする。
もたらす。たとえば、1つの問題は性能と資源使用にあ
り、OS/2のユーザ駆動型多重スレッド式の性質は特
に、クライアント/サーバに関して、たとえば以下のよ
うないくつかの問題をMVSに提示する。
ある場合、並行サーバ・アクティビティ(処理動作)
は、並行フロント・エンド・アクティビティを処理する
ことが必要とされる。これは、MVSサーバでは特に困
難である。
・アクティビティ・シーケンスは、通信セッションをど
れだけ長く活動状態に保つべきかを決定できない。セッ
ションの頻繁な停止と開始は、大きな性能のオーバヘッ
ドを伴う。
レス空間、APPC対話などの資源の有効使用を最大に
するための試みを行わない限り、ワークステーション上
の並行アクティビティは、様々なネットワーク資源とプ
ラットフォーム資源の激しい使用をもたらすことがあ
る。これは、コストを高め、全体的処理能力を低下させ
る。
が行われない限り、あるユーザによる著しいアクティビ
ティが、他のユーザが使用可能な資源に影響し、他のユ
ーザのアプリケーションの性能に悪影響を与えることが
ある。理想的には、あるユーザによる著しいアクティビ
ティが、そのユーザ自体の性能だけに影響を与えるべき
である。
拡張性の分野において生じる。通信システムのために開
発された機能は、使用、再使用および拡張が容易でなけ
ればならない。これは、以下のような潜在的な用途に対
応するためである。 1.追加の機能や新しいプラットフォーム(たとえば、
VM)など、通信システムの将来の拡張。 2.他のプロダクト用の「ビルディング・ブロック」と
しての通信システムの再使用。
においては、機能性と性能に関する必要な通信要件を提
供し、かつ容易に拡張可能で調整可能である単一でコヒ
ーシブな統合された「プロダクト」によって克服され
る。このプロダクトを、今後、クライアント/サーバ・
アプリケーション・イネーブラ(CSAE)と呼ぶ。そ
の特性は以下の通りである。
にクライアント・アプリケーションを露出させずに、ク
ライアント・アプリケーションが機能を呼び出し、ファ
イルを操作し、データを転送し、リモート・プラットフ
ォームとの対話通信を実施できるようにするための、サ
ービスをクライアント・アプリケーションに提供する。
ように、これらのサービスを、API機能ではなく、単
一のC++クラスから導出可能なC++クラスのコヒー
シブなフレームワークとして提示する。
フォーム環境に関係なく、標準的な1組の機能と標準イ
ンターフェースを提供する。
になるように、プラットフォーム/プロトコル特有の諸
特徴を内部的に実施する。
対して自動的かつ透過に動作する。通信「セッション」
を確立し、あるいはCSAE構成要素を活動化するため
に、ユーザはなにも動作を実行する必要がない。
ロトコルおよび動作環境にわたって標準のサービスとイ
ンターフェースが提供され、同時に、各環境に対して最
適化され、特定の必要のために提供されたサービスが容
易に拡張できることである。通常、「一般的」サービス
を提供する際の問題点は、特定の環境のために最適化
し、あるいは特定のアプリケーションの必要に合わせて
機能を変更/強化する能力を失うことにある。
ように、クライアント/サーバ・アプリケーションの実
施を容易にすることである。好ましい実施例において
は、CSAEは、APPC通信を使用して、クライアン
トとしてのOS/2と、サーバとしてのMVSに送られ
る。これはおそらく、最適化すべき最も複雑な環境であ
る。その結果、可能な最適化および機能調整の例とし
て、以下に、いくつかの特徴を強調して示す。CSAE
が任意のプラットフォームで実施できることに留意され
たい。
PC機構を提供する。クライアント・アプリケーション
は、CSAEに、リモート機能の名前と、入力パラメー
タおよび出力パラメータのリストとを提供する。CSA
Eは、必要な通信を確立し、リモート手順を呼び出し、
その入力パラメータを提供し出力パラメータを戻す世話
をする。リモート手順は、その環境用の標準機能を介し
て呼び出されることに留意されたい。リモート手順は、
それが「リモート」で呼び出されていることを知らな
い。これは、既存の機能が使用できることを意味し、そ
の機能をわざわざ書く必要はない。
たはサーバCSAE構成要素のサブタスクとして、リモ
ート手順を呼び出すことができる。サブ・タスクとして
は、手順は、静的連係モジュールまたは独立負荷モジュ
ールのいずれでもよい。バッチ・ジョブとして開始され
た場合でも、リモート手順はクライアントと通信できる
ことに留意されたい。
ータ・タイプを、リモート・パラメータ・クラス(後で
詳しく説明する)として知られるC++クラスとして提
供し、このC++クラスは、すべてのデータ変換を処理
し、複雑なデータ構造、すなわち任意の深さにネストさ
れたアレイおよび構造体を任意に構築できるようにす
る。これらのクラスは、DBCS OS/2の下で動作
する場合はDBCSデータに対応し、以下の基本的なデ
ータ・タイプに対応できる(新しいデータ・タイプが容
易に追加できる)。 固定長文字列 可変長文字列(任意サイズ) 無符号の短い整数(2バイト) 無符号の長い整数(4バイト) 8ビット2進変数(ビット列、フラグなど) 16ビット2進変数
戻りデータの両方について、データ・バッファ用のメモ
リの割振りを処理する。使用アプリケーションは、この
情報が要求されない限りバッファ・サイズの知識をもた
ない。データは、リモート・パラメータによってバッフ
ァに入れられそこから引き出される。CSAEとアプリ
ケーションの間のインターフェースは、リモート・パラ
メータだけを処理する。リモート・パラメータ・オブジ
ェクトのサイズに対する制限はなく、伝送バッファ・サ
イズを超えた場合は、複数回の送信で伝送される。クラ
イアントがサーバから受け取るアレイのサイズは、サイ
ズ制限の事前設定がないことに留意されたい。必要に応
じて要素がアレイに加えられる。
アップロードが提供される。リモート・ファイルをロー
カル・ファイルにダウンロードでき、または走査/更新
のためにメモリ内にただ保持することもできる。リモー
ト・ファイルに書き込まれるデータは、ローカル・ファ
イルまたはメモリから取り出すことができる。ローカル
・ファイルとリモート・ファイルの両方を、作成し、拡
張し、上書きし、あるいは削除することができる。文字
と2進データの混合、反復グループ、DBCSなどの複
雑なレコード構造のファイルが転送でき、必要に応じて
ローカル・フォーマットとリモート・フォーマットの間
で変換される。
タセットおよびPDSメンバが送受信できる。
プリケーションがサービスを要求したときに「開始」
し、最後のアプリケーションが終了したときに「停止」
するダイナミック・リンク・ライブラリ(DLL)に含
まれる。このDDLは、これらのサービスを透明な形で
提供するだけでなく、次の要求のための開始オーバヘッ
ドを繰り返さなくてもよいようにする。必要でなくなっ
たらすぐに停止することによって、資源はできるだけ速
く解放される。
ケーションごとに、さらには1つのアプリケーション内
の異なる機能ごとに変化し得るタイミングおよび性能パ
ラメータを提供する。省略値が提供される。
にOS/2からMVS)、以下の特徴が提供される。
構成最大許容数まで対処できる。並行性は、複数のアプ
リケーションまたは1つのアプリケーション内の複数の
プロセスおよびスレッドに特定のMVSサーバへの通信
を要求させることによって、PWSクライアント上で発
生する。これらの要求はすべて、実際の通信を管理する
単一のクライアント処理に送られる。MVSサーバ上で
は、以下の2つの技法が使用される。
レス空間に付加することにより、複数の要求を1つのM
VS APPCアドレス空間によって処理することがで
きる。
CSAE構成要素(たとえば、STEPLIB、SYS
UDUMPなど)の環境とは異なる「環境」を必要とす
る場合に、バッチ・ジョブを開始することによって、よ
り「高価」なAPPC領域ではなくバッチ領域に処理が
オフロードされる。また、これは、1ユーザの影響を1
つのAPPCアドレス空間(スケジューラ)に制限する
ことに留意されたい。
ル・ワークステーション・マシン)CSAEは、いつ対
話を最良に割振りまた割振り解除するかを決定する制御
機能を含む。この機能が適用される場合、資源の共用と
再使用を可能にする。これにより、まだ必要な場合、こ
れらの資源を活動状態に保つことができ、対話、セッシ
ョンの停止と開始、およびその結果行われるパートナー
・オブジェクト(これは後で説明する)のスケジューリ
ングが削減される。
管理と、サブタスクおよびバッチ領域の使用により、資
源が最大限に使用されるようになる。
レス空間上でスケジュールをたてることができないた
め、1人のユーザが資源を独占することが妨げられる。
は、以下の特徴が提供される。簡単さ:CSAEは、R
PC、送信、受信などの非常に簡単な機能を提供する。
このため、プログラミングの視点から、通信は、通常の
機能呼出しの発行と同様に複雑でないものとなる。基礎
となる通信インターフェース(すなわち、CPI−C/
APPC)は露出されない。
あるという事実は、その基本機能の変更および拡張が可
能になるようにそれを導出できることを意味する。通信
システム自体は、この概念を使用してクラスを導出する
ことにより、一定の強化されたファイル管理機能を提供
する。
施例はOS/2クライアントとMVSサーバのみに対応
するが、PWS CSAE内のすべてのパートナ特有の
コードは、別々のモジュールに含まれる。CSAEは、
他のプラットフォーム特有のモジュールを提供すること
によって、他のサーバ・プラットフォームにアクセスす
るように簡単に拡張でき、一般的CSAEコードは将来
のモジュールを受け入れることができる。
ムを、さらに図1に関連して説明する。クライアント・
コンピュータ10には、IBM社のOS/2オペレーテ
ィング・システムが導入されており、アプリケーション
・プログラム40がそのオペレーティング・システム上
で走行する。アプリケーション・プログラムは、通信サ
ービスをサーバ・コンピュータ20上で実行すること、
またはアプリケーション・プログラム40による次の使
用のためにデータをサーバ20から戻すことを定期的に
必要とする。本発明にとっては、通信サービスをサーバ
が実行することを求める要求が、第1のアプリケーショ
ン・プログラム40とのユーザ対話によって生成された
か、それともアプリケーション・プログラム40がユー
ザ対話とは関係なく動作し、プログラムの実行中に自動
的に要求を行うかどうかは重要でない。
から要求されたとき、第1のアプリケーション・プログ
ラムは、第1の論理手段50に要求サービスを伝える。
たとえば、第1の論理手段に、入力パラメータおよび出
力パラメータのリストと一緒にリモート手順の名前を送
ることによって、これを行うことができる。次に、第1
の論理手段50は、記憶装置60に記憶された使用可能
な通信サービスの定義に関して、第2のコンピュータ2
0との必要な通信を確立するタスクを処理する。すべて
の可能なサービスは、オブジェクト・クラス70のコヒ
ーシブなフレームワークとして定義され、これらのクラ
スは、単一のオブジェクト・クラスから導出される。す
でに前に詳しく説明したように、このようにサービスを
定義することで、性能と再使用可能性の点で多くの利点
が得られる。
に、第1の論理手段50は、フレームワークのうちのど
のオブジェクト・クラスを使用する必要があるかを決定
し、次にそのオブジェクトのインスタンスを作成し、そ
のオブジェクトにメッセージを送って、そのメソッドの
うちの1つを呼び出せる。これによっては、接続手段8
0を介したサーバ・コンピュータとの接続が確立され、
その後に第2の論理手段90へ次の要求が送られる。
ンピュータ20上で走行する第2のアプリケーション・
プログラム100(以後、サービス・アプリケーション
と呼ぶ)に要求を渡して、サービス・アプリケーション
100が、データ検索手順の実行など、その要求が必要
とする特定のタスクを実行できるようにする。このタス
クが完了した後、サービス・アプリケーションは、結果
を第1のコンピュータ10に返送する必要がありうる。
サーバ・アプリケーション100は、要求されたタスク
の実行中、および結果を第1のコンピュータ10に返送
すべきとき、第2の論理手段90と対話する。第2の論
理手段90は、オブジェクトのインスタンスを確立し、
サーバ・アプリケーション100が必要とするとき、そ
のオブジェクトの適切なメソッドを呼び出す。オブジェ
クト・インスタンスは記憶装置110に記憶されたオブ
ジェクト・クラスのコヒーシブなフレームワークから作
成される。オブジェクト・クラス120のフレームワー
クによって提供されるメソッドの例は、後で考察する。
に、使用可能な通信技法は、単一のオブジェクト・クラ
スから派生したオブジェクト・クラス120のコヒーシ
ブなフレームワークとして定義される。
ケーション・プログラム40が、通信アーキテクチャま
たは通信APIに露出されない。さらに、サービス・ア
プリケーション100は、その環境用の標準機構を通じ
て呼び出され、リモートで呼び出されていることを知ら
ない。
なフレームワークとしての通信サービスの確立について
説明する。通信サービスをこのように定義する概念が導
出され、その結果前に論じた多くの利点が実現されるこ
とが理解されれば、当業者は一般に、適切なオブジェク
ト・クラスを構成できるようになる。しかし、以下の説
明で、フレームワークを確立できる1つの方法を例示す
る。
要とする機能を実施するために、第1の論理手段50に
よって使用されるクラスを記憶装置60内で定義する必
要がある。好ましい実施例においては、このクラスは、
クライアント側とより関連するものであるのでクライア
ントパイプ・クラスと呼ばれる。
る通信機能をカプセル化し、OS/2クライアントとM
VSサーバの間のAPPCを介してリモート手順を呼び
出すための簡単なモデルを提示する。
に呼出し機能を提供する。パイプは単一スレッド式であ
り、組込みの並行性保護を提供しない。
スタンス化して、基本的な汎用RPC機能を提供するこ
とができる。ただし、アプリケーション特有のパイプ・
クラスは、クライアントパイプ・クラスから導出して、
改善されたアプリケーション特有の機能性を提供するこ
とができる。
うな定義されたメソッドを有する。 A.クライアント・アプリケーション40によって呼出
し可能な5つの公用のメソッド。 (1)クラス・コンストラクタ・メソッド (2)クラス・デストラクタ・メソッド (3)後で検討する「パートナ」オブジェクトにおいて
リモート手順を呼び出すためのメソッド。 (4)パラメータを、クライアントPWSフォーマット
からサーバ・ホスト・フォーマットに変換するためのメ
ソッド (5)パラメータを、サーバ・ホスト・フォーマットか
らクライアントPWSフォーマットに変換するためのメ
ソッド。
し可能な3つの保護されたメソッド。 (1)データを「パートナ」オブジェクトに送るための
メソッド。これはRPCアーキテクチャの呼出し部分を
表し、データをパートナの名前付き機能に送る。 (2)データを「パートナ」オブジェクトから受け取る
ためのメソッド。これはデータ・バッファをパートナか
ら受け取り、これをパラメータとして呼出し機能に戻す
(各パラメータは、後で説明するようなリモートパラメ
ータ・オブジェクトとしてカプセル化される)。 (3)たとえば、エラーがパートナから戻されると
き、" ConXn"オブジェクトを削除するためのメソ
ッド(ConXnオブジェクトは後でも説明する)。
部の4つのメソッド。 (1)データをパートナに送るときに呼び出され、パー
トナへの伝送の準備として、すべての入力パラメータを
変換し適切な制御ブロックを構築するためのメソッド。 (2)パートナから送られるトランザクション・ヘッダ
を受け取り解釈するためのメソッド。 (3)DLLにおいて実施され、ConXnパートナ・
オブジェクトの作成を管理し、パイプ(図1の接続手段
80で表される)をConXnパートナ(ConXnパ
ートナ・オブジェクトは後で説明する)に「登録」する
ための”C”メソッド。 (4)DLLにおいて実施され、ConXnパートナに
おけるパイプを「登録解除」し、必要ならばConXn
パートナを削除するための”C”メソッド。
必要とする機能を実施するため、第2の論理手段90に
よって使用される対応するクラスを記憶装置110内で
定義する必要がある。好ましい実施例においては、これ
はサーバ側とより関連するものであるので、サーバパイ
プ・クラスと呼ばれる。
義されたメソッドを有する。 A.サーバ・アプリケーションによって呼出し可能な6
つの公用メソッド。 (1)制御対話を処理するためのメソッド。これは制御
対話割振りの結果としてサーバ・アプリケーションがス
ケジューリングされるときに必ず呼び出される。 (2)データをクライアント・コンピュータ10に送っ
て、標準サブルーチン機構を提供するためのメソッド。
これはクライアントパイプ・クラスにおける等価な機能
と同じように機能し、この方法によって送られるデータ
は、クライアントパイプ・クラスの受信メソッドを使用
して、クライアントによって受け取られる。 (3)動的データセット割振りサービスを提供するため
のメソッド。 (4)外部ロード・モジュールの動的ロードおよび呼出
しを実施するためのメソッド。 (5)現在実行中の機能用のプログラム変数を保持する
ために使用される記憶域を割り振りまたは増加させるた
めのメソッド。 (6)前記記憶域を解放または減少させるためのメソッ
ド。
用メソッド。 (1)非同期のサブタスクとして動作し、クライアント
ConXnパートナとのデータ対話を割り振るためのメ
ソッド。これはクライアント・コンピュータによって送
られたデータを受け取り、該当する場合には、これをサ
ーバ・アプリケーション100に渡す。 (2)送られたデータのための記憶域をクライアント・
コンピュータから供給された情報に従って割り振り、ク
ライアントから送られたデータを呼び出し受け取るため
のメソッド。 (3)クライアント・コンピュータ10に代わって、サ
ーバのデータセットを配置するためのメソッド。
機能性を完全なものとするために、ユーザによって供給
されることが必要ないくつかのユーザ作成メソッド。 (1)ユーザ作成のディスパッチャ機能であり、クライ
アント・アプリケーション40によって要求される適切
なユーザ機能を呼び出すメソッド。このメソッドは、サ
ーバパイプ・クラスからアプリケーション機能への標準
インターフェースを提供するために使用され、リンク時
に決定される外部参照である。 (2)呼び出す必要があるかもしれない1つまたは複数
のユーザ機能を表すメソッド。
nXnパートナ・クラスについて説明する。ConXn
クラスは、パートナへの基本的通信をカプセル化する。
好ましい実施例では、これはすべての通信アクティビテ
ィに対するインターフェースを提供する。ConXnク
ラスは、MVSサーバ・コンピュータ20に対するAP
PC通信を提供するが、異なる通信プロトコル(たとえ
ば、TCP/IP)を使用し、あるいは他のプラットフ
ォームと通信するために、導出することができる。
リケーション・プログラム40によって呼出し可能な以
下のメソッドを有する。 (1)ConXnパートナに「登録」して、パートナと
のデータ対話を得るメソッド。 (2)ConXnパートナに「登録解除」して、パート
ナとのデータ対話を解除するメソッド。 (3)データのバッファをパートナに送るためのメソッ
ド。 (4)データのバッファをパートナから受け取るための
メソッド。 (5)データが首尾よく受け取られたことをパートナに
確認するメソッド。これは、パートナからの確認要求に
応じてのみ行われる。 (6)パートナにエラーを通知するメソッド。これは非
同期にまたは確認要求に応じて行える。
従属情報および機能をカプセル化する。これは1つの制
御対話および複数のデータ対話の通信アーキテクチャを
実施し制御する。ConXnパートナ・クラスは、特定
ユーザIDに関して特定のクライアント・アプリケーシ
ョンにアクセスしているすべてのConXnを一緒に結
合する。ConXnパートナ・クラスは、DLL内で実
行時ダイナミック・リンキングを使って実施され、以下
のメソッドを有する。 A.クライアント・アプリケーション40によって呼出
し可能な5つの公用メソッド。 (1)ConXnパートナ・オブジェクトが作成される
ときに呼び出されるメソッド。これはデータ項目を初期
設定し、開始アプリケーション呼出しを発行する。 (2)ConXnパートナ・オブジェクトが作成される
ときに呼び出されるメソッド。これは制御対話がAPP
Cアプリケーションを終了するために、終了アプリケー
ション呼出しを発行する。 (3)ConXnオブジェクトが作成されるたびに呼び
出されるメソッド。これはConXnのためのデータ対
話を適切に割り振りまたは再使用し、必要ならば制御対
話を割り振る。 (4)ConXnオブジェクトが破壊されるたびに呼び
出されるメソッド。これはデータ対話を割振り解除しま
たは使用可能なものとフラグを立て、必要ならば制御対
話を割振り解除する。 (5)パートナにコード・ページを戻すためのメソッ
ド。
nXnパートナ・クラス内部の私用メソッド。安全保護
検査は、割振り処理の一部として実行できる。
ト機能との間で伝送するためにクライアントパイプ・オ
ブジェクトに渡されるすべてのパラメータに関する抽象
的基本クラスを構成するクラスとして定義される。これ
は、複雑な任意のデータ構造を渡す手段を提供する。派
生リモートパラメータ・クラスは、特定のデータ・タイ
プごとに作成され、データ構造をカプセル化し、したが
ってそのデータをクライアントPWSフォーマットから
リモート(パートナ)フォーマットにどのように変換す
るかを知っている。
ーカル・フォーマットおよびリモート・フォーマットの
両方のデータを含む。ローカル・データは、たとえば不
連続なデータ項目として保持されるアプリケーション・
データである。これはアプリケーションにとって意味の
ある整数、文字列、抽象データ・タイプなどのデータ・
タイプである。これらのデータ項目を「獲得」し「配
置」するために、メンバ機能が提供される。リモート・
データは、連続するバッファに保持され、変換済みのロ
ーカル・データと、リモート機能によって伝送し使用す
るために必要な「足場(scaffolding)」情報とからな
る。これには、目印(eyecatcher:識別子)や様々な長
さフィールドなどのデータが含まれる。
操作する機能は、汎用性があるので、基本リモートパラ
メータ・クラス内で実施される。ローカル・データ項目
とその機能は、派生リモートパラメータ・クラス内で実
施される。
ータのコピーとして保持される。ローカル・データが派
生リモートパラメータ・オブジェクトに渡されるたび
に、メモリが割り振られデータがコピーされる。これ
は、ローカル・データ項目がアプリケーションに「属す
る」からである。データを削除するかまたはデータを含
むメモリを再使用するためのアプリケーションとリモー
トパラメータ・オブジェクトとの間に相互依存性があっ
てはならない。リモート・データ・バッファは、リモー
トパラメータ・オブジェクトに属する。これは公用メン
バ機能によって割り振られ削除される。
の事項を開示する。
・インターフェース(API)を有し、ネットワークで
接続された第1のコンピュータ(10)及び該第1のコ
ンピュータ(10)とは異なるオペレーティング・シス
テムを使用する第2のコンピュータ(20)の間でのデ
ータの交換を行うための通信システムであって、第1の
コンピュータ(10)上で走行する第1のアプリケーシ
ョン(40)からの、第2のコンピュータ(20)との
接続を求める要求を処理して、複数の通信サービスのう
ちの1つを実施するための第1の論理手段(50)と、
第2のコンピュータ(20)上の第2のアプリケーショ
ン(100)に通信サービスを実施するよう指示し、第
2のアプリケーション(100)によって提供されたデ
ータを第1のコンピュータ(10)に戻すための第2の
論理手段(90)と、各コンピュータ上にあって各論理
手段(50、90)によってアクセス可能であり、複数
の通信サービスそれぞれに関する定義を提供するための
単一のオブジェクト・クラスをそれぞれ記憶する記憶装
置(60、110)とを含む通信システム。 (2)各記憶装置(60、110)が、単一のオブジェ
クト・クラスから派生したオブジェクト・クラス(7
0、120)のコヒーシブなフレームワークを記憶す
る、上記(1)に記載の通信システム。 (3)オブジェクト・クラスのフレームワークによって
定義された通信サービスが、機能呼出し、ファイル操
作、およびデータ転送を行う、上記(2)に記載の通信
システム。 (4)通信アプリケーション・プログラム・インターフ
ェース(API)を有し、クライアント/サーバ装置に
おいて動作するようにネットワーク内で接続された、第
1のコンピュータ(10)と第1のコンピュータ(1
0)とは異なるオペレーティング・システムを使用する
第2のコンピュータ(20)との間のデータの交換を容
易にする通信システムを操作する方法であって、第1の
論理手段(50)を使用して、第1のコンピュータ(1
0)上で走行する第1のアプリケーション(40)から
の、第2のコンピュータ(20)との接続を求める要求
を処理して、複数の通信サービスのうちの1つを実施す
る段階と、第2の論理手段(90)を使用して、第2の
コンピュータ(20)上の第2のアプリケーション(1
00)に通信サービスを実施するよう指示する段階と、
第2のアプリケーション(100)によって提供された
データを、第2の論理手段(90)経由で第1のコンピ
ュータに戻す段階と、それぞれのコンピュータにおい
て、各論理手段(50、90)によってアクセス可能な
記憶領域(60、110)に、複数の通信サービスのそ
れぞれに関する定義を提供する単一のオブジェクト・ク
ラスを記憶する段階とを含むことを特徴とする方法。 (5)単一のオブジェクト・クラスから派生するオブジ
ェクト・クラス(70、120)のコヒーシブな枠組
が、各記憶領域(60、110)に記憶されることを特
徴とする、上記(4)に記載の方法。 (6)オブジェクト・クラスの枠組によって定義される
通信サービスが、機能呼出し、ファイル操作およびデー
タ転送を容易にすることを特徴とする、上記(5)に記
載の方法。
の理由で既知の従来の通信システムよりも改善されてい
る。 1.リモート・ファイル操作や対話能力など、RPCを
越える追加のサービスを提供する。 2.C++オブジェクト・クラスのコヒーシブな(単一
のクラスから導出可能な)フレームワークとして実施さ
れ、提供されたAPIに制限されるのではなく、CSA
Eの機能性を高めることが容易である。 3.CSAEは、それぞれの動作環境に最適化される。 4.CSAEはパラメータを受け入れて戻し、戻される
データのためにバッファを動的に割り振る。 5.CSAEは、2つのフォーマット間でのすべてのデ
ータ変換を処理する。
ーフェースを構築する際に上記の手法を使用することに
より、クライアント・アプリケーションのプログラマ
は、この手法から得られる上記の利点を容易に活用する
ことができる。
PC、ファイル転送、送信/受信、データ変換、または
通信オブジェクト・クラスによって表される他の通信サ
ービスなど、通信システムの異なる部分から見ることが
できるという点で、「多形」である。
くオブジェクト・クラスとして提供することにより、特
定の必要性のための機能性の派生(導出)が可能であ
る。
ブロック図である。
Claims (6)
- 【請求項1】通信アプリケーション・プログラム・イン
ターフェース(API)を有し、ネットワークで接続さ
れた第1のコンピュータ(10)及び該第1のコンピュ
ータ(10)とは異なるオペレーティング・システムを
使用する第2のコンピュータ(20)の間でのデータ交
換を行うための通信システムであって、 第1のコンピュータ(10)上で走行する第1のアプリ
ケーション(40)からの、第2のコンピュータ(2
0)との接続を求める要求を処理して、この接続に必要
なオブジェクト・クラスを用いて複数の通信サービスの
うちの1つを実行するための第1の論理手段(50)
と、 第2のコンピュータ(20)上の第2のアプリケーショ
ン(100)に通信サービスを実施するよう指示し、第
2のアプリケーション(100)によって提供されたデ
ータを第1のコンピュータ(10)に戻すために必要な
オブジェクト・クラスを用いて、第2のアプリケーショ
ン(100)によって提供されたデータを第1のコンピ
ュータに戻すための第2の論理手段(90)と、 各コンピュータ上にあって各論理手段(50、90)に
よってアクセス可能であり、複数の通信サービスそれぞ
れに関する定義を提供するための単一のオブジェクト・
クラスをそれぞれ記憶する記憶装置(60、110)と
を含む通信システム。 - 【請求項2】各記憶装置(60、110)が、単一のオ
ブジェクト・クラスから派生したオブジェクト・クラス
(70、120)のコヒーシブなフレームワークを記憶
する、請求項1に記載の通信システム。 - 【請求項3】オブジェクト・クラスのフレームワークに
よって定義された通信サービスが、機能呼出し、ファイ
ル操作、およびデータ転送を行う、請求項2に記載の通
信システム。 - 【請求項4】通信アプリケーション・プログラム・イン
ターフェース(API)を有し、ネットワークで接続さ
れた、第1のコンピュータ(10)及び該第1のコンピ
ュータ(10)とは異なるオペレーティング・システム
を使用する第2のコンピュータ(20)の間でのデータ
交換を行うための通信システムを操作する方法であっ
て、 第1の論理手段(50)を使用して、第1のコンピュー
タ(10)上で走行する第1のアプリケーション(4
0)からの、第2のコンピュータ(20)との接続を求
める要求を処理して、この接続に必要なオブジェクト・
クラスを用いて複数の通信サービスのうちの1つを実行
する段階と、 第2の論理手段(90)を使用して、第2のコンピュー
タ(20)上の第2のアプリケーション(100)に通
信サービスを実施するよう指示する段階と、 第2のアプリケーション(100)によって提供された
データを第2の論理手段(90)経由で第1のコンピュ
ータ(10)に戻すために必要なオブジェクト・クラス
を用いて、第2のアプリケーション(100)によって
提供されたデータを第1のコンピュータに戻す段階と、 それぞれのコンピュータにおいて、各論理手段(50、
90)によってアクセス可能な記憶領域(60、11
0)に、複数の通信サービスのそれぞれに関する定義を
提供する単一のオブジェクト・クラスを記憶する段階と
を含む通信方法。 - 【請求項5】単一のオブジェクト・クラスから派生する
オブジェクト・クラス(70、120)のコヒーシブな
フレームワークが、各記憶領域(60、110)に記憶
される、請求項4に記載の方法。 - 【請求項6】オブジェクト・クラスのフレームワークに
よって定義される通信サービスが、機能呼出し、ファイ
ル操作およびデータ転送を行う、請求項5に記載の方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9406714.7 | 1994-04-05 | ||
GB9406714A GB2288477A (en) | 1994-04-05 | 1994-04-05 | Communications system for exchanging data between computers in a network. |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07281974A JPH07281974A (ja) | 1995-10-27 |
JP3251800B2 true JP3251800B2 (ja) | 2002-01-28 |
Family
ID=10753035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03343695A Expired - Lifetime JP3251800B2 (ja) | 1994-04-05 | 1995-02-22 | ネットワーク内のコンピュータ間でデータを交換するための通信システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5687373A (ja) |
EP (1) | EP0677943A3 (ja) |
JP (1) | JP3251800B2 (ja) |
GB (1) | GB2288477A (ja) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
US5944781A (en) * | 1996-05-30 | 1999-08-31 | Sun Microsystems, Inc. | Persistent executable object system and method |
US5884324A (en) * | 1996-07-23 | 1999-03-16 | International Business Machines Corporation | Agent for replicating data based on a client defined replication period |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US6687762B1 (en) * | 1996-10-10 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Network operating system adapted for simultaneous use by different operating systems |
US6728933B1 (en) | 1996-11-03 | 2004-04-27 | International Business Machines Corporation | System and method for importing data |
US6026404A (en) * | 1997-02-03 | 2000-02-15 | Oracle Corporation | Method and system for executing and operation in a distributed environment |
US5815149A (en) * | 1997-02-19 | 1998-09-29 | Unisys Corp. | Method for generating code for modifying existing event routines for controls on a form |
US6064983A (en) * | 1997-03-21 | 2000-05-16 | Koehler Consulting, Inc. | System for performing tax computations |
US6032203A (en) * | 1997-04-07 | 2000-02-29 | General Electric Company | System for interfacing between a plurality of processors having different protocols in switchgear and motor control center applications by creating description statements specifying rules |
US5991836A (en) * | 1997-05-02 | 1999-11-23 | Network Computing Devices, Inc. | System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the server |
US5925095A (en) * | 1997-05-12 | 1999-07-20 | International Business Machines Corporation | Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients |
JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US6240440B1 (en) * | 1997-06-30 | 2001-05-29 | Sun Microsystems Incorporated | Method and apparatus for implementing virtual threads |
US5893106A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Object oriented server process framework with interdependent-object creation |
US6006278A (en) * | 1997-07-18 | 1999-12-21 | Electronic Data Systems Corporation | Method and system for importing remote functions to a network computer |
IES79079B2 (en) * | 1997-08-20 | 1998-04-08 | Openwrite Limited | A communication system for facilitating communication between a PC and a host computer |
US6957427B1 (en) * | 1997-10-15 | 2005-10-18 | Sun Microsystems, Inc. | Remote object activation in a distributed system |
EP1038220A2 (en) * | 1997-11-17 | 2000-09-27 | MCMZ Technology Innovations LLc | A high performance interoperable network communications architecture (inca) |
US6016496A (en) * | 1997-11-20 | 2000-01-18 | International Business Machines Corporation | Method and apparatus for an object-oriented object for retrieving information from local and remote databases |
IE981035A1 (en) * | 1997-12-09 | 1999-06-16 | Scp Powersoft Ltd | An Inter-Computer Communications Apparatus |
US6260069B1 (en) | 1998-02-10 | 2001-07-10 | International Business Machines Corporation | Direct data retrieval in a distributed computing system |
US6003083A (en) * | 1998-02-19 | 1999-12-14 | International Business Machines Corporation | Workload management amongst server objects in a client/server network with distributed objects |
US6026414A (en) * | 1998-03-05 | 2000-02-15 | International Business Machines Corporation | System including a proxy client to backup files in a distributed computing environment |
GB2335517A (en) * | 1998-03-19 | 1999-09-22 | Ibm | Client/server computing system with programmable action by transaction coordinator during prepared state |
GB2336006A (en) * | 1998-03-31 | 1999-10-06 | Ibm | Client/server computing with client selectable location of transaction objects |
US6366916B1 (en) | 1998-05-22 | 2002-04-02 | International Business Machines Corporation | Configurable and extensible system for deploying asset management functions to client applications |
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 |
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 |
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 |
US6728947B1 (en) | 1998-06-05 | 2004-04-27 | R. R. Donnelley & Sons Company | Workflow distributing apparatus and method |
GB2341951A (en) * | 1998-09-22 | 2000-03-29 | Ibm | Thin-client remote object execution |
DE19954268B4 (de) * | 1998-12-01 | 2005-07-21 | Ibm Corp. | Verfahren und System zur Verbesserung des Workflow in Workflow-Management-Systemen |
US6604150B1 (en) * | 1999-02-06 | 2003-08-05 | International Business Machines Corporation | Integration of GUI application with external application extensions |
GB2346985B (en) * | 1999-02-19 | 2003-07-09 | Ibm | Client/server transaction data processing system with optimum selection of last agent |
US6816270B1 (en) | 1999-03-25 | 2004-11-09 | International Business Machines Corporation | Method and apparatus for supporting application and device independent print support |
US8375127B1 (en) | 1999-03-31 | 2013-02-12 | International Business Machines Corporation | Method and system for using virtual URLs for load balancing |
GB2348985A (en) * | 1999-04-15 | 2000-10-18 | Ibm | Centralized affinity maintenance in a workload managed client/server system |
FR2793365B1 (fr) | 1999-05-06 | 2001-07-13 | Cit Alcatel | Systeme de traitement de l'information permettant la securisation des communications entre composants logiciels |
US6711574B1 (en) * | 2000-02-01 | 2004-03-23 | Emc Corporation | Retrieval of management information |
US7191240B1 (en) | 2000-02-14 | 2007-03-13 | International Business Machines Corporation | Generic network protocol layer with supporting data structure |
CA2335561A1 (en) * | 2000-05-31 | 2001-11-30 | Frank J. Degilio | Heterogeneous client server method, system and program product for a partitioned processing environment |
US6804773B1 (en) * | 2000-10-03 | 2004-10-12 | Dell Products L.P. | System and method for transferring information over a network |
US6986147B2 (en) | 2001-03-28 | 2006-01-10 | International Business Machines Corporation | Method for transparent, location-independent, remote procedure calls in a heterogeneous network environment |
US7028313B2 (en) * | 2001-03-28 | 2006-04-11 | International Business Machines Corporation | Method for transmitting function parameters to a remote node for execution of the function thereon |
US6865607B1 (en) * | 2001-06-28 | 2005-03-08 | Microsoft Corp. | Pluggable channels |
JP4233775B2 (ja) | 2001-07-06 | 2009-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ通信方法、データ通信システムおよびプログラム |
US7120636B2 (en) * | 2001-07-25 | 2006-10-10 | Pendleton William W | Method of communicating data between computers having different record formats |
US20030101291A1 (en) * | 2001-11-23 | 2003-05-29 | Mussack Christopher Joseph | Application programming interface for provision of DICOM services |
US7565647B2 (en) | 2002-03-22 | 2009-07-21 | Sun Microsystems, Inc. | Markup compiler that outputs MIDlets |
US8775649B2 (en) * | 2002-11-26 | 2014-07-08 | Oracle America, Inc. | Optimizing client code through automated server specialization |
JP6078515B2 (ja) * | 2014-11-13 | 2017-02-08 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびプログラム |
US10983930B1 (en) * | 2020-01-14 | 2021-04-20 | EMC IP Holding Company LLC | Efficient non-transparent bridge (NTB) based data transport |
US20210329100A1 (en) * | 2020-04-10 | 2021-10-21 | Oracle International Corporation | System and method for use of remote procedure call with a microservices environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893307A (en) * | 1988-02-29 | 1990-01-09 | International Business Machines Corporation | Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network |
GB2249460B (en) * | 1990-09-19 | 1994-06-29 | Intel Corp | Network providing common access to dissimilar hardware interfaces |
US5307490A (en) * | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
US5544320A (en) * | 1993-01-08 | 1996-08-06 | Konrad; Allan M. | Remote information service access system based on a client-server-service model |
US5553242A (en) * | 1993-11-03 | 1996-09-03 | Wang Laboratories, Inc. | Client/server connection sharing |
-
1994
- 1994-04-05 GB GB9406714A patent/GB2288477A/en not_active Withdrawn
-
1995
- 1995-02-22 JP JP03343695A patent/JP3251800B2/ja not_active Expired - Lifetime
- 1995-03-29 EP EP95302085A patent/EP0677943A3/en not_active Withdrawn
- 1995-04-04 US US08/416,233 patent/US5687373A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0677943A2 (en) | 1995-10-18 |
GB9406714D0 (en) | 1994-05-25 |
JPH07281974A (ja) | 1995-10-27 |
GB2288477A (en) | 1995-10-18 |
EP0677943A3 (en) | 1999-10-13 |
US5687373A (en) | 1997-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3251800B2 (ja) | ネットワーク内のコンピュータ間でデータを交換するための通信システム | |
Schmidt | Applying patterns and frameworks to develop object-oriented communication software | |
JP3605416B2 (ja) | クライアント−サーバ環境用ブリッジ | |
US6393497B1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
US6487607B1 (en) | Methods and apparatus for remote method invocation | |
US5915113A (en) | Visual application partitioning for creating distributed object oriented applications | |
US7921430B2 (en) | System and method for intercepting, instrumenting and characterizing usage of an application programming interface | |
JP4146983B2 (ja) | サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム | |
US5848246A (en) | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system | |
US5768510A (en) | Object-oriented system, method and article of manufacture for a client-server application enabler system | |
US6038590A (en) | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system | |
US6304893B1 (en) | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system | |
US6553428B1 (en) | Distributed object instantiation of native objects in java | |
US20030070006A1 (en) | Development system providing extensible remoting architecture | |
EP0827073A2 (en) | Object-oriented system, method and article of manufacture for a client-server-centric enterprise computing framework system | |
JPH1091445A (ja) | オブジェクト指向通信システムおよび該システムのためのオブジェクト指向コードを有する記憶媒体 | |
JPH0283627A (ja) | インタプリタ | |
US20030055862A1 (en) | Methods, systems, and articles of manufacture for managing systems using operation objects | |
KR20010034542A (ko) | 네트워크를 통한 동적 분산 컴퓨팅 방법 및 장치 | |
US6516354B2 (en) | Method and apparatus for efficient representation of variable length identifiers in a distributed object system | |
Valetto et al. | Enveloping sophisticated tools into computer-aided software engineering environments | |
US7802257B1 (en) | Mechanism for bridging a thread-oriented computing paradigm and a job-oriented computing paradigm | |
US6813629B1 (en) | Method and apparatus for facilitating object communication across a network | |
CN109669793B (zh) | 中间件进程内对象调用方法 | |
US9361266B2 (en) | System and method for distributed computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091116 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091116 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131116 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
EXPY | Cancellation because of completion of term |