JPH0851468A - ネットワークにおける分散処理用アプリケーションプログラミングインタフェース - Google Patents

ネットワークにおける分散処理用アプリケーションプログラミングインタフェース

Info

Publication number
JPH0851468A
JPH0851468A JP7164396A JP16439695A JPH0851468A JP H0851468 A JPH0851468 A JP H0851468A JP 7164396 A JP7164396 A JP 7164396A JP 16439695 A JP16439695 A JP 16439695A JP H0851468 A JPH0851468 A JP H0851468A
Authority
JP
Japan
Prior art keywords
client
application
data
server
communication
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.)
Withdrawn
Application number
JP7164396A
Other languages
English (en)
Inventor
Richard James Garrick
ジェームス ガーリック リチャード
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.)
AT&T Corp
Original Assignee
AT&T 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 AT&T Corp filed Critical AT&T Corp
Publication of JPH0851468A publication Critical patent/JPH0851468A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】 複数プラットフォームおよび複数プロトコル
の相互操作性を高めると共に、クライアントおよびサー
バ双方のプラットフォームで必要となる仮想回路管理を
著しく軽減するアプリケーションインタフェースを提供
する。 【構成】 アプリケーションプログラムインタフェース
(API)およびミドルウェアライブラリは、ストリー
ム指向型プロトコルをメッセージ指向型プロトコルに変
換し、クライアントプラットフォーム(16および1
8)とサーバプラットフォーム(14)間の複数の論理
接続を単一仮想回路を通して多重化し、クライアントお
よびサーバプラットフォーム間にネットワーク通信の透
過トランスポートを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の分野】本発明は、ネットワークにおける分散処
理用アプリケーションプログラミングインタフェース
(API)に関し、特に、ストリーム指向型プロトコル
をメッセージ指向型プロトコルに変換し、クライアント
およびサーバのプラットフォーム間での複数論理接続を
単一仮想回路を通じて多重送信するアプリケーションプ
ログラムインタフェースと関連ミドルウェアライブラリ
とに関するものである。
【0002】
【発明の背景】現在用いられている通信ネットワークア
ーキテクチャは、階層化プロトコルアーキテクチャを利
用してネットワーク通信を達成するものがほとんどであ
る。通常、ネットワークアーキテクチャの各層は、階層
的な配列をなすように並べられている。ここで、低位層
は、端末ユーザやデータアプリケーションプログラム等
のユーザ間やプロセス間に接続を提供すべく機能する。
一方上位層は、ユーザ間やプロセス間で正確なデータ交
換を提供すべく機能する。一般的に、各層はそれら指定
機能を実行すべくそれぞれ異なるプロトコルを利用す
る。
【0003】図1は7層アーキテクチャを利用し、開放
型システム間相互接続(OSI)参照モデルとして知ら
れる共通階層型アーキテクチャを示す。このアーキテク
チャは、中間ノードを備えたデータアプリケーションX
およびY間の論理接続を表している。両端ノードにおい
て、情報は7層すべてを通り抜けるが、一つ、もしくは
いくつかの中間ノードにおいて、情報は下位の3層だけ
を通過する。また、図1は対応する層間のピアツーピア
(等価層同士の)コミュニケーションも示している。
【0004】下位3層、すなわち物理層、データ回線層
およびネットワーク層が、ユーザ間に透過接続を提供
し、主として一ホップづつ(hop-by-hop)で動作し、ノー
ド間の個々のデータ回線を通じてコミュニケーションを
処理する。また上位3層、すなわちアプリケーション
層、プレゼンテーション層およびセッション層は、情報
が適切なフォーマットで転送されるのを請け負う。中間
層、すなわちトランスポート層は上位および下位層間の
インタフェースであり、データアプリケーション間の透
過エンドツーエンド論理接続を確保する。
【0005】図2は階層型アーキテクチャの他の例を示
すもので、DoD参照モデルとして知られる。このDo
D参照モデルは4層のアーキテクチャを利用するもの
で、広い範囲で相違が見られる異種ホストコンピュータ
用に開発されたものである。これら異種ホストコンピュ
ータは、それぞれ通信プロセッサを経由して通信サブネ
ットワークに結びつけられている。上記通信プロセッサ
は、インタフェースメッセージプロセッサ(IMP)
と、通信サブネットプロセッサ(CSNP)とを備えて
いる。DoD参照モデルの4つの層は、それぞれネット
ワークアクセス層、インターネット層、ホスト・ホスト
層、およびプロセス・データアプリケーション層であ
る。
【0006】上述したアーキテクチャを利用するおびた
だしい数の通信ネットワークが、現在世界の至る所で使
用されている。そのようなネットワークは、ビルやキャ
ンパスへ個別に情報を提供するローカルエリアネットワ
ークから、世界にまたがるワイドエリアネットワークに
まで及んでいる。これらネットワークのいくつかは特定
アプリケーション専用のものであり、その他のものは、
クライアント/サーバアプリケーションでの資源共用
等、遠隔値で各種機能にアクセスすべく主に使用され
る。このようなネットワークにおいては、UNIX,V
AX/VMS,DOS/WINDOWS(以上登録商
標、以下同)等、それぞれ異なるオペレーティングシス
テムを使用する多数のプラットフォームがあり、それに
伴い、TCP/IP,DECnet,APPC/LU
6.2(以上登録商標、以下同)等、それぞれ異なるネ
ットワークプロトコルが存在する。その結果、複数のプ
ロバイダ、複数のプロトコル環境でのデータアプリケー
ション間で均一な分配処理を達成するのが困難となる。
したがって、プロバイダプラットフォーム間での相互操
作性を提供するために、端末エミュレーション、ゲート
ウェイ、およびバッチファイル転送等の方法論が用いら
れてきた。しかしながら、上記方法論では、均一な接続
を同等アプリケーション間に提供することができず、ユ
ーザ集約型となる。
【0007】また、プラットフォーム間の相互操作性を
向上すべくある種のインタフェースを用いる方法もとら
れてきた。例えば、トランスポートレベルインタフェー
ス(TLI)やソケットインタフェースがクライアント
・サーバ間アプリケーションで利用されている。これら
のインタフェースは、ネットワークアプリケーションを
それぞれ独立して移送させる機能セットをなしている。
しかしながら、上記インタフェースはバイト指向型スト
リームモードでデータを転送するネットワークプロトコ
ルを利用するので、遠隔地に存在する同一データアプリ
ケーションと通信するのに、局所データアプリケーショ
ンごとに個別の仮想回路を作成しなければならない。さ
らに、各データアプリケーションは、かなり多く作成さ
れる可能性がある仮想回路を管理する必要が生じるの
で、ネットワーク通信管理のために、各データアプリケ
ーションごとに割り当てられるCPUのサイクル時間を
拡大しなければならない。大規模なクライアント・サー
バ間アプリケーションにおいては、上記インタフェース
では、クライアントおよびサーバ双方のプラットフォー
ムに課せられる負担を減らし、確立されたおびただしい
数の仮想回路を管理することができない。さらにまた、
上記インタフェースは概してユーザに優しい設計がなさ
れておらず、プラットフォームの相互操作性を達成する
ためには熟達したプログラマーが必要となる。
【0008】上記のような経緯から、異なるプロバイダ
のプラットフォームに属し、複数のプロトコルの様々な
階層ネットワークインフラストラクチャを利用するデー
タアプリケーション間で分配アプリケーションの相互操
作性を提供するために、アプリケーションプログラミン
グインタフェースおよび関連メッセージ指向型ミドルウ
ェアが開発されてきた。メッセージ指向型ミドルウェア
はアプリケーションプログラミングインタフェース(A
PI)の一層をなし、それぞれのデータアプリケーショ
ンとネットワークインフラストラクチャとの間に属し、
均一な接続を同等なアプリケーション同士間に提供する
ものである。
【0009】メッセージ指向型ミドルウェアの一例とし
ては、米国マサチューセッツ州ニーダムのHorizon Stra
tegies社製のメッセージ・エクスプレス・インタフェー
スがあげられる。このメッセージ・エクスプレス・イン
タフェースは、標準プロバイダAPIとビジネス(ある
いはデータ)アプリケーションとの間に常駐するもので
あり、標準プロバイダAPIと双方向で情報を交換し、
標準プロバイダAPIがビジネスアプリケーションに伝
えるエラー状態を解決するものである。しかしながら、
このメッセージ・エクスプレス・インタフェースは、現
行ネットワークトポロジーを利用しているので、アプリ
ケーションおよび伝送制御プロトコル(TCP)等のバ
イト指向型プロトコルごとに専用の仮想回路が必要とな
る。
【0010】さらに、データアプリケーションの開発の
間にも、プログラマーは、ネットワークエラー、同等プ
ロセス同士のエラー、あるいはデータ無しアプリケーシ
ョン等、他の問題を頻繁に解決しなければならない。そ
して、これらの問題を訂正するうちに、データアプリケ
ーションプログラムは、データアプリケーションの開
発、検査および保全を困難にするシステムレベルサービ
スに侵害されて穴だらけになる。
【0011】それゆえ、クライアントおよびサーバのプ
ラットフォーム間に常駐するクライアント・サーバ間ア
プリケーションプログラミングインタフェースに対して
は、クライアントおよびサーバのプラットフォーム上の
アプリケーション間に透過トランスポートを提供しなが
ら、複数プラットフォームおよび複数プロトコルの相互
操作性を高めると共に、クライアントおよびサーバ双方
のプラットフォームの要請する仮想回路管理を著しく軽
減することが求められる。
【0012】
【本件発明の概要】本発明は上記従来の問題を除去する
ためになされたものであり、クライアントおよびサーバ
のアプリケーション間での通信独立トランスポートに備
えるアプリケーションプログラムインタフェースを提供
する。このアプリケーションプログラムインタフェース
は、論理的にサーバアプリケーションと接続された複数
のクライアントアプリケーション間に単一仮想回路を確
立する手段を有している。クライアントアプリケーショ
ンはクライアントプラットフォーム上に常駐しており、
サーバアプリケーションはそこから離れた位置にあるサ
ーバプラットフォームに備わっている。また、このイン
タフェースは、仮想回路上でクライアントおよびサーバ
のアプリケーション間データ通信を多重化すると共に、
伝達されたデータを分離する手段をも有している。ネッ
トワークに基礎を置く典型的なデータ通信はバイトスト
リーム指向型プロトコルにあり、それゆえ多重送信のた
めに、データ通信を多重化および分離化する手段として
は、バイトストリームモードでデータをメッセージ指向
型データパケットに変換するものが好ましい。クライア
ントアプリケーションがデータか情報をサーバアプリケ
ーションに要請したことの確認は、各クライアントアプ
リケーションに割り当てられた識別コードや識別番号に
よって与えられる。この識別コードはメッセージパケッ
トに含まれている。
【0013】本発明の一実施例において、単一仮想回路
を確立する手段は、インタープロセス通信に基礎を置く
仮想回路を提供すべく設計された第一のインタフェース
と、インターネットワークに基礎を置く仮想回路を提供
すべく設計された第二のインタフェースとを備えてい
る。
【0014】また本発明は、クライアントおよびサーバ
のアプリケーション間通信用ネットワークを提供する。
この通信ネットワークは、サーバアプリケーションと通
信ブローカとを常駐するサーバプラットフォームと、該
サーバプラットフォームと論理的に接続された少なくと
も一つのクライアントプラットフォームとを備えてい
る。この少なくとも一つのクライアントプラットフォー
ムは、少なくとも一つのクライアントアプリケーション
と通信ブローカとを内在している。
【0015】上記通信ブローカは、アプリケーションに
対して透過性を有するネットワーク通信路を両アプリケ
ーション間に提供すべく、クライアントおよびサーバの
アプリケーション間に備わっているのが好ましい。上記
通信路を設け、単一仮想回路上のアプリケーション間で
データ通信を多重化することにより、仮想回路管理が軽
減される。これらの機能を達成するために、上記少なく
とも一つのクライアントアプリケーションとサーバアプ
リケーションとの間に単一仮想回路を確立する手段と、
該単一仮想回路上の両アプリケーション間にデータ通信
を多重化すると共に分離化する手段とを備えるべく、両
通信ブローカは設計される。
【0016】さらに、ポイントツーポイント走行ルート
等の個別走行情報や、局所的な交通渋滞および天候等の
一般走行情報をクライアント(例えば顧客)が得られる
ようにする走行車情報サービスネットワークも提供され
る。この走行車情報ネットワークは、データ収集プラッ
トフォームと論理的に接続され、その間でデータを転送
すべく構成された少なくとも一つの情報プロバイダと、
該データ収集プラットフォームから走行データを受信す
べく設計されたサーバプラットフォームと、サーバプラ
ットフォームと論理的に接続された少なくとも一つのク
ライアントプラットフォームとからなる。サーバプラッ
トフォームは、サーバアプリケーションと通信ブローカ
とを内在している。また、少なくとも一つのクライアン
トプラットフォームは、少なくとも一つのクライアント
アプリケーションと通信ブローカとを内在している。
【0017】さらにまた、本発明は、クライアントおよ
びサーバのアプリケーション間のデータ通信接続方法を
提供する。該方法は以下のステップを含んでいる。すな
わち、複数のクライアントアプリケーションとサーバア
プリケーションとの間に単一仮想回路を確立し、複数の
クライアントアプリケーションからのバイトストリーム
データをメッセージパケットに変換し、該メッセージパ
ケットを単一乾燥回路上へ多重送信してサーバアプリケ
ーションに転送する。メッセージパケットがサーバアプ
リケーションに転送されると、サーバアプリケーション
はこのメッセージパケットを分離し、バイトストリーム
データに変換する。
【0018】
【詳細な記述】本発明は、ミドルウェアライブラリと双
方向で情報を交換するアプリケーションプログラムイン
タフェース(API)を提供するものであり、ネットワ
ークに基礎を置くデータアプリケーションからシステム
指向型サービスを抽出し、該ネットワーク基盤のデータ
アプリケーションの開発を簡略化する。このネットワー
ク基盤のデータアプリケーションの簡略化によって、シ
ステム開発者は、高品質のデータアプリケーションプロ
グラムを商品化するのに要する開発とテスト時間を縮小
することができる。
【0019】図3は複数プラットフォーム型クライアン
トおよびサーバ間通信アーキテクチャ10を示すもの
で、サーバプラットフォーム14とそれぞれ異なるクラ
イアントプラットフォーム16および18との間に通信
ブローカ12が用いられている。この通信ブローカ12
はAPIとその関連ミドルウェアライブラリとを備えて
いる。また、APIは二つの構成要素を有している。そ
の第一の要素は、図3ではインタフェースAとして示さ
れ、クライアントまたはサーバのアプリケーションイン
タフェースに対する通信ブローカである。第二の要素は
同図でインタフェースBとして示され、通信ブローカイ
ンタフェースに対する通信ブローカである。
【0020】このAインタフェース構成要素は、クライ
アントアプリケーション20と通信ブローカ12との間
に、インタープロセス通信(IPC)に基礎を置く仮想
回路を提供する。Aインタフェースは、IPC通信サー
ビスをアプリケーションから抽出し、再使用可能なミド
ルウェアライブラリモジュール(以下、「IPCモジュ
ール」と称す)にそれらを格納するために設けられてい
る。このIPCモジュールは通信ブローカ12に内在す
るものである。そして、Aインタフェース構成要素の原
形式としては以下のものが含まれる。
【0021】(1) (int) ipc ref =ipc server init
((long) network address) (2) (int) ipc ref ipc client init ((long) network address) (3) (int) status =ipc write ((char*) buf, (int) b
uf length, (int) ipc ref) (4) (int) status =ipc read ((char**) buf, (int*)
buf length, (int) ipc ref) (5) (int) status = ipc close ((int) ipc ref)
【0022】また、Bインタフェース構成要素は、伝送
制御プロトコルおよびインターネットプロトコル(TC
P/IP)に基礎を置く通信ブローカ12間の仮想回路
等、インターネットワーク基盤の仮想回路を提供する。
このBインタフェースは、ネットワーク通信サービスを
アプリケーションから抽出し、再使用可能なミドルウェ
アライブラリモジュール(以下、「ネットワークモジュ
ール」と称す)にそれらを格納するために設けられてい
る。このネットワークモジュールもまた通信ブローカ1
2に内在するものである。Bインタフェース構成要素の
原形式としては以下のものが含まれる。
【0023】(6) (int) net ref =net server init
((long) network address) (7) (int) net ref =net client init ((long) netw
ork address) (8) (int) net ref =net write ((char*) buf, (int)
buf length, (int) net ref) (9) (int) status =net read ((char**) buf, (int*)
buf length, (int) net ref) (10) (int) status = net close ((int) net re
f)
【0024】原形式(1)および(6)はサーバアプリ
ケーション通信を初期化する。すなわち、これらはサー
バエンドポイント初期化を実行し、クライアントの接続
要請を聴取するようにサーバアプリケーションに命じ
る。原形式(2)および(7)はクライアントアプリケ
ーション通信を初期化する。すなわち、これらはクライ
アントエンドポイント初期化を実行し、サーバアプリケ
ーションとの仮想回路を確立する。
【0025】次に、原形式(3)および(8)は通信書
き込み機能であり、クライアントアプリケーションでは
要請をサーバアプリケーションに送るために利用され、
サーバアプリケーションでは応答をクライアントアプリ
ケーションに送るために利用される。また、原形式
(4)および(9)は通信読み出し機能であり、サーバ
アプリケーションではクライアントアプリケーションか
らの要請を読み出すために利用され、クライアントアプ
リケーションではサーバアプリケーションからの応答を
読み出すために利用される。原形式(3)および(4)
においては、特定アプリケーションプロトコルによって
バッファメッセージが定義された完全なデータユニット
を包含している。
【0026】そして、原形式(5)および(10)は仮
想回路閉鎖機能であり、クライアントおよびサーバのア
プリケーション間の仮想回路を作動停止とする。これら
APIの構成要素を利用することによって、ネットワー
クトランスポートおよびインタープロセス通信は、上記
トランスポートを要するクライアントおよびサーバのア
プリケーションに対して透過性を有するものとなる。図
4はネットワーク通信モデルを示し、このネットワーク
通信モデルは、上述したAおよびBインタフェース構成
要素によって、すなわち本発明のAPIによって、クラ
イアントおよびサーバアプリケーション間で透過トラン
スポートを実行するものである。
【0027】これら原形式に関連するミドルウェアは、
各通信ブローカ内部のミドルウェアライブラリに格納さ
れている。付属のAは各原形式に関連した所望の機能を
実行するコードを表す。
【0028】上述したように、従来のネットワークはバ
イト指向型ストリームモードにおけるトランスポートデ
ータに対して仮想回路プロトコルを利用するのが一般的
である。また上記で述べたように、これらプロトコル
は、遠隔地にある同一サーバアプリケーションとの通信
に際し、局所クライアントアプリケーションごとに個々
の仮想回路を確立するよう要請する。それゆえ、幅広い
スケールのクライアントおよびサーバアプリケーション
に対しては、クライアントごとの仮想回路管理が、クラ
イアントおよびサーバのプラットフォーム資源双方に殺
到してしまう。
【0029】図3に関して、本発明の通信ブローカは、
単一仮想回路上、複数のクライアントアプリケーション
20a〜20x、もしくは20b〜20yと、サーバア
プリケーション22との間で通信データを多重送信する
と共に、その伝達されたデータを分離するように設計さ
れている。図示されたように、各クライアントプラット
フォーム16もしくは18は、関連する複数のクライア
ントアプリケーションを有しており、それらはプラット
フォーム16用アプリケーション20a〜20xとし
て、またはプラットフォーム18用アプリケーション2
0b〜20yとして識別される。そして、アプリケーシ
ョン間のデータ通信を多重化することによって、クライ
アントおよびサーバのプラットフォーム上に課せられる
時間割り付けを軽減し、複数のクライアントプラットフ
ォームとサーバプラットフォーム間で仮想回路を管理す
る。
【0030】論理接続を多重化するために、通信ブロー
カはバイトストリーム指向型プロトコル(TCP等)を
メッセージ指向型フォマットに変換する。この機能は、
原形式および上述した関連ミドルウェアライブラリの読
み書きによって実行される。なお、通信ブローカ動作の
より詳細な説明は後述する。
【0031】クライアントおよびサーバアプリケーショ
ン間での多重化通信の一例は、図3に関して以下に説明
する。局所クライアントプラットフォーム16に関連し
たクライアントアプリケーション20aと、遠隔サーバ
プラットフォーム14上の遠隔サーバアプリケーション
22との間で通信を開始するために、クライアントアプ
リケーション20aが、例えば、目的とする遠隔サーバ
アプリケーション22用のアドレッシング情報を有する
net client init() 機能コールを出す。この要
請は、インタフェースAを通じ、インタープロセス通信
(IPC)を経由し、クライアントプラットフォーム通
信ブローカ12によって処理される。始めに、通信ブロ
ーカ12は、仮想回路がクライアントとサーバのアプリ
ケーション間に存在するかどうかを判断する。局所プラ
ットフォーム上の通信ブローカがその局所クライアント
アプリケーションと遠隔サーバアプリケーションとの間
に仮想回路を生成させる場合、通信ブローカはその接続
を接続テーブルに記録する。
【0032】通常、接続テーブルエントリーは、仮想回
路の遠隔ネットワークアドレスと、該仮想回路のデータ
を読み書きするのに用いられるソケット記述子と、いく
つの論理接続が該仮想回路を使用しているかを示す論理
接続(または回線)カウントとからなる。それゆえ、通
信ブローカ12が仮想回路をAおよびBインタフェース
上に生成させる前に、通信ブローカは要請のあった論理
接続と接続テーブルに記録された接続とを比較し、仮想
回路が局所アプリケーションおよび目的の遠隔アプリケ
ーション間に存在するかを判断する。仮想回路が存在す
るなら、通信ブローカはソケット記述子を通信用テーブ
ルで利用し、回線カウントを一増分ふやす。仮想回路が
存在しない場合には、それを仮想回路を生成し、その接
続が接続テーブルに記録される。この例では、回線カウ
ントが1に初期化される。図5は、仮想回路を確立する
ための上記接続テーブル処理の流れを示している。
【0033】仮想回路が存在するか、あるいはアプリケ
ーション間に仮想回路が生成されると通信ブローカが判
断すれば、局所クライアントプラットフォーム16上の
通信ブローカ12は次に利用可能な論理チャネルIDを
局所クライアントアプリケーションのAインタフェース
に割り当てる。そして、Aインタフェースから出ていく
メッセージが論理チャネルIDに当てがわれ、Bインタ
フェースから入ってくるメッセージが論理チャネルID
によって対応する局所アプリケーション22aに急送さ
れる。論理チャネルIDテーブルは、仮想回路両側の通
信ブローカで維持され、多重化送信およびデータ分離動
作を可能にする。
【0034】局所クライアントアプリケーション20a
が、遠隔サーバアプリケーションとの仮想回路接続をも
はや必要としない場合には、局所クライアントアプリケ
ーション20aが、クライアントプラットフォーム通信
ブローカ12によって処理されるnet close()機能コ
ールを出す。これは、仮想回路を使用するための、両プ
ラットフォーム間論理接続テーブルで解放され用いられ
る論理接続IDをもたらす。
【0035】さらに、通信ブローカは回線カウンタを一
増分ふやす。ここで、仮想回路を用いる論理回路が他に
ない場合には、すなわち、回線カウンタが減分されて0
になる場合には、仮想回路は閉じられ、通信ブローカご
とに接続テーブルから取り除かれる。図6は、仮想回路
を閉じるための上記接続テーブル処理の流れを示してい
る。
【0036】書き込み制御フロー 情報を遠隔サーバアプリケーション22に移送するため
に、局所クライアントアプリケーションは、メッセージ
(該情報)とメッセージ長を有するネットワークパケッ
トとを生じる。このメッセージには、アプリケーション
プロトコルに基礎を置くデータユニットが含まれてい
る。そして、局所クライアントアプリケーションは、例
えば、Aインタフェースを通じ、インタプロセス通信
(バイトストリーム指向型プロトコル等)を経由してネ
ットワークパケットを送出させるnet write() 機能を
呼びだす。クライアントプラットフォーム16上に常駐
する通信ブローカ12は、ネットワークパケットを処理
し、バイトストリームデータをメッセージ指向型データ
フォーマットに変換する。ここで、送信されるメッセー
ジが、移送機構、すなわちインタフェースBによって保
持される最大セグメントサイズよりも大きい場合に、通
信ブローカはメッセージを最大セグメントサイズ−2
(バイト)ごとに分ける。分けられた各断片は、1バイ
ト論理チャネルIDと次に予想される1バイトシーケン
ス番号とで事前に未決事項として処理される。そして、
シーケンス中最後のパケットは次に予想されるシーケン
ス番号0が付与される。ここで、このシーケンス番号0
は、もやは予想されるセグメントがないことを示してい
る。そして、一トランスポートセグメントのバイパス分
割と、次に予想されるシーケンス番号とに適合するメッ
セージは0に設定される。従って、論理チャネルIDあ
るいは次に予想されるシーケンス番号により多くのスペ
ースを割り当てることにより、同時接続する任意番号に
備えた任意サイズのメッセージを保持することができ
る。
【0037】読み出し制御フロー 情報を遠隔サーバアプリケーション22から読み出すた
めに、局所クライアントプラットフォーム16における
通信ブローカ12は、単一仮想回路、すなわちBインタ
フェース上のネットワークパケットを読み込み、論理接
続IDによってソートする。そして、通信ブローカ12
は、論理チャネルIDおよびシーケンス番号を取り除
き、次に予想されるシーケンス番号0を伴うパケットが
受信されるまで、その断片をバッファメモリに格納す
る。最後のパケットが受信されバッファメモリに格納さ
れると、現在バッファに存在する断片を維持すべくメッ
セージメモリの一ブロックが割り当てられる。そして、
バッファ中の完全なメッセージは、局所クライアントア
プリケーション(アプリケーション20a〜20x、ま
たは20b〜20y等)に転送され、Aインタフェース
を経由して論理接続IDによって識別される。このメッ
セージは、例えば、局所クライアントアプリケーション
によって開始されるnet read()機能によって検索さ
れる。
【0038】本発明に係わるAPIのAおよびBインタ
フェース構成要素に加え、他の公知インタフェースもネ
ットワークを完成するのに利用することができる。図3
に示すように、インタフェースCとして示されたデータ
収集インタフェースへの情報プロバイダと、インタフェ
ースDとして示されたサーバアプリケーションインタフ
ェースへのデータ収集インタフェースとがホスト側のイ
ンタフェースとして設けられる。
【0039】Cインタフェースは、データ収集プラット
フォーム26に常駐するデータ収集アプリケーション2
4に、走行および天候情報プロバイダ等、様々な情報プ
ロバイダ28および30からデータを移入する。このC
インタフェースとしては、ダイヤル回線を通して、組織
化されていないデータファイルを転送する1K−Xモデ
ムエラー訂正ファイル転送プロトコル等、公知のファイ
ル転送プロトコルが利用できる。適当なプロトコルの一
例としては、ウインドズ用PROCOMM PLUS
(登録商標)があり、これは、データ収集プラットフォ
ーム26にインストールされる市販ソフトウェアパッケ
ージである。
【0040】再び図3に関して説明すると、Dインタフ
ェースは、情報プロバイダデータをデータ収集アプリケ
ーション24からサーバアプリケーション22に転送す
る。このDインタフェースは、TCP/IPプロトコル
スタック状態でデータファイルを転送するネットワーク
ファイルサービス(NFS)から成るのが好ましい。適
当なインタフェースの一例としては、ウィンドウズ用カ
メレオンNFSがあり、これもまたデータ収集プラット
フォーム26にインストールされる市販ソフトウェアパ
ッケージである。
【0041】CおよびDインタフェース間のリンケージ
はデータ収集アプリケーションによって提供され、PR
OCOMM PLUS(登録商標)環境に内包される1
0ライン・ウィンドウズ・アスペクトスクリプトである
のが好ましい。このアスペクトスクリプトは、ファイル
転送の間に、データ収集プラットフォーム上に入ってく
るデータファイルの衝撃を和らげ、ファイル転送が完了
すると、そのファイルは、サーバプラットフォーム14
上のファイルシステムに対応するネットワークファイル
サービスによって支援された仮想ドライブにコピーされ
る。
【0042】他の実施例においては、図7に示すよう
に、Dインタフェースが、AおよびBインタフェース、
そして対応する通信ブローカ12と取り替え可能とな
る。その場合、AおよびBインタフェース、そして通信
ブローカ12は上述したように動作し、クライアントお
よびサーバアプリケーション間に透過性を有するネット
ワーク通信を提供するだけでなく、単一仮想回路上での
通信を多重化し、分離化する。図示されたクライアント
・サーバ間アプリケーションは、交通渋滞および天候デ
ータのサーバ29および31と、複数ユーザクライアン
トプラットフォーム16および18と、インタフェース
AおよびB等の複数リアルタイムデータフィードとから
成る走行車情報サービス(TIS)である。この走行車
情報サービスは、ユーザ(クライアント)に個別(通勤
区間走行情報等)および/または一般走行記録(局所交
通渋滞や天候等)を供給する。TIS用のネットワーク
アーキテクチャは、図3に示し上述したネットワークア
ーキテクチャと同様である。
【0043】動作中、交通渋滞データおよび天候データ
は、情報プロバイダ32および34により、Cインタフ
ェースを経由して対応するデータ収集プラットフォーム
26および27にそれぞれ転送される。そして、これら
交通渋滞および天候のデータは、Dインタフェースにの
り、サーバプラットフォーム14上に常駐するTISサ
ーバアプリケーションに転送され、公知の値加算処理技
術を用いて分割され再結合されてTISプラットフォー
ムデータベース36に格納される。値加算処理は、個別
走行車の記録、あるいはクライアントの要請に応じたサ
ーバプラットフォームからクライアントへの情報の送信
を容易にする。
【0044】図4および図8に関して、TISネットワ
ークの動作を、上述した原形式(1)および(6)と、
クライアント要請の聴取とによって初期化されるサーバ
プラットフォーム14で説明する。走行者の記録を検索
すべく、クライアントは、公知のダイヤルイン、あるい
はT1/ISDNアクセス手法を経由してTISクライ
アントアプリケーション20aにアクセスし、走行およ
び/または天候データを要請する。TISクライアント
アプリケーション20aは、例えば、目的とする遠隔ア
プリケーションに向けたアドレッシング情報をネットワ
ークパケット(バイトストリームデータ等)に挿入し、
インタプロセス通信経由でデータをAインタフェースに
送出させるipc client init() 機能コールを出して
ネットワーク要請をする。局所クライアントプラットフ
ォーム16の通信ブローカ12は、局所クライアントプ
ラットフォーム16で局所アプリケーションネットワー
ク要請を処理し、仮想回路接続テーブルをチェックして
仮想回路が局所クライアントアプリケーション20aお
よび遠隔サーバアプリケーション22間に存在するかど
うかを判断する。仮想回路が存在しないなら、 int net ref = net client init ((long)network
address) の原形式をBインタフェースを通して出すことによって
仮想回路を生成させる。
【0045】仮想回路が確立されると、局所プラットフ
ォーム16の通信ブローカ12はデータ書き込み原形式
(すなわち、int net ref = net write ((char*) bu
f, (int) buf length, (int) net ref) 原形式)を
出し、バイト指向型ストリームデータをメッセージ指向
型データパケットに変換し、そのデータ要請をBインタ
フェースを通して転送する。サーバプラットフォーム1
4に常駐する通信ブローカ12は、そのデータ要請を処
理し、インタフェースA経由でサーバアプリケーション
22に該データを送信するデータ書き込み原形式(すな
わち、int status= ipc write ((char*) buf, (int) b
uf length, (int) ipc ref) 原形式)を出す。
【0046】サーバアプリケーション22はこのデータ
要請に答え、標準バイトストリーム指向型プロトコルを
用いて要請されたデータをAインタフェースに送信す
る。サーバプラットフォーム14の通信ブローカ12
は、送信データ要請を処理してデータ書き込み原形式
(例えば、int net ref = net write ((char*) buf,
(int)buf length, (int) net ref) 原形式)を出す。
データ書き込み原形式を発すると、上述したように、バ
イト指向型データストリームがメッセージ指向型データ
ストリームに変換され、Bインタフェースを経由して局
所クライアントプラットフォーム16に変換された情報
が転送される。
【0047】局所プラットフォーム16の通信ブローカ
12は、メッセージ指向型データストリームをバイト指
向型データストリームに再変換し、その情報をAインタ
フェースを経由して適切なTISクライアントアプリケ
ーション20に転送するデータ読み出し原形式(すなわ
ち、int status = net read ((char**) buf, (int*)bu
f length, (int) net ref原形式)を出してサーバの
応答を読む。それから、TISクライアントアプリケー
ション20は、受信したデータを処理し、公知のダイヤ
ルイン、あるいはT1/ISDNアクセス手法を経てデ
ータを所望のフォーマットでクライアントに転送する。
【0048】以上、実際の適応例を通して本発明の原理
を説明したが、他の構成および方法も、本発明の範囲を
逸脱することなく、当業者によって実行可能である。
【図面の簡単な説明】
【図1】従来の通信ネットワーク用階層型アーキテクチ
ャの一例を示す図である。
【図2】従来の通信ネットワーク用階層型アーキテクチ
ャの他の例を示す図である。
【図3】本発明に係わる通信ブローカを組み込んだ複数
プラットフォーム間通信ネットワークのブロック図であ
る。
【図4】クライアントおよびサーバのプラットフォーム
間での通信シーケンスを示す図である。
【図5】仮想回路を確立する接続テーブル処理のフロー
チャートである。
【図6】仮想回路を閉じる接続テーブル処理のフローチ
ャートである。
【図7】本発明に係わる複数プラットフォーム間通信ネ
ットワークの他の実施例を示すブロック図である。
【図8】図3に類似した通信ネットワークのブロック図
であり、交通渋滞および天候データについてのクライア
ント・サーバ間アプリケーションを示す。
【符号の説明】
10 複数プラットフォーム型クライアントおよびサ
ーバ間通信アーキテクチャ 12 通信ブローカ 14 サーバプラットフォーム 16,18 クライアントプラットフォーム 20a〜20x,20b〜20y クライアントアプ
リケーション 22 サーバアプリケーション 24 データ収集アプリケーション 26 データ収集プラットフォーム 28,30 情報プロバイダ A,B,C,D インタフェース

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 独立した通信をクライアントおよびサー
    バアプリケーションを使って移送するアプリケーション
    インタフェースにおいて、 クライアントプラットフォームに関連する複数のクライ
    アントアプリケーションとサーバプラットフォームに関
    連するサーバアプリケーションとの間に単一仮想回路を
    確立する手段と、 前記仮想回路上の該クライアントおよびサーバのアプリ
    ケーション間でデータ通信を多重化すると共に分離化す
    る手段とを設けたことを特徴とするアプリケーションイ
    ンタフェース。
  2. 【請求項2】 請求項1記載のアプリケーションインタ
    フェースにおいて、前記データ通信多重化および分離化
    手段が、バイトストリームモードでデータをメッセージ
    指向型フォーマットに変換する手段を備えていることを
    特徴とするアプリケーションインタフェース。
  3. 【請求項3】 請求項1記載のアプリケーションインタ
    フェースにおいて、前記仮想回路確立手段が、インター
    プロセス通信に基礎を置く仮想回路を提供すべく設計さ
    れた第一のインタフェースと、インターネットに基礎を
    置く仮想回路を提供すべく設計された第二のインタフェ
    ースとを備えていることを特徴とするアプリケーション
    インタフェース。
  4. 【請求項4】 クライアント・サーバ間アプリケーショ
    ン用通信ネットワークにおいて、 サーバアプリケーションと通信ブローカとを内在するサ
    ーバプラットフォームと、 少なくとも一つのクライアントアプリケーションと通信
    ブローカとを内在する少なくとも一つのクライアントプ
    ラットフォームとからなり、 前記両方の通信ブローカは、少なくとも一つの前記クラ
    イアントアプリケーションと前記サーバアプリケーショ
    ンとの間に仮想回路を確立する手段と、前記仮想回路上
    の少なくとも一つの前記クライアントアプリケーション
    と前記サーバアプリケーションとの間でデータ通信を多
    重化すると共に分離化する手段とを有することを特徴と
    する通信ネットワーク。
  5. 【請求項5】 走行車情報プロバイダネットワークにお
    いて、 データ収集プラットフォームと論理的に接続され、その
    間でデータを転送すべく設計された少なくとも一つの情
    報プロバイダと、 前記走行車データを前記データ収集プラットフォームか
    ら受信すべく設計され、サーバアプリケーションと通信
    ブローカとを内在するサーバプラットフォームと、 前記サーバプラットフォームと論理的に接続され、少な
    くとも一つのクライアントアプリケーションと通信ブロ
    ーカとを内在する少なくとも一つのクライアントプラッ
    トフォームとからなり、 前記通信ブローカは、少なくとも一つの前記クライアン
    トアプリケーションと前記サーバアプリケーションとの
    間に仮想回路を確立する手段と、前記仮想回路上の少な
    くとも一つの前記クライアントアプリケーションと前記
    サーバアプリケーションとの間でデータ通信を多重化す
    ると共に分離化する手段とを有することを特徴とする走
    行車情報プロバイダネットワーク。
  6. 【請求項6】 クライアントおよびサーバアプリケーシ
    ョン間でのデータ通信接続方法において、 複数のクライアントアプリケーションとサーバアプリケ
    ーションとの間に仮想回路を確立するステップと、 前記複数のクライアントアプリケーションからのバイト
    ストリームデータをメッセージデータパケットに変換
    し、前記サーバアプリケーションへ転送すべく該メッセ
    ージデータを前記仮想回路上に多重送信するステップ
    と、 前記メッセージデータパケットを前記サーバアプリケー
    ションで分離するステップと、 前記メッセージデータパケットをバイトストリームデー
    タに変換するステップと、 前記変換されたバイトストリームデータを前記サーバア
    プリケーションに転送するステップとを有することを特
    徴とするデータ通信接続方法。
  7. 【請求項7】 請求項6記載のデータ通信接続方法にお
    いて、前記複数のクライアントアプリケーションと前記
    サーバアプリケーションとの間でデータが転送された後
    に、前記単一仮想回路を作動停止とするステップをさら
    に設けたことを特徴とするデータ通信接続方法。
JP7164396A 1994-06-30 1995-06-30 ネットワークにおける分散処理用アプリケーションプログラミングインタフェース Withdrawn JPH0851468A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26839994A 1994-06-30 1994-06-30
US08/268399 1994-06-30

Publications (1)

Publication Number Publication Date
JPH0851468A true JPH0851468A (ja) 1996-02-20

Family

ID=23022835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7164396A Withdrawn JPH0851468A (ja) 1994-06-30 1995-06-30 ネットワークにおける分散処理用アプリケーションプログラミングインタフェース

Country Status (4)

Country Link
EP (1) EP0690599A2 (ja)
JP (1) JPH0851468A (ja)
CN (1) CN1117616A (ja)
CA (1) CA2150062A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664921B1 (ko) * 2004-09-01 2007-01-04 삼성전자주식회사 분산 컴퓨팅을 위한 다수의 프로토콜을 지원하는 통합미들웨어 장치 및 방법
JP2008547299A (ja) * 2005-06-23 2008-12-25 ノキア コーポレイション ネットワークアドレス変換器及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立するためのシステム、端末、方法、及びコンピュータプログラム製品

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867661A (en) * 1996-02-15 1999-02-02 International Business Machines Corporation Method and apparatus of using virtual sockets for reducing data transmitted over a wireless communication link between a client web browser and a host web server using a standard TCP protocol
EP1161048A3 (en) * 2000-05-19 2005-02-16 Attachmate Corporation System and method for secure duplex browser communication over disparate networks
CN100341276C (zh) * 2003-08-19 2007-10-03 华为技术有限公司 业务平台对外开放业务能力的方法
US7792936B2 (en) * 2003-12-01 2010-09-07 International Business Machines Corporation Method and apparatus for virtualizing network resources
WO2007147207A1 (en) * 2006-06-21 2007-12-27 Richard Slamkovic Middleware broker
US20100077035A1 (en) * 2008-09-23 2010-03-25 Nokia Corporation Optimized Polling in Low Resource Devices
CN102780764B (zh) * 2012-06-28 2015-12-16 北京奇虎科技有限公司 一种代理通信系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664921B1 (ko) * 2004-09-01 2007-01-04 삼성전자주식회사 분산 컴퓨팅을 위한 다수의 프로토콜을 지원하는 통합미들웨어 장치 및 방법
JP2008547299A (ja) * 2005-06-23 2008-12-25 ノキア コーポレイション ネットワークアドレス変換器及び/又はファイアウォールの背後に位置するサーバとのトランスポートレベル接続を確立するためのシステム、端末、方法、及びコンピュータプログラム製品
US8265069B2 (en) 2005-06-23 2012-09-11 Nokia Corporation System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and/or firewall

Also Published As

Publication number Publication date
CN1117616A (zh) 1996-02-28
EP0690599A2 (en) 1996-01-03
CA2150062A1 (en) 1995-12-31

Similar Documents

Publication Publication Date Title
US6678283B1 (en) System and method for distributing packet processing in an internetworking device
EP0605339B1 (en) Method and apparatus for making a cluster of computers appear as a single host on a network
US6999998B2 (en) Shared memory coupling of network infrastructure devices
US6859835B1 (en) Virtual port multiplexing
US6522654B1 (en) Method for hosting the internet protocol suite on the IEEE-1394 high speed serial bus
US6708210B2 (en) Application programming interfaces and methods enabling a host to interface with a network processor
US6920485B2 (en) Packet processing in shared memory multi-computer systems
US5678006A (en) Network switch having network management agent functions distributed among multiple trunk and service modules
EP0381365B1 (en) A system and method for interconnecting applications across different networks of data processing systems
US7386628B1 (en) Methods and systems for processing network data packets
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US8180928B2 (en) Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney
US20120039341A1 (en) Method and apparatus for transferring data between ip network devices and scsi and fibre channel devices over an ip network
US20080310416A1 (en) Vlan server
US6229809B1 (en) Method and system for combining computer network protocols
US8566833B1 (en) Combined network and application processing in a multiprocessing environment
US9143463B2 (en) Method for performing protocol translation in a network switch
JPH0851468A (ja) ネットワークにおける分散処理用アプリケーションプログラミングインタフェース
US6725311B1 (en) Method and apparatus for providing a connection-oriented network over a serial bus
US7616653B1 (en) Network interface card aggregation framework
JP3792538B2 (ja) ネットワークインタフェースカードを用いるピアレベル通信用システムおよび方法
Orphanos et al. Compensating for moderate effective throughput at the desktop
KR100209360B1 (ko) 지능형 디바이스 드라이버를 제공하는 광대역 종합정보통신망 정합장치
JPH0666813B2 (ja) データ通信システム及び通信路確立方法
Boakye et al. AT&T data networking architecture

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020903