JPH0749823A - 通信方法及びシステム - Google Patents
通信方法及びシステムInfo
- Publication number
- JPH0749823A JPH0749823A JP5327527A JP32752793A JPH0749823A JP H0749823 A JPH0749823 A JP H0749823A JP 5327527 A JP5327527 A JP 5327527A JP 32752793 A JP32752793 A JP 32752793A JP H0749823 A JPH0749823 A JP H0749823A
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- socket
- protocols
- network
- mptn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 title claims description 23
- 230000008569 process Effects 0.000 abstract description 19
- 238000012546 transfer Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- WDQKVWDSAIJUTF-GPENDAJRSA-N via protocol Chemical compound ClCCNP1(=O)OCCCN1CCCl.O([C@H]1C[C@@](O)(CC=2C(O)=C3C(=O)C=4C=CC=C(C=4C(=O)C3=C(O)C=21)OC)C(=O)CO)[C@H]1C[C@H](N)[C@H](O)[C@H](C)O1.C([C@H](C[C@]1(C(=O)OC)C=2C(=C3C([C@]45[C@H]([C@@]([C@H](OC(C)=O)[C@]6(CC)C=CCN([C@H]56)CC4)(O)C(=O)OC)N3C=O)=CC=2)OC)C[C@@](C2)(O)CC)N2CCC2=C1NC1=CC=CC=C21 WDQKVWDSAIJUTF-GPENDAJRSA-N 0.000 description 2
- 101100133212 Drosophila melanogaster NetB gene Proteins 0.000 description 1
- JEYCTXHKTXCGPB-UHFFFAOYSA-N Methaqualone Chemical compound CC1=CC=CC=C1N1C(=O)C2=CC=CC=C2N=C1C JEYCTXHKTXCGPB-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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)
- Communication Control (AREA)
Abstract
(57)【要約】
【目的】 多重プロトコル環境において、ネットワーク
中のノード間で実際に接続が行われる時点までにどのプ
ロトコルを用いるべきかの判定を行う新規なソケット構
造を提供する。 【構成】 あらゆる終点で新規のソケット構造が生成さ
れる。潜在的にデータの送受信に用い得る全てのプロト
コルに、新規のソケットが生成される時点でプロトコル
制御ブロックを生成する要求が送られる。終点でどのプ
ロトコルを使用できるかを選択プロセスが決定する。そ
して新規のソケットは各選択されたプロトコルに関する
情報を含む。接続が確立される時点で、前記選択された
プロトコルのどれかを用いることができる。とのプロト
コルを使用すべきかの選択はユーザの選択、使用できる
プロトコル、サービス装置の名称に基づいて行うことが
できる。
中のノード間で実際に接続が行われる時点までにどのプ
ロトコルを用いるべきかの判定を行う新規なソケット構
造を提供する。 【構成】 あらゆる終点で新規のソケット構造が生成さ
れる。潜在的にデータの送受信に用い得る全てのプロト
コルに、新規のソケットが生成される時点でプロトコル
制御ブロックを生成する要求が送られる。終点でどのプ
ロトコルを使用できるかを選択プロセスが決定する。そ
して新規のソケットは各選択されたプロトコルに関する
情報を含む。接続が確立される時点で、前記選択された
プロトコルのどれかを用いることができる。とのプロト
コルを使用すべきかの選択はユーザの選択、使用できる
プロトコル、サービス装置の名称に基づいて行うことが
できる。
Description
【0001】
【産業上の利用分野】本発明は一般にコンピュータシス
テムのネットワークにおけるデータ通信に関する。より
詳しくは、本発明は、アプリケーションが記述されたプ
ロトコル及びネットワークで使用できるプロトコルに関
係なく、システムに存在するアプリケーションプログラ
ムが前記ネットワークを介して通信することを可能にす
る通信終点構造に関する。
テムのネットワークにおけるデータ通信に関する。より
詳しくは、本発明は、アプリケーションが記述されたプ
ロトコル及びネットワークで使用できるプロトコルに関
係なく、システムに存在するアプリケーションプログラ
ムが前記ネットワークを介して通信することを可能にす
る通信終点構造に関する。
【0002】
【従来の技術】かつて、殆ど全てのコンピュータシステ
ムは他のコンピュータシステムから独立して動作する表
示装置、印刷装置及びディスク装置のような専用周辺装
置が接続された独立型プロセッサであった。それでも、
幾つかのコンピュータシステムを互いに協力するように
接続できる場合は、かなりの利得が得られたことは明白
であった。今日、ローカルエリアネットワーク又は広域
ネットワークのような分散されたシステムに、多数のコ
ンピュータシステムを接続することはありふれたことと
なっている。
ムは他のコンピュータシステムから独立して動作する表
示装置、印刷装置及びディスク装置のような専用周辺装
置が接続された独立型プロセッサであった。それでも、
幾つかのコンピュータシステムを互いに協力するように
接続できる場合は、かなりの利得が得られたことは明白
であった。今日、ローカルエリアネットワーク又は広域
ネットワークのような分散されたシステムに、多数のコ
ンピュータシステムを接続することはありふれたことと
なっている。
【0003】しかしながら、複数のコンピュータシステ
ムを統合するためにハードウェア及びソフトウェアを自
ら開発している多くの販売業者がいる。特に、これらの
業者はネットワークを介してデータを転送する際に守る
べきフォーマット及びプロトコルに関して異なる考案を
創出している。あるプロトコルは普通のデータフロー制
御を無視することにより急送データの伝送をサポートす
る。他は全てのデータが前記制御を受け入れる必要があ
る。コンピュータシステム間の接続の設定及び終了のよ
うな転送タスクについては専用プロトコルが用いられ
る。よく知られた通信プロトコルの例はシステムネット
ワークアーキテクチャ (SNA)、ディジタルネットワーク
アーキテクチャ(DECnet)、伝送制御プロトコル/インタ
ーネットプロトコル(TCP/IP)、ネットワーク基本入出力
システム (NetBIOS)、オープンシステム相互接続 (OSI)
及びアップルトークを含む。他の既知のプロトコルも広
く使用されている。
ムを統合するためにハードウェア及びソフトウェアを自
ら開発している多くの販売業者がいる。特に、これらの
業者はネットワークを介してデータを転送する際に守る
べきフォーマット及びプロトコルに関して異なる考案を
創出している。あるプロトコルは普通のデータフロー制
御を無視することにより急送データの伝送をサポートす
る。他は全てのデータが前記制御を受け入れる必要があ
る。コンピュータシステム間の接続の設定及び終了のよ
うな転送タスクについては専用プロトコルが用いられ
る。よく知られた通信プロトコルの例はシステムネット
ワークアーキテクチャ (SNA)、ディジタルネットワーク
アーキテクチャ(DECnet)、伝送制御プロトコル/インタ
ーネットプロトコル(TCP/IP)、ネットワーク基本入出力
システム (NetBIOS)、オープンシステム相互接続 (OSI)
及びアップルトークを含む。他の既知のプロトコルも広
く使用されている。
【0004】大抵の分散されたアプリケーションプログ
ラムは特定の通信プロトコルを仮定するアプリケーショ
ンプログラミングインタフェース (API)に関して記述さ
れている。しかしながら、大抵の組織が集合している分
散された環境はかなり複雑であり、異なる通信プロトコ
ルを実行する個々のネットワークの連合から成る。分散
されたアプリケーションのAPI により仮定された転送プ
ロトコルと、組織がそのデータを送りたい少なくとも1
つのネットワークで実際に実現された転送プロトコルと
が同じでなければ、アプリケーションの利用は限定され
る。前記通信プロトコルの異質の問題は、注文処理、直
接請求書作成発送又はその他の組織間相互の活動を実行
するために相互にそれらのネットワークを通じて通信を
開始する組織が多くなればなるほど悪化することが予想
される。
ラムは特定の通信プロトコルを仮定するアプリケーショ
ンプログラミングインタフェース (API)に関して記述さ
れている。しかしながら、大抵の組織が集合している分
散された環境はかなり複雑であり、異なる通信プロトコ
ルを実行する個々のネットワークの連合から成る。分散
されたアプリケーションのAPI により仮定された転送プ
ロトコルと、組織がそのデータを送りたい少なくとも1
つのネットワークで実際に実現された転送プロトコルと
が同じでなければ、アプリケーションの利用は限定され
る。前記通信プロトコルの異質の問題は、注文処理、直
接請求書作成発送又はその他の組織間相互の活動を実行
するために相互にそれらのネットワークを通じて通信を
開始する組織が多くなればなるほど悪化することが予想
される。
【0005】分散されたアプリケーションはそれらが各
転送プロトコルで実行できるように再書込みできる、即
ちアプリケーションゲートウェイが分散されたアプリケ
ーションの分散されたセット毎に書込みできるが、全て
の必要なコードをプログラマに書込ませる費用はこれら
のアプローチを経済的に魅力のないものにする。良好な
解決方法は "Compensation for Mismatched Transport
Protocols in a DataCommunications Network" と題す
る R.F. Bird外による米国特許出願第731564号(1991年
7月17日出願) に開示されている。この出願はネットワ
ークにおける1つのノードの第1の転送ユーザと別のノ
ードの第2の転送ユーザの間の転送接続層を開示してい
る。第1のノードのアプリケーションで仮定された転送
プロトコルがそのネットワークで使用できないとき、2
つのノード間で転送中のデータは使用できる転送プロト
コルと適合するように自動的に変更される。従って、ア
プリケーションプログラムが必要とするプロトコルでは
なく、それらが供給する機能に基づいてのみ組織がアプ
リケーションプログラムを選択できる。
転送プロトコルで実行できるように再書込みできる、即
ちアプリケーションゲートウェイが分散されたアプリケ
ーションの分散されたセット毎に書込みできるが、全て
の必要なコードをプログラマに書込ませる費用はこれら
のアプローチを経済的に魅力のないものにする。良好な
解決方法は "Compensation for Mismatched Transport
Protocols in a DataCommunications Network" と題す
る R.F. Bird外による米国特許出願第731564号(1991年
7月17日出願) に開示されている。この出願はネットワ
ークにおける1つのノードの第1の転送ユーザと別のノ
ードの第2の転送ユーザの間の転送接続層を開示してい
る。第1のノードのアプリケーションで仮定された転送
プロトコルがそのネットワークで使用できないとき、2
つのノード間で転送中のデータは使用できる転送プロト
コルと適合するように自動的に変更される。従って、ア
プリケーションプログラムが必要とするプロトコルでは
なく、それらが供給する機能に基づいてのみ組織がアプ
リケーションプログラムを選択できる。
【0006】前記参照された出願は汎用の転送層を開示
している。現にUNIX環境のBerkeley版で使用されている
転送構造の1つはソケットと呼ばれる。ソケットはネッ
トワーク中の通信終点を識別するオブジェクトである。
ソケットはアプリケーションから下方のネットワーク構
造のプロトコルを隠す。ソケットは終点、例えばアプリ
ケーションプログラムと、選択されたプロトコルの1つ
とを関連づけることを可能にする。この関連づけは終点
が生成されるときに起きる。終点生成はソケットと不変
のままのプロトコルとの静的な関連づけを意味する。し
かしながら、前記参照された出願に記述されているよう
に、異質の接続を容易にする多重プロトコル環境では、
転送終点はその終点の生成後に幾つかの使用できるプロ
トコルのどれかに縛られることを必要とすることがあ
る。よって、このような環境でソケットが使用されるこ
とになっている場合、ソケットとプロトコルの動的な関
連づけを可能にする新しいソケット構造が考案されなけ
ればならない。本発明はこのようなソケット構造を開示
する。
している。現にUNIX環境のBerkeley版で使用されている
転送構造の1つはソケットと呼ばれる。ソケットはネッ
トワーク中の通信終点を識別するオブジェクトである。
ソケットはアプリケーションから下方のネットワーク構
造のプロトコルを隠す。ソケットは終点、例えばアプリ
ケーションプログラムと、選択されたプロトコルの1つ
とを関連づけることを可能にする。この関連づけは終点
が生成されるときに起きる。終点生成はソケットと不変
のままのプロトコルとの静的な関連づけを意味する。し
かしながら、前記参照された出願に記述されているよう
に、異質の接続を容易にする多重プロトコル環境では、
転送終点はその終点の生成後に幾つかの使用できるプロ
トコルのどれかに縛られることを必要とすることがあ
る。よって、このような環境でソケットが使用されるこ
とになっている場合、ソケットとプロトコルの動的な関
連づけを可能にする新しいソケット構造が考案されなけ
ればならない。本発明はこのようなソケット構造を開示
する。
【0007】
【発明が解決しようとする課題】本発明の第1の目的は
分散された環境で終点と転送プロトコルとの後の結合を
容易にする方法及び装置を提供することにある。
分散された環境で終点と転送プロトコルとの後の結合を
容易にする方法及び装置を提供することにある。
【0008】本発明の第2の目的はアプリケーションに
よるプロトコルの生得のアクセスを可能にする方法及び
装置を提供することにある。
よるプロトコルの生得のアクセスを可能にする方法及び
装置を提供することにある。
【0009】本発明の第3の目的はプロトコルに対する
非生得の接続に必要な情報を提供する方法及び装置を提
供することにある。
非生得の接続に必要な情報を提供する方法及び装置を提
供することにある。
【0010】
【課題を解決するための手段】前記及びその他の目的、
特性及び利点は、ネットワーク中のノード間で実際に接
続が行われる時点までに使用するプロトコルに関する決
定を提議する新しいソケット構造により達成される。多
重プロトコルネットワークでは、新しいソケット構造は
各終点に生成できる。潜在的にデータの送受信に用い得
る全てのプロトコルは新しいソケットが生成される時点
でプロトコル制御ブロックを生成する要求を送られる。
選択プロセスは潜在的にどのプロトコルが所与の終点で
使用できるかを決定する。そして新たな終点のソケット
は選択されたプロトコルの各々に関する情報を含む。接
続が確立される時点で、選択されたプロトコルはどれも
使用できる。生得又は非生得の接続を行うことができ
る。どのプロトコルを用いるべきかの選択又はプロトコ
ル選択の順序は、構成、局所キャッシュ、又は指名され
たサービス装置からの情報を介したユーザ選択に基づく
ことができる。
特性及び利点は、ネットワーク中のノード間で実際に接
続が行われる時点までに使用するプロトコルに関する決
定を提議する新しいソケット構造により達成される。多
重プロトコルネットワークでは、新しいソケット構造は
各終点に生成できる。潜在的にデータの送受信に用い得
る全てのプロトコルは新しいソケットが生成される時点
でプロトコル制御ブロックを生成する要求を送られる。
選択プロセスは潜在的にどのプロトコルが所与の終点で
使用できるかを決定する。そして新たな終点のソケット
は選択されたプロトコルの各々に関する情報を含む。接
続が確立される時点で、選択されたプロトコルはどれも
使用できる。生得又は非生得の接続を行うことができ
る。どのプロトコルを用いるべきかの選択又はプロトコ
ル選択の順序は、構成、局所キャッシュ、又は指名され
たサービス装置からの情報を介したユーザ選択に基づく
ことができる。
【0011】
【実施例】ソケットに基づいた構造について以下に説明
するが、本発明はソケットに限定されるものではなく、
他のオペレーティングシステムにおける類似の通信終点
オブジェクトにも適用できる。
するが、本発明はソケットに限定されるものではなく、
他のオペレーティングシステムにおける類似の通信終点
オブジェクトにも適用できる。
【0012】下記の説明は当業者が本発明を理解しうる
ように通常のソケット及びネットワーク構成の適切な開
示を含むけれども、UNIXのBerkeley版に基づいたオペレ
ーティングシステムをより完全な理解するためには、読
者は "The Design and Implementation of the 4.3 BSD
UNIX Operating Systems", by S.J. Leffer et al.,19
89 を参照されたい。前記オペレーティングシステムは
よく知られている。
ように通常のソケット及びネットワーク構成の適切な開
示を含むけれども、UNIXのBerkeley版に基づいたオペレ
ーティングシステムをより完全な理解するためには、読
者は "The Design and Implementation of the 4.3 BSD
UNIX Operating Systems", by S.J. Leffer et al.,19
89 を参照されたい。前記オペレーティングシステムは
よく知られている。
【0013】図1は3つのシングルプロトコルネットワ
ーク10、12及び14が本発明の原理に従って構築されたゲ
ートウェイを介して相互接続されていることを示す。ネ
ットワークで分散された環境の成長により、4つ又は5
つの異なるプロトコル、例えばTCP/IP、NetBIOS、SNA又
はAppleTALK を用いるネットワークを見ることはまれで
はない。1つのネットワーク上を走行するアプリケーシ
ョンが他のネットワーク上のアプリケーションとともに
走行することはあまりないから、ネットワーク中くまな
くデータを転送することが妨げられる。前述のように、
前記参照された出願に記述された前記多重プロトコル転
送ネットワーク(MPTN)16はこれらの問題と取組むため
に、複数の転送プロトコルを横切る接続を提供する転送
サービスのセットに対するインタフェース及び補償機構
を定義する。システムに存在するネットワークとアプリ
ケーションの間に転送境界を設けることにより、MPTNは
アプリケーションからのメッセージをネットワーク中の
プロトコルのどれかにより転送できるように共有の転送
インタフェースを提供する。
ーク10、12及び14が本発明の原理に従って構築されたゲ
ートウェイを介して相互接続されていることを示す。ネ
ットワークで分散された環境の成長により、4つ又は5
つの異なるプロトコル、例えばTCP/IP、NetBIOS、SNA又
はAppleTALK を用いるネットワークを見ることはまれで
はない。1つのネットワーク上を走行するアプリケーシ
ョンが他のネットワーク上のアプリケーションとともに
走行することはあまりないから、ネットワーク中くまな
くデータを転送することが妨げられる。前述のように、
前記参照された出願に記述された前記多重プロトコル転
送ネットワーク(MPTN)16はこれらの問題と取組むため
に、複数の転送プロトコルを横切る接続を提供する転送
サービスのセットに対するインタフェース及び補償機構
を定義する。システムに存在するネットワークとアプリ
ケーションの間に転送境界を設けることにより、MPTNは
アプリケーションからのメッセージをネットワーク中の
プロトコルのどれかにより転送できるように共有の転送
インタフェースを提供する。
【0014】図1に示すように、多重プロトコル転送ネ
ットワーク16にホスト20及び22が接続される。MPTN 16
はあたかもシングルプロトコルを有する単一の論理的な
ネットワークであるかのように見えるが、ホスト20はプ
ロトコル X、例えば、TCP/IPを介して通信する第1のネ
ットワーク10に接続され、ホスト22はプロトコル Y、例
えば、NetBIOS を介して通信する第2のネットワーク12
に接続される。
ットワーク16にホスト20及び22が接続される。MPTN 16
はあたかもシングルプロトコルを有する単一の論理的な
ネットワークであるかのように見えるが、ホスト20はプ
ロトコル X、例えば、TCP/IPを介して通信する第1のネ
ットワーク10に接続され、ホスト22はプロトコル Y、例
えば、NetBIOS を介して通信する第2のネットワーク12
に接続される。
【0015】MPTNネットワーク16に接続されたホスト20
の1つに存在するアプリケーションプログラムA 24はネ
ットワーク16に接続されたもう1つのホスト22に存在す
るアプリケーションプログラムB 26と通信したいと欲す
る。ソケット層27に対するアプリケーションプログラム
A 24の呼出しで、ソケット層27によりソケットが生成さ
れアプリケーションプログラムA を終点として定義す
る。ソケットはそれらのタイプ、転送層28で用いられる
支援プロトコル及びそれらの状態に関する情報を含む。
接続要求が転送層28、ネットワーク層29及びネットワー
クインタフェース層30を通り、所要の制御及びデータ情
報を付加したのち、メッセージがネットワーク54 (図示
せず) に送出される。プロトコルQ とプロトコルX の間
の差異に対する補償は前記参照された出願に記述された
転送層により実行される。
の1つに存在するアプリケーションプログラムA 24はネ
ットワーク16に接続されたもう1つのホスト22に存在す
るアプリケーションプログラムB 26と通信したいと欲す
る。ソケット層27に対するアプリケーションプログラム
A 24の呼出しで、ソケット層27によりソケットが生成さ
れアプリケーションプログラムA を終点として定義す
る。ソケットはそれらのタイプ、転送層28で用いられる
支援プロトコル及びそれらの状態に関する情報を含む。
接続要求が転送層28、ネットワーク層29及びネットワー
クインタフェース層30を通り、所要の制御及びデータ情
報を付加したのち、メッセージがネットワーク54 (図示
せず) に送出される。プロトコルQ とプロトコルX の間
の差異に対する補償は前記参照された出願に記述された
転送層により実行される。
【0016】図2は多重プロトコル転送ネットワークに
接続されるコンピュータシステムにおけるメモリ内のコ
ードモジュールをより詳細に示す。ソケットプログラミ
ングアプリケーション60及び共有転送意味規則62はソケ
ット層に対応し且つアプリケーション64、66、68をサー
ビスドライバ70、72、74から分離する。アプリケーショ
ン層には3つのタイプのアプリケーション64、66、68が
示される。本発明のソケット構造を利用するために、Ne
tBIOS アプリケーションはソケットAPI に再書込みさ
れ、NetBIOS ソケットアプリケーション66になる。標準
的な局所IPC ソケットアプリケーション64及びTCP/IPア
プリケーション68が既に規格化されたソケットプログラ
ミングインタフェースに書込まれているので最小の変更
しか必要としない。共有転送意味規則62は、以下に詳述
されるソケット制御ブロックを含む。ソケット層と転送
層の間のインタフェースは、アプリケーション層でアプ
リケーションに対応する局所IPC サービスドライバ70、
NetBIOS サービスドライバ72及びINetサービスドライバ
74を含む。サービスドライバは転送層で転送プロトコル
ドライバの共有転送意味規則をエミュレートするのに用
いられる。本発明では、それらは前記参照された出願に
記述された、アプリケーションによる第1のプロトコル
のために意図されたメッセージをネットワークにより支
援された第2のプロトコルに変換する、補償手段を含む
こともある。転送層は、アプリケーションメッセージに
プロトコルフォーマットを確認させるNetBIOS 76及びTC
P/IP 78プロトコルドライバを含む。対応する局所IPC
モジュールは、メッセージがネットワークに存在しない
局所プロトコルを記述するときは存在しない。ネットワ
ーク層及びネットワークインタフェース層には描かれて
いないが、後者にはコンピュータシステムをネットワー
ク、例えばトークンリング又はエサーネット(ethernet)
ドライバに接続するI/O ハードウェアの装置ドライバが
含まれ、前者には周知のNDISインタフェースに書込まれ
たドライバが含まれることがある。
接続されるコンピュータシステムにおけるメモリ内のコ
ードモジュールをより詳細に示す。ソケットプログラミ
ングアプリケーション60及び共有転送意味規則62はソケ
ット層に対応し且つアプリケーション64、66、68をサー
ビスドライバ70、72、74から分離する。アプリケーショ
ン層には3つのタイプのアプリケーション64、66、68が
示される。本発明のソケット構造を利用するために、Ne
tBIOS アプリケーションはソケットAPI に再書込みさ
れ、NetBIOS ソケットアプリケーション66になる。標準
的な局所IPC ソケットアプリケーション64及びTCP/IPア
プリケーション68が既に規格化されたソケットプログラ
ミングインタフェースに書込まれているので最小の変更
しか必要としない。共有転送意味規則62は、以下に詳述
されるソケット制御ブロックを含む。ソケット層と転送
層の間のインタフェースは、アプリケーション層でアプ
リケーションに対応する局所IPC サービスドライバ70、
NetBIOS サービスドライバ72及びINetサービスドライバ
74を含む。サービスドライバは転送層で転送プロトコル
ドライバの共有転送意味規則をエミュレートするのに用
いられる。本発明では、それらは前記参照された出願に
記述された、アプリケーションによる第1のプロトコル
のために意図されたメッセージをネットワークにより支
援された第2のプロトコルに変換する、補償手段を含む
こともある。転送層は、アプリケーションメッセージに
プロトコルフォーマットを確認させるNetBIOS 76及びTC
P/IP 78プロトコルドライバを含む。対応する局所IPC
モジュールは、メッセージがネットワークに存在しない
局所プロトコルを記述するときは存在しない。ネットワ
ーク層及びネットワークインタフェース層には描かれて
いないが、後者にはコンピュータシステムをネットワー
ク、例えばトークンリング又はエサーネット(ethernet)
ドライバに接続するI/O ハードウェアの装置ドライバが
含まれ、前者には周知のNDISインタフェースに書込まれ
たドライバが含まれることがある。
【0017】ソケットはメッセージが送受信されるBerk
eley版のUNIXのオブジェクトである。ファイルシステム
内でファイルが生成されるように、通信域内でソケット
が生成される。通信域はプロトコルのセット、命名変換
を要約し、特定のネットワークかも知れないハードウェ
アは通信域を参照するアドレスを使用できる。アドレス
族 AF_INETにより指定されたインターネット域、NetBIO
S 域はアドレス族AF_NETBIOSにより参照される。接続は
送信ソケットの識別属性を各パケットのデータとともに
送信することを必要としない手段である。各通信終点の
識別属性はデータの伝送前に交換され且つ送受信ノード
に維持されるので、各終点に分散されたアプリケーショ
ンはいつでもソケット情報を要求できる。
eley版のUNIXのオブジェクトである。ファイルシステム
内でファイルが生成されるように、通信域内でソケット
が生成される。通信域はプロトコルのセット、命名変換
を要約し、特定のネットワークかも知れないハードウェ
アは通信域を参照するアドレスを使用できる。アドレス
族 AF_INETにより指定されたインターネット域、NetBIO
S 域はアドレス族AF_NETBIOSにより参照される。接続は
送信ソケットの識別属性を各パケットのデータとともに
送信することを必要としない手段である。各通信終点の
識別属性はデータの伝送前に交換され且つ送受信ノード
に維持されるので、各終点に分散されたアプリケーショ
ンはいつでもソケット情報を要求できる。
【0018】あるプロトコルのソケット終点をアプリケ
ーションが生成し、転送ネットワークにより選択された
プロトコルが当該プロトコルと一致すると、生得のネッ
トワーク動作が生じている。例えば、INetプロトコルは
INetアドレス族をサポートするために用いられ且つNetB
IOS はNetBIOS アドレス族をサポートする。他方、転送
プロトコルはアプリケーションのソケット終点と一致し
ないとき非生得のネットワーク動作と呼ばれる。しかし
ながら、本発明を用いるアプリケーションは、別の転送
プロトコルがネットワーク中の他のノードとの接続に用
いられていることに気がつかない。
ーションが生成し、転送ネットワークにより選択された
プロトコルが当該プロトコルと一致すると、生得のネッ
トワーク動作が生じている。例えば、INetプロトコルは
INetアドレス族をサポートするために用いられ且つNetB
IOS はNetBIOS アドレス族をサポートする。他方、転送
プロトコルはアプリケーションのソケット終点と一致し
ないとき非生得のネットワーク動作と呼ばれる。しかし
ながら、本発明を用いるアプリケーションは、別の転送
プロトコルがネットワーク中の他のノードとの接続に用
いられていることに気がつかない。
【0019】本発明では、分散されたアプリケーション
の写し又は種々の転送プロトコルを用いる顧客/サーバ
ーアプリケーションの顧客及びサーバー部分の間を接続
するためにソケットインタフェースが用いられる。アプ
リケーションは転送プロトコルの選択又はソケット層に
よるプロトコルの決定を要求できる。本発明の非生得の
ネットワーク動作特性により、1つのプロトコルを用い
て互いに通信するように記述されたアプリケーション
は、そのネットワーク環境のために最適化できる別の転
送プロトコルで通信するように選択できる。例えば、TC
P/IPのために記述されたアプリケーションはネットワー
クを介してNetBIOS プロトコルを伝達できるので、分散
されたアプリケーションにかなりの性能利得を与える。
の写し又は種々の転送プロトコルを用いる顧客/サーバ
ーアプリケーションの顧客及びサーバー部分の間を接続
するためにソケットインタフェースが用いられる。アプ
リケーションは転送プロトコルの選択又はソケット層に
よるプロトコルの決定を要求できる。本発明の非生得の
ネットワーク動作特性により、1つのプロトコルを用い
て互いに通信するように記述されたアプリケーション
は、そのネットワーク環境のために最適化できる別の転
送プロトコルで通信するように選択できる。例えば、TC
P/IPのために記述されたアプリケーションはネットワー
クを介してNetBIOS プロトコルを伝達できるので、分散
されたアプリケーションにかなりの性能利得を与える。
【0020】図3は従来のソケット制御ブロックを示
す。ソケット制御ブロック100 は、送受信データキュ
ー、それらのタイプ、サポートするプロトコル、それら
の状態及びソケット識別子を含むソケットに関する情報
を含む。ソケット制御ブロック100 はプロトコル切替え
テーブルポインタ104 及びプロトコル制御ブロックポイ
ンタ106 を含む。これらのポインタはプロトコル切替え
テーブル (図示せず) 及びプロトコル制御ブロック102
をそれぞれ含む。プロトコル切替えテーブルはプロトコ
ル関連の情報、例えばプロトコルへの入力点、プロトコ
ルの特性、ソケットの動作に関連するその動作の一定の
状況等を含む。ソケット層はプロトコル切替えテーブル
を介して転送層中のプロトコルと対話する。ユーザ要求
ルーチンPR_USRREQ はプロトコルとソケットの間のイン
タフェースである。プロトコル制御ブロックはそのプロ
トコルで用いられ且つそのプロトコルに従属するプロト
コル特有の情報を含む。
す。ソケット制御ブロック100 は、送受信データキュ
ー、それらのタイプ、サポートするプロトコル、それら
の状態及びソケット識別子を含むソケットに関する情報
を含む。ソケット制御ブロック100 はプロトコル切替え
テーブルポインタ104 及びプロトコル制御ブロックポイ
ンタ106 を含む。これらのポインタはプロトコル切替え
テーブル (図示せず) 及びプロトコル制御ブロック102
をそれぞれ含む。プロトコル切替えテーブルはプロトコ
ル関連の情報、例えばプロトコルへの入力点、プロトコ
ルの特性、ソケットの動作に関連するその動作の一定の
状況等を含む。ソケット層はプロトコル切替えテーブル
を介して転送層中のプロトコルと対話する。ユーザ要求
ルーチンPR_USRREQ はプロトコルとソケットの間のイン
タフェースである。プロトコル制御ブロックはそのプロ
トコルで用いられ且つそのプロトコルに従属するプロト
コル特有の情報を含む。
【0021】図4に示す本発明によるソケット制御ブロ
ック110 は、大部分が上記の従来のソケット制御ブロッ
クと同じメインソケット制御ブロック及び本発明に必要
な特性の多くを含むMPTN拡張部分112 から成る2つのセ
クションに分割されている。両者は多重プロトコル転送
ネットワーク拡張部分113 で互いにリンクされる。デー
タの送受信に潜在的に用い得るプロトコルの各々は、新
しいソケットが生成される時点でプロトコル制御ブロッ
ク120、122を生成する要求を送られる。選択手順の後、
新しいソケットは各選択されたプロトコルに関する情
報: プロトコル切替えテーブルポインタ114、118、プロ
トコル制御ブロックポインタ116、119及び、特定のプロ
トコル (図示せず) に適用できる場合、インタフェース
アドレスに対するポインタを含む。よって、プロトコル
切替えテーブルポインタは当該プロトコルの種々の入口
点を与えるそれぞれのプロトコル切替えテーブルを参照
する。又、プロトコル制御ブロック120、122はプロトコ
ル特有の情報を含む。
ック110 は、大部分が上記の従来のソケット制御ブロッ
クと同じメインソケット制御ブロック及び本発明に必要
な特性の多くを含むMPTN拡張部分112 から成る2つのセ
クションに分割されている。両者は多重プロトコル転送
ネットワーク拡張部分113 で互いにリンクされる。デー
タの送受信に潜在的に用い得るプロトコルの各々は、新
しいソケットが生成される時点でプロトコル制御ブロッ
ク120、122を生成する要求を送られる。選択手順の後、
新しいソケットは各選択されたプロトコルに関する情
報: プロトコル切替えテーブルポインタ114、118、プロ
トコル制御ブロックポインタ116、119及び、特定のプロ
トコル (図示せず) に適用できる場合、インタフェース
アドレスに対するポインタを含む。よって、プロトコル
切替えテーブルポインタは当該プロトコルの種々の入口
点を与えるそれぞれのプロトコル切替えテーブルを参照
する。又、プロトコル制御ブロック120、122はプロトコ
ル特有の情報を含む。
【0022】ソケット生成の時点で、アプリケーション
終点と特定のプロトコルとの接続は行われない。接続は
要求アプリケーションの接続要求ソケットと接続受入ソ
ケットを関連づけることを意味する。それは潜在的に2
つの異なる領域で "接続" される2つのソケットの間を
走行し、両ソケットにメッセージを送受信する能力を与
える通信線とみなされる。本発明の送信ソケットと受信
ソケットの間には差異がない。接続後、各ソケットはデ
ータを送信又は受信できる。
終点と特定のプロトコルとの接続は行われない。接続は
要求アプリケーションの接続要求ソケットと接続受入ソ
ケットを関連づけることを意味する。それは潜在的に2
つの異なる領域で "接続" される2つのソケットの間を
走行し、両ソケットにメッセージを送受信する能力を与
える通信線とみなされる。本発明の送信ソケットと受信
ソケットの間には差異がない。接続後、各ソケットはデ
ータを送信又は受信できる。
【0023】どのプロトコルを使用するかの決定は接続
が実際に行われる時点まで延期される。接続を確立する
時点で、プロトコル中のネットワークインタフェースの
どれかを使用することができる。プロトコル及びネット
ワークインタフェースを参照するポインタの順序は、ユ
ーザの選択、指名されたサービス装置又はプロトコルの
能力、ポインタ 114、116、118及び 119を含み且つソケ
ット及び多重プロトコル転送ネットワークに関する状態
情報も含むソケット拡張部分 112からの情報に基づいて
いる。ソケット拡張部分112 はソケット層で用いられ、
ソケット及びMPTN状態を管理する。使用できるプロトコ
ルのリストから、下記のソケット生成の流れ図に示すよ
うに、ソケット層は要求されたソケット域及び通信のタ
イプ (データグラム、ストリーム等) をサポートするプ
ロトコルを取り上げる。
が実際に行われる時点まで延期される。接続を確立する
時点で、プロトコル中のネットワークインタフェースの
どれかを使用することができる。プロトコル及びネット
ワークインタフェースを参照するポインタの順序は、ユ
ーザの選択、指名されたサービス装置又はプロトコルの
能力、ポインタ 114、116、118及び 119を含み且つソケ
ット及び多重プロトコル転送ネットワークに関する状態
情報も含むソケット拡張部分 112からの情報に基づいて
いる。ソケット拡張部分112 はソケット層で用いられ、
ソケット及びMPTN状態を管理する。使用できるプロトコ
ルのリストから、下記のソケット生成の流れ図に示すよ
うに、ソケット層は要求されたソケット域及び通信のタ
イプ (データグラム、ストリーム等) をサポートするプ
ロトコルを取り上げる。
【0024】ソケット制御ブロック構造の例が下記の表
のコードで与えられる(表中に現れる英文字の列はコマ
ンドなどを表す記号であり、翻訳できない)。
のコードで与えられる(表中に現れる英文字の列はコマ
ンドなどを表す記号であり、翻訳できない)。
【0025】
【表1】 /* socketva.h..... * ソケット毎のカーネル構造. * 送受バッファキューを含む, * プロトコル専用データ,エラー情報及びMPTN拡張部分に対するプロトコル及び ポインタで処理する. * この構造の (so_mptn フィールドまでの) 最初の部分はBSD4.3ソケット制御 ブロックと同じである. */ ソケット構造 { short so_type; /* 汎用タイプ, ソケットh参照 */ short so_options; /* ソケット呼出しから,ソケットh参照 */ short so_linger; /* クローズ中にたたずむ時間 */ short so_state; /* 内部状態フラグ SS_*, 下記 */ caddr_t so_pcb; /* プロトコル制御ブロック */ struct protosw far *so proto; /* プロトコル処理 */ /* * 接続キューの変数. * 受入が起きるソケットは全ての従属ソケットでso_head である. so_headが 0 の場合,ソケットは受入に関連しない. ヘッドソケットの場合,so_q0 キューは部 分的に接続を終了した. so_qが接続のキューである間,受入できる. 接続が打切 られ且つそれがso_headセットを有する場合,それはso_q0 又はso_qから引出され る必要がある. 現在のキュー長に基づいてキューアップし, 且つこのソケットの キューされた接続の数に限定する接続を可能にする. */ struct socket far *so_head; /* ソケットを受入れるバックポインタ */ struct socket far *so_q0; /* 部分接続のキュー */ struct socket far *so_q; /* 入って来る接続のキュー */ short so_q0len; /* so_q0 上の部分 */ short so_qlen; /* so_q上の接続の数 */ short so_qlimit; /* 最大数のキューされた接続 */ short so_timeo; /* 接続タイムアウト */ u_short so_error; /* エラーが影響する接続 */ short so_pqrp; /* 信号のpqrp */ u_long so_oobmark; /* oob 記号に対する文字 */ /* ソケット緩衝の変数. */ struct sockbuf { u_long sb_cc; /* バッファ内の実際の文字 */ u_long sb_hiwat; /* 実際の最大文字カウント */ u_long sb_mbcnt; /* 使用したmbufsの文字 */ u_long sb_mbmax; /* 使用するmbufsの最大文字 */ u_long sb_lowat; /* 低い水記号 (未使用) */ struct mbuf far *sb_mb; /* the mbufチェイン */ struct proc far *sb_sel; /* 読書を選択するプロセス */ short sb_timeo; /* タイムアウト (未使用) */ short sb_flags; /* フラグ, 下記参照 */ } so_rcv, so_snd; /* MPTNソケット拡張部分 */ STRUCT m_esock far * so_mptn; /* ソケットMPTN拡張部分 */ #define SB_MAX ((u_long)(64*1024L)) /* ソケット中の最大文字 */ #define SB_LOCK 0x01 /* データキュー(so_rcvのみ)にロック */ #define SB_WANT 0X02 /* 誰かがロックを待っている */ #define SB_WAIT 0X04 /* 誰かがデータ/空間を待っている */ #define SB_SEL 0X08 /* バッファが選択される */ #define SB_COLL 0X10 /* 衝突選択 */ }; /* MPTNのソケット拡張部分 * ソケット制御ブロックは,この全てのMPTN関連ソケット拡張部分を含む構 造を含む. m_esock,ソケットに対するMPTN拡張部分は1つのmbufに含まれるから ,pcb ポインタに適応するmbuf空間の残りを使用できる. */ /* 追加のポインタを記憶する構造を定義する. m_esockで用いる. 構造m_a ddrはアドレスフォーマットを定義する.それはmptndef.hで定義される. 構造m_i nfoはユーザ指定の接続特性を定義し,且つmptndef.hで定義される. 構造bnlstは ユーザ構成プロトコル選択リストを定義し,且つmptndef.h で定義される. */ struct m_sopcb { struct protosw far * so_proto; /* プロトコル切替えptr */ caddr_t so_pcb; /* PCBのポインタ */ struct m_addr far * so_bnsap; /* PCBが参照するネットワークイン タフェース */ }; struct m_conn_stat { 文字タイプ; /* DST_BNSAP_FOUND,USE_PREF_LIST,CACHE, GW_NEXT_HOP, GW_BNSAP */ 文字索引; /* 現在のネットワーク...prefリストへの索引そのもののよ うな */ caddr_t ftnam; /* 宛先名..ABMの場合,ゲートウェイの場合,それはdst _b_namではある. 生得の場合又はキャッシュの場合、宛先A-addrを含む. */ struct bnlst far *prflst; /* prefリストに対するポインタ */ }; struct m_esock { int (* so_upcall ) (); /* ユーザ upcall アドレス */ struct ソケット far * so_relay; /* リレーソケットポインタ: ゲートウェ イのみの場合 */ struct m_info far * so_info; /* m_create()で与えられた接続文字 */ struct m_info far * so_cinfo; /* 接続のconn.char */ short so_domain; /* ユーザ指定域 */ struct m_addr far * so_lanam; /* 局所ユーザ名 */ struct m_addr far * so_lanam; /* 対等ユーザ名 */ struct mbuf far * so_ctdata; /* 接続/終了データ */ struct mbuf far * so_expdat; /* 急送データ */ struct ソケット far * so_next; /* ユーザ名を探索するリンクされた非生 得のscbs.のリスト */ unsigned so_mptn_flag; /* 後続するdefsを有するmptnフラグ */ struct m_conn_stat conn_stat; /* mptn接続状況の維持のために */ short so_pcbnum ; /* 現にsopcb[]にあるpcbsの数 */ long so_pcbstat; /* pcb状態:ビット位置はpcbアレイに対応する; 0=> 使 用中; else 使用中ではない */ struct m_sopcb sopcb [MPTN_MAXPCB];/* m_sopcb構造のアレイ */ #define MPTN_NONNATIVE 0x01 /* 非生得の接続を示す */ #define MPTN_NATIVE 0x02 /* 生得の接続を示す */ #define MPTN_SO_BIND 0x04 /* ソケットmptn状態=>アドレス境界 */ #define MPTN_SO_UNBIND 0x08 /* ソケットmptn状態=>アドレス境界なし */ #define MPTN_SO_CONN 0x10 /* ソケットmptn状態=>接続要求が行われる */ #define MPTN_SO_NOMORE_CONN 0x20 /* =>他のネットワーク/プロトコルにわた るこれ以上の再試行はない */ #define MPTN_SO_LISTEN 0x40 /* 受動的なソケットの初期状態 */ #define MPTN_SO_CON_HEAD_WAIT 0x80 /* MPTN接続見出しを待つ生得の接続セッ トアップ */ #define MPTN_SO_CON_HEAD_RCVD 0x0100 /* 受動ノード...mptn接続rcvd..*/ #define MPTN_SO_CON_HEAD_SENT 0x0200 /* 能動ノード...mptn接続sent..*/ #define MPTN_SO_CON_ESTABLISHED 0x0400 /* 接続確立... */ #define MPTN_SO_CLOSED 0x0800 /* 局所ソケット close issued */ #define MPTN_SO_BCAST_RCV 0x1000 /* ソケットは同報通信dgmsの受信が可能 になる */ #define MPTN_SO_IN_ADDR_ANY 0x2000 /* ソケットはin_addr_anyに制限される */ }; /* * ソケット状態ビット. */ #define SS_NOFDREF 0x001 /* これ以上のファイルテーブル参照はない */ #define SS_ISCONNECTED 0x002 /* 対等に接続されたソケット */ #define SS_ISCONNECTING 0x004 /* 対等に接続するプロセスで */ #define SS_ISDISCONNECTING 0x008 /* 遮断するプロセスで */ #define SS_CANTSENDMORE 0x010 /* 対等へのこれ以上のデータ送信不可 */ #define SS_CANTRCVMORE 0x020 /* 対等からのこれ以上のデータ受信不可 */ #define SS_RCVATMARK 0x040 /* 入力上の記号で */ #define SS_PRIV 0x080 /* 同報通信の特権, 生... */ #define SS_NBIO 0x100 /* 非ブロッキング動作 */ #define SS_ASYNC 0x200 /* 非同期入出力通知 */ #define SS_CANCEL 0x4000 /* 取消し要求 */ #define SS_PUSHSEEN 0x8000 /* 押込みを見た */ /* 残りの情報はBSD4.3 socketva.hにあるものと同じ */ (著作権 IBM Corp. 1993) 従来のソケット生成はソケットAPI の呼出しにより開始
する。アプリケーションで所望されるアドレス族、その
タイプ及びプロトコルの域テーブルが探索される。一致
が存在する場合、プロトコル切替えテーブルエントリが
ソケット制御ブロック内にセットされる。次に、ユーザ
がエントリを要求し、そして選択されたプロトコルがプ
ロトコル制御ブロックを生成するために呼出される。ア
プリケーションで所望されたアドレス族、タイプ及びプ
ロトコルの域テーブルに一致が存在しない場合、アプリ
ケーションにエラーが返送される。
する。アプリケーションで所望されるアドレス族、その
タイプ及びプロトコルの域テーブルが探索される。一致
が存在する場合、プロトコル切替えテーブルエントリが
ソケット制御ブロック内にセットされる。次に、ユーザ
がエントリを要求し、そして選択されたプロトコルがプ
ロトコル制御ブロックを生成するために呼出される。ア
プリケーションで所望されたアドレス族、タイプ及びプ
ロトコルの域テーブルに一致が存在しない場合、アプリ
ケーションにエラーが返送される。
【0026】図5は本発明に従ってソケットを生成する
プロセスを示す。このプロセスはネットワークを横切っ
てデータを送受信したいアプリケーションからソケット
APIへのソケット生成要求150で開始する。ソケットAPI
に対する要求のコマンドはソケット=(AF, *, type, pr
oto)の形式をとる。"AF"はアドレス族及び通信域を指
し、"type"はシステム見出しファイルで定義されたソケ
ットタイプの1つを指す。"proto" 即ちプロトコルパラ
メータは特定のプロトコルが用いられる予定であること
を示すのに用いられる。ステップ152 で、"proto" が指
定されているかどうかを判定する検査が実行される。も
しそうなら、ステップ154 で、通常のソケット生成プロ
セス実行され、ステップ155 で、プロセスが終了する。
プロセスを示す。このプロセスはネットワークを横切っ
てデータを送受信したいアプリケーションからソケット
APIへのソケット生成要求150で開始する。ソケットAPI
に対する要求のコマンドはソケット=(AF, *, type, pr
oto)の形式をとる。"AF"はアドレス族及び通信域を指
し、"type"はシステム見出しファイルで定義されたソケ
ットタイプの1つを指す。"proto" 即ちプロトコルパラ
メータは特定のプロトコルが用いられる予定であること
を示すのに用いられる。ステップ152 で、"proto" が指
定されているかどうかを判定する検査が実行される。も
しそうなら、ステップ154 で、通常のソケット生成プロ
セス実行され、ステップ155 で、プロセスが終了する。
【0027】"proto" が指定されていない場合、プロセ
スは多重プロトコルソケットを生成し続ける。各プロト
コルはプロトコル切替えテーブルと関連づけられる。ス
テップ155 で、プロトコル切替えテーブル毎にプロトコ
ルにより要求終点のタイプ及びアドレス族が一致するか
どうかの検査、ステップ158及び160が実行される。ステ
ップ158で "type"一致の検査が実行される。検査が失敗
の場合、ステップ156に戻り、プロセスは次のプロトコ
ル切替えテーブルに進む。検査が成功の場合、ステップ
160 に進み、アドレス族一致の検査が実行される。"typ
e"及び"family"はどちらも整数として表示される。突合
わせにより、ソケット層はユーザが供給した"type"及
び"address family"フィールドとプロトコル中の"type"
及び"address family"フィールドを比較する。タイプ及
びアドレス族がどちらも一致する場合、ステップ162
で、そのプロトコルが候補プロトコルとして選択され、
プロトコル切替えテーブル及びプロトコル制御ブロック
に対するポインタを有するソケット拡張部分でセットさ
れる。一致しない場合、ステップ164 で、プロセスはネ
ットワークでアドレス族が非生得的にサポートされてい
るかどうかを判定する。ステップ166でプロトコルがサ
ポートされている場合、ステップ162で、プロトコルが
候補プロトコルとして選択され、プロトコル切替えテー
ブル及びプロトコル制御ブロックに対するポインタを有
するソケット拡張部分でセットされる。ステップ166で
プロトコルがサポートされていない場合、ステップ168
で、それが最後のプロトコル切替えテーブルであるかど
うかを判定する検査が実行される。それが最後のテーブ
ルではない場合、プロセスはステップ156 に戻る。それ
が最後のプロトコル切替えテーブルである場合、ステッ
プ170 でプロセスは終了する。プロトコルポインタは構
成ツールの使用によるアプリケーション又はユーザ選択
によるか指名サーバーからの情報により拡張部分で再順
序づけできる。
スは多重プロトコルソケットを生成し続ける。各プロト
コルはプロトコル切替えテーブルと関連づけられる。ス
テップ155 で、プロトコル切替えテーブル毎にプロトコ
ルにより要求終点のタイプ及びアドレス族が一致するか
どうかの検査、ステップ158及び160が実行される。ステ
ップ158で "type"一致の検査が実行される。検査が失敗
の場合、ステップ156に戻り、プロセスは次のプロトコ
ル切替えテーブルに進む。検査が成功の場合、ステップ
160 に進み、アドレス族一致の検査が実行される。"typ
e"及び"family"はどちらも整数として表示される。突合
わせにより、ソケット層はユーザが供給した"type"及
び"address family"フィールドとプロトコル中の"type"
及び"address family"フィールドを比較する。タイプ及
びアドレス族がどちらも一致する場合、ステップ162
で、そのプロトコルが候補プロトコルとして選択され、
プロトコル切替えテーブル及びプロトコル制御ブロック
に対するポインタを有するソケット拡張部分でセットさ
れる。一致しない場合、ステップ164 で、プロセスはネ
ットワークでアドレス族が非生得的にサポートされてい
るかどうかを判定する。ステップ166でプロトコルがサ
ポートされている場合、ステップ162で、プロトコルが
候補プロトコルとして選択され、プロトコル切替えテー
ブル及びプロトコル制御ブロックに対するポインタを有
するソケット拡張部分でセットされる。ステップ166で
プロトコルがサポートされていない場合、ステップ168
で、それが最後のプロトコル切替えテーブルであるかど
うかを判定する検査が実行される。それが最後のテーブ
ルではない場合、プロセスはステップ156 に戻る。それ
が最後のプロトコル切替えテーブルである場合、ステッ
プ170 でプロセスは終了する。プロトコルポインタは構
成ツールの使用によるアプリケーション又はユーザ選択
によるか指名サーバーからの情報により拡張部分で再順
序づけできる。
【0028】図6で、多重プロトコルソケットを用いる
接続を確立するプロセスを説明する。プロセスはステッ
プ200 で開始され、ソケット層はソケット拡張部分にあ
るプロトコルのリストからの最初のプロトコルを用いる
指定された宛先との接続を試みる。プロトコルのどれか
の最初に試みる選択はユーザ指定の選択順位の構成に基
づくことができる。ステップ222 で接続の成功を示す場
合、プロセスはステップ223 で終了する。さもなけれ
ば、次のプロトコルが接続確立を試みてステップ224 で
用いられる。接続が行われたかどうかを判定する検査が
ステップ226 で実行される。もしそうなら、プロセスは
終了する。接続が行われていない場合、それがソケット
拡張部分にある最後のプロトコルであるかどうかを判定
する検査がステップ230 で実行される。そうでない場
合、ソケット拡張部分にある次のプロトコルがステップ
224 で検査される。ソケットを生成するとき用いられた
全てのプロトコルが接続の提供に失敗した場合、転送提
供者はステップ232 で失敗の通知をアプリケーションに
返送する。
接続を確立するプロセスを説明する。プロセスはステッ
プ200 で開始され、ソケット層はソケット拡張部分にあ
るプロトコルのリストからの最初のプロトコルを用いる
指定された宛先との接続を試みる。プロトコルのどれか
の最初に試みる選択はユーザ指定の選択順位の構成に基
づくことができる。ステップ222 で接続の成功を示す場
合、プロセスはステップ223 で終了する。さもなけれ
ば、次のプロトコルが接続確立を試みてステップ224 で
用いられる。接続が行われたかどうかを判定する検査が
ステップ226 で実行される。もしそうなら、プロセスは
終了する。接続が行われていない場合、それがソケット
拡張部分にある最後のプロトコルであるかどうかを判定
する検査がステップ230 で実行される。そうでない場
合、ソケット拡張部分にある次のプロトコルがステップ
224 で検査される。ソケットを生成するとき用いられた
全てのプロトコルが接続の提供に失敗した場合、転送提
供者はステップ232 で失敗の通知をアプリケーションに
返送する。
【0029】前述のように、本発明はローカルエリアネ
ットワーク又は広域ネットワークのようなネットワーク
の一部である複数のコンピュータでの利用を見出だす。
これらのネットワークでの特定のコンピュータの選択は
性能及び記憶要求によってのみ制限されるけれども、IB
M PS/2 (TM) シリーズのコンピュータは本発明で用いる
ことができる。IBM のPS/2シリーズのコンピュータに関
する情報については、Technical Reference Manual Per
sonal Systems/2 Model 50, 60 Systems IBM Corporati
on, Part No. 68x2224 Order Number S68X-2224 及び T
echnical Reference Manual Personal Systems/2 (Mode
l 80) IBM Corporation, Part No. 68x2256 Order Numb
er S68X-2254 を参照されたい。IBM PS/2パーソナルコ
ンピュータが走行できる1つのオペレーティングシステ
ムはIBM のOS/2 2.0 (TM) である。IBM OS/2 2.0オペレ
ーティングシステムに関する詳細な情報は、OS/2 2.0 T
echnical Library. Programming Guide Vol.1, 2, 3 V
ersoin 2.00 Order Nos. 10G6261, 10G6495, 10G6494を
参照されたい。あるいは、コンピュータシステムはAIX
(TM)オペレーティングシステムで走行するRISCシステム
/6000 (TM) 系列のコンピュータでも良い。RISCシステ
ム/6000の種々のモデルはIBM 社の多くの出版物、例え
ば RISC Systems/6000, 7073及び7016 POWER Station a
nd POWER Server Hardware Technical Reference, Orde
r No. SA23-2644-00に記述されている。AIM オペレーテ
ィングシステムは IBM 社のGeneral Concepts and Proc
edure--AIX Version 3 for RISC System/6000 Order N
o. SC23-2202-00等の出版物に記述されている。前記引
用された参照文献の代わりに、本発明の実行に利用でき
る下記のコンピュータシステムに関する一般的な説明が
読者に提供される。
ットワーク又は広域ネットワークのようなネットワーク
の一部である複数のコンピュータでの利用を見出だす。
これらのネットワークでの特定のコンピュータの選択は
性能及び記憶要求によってのみ制限されるけれども、IB
M PS/2 (TM) シリーズのコンピュータは本発明で用いる
ことができる。IBM のPS/2シリーズのコンピュータに関
する情報については、Technical Reference Manual Per
sonal Systems/2 Model 50, 60 Systems IBM Corporati
on, Part No. 68x2224 Order Number S68X-2224 及び T
echnical Reference Manual Personal Systems/2 (Mode
l 80) IBM Corporation, Part No. 68x2256 Order Numb
er S68X-2254 を参照されたい。IBM PS/2パーソナルコ
ンピュータが走行できる1つのオペレーティングシステ
ムはIBM のOS/2 2.0 (TM) である。IBM OS/2 2.0オペレ
ーティングシステムに関する詳細な情報は、OS/2 2.0 T
echnical Library. Programming Guide Vol.1, 2, 3 V
ersoin 2.00 Order Nos. 10G6261, 10G6495, 10G6494を
参照されたい。あるいは、コンピュータシステムはAIX
(TM)オペレーティングシステムで走行するRISCシステム
/6000 (TM) 系列のコンピュータでも良い。RISCシステ
ム/6000の種々のモデルはIBM 社の多くの出版物、例え
ば RISC Systems/6000, 7073及び7016 POWER Station a
nd POWER Server Hardware Technical Reference, Orde
r No. SA23-2644-00に記述されている。AIM オペレーテ
ィングシステムは IBM 社のGeneral Concepts and Proc
edure--AIX Version 3 for RISC System/6000 Order N
o. SC23-2202-00等の出版物に記述されている。前記引
用された参照文献の代わりに、本発明の実行に利用でき
る下記のコンピュータシステムに関する一般的な説明が
読者に提供される。
【0030】図7はシステム装置 311、キーボード 31
2、マウス 313及び表示装置 314を備えるコンピュータ
310を示す。表示装置 314の表示画面 316は画像変化を
データオブジェクトに提示するのに用いられる。オペレ
ーティングシステムがサポートする図形ユーザインタフ
ェースは、ユーザが表示画面 316上の特定の位置にデー
タオブジェクトを表示するアイコンにポインタ315Aを移
動させることにより指示及びシュート方法を使用しそし
てマウスボタンの1つを押してユーザコマンド即ち選択
を実行することを可能にする。
2、マウス 313及び表示装置 314を備えるコンピュータ
310を示す。表示装置 314の表示画面 316は画像変化を
データオブジェクトに提示するのに用いられる。オペレ
ーティングシステムがサポートする図形ユーザインタフ
ェースは、ユーザが表示画面 316上の特定の位置にデー
タオブジェクトを表示するアイコンにポインタ315Aを移
動させることにより指示及びシュート方法を使用しそし
てマウスボタンの1つを押してユーザコマンド即ち選択
を実行することを可能にする。
【0031】図8は図7に示されたコンピュータの構成
装置のブロック図を示す。システム装置311 には、種々
の構成装置が接続されるシステムバス又は複数のシステ
ムバス321 が設けられ、種々の構成装置の間の通信を行
う。マイクロプロセッサ322はシステムバス321 に接続
され且つ読取専用メモリ(ROM)323及びランダムアクセス
メモリ(RAM)324によりサポートされる。これらのメモリ
もシステムバス321 に接続される。IBM マルチメディア
PS/2シリーズのコンピュータにあるマイクロプロセッサ
は、386 又は486 マイクロプロセッサを含むインテル族
のマイクロプロセッサの1つである。しかしながら、モ
トローラ族のマイクロプロセッサ、例えば 68000、6802
0 又は68030 マイクロプロセッサ、ならびに IBM、ヒュ
ーレッドパッカード、サン、インテル、モトローラ等に
よる種々のリスク(RISC:縮小命令セットコンピュータの
略) マイクロプロセッサを含むがそれらに限定されない
他のマイクロプロセッサも前記特定のコンピュータで用
いうる。
装置のブロック図を示す。システム装置311 には、種々
の構成装置が接続されるシステムバス又は複数のシステ
ムバス321 が設けられ、種々の構成装置の間の通信を行
う。マイクロプロセッサ322はシステムバス321 に接続
され且つ読取専用メモリ(ROM)323及びランダムアクセス
メモリ(RAM)324によりサポートされる。これらのメモリ
もシステムバス321 に接続される。IBM マルチメディア
PS/2シリーズのコンピュータにあるマイクロプロセッサ
は、386 又は486 マイクロプロセッサを含むインテル族
のマイクロプロセッサの1つである。しかしながら、モ
トローラ族のマイクロプロセッサ、例えば 68000、6802
0 又は68030 マイクロプロセッサ、ならびに IBM、ヒュ
ーレッドパッカード、サン、インテル、モトローラ等に
よる種々のリスク(RISC:縮小命令セットコンピュータの
略) マイクロプロセッサを含むがそれらに限定されない
他のマイクロプロセッサも前記特定のコンピュータで用
いうる。
【0032】ROM 323 は対話のような基本ハードウェア
動作を制御する基本入出力システム(BIOS)及びディスク
装置及びキーボードを他のコードの間に含む。RAM 324
はオペレーティングシステム、転送提供者及びアプリケ
ーションプログラムがロードされるメインメモリであ
る。メモリ管理チップ325 はシステムバス321 に接続さ
れ、RAM 324とハードディスク装置326とフロッピーディ
スク装置327 の間のデータの受け渡しを含む直接メモリ
アクセス動作を制御する。CD ROM 332もシステムバス32
1 に接続される。
動作を制御する基本入出力システム(BIOS)及びディスク
装置及びキーボードを他のコードの間に含む。RAM 324
はオペレーティングシステム、転送提供者及びアプリケ
ーションプログラムがロードされるメインメモリであ
る。メモリ管理チップ325 はシステムバス321 に接続さ
れ、RAM 324とハードディスク装置326とフロッピーディ
スク装置327 の間のデータの受け渡しを含む直接メモリ
アクセス動作を制御する。CD ROM 332もシステムバス32
1 に接続される。
【0033】システムバス321 には、種々のI/O 制御装
置: キーボード制御装置 328、マウス制御装置 329、ビ
デオ制御装置 330、それどれのハードウェアを制御する
オーディオ制御装置 331、キーボード 312、マウス 31
3、表示装置 314及びスピーカー315 も接続される。更
に、システムバス321 には、スピーカー315 により生成
される音を補正し且つできればオーディオ制御装置331
に組込まれることが望ましいディジタル信号プロセッサ
333も接続される。トークンリングアダプタのようなI/
O アダプタ 340はネットワーク 342により他の類似の構
成のデータ処理システムとの通信を可能にする。
置: キーボード制御装置 328、マウス制御装置 329、ビ
デオ制御装置 330、それどれのハードウェアを制御する
オーディオ制御装置 331、キーボード 312、マウス 31
3、表示装置 314及びスピーカー315 も接続される。更
に、システムバス321 には、スピーカー315 により生成
される音を補正し且つできればオーディオ制御装置331
に組込まれることが望ましいディジタル信号プロセッサ
333も接続される。トークンリングアダプタのようなI/
O アダプタ 340はネットワーク 342により他の類似の構
成のデータ処理システムとの通信を可能にする。
【0034】以上の記述は、アプリケーション層と転送
層の間のソケット層における特定の通信終点オブジェク
ト、ソケットに関して本発明の原理を説明している。本
発明の原理は他の層にある類似の構成の通信終点オブジ
ェクトを提供するように拡張できる。例えば、ネットワ
ークインタフェース層内のオブジェクトを使用し、その
データに対する複数の潜在するMAC ドライバが複数のMA
C プロトコルを介して異なるタイプのネットワークに送
受信されることをモニタできる。
層の間のソケット層における特定の通信終点オブジェク
ト、ソケットに関して本発明の原理を説明している。本
発明の原理は他の層にある類似の構成の通信終点オブジ
ェクトを提供するように拡張できる。例えば、ネットワ
ークインタフェース層内のオブジェクトを使用し、その
データに対する複数の潜在するMAC ドライバが複数のMA
C プロトコルを介して異なるタイプのネットワークに送
受信されることをモニタできる。
【0035】
【発明の効果】本発明のよれば、ネットワーク中のノー
ド間で実際に接続が行われる時点までに使用するプロト
コルに関する決定を提議する新しいソケット構造によ
り、分散された環境での終点と転送プロトコルとの後の
結合が容易になり、アプリケーションによるプロトコル
の生得のアクセスが可能になる。
ド間で実際に接続が行われる時点までに使用するプロト
コルに関する決定を提議する新しいソケット構造によ
り、分散された環境での終点と転送プロトコルとの後の
結合が容易になり、アプリケーションによるプロトコル
の生得のアクセスが可能になる。
【図1】多重プロトコル転送ネットワークを介して相互
接続された2つのシングルプロトコルネットワークを示
す図である。
接続された2つのシングルプロトコルネットワークを示
す図である。
【図2】本発明で用いられた転送インタフェースのブロ
ック図である。
ック図である。
【図3】従来のソケット制御ブロックを示す図である。
【図4】本発明のソケット制御ブロックを示す図であ
る。
る。
【図5】本発明のソケットを生成する流れ図である。
【図6】多重プロトコル転送ネットワーク環境で接続を
確立する流れ図である。
確立する流れ図である。
【図7】システム装置、キーボード、マウス及び表示装
置を含むコンピュータシステムを示す図である。
置を含むコンピュータシステムを示す図である。
【図8】図7に表示されたコンピュータシステム構成装
置のブロック図である。
置のブロック図である。
10 シングルプロトコルネットワーク 16 多重プロトコル転送ネットワーク(MPTN) 20 ホスト 24 アプリケーションプログラム 25 アプリケーション層 27 ソケット層 28 転送層 29 ネットワーク層 30 ネットワークインタフェース層 60 ソケットプログラミングインタフェース 62 共有転送意味規則 64 局所IPC ソケットアプリケーション 66 NetBIOS ソケットアプリケーション 68 TCP/IPアプリケーション 70 局所IPC サービスドライバ 72 NetBIOSサーバードライバ 74 INetサーバードライバ 76 NetBIOS 78 TCP/IP 110 ソケット制御ブロック 112 MPTN拡張部分 113 多重プロトコル転送ネットワーク拡張部分 114 プロトコル切替えテーブルポインタ 116 プロトコル制御ブロックポインタ 118 プロトコル切替えテーブルポインタ 119 プロトコル制御ブロックポインタ 120 プロトコル制御ブロック 122 プロトコル制御ブロック 310 コンピュータ 311 システム装置 312 キーボード 313 マウス 314 表示装置 315 スピーカー 315A ポインタ 316 表示画面 342 ネットワーク
フロントページの続き (72)発明者 ユー・ヨン アメリカ合衆国テキサス州、オースチン、 ディ−ケイ・ランチ・ロード 11714番地 (72)発明者 チュンシアン・チェン アメリカ合衆国テキサス州、オースチン、 フローラル・ドライヴ 10629番地
Claims (12)
- 【請求項1】複数のプロトコルが用いられるネットワー
ク内のノードの間で通信する方法であって、 前記複数のプロトコルに関する情報を有するソケット構
造を生成するステップと、 ノード間の通信が要求されると、前記複数のプロトコル
のうちの選択された1つを用いてノード間の接続を確立
するステップとを有する方法。 - 【請求項2】前記選択されたプロトコルがユーザによる
選択に基づいて選択される請求項1の方法。 - 【請求項3】前記選択されたプロトコルが前記選択され
たプロトコルの能力に基づいて選択される請求項1の方
法。 - 【請求項4】前記生成するステップが前記複数のプロト
コルの各々からの情報を要求するステップと、 前記複数のプロトコルからプロトコルのセットを選択す
るステップと、 前記選択されたプロトコルの各々からプロトコル制御ブ
ロックを構築するステップと、 前記選択された各プロトコル制御ブロックのソケットに
ポインタを挿入するステップとを含む請求項1の方法。 - 【請求項5】前記ポインタを挿入する順序がユーザによ
る選択に基づく請求項4の方法。 - 【請求項6】前記選択するステップがプロトコルパラメ
ータの最初のセットの最初のプロトコルと前記ソケット
内の最初のポインタに対応する最初のプロトコルとの一
致があるかどうかを判定するステップと、 最初のプロトコルの一致がないのに応答して、前記最初
のプロトコルが前記ネットワークで非生得的にサポート
されるかどうかを判定するステップとを含む請求項4の
方法。 - 【請求項7】複数のプロトコルを用いるネットワーク中
のノード間で通信するシステムであって、 前記ネットワーク中のノードにそれぞれが接続された第
1及び第2のコンピュータシステムに複数のプロトコル
に関する情報を有するソケットの構造を生成する手段
と、 通信が要求される時点で前記複数のプロトコルのうちの
選択された1つを用いて第1及び第2のコンピュータシ
ステムの間の接続を確立する手段とを備えるシステム。 - 【請求項8】前記選択されたプロトコルがユーザの選択
に基づく請求項7のシステム。 - 【請求項9】前記選択されたプロトコルが前記選択され
たプロトコルの能力に基づく請求項7のシステム。 - 【請求項10】前記複数のプロトコルからプロトコルの
セットを選択する手段と、 前記複数のプロトコルの各々からの情報を要求する手段
と、 前記選択されたプロトコルの各々についてプロトコル制
御ブロックを構築する手段と、 選択されたプロトコルのプロトコル制御ブロック毎に前
記ソケットにポインタを挿入する手段とを更に備える請
求項7のシステム。 - 【請求項11】ポインタが挿入される順序がユーザの選
択に基づく請求項10のシステム。 - 【請求項12】プロトコルパラメータの最初のセットの
最初のプロトコルと前記ソケット内の最初のポインタに
対応する最初のプロトコルとの一致があるかどうかを判
定する手段と、 最初のプロトコルの一致がないのに応答して、前記最初
のプロトコルが前記ネットワークで非生得的にサポート
されるかどうかを判定する手段とを更に備える請求項1
0のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US015366 | 1993-01-29 | ||
| US08/015,366 US5537417A (en) | 1993-01-29 | 1993-01-29 | Kernel socket structure for concurrent multiple protocol access |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0749823A true JPH0749823A (ja) | 1995-02-21 |
| JPH081622B2 JPH081622B2 (ja) | 1996-01-10 |
Family
ID=21770986
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5327527A Expired - Fee Related JPH081622B2 (ja) | 1993-01-29 | 1993-12-24 | 通信方法及びシステム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5537417A (ja) |
| EP (1) | EP0613274B1 (ja) |
| JP (1) | JPH081622B2 (ja) |
| DE (1) | DE69430276T2 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003524328A (ja) * | 2000-02-07 | 2003-08-12 | クゥアルコム・インコーポレイテッド | 通信システムにおける設定可能な層及びプロトコルを提供する方法及び装置 |
| JP2004501548A (ja) * | 2000-05-17 | 2004-01-15 | ユニバーシティ オブ サリー | プロトコール・スタック |
| JP2007150697A (ja) * | 2005-11-28 | 2007-06-14 | Ricoh Co Ltd | 通信装置、通信制御方法、通信制御プログラム及び記録媒体 |
| JP2009140663A (ja) * | 2007-12-04 | 2009-06-25 | Nec Lcd Technologies Ltd | 面光源及び液晶表示装置 |
| JP2010529708A (ja) * | 2007-05-03 | 2010-08-26 | クゥアルコム・インコーポレイテッド | 無線通信受信機においてデフォルト・スキャン・リストをリストアするためのアプリケーション・プログラミング・インタフェース(api) |
| JP2024537616A (ja) * | 2021-12-24 | 2024-10-16 | エルエス、エレクトリック、カンパニー、リミテッド | IP基盤RAPIEnetを支援する通信デバイスおよびこれを含むネットワークシステム |
Families Citing this family (103)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06301555A (ja) * | 1993-02-26 | 1994-10-28 | Internatl Business Mach Corp <Ibm> | マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム |
| US6026454A (en) * | 1993-12-17 | 2000-02-15 | Packard Bell Nec, Inc. | Interface for multiplexing and reformatting information transfer between device driver programs and a network application program which only accepts information in a predetermined format |
| US5475601A (en) * | 1994-02-15 | 1995-12-12 | Emhart Glass Machinery Investments Inc. | Control for glassware forming system including bidirectional network gateway |
| US6769009B1 (en) * | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US5721876A (en) * | 1995-03-30 | 1998-02-24 | Bull Hn Information Systems Inc. | Sockets application program mechanism for proprietary based application programs running in an emulation environment |
| US5828855A (en) * | 1995-06-06 | 1998-10-27 | Apple Computer, Inc. | Socket simulation protocol for network printing systems |
| US5845280A (en) * | 1995-09-25 | 1998-12-01 | Microsoft Corporation | Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process |
| US5737495A (en) * | 1995-09-29 | 1998-04-07 | Intel Corporation | Method and apparatus for managing multimedia data files in a computer network by streaming data files into separate streams based on file attributes |
| US5699350A (en) * | 1995-10-06 | 1997-12-16 | Canon Kabushiki Kaisha | Reconfiguration of protocol stacks and/or frame type assignments in a network interface device |
| US5724355A (en) * | 1995-10-24 | 1998-03-03 | At&T Corp | Network access to internet and stored multimedia services from a terminal supporting the H.320 protocol |
| GB2307625B (en) * | 1995-11-23 | 1999-11-24 | Motorola Israel Ltd | Method and system for communication over a wireless modem |
| US5826030A (en) * | 1995-11-30 | 1998-10-20 | Excel Switching Corporation | Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format |
| US5966545A (en) * | 1996-01-25 | 1999-10-12 | Apple Computer, Inc. | System for interfacing network applications with different versions of a network protocol by providing base class at session level and invoking subclass from base class at session level |
| 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 |
| US5987517A (en) * | 1996-03-27 | 1999-11-16 | Microsoft Corporation | System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols |
| US6031978A (en) | 1996-06-28 | 2000-02-29 | International Business Machines Corporation | System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address |
| US5867650A (en) * | 1996-07-10 | 1999-02-02 | Microsoft Corporation | Out-of-band data transmission |
| US6470398B1 (en) * | 1996-08-21 | 2002-10-22 | Compaq Computer Corporation | Method and apparatus for supporting a select () system call and interprocess communication in a fault-tolerant, scalable distributed computer environment |
| US6463477B1 (en) * | 1996-09-27 | 2002-10-08 | Mci Communications Corporation | Detection of presence of multiprotocol encapsulation in a data packet |
| US6229809B1 (en) | 1996-10-11 | 2001-05-08 | Novell, Inc. | Method and system for combining computer network protocols |
| US6366958B1 (en) * | 1996-10-21 | 2002-04-02 | International Business Machines Corporation | NETBIOS protocol support for a DCE RPC mechanism |
| US5748628A (en) * | 1996-11-05 | 1998-05-05 | Interack Communications, Inc. | ISDN D-channel signaling discriminator |
| KR19980034552A (ko) * | 1996-11-07 | 1998-08-05 | 김광호 | 소켓기능을 이용한 통신시스템의 소켓바인딩 방법 |
| US5999979A (en) * | 1997-01-30 | 1999-12-07 | Microsoft Corporation | Method and apparatus for determining a most advantageous protocol for use in a computer network |
| DE69836771T2 (de) | 1997-02-14 | 2007-10-31 | Canon K.K. | Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung |
| DE69837356T2 (de) | 1997-02-14 | 2007-11-29 | Canon K.K. | Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung |
| SG74611A1 (en) | 1997-02-14 | 2000-08-22 | Canon Kk | Data communication apparatus and method |
| EP0859326A3 (en) | 1997-02-14 | 1999-05-12 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and image processing apparatus |
| DE69840972D1 (de) | 1997-02-14 | 2009-08-27 | Canon Kk | Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung |
| US6247068B1 (en) * | 1997-03-07 | 2001-06-12 | Advanced Micro Devices Inc. | Winsock-data link library transcoder |
| US6038603A (en) * | 1997-03-25 | 2000-03-14 | Oracle Corporation | Processing customized uniform resource locators |
| EP0872991B1 (en) * | 1997-04-15 | 2006-07-26 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for device interaction by format |
| US6073181A (en) * | 1997-06-03 | 2000-06-06 | International Business Machines Corporation | Multi-buffer error detection for an open data-link interface LAN adapter |
| US6182146B1 (en) * | 1997-06-27 | 2001-01-30 | Compuware Corporation | Automatic identification of application protocols through dynamic mapping of application-port associations |
| US6266701B1 (en) * | 1997-07-02 | 2001-07-24 | Sitara Networks, Inc. | Apparatus and method for improving throughput on a data network |
| US6098108A (en) * | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
| US6065045A (en) * | 1997-07-03 | 2000-05-16 | Tandem Computers Incorporated | Method and apparatus for object reference processing |
| US6157959A (en) * | 1997-07-03 | 2000-12-05 | Tandem Computers, Incorporated | Method and apparatus for providing portable kernel-mode support for fast interprocess communication |
| US6029201A (en) * | 1997-08-01 | 2000-02-22 | International Business Machines Corporation | Internet application access server apparatus and method |
| FI108772B (fi) * | 1998-03-31 | 2002-03-15 | Nokia Corp | Matkaviestimen yhteyksien hallintamenetelmä |
| EP0964558A1 (en) * | 1998-06-08 | 1999-12-15 | THOMSON multimedia | Method for accessing internet applications from home network devices |
| US6233619B1 (en) * | 1998-07-31 | 2001-05-15 | Unisys Corporation | Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems |
| ATE282920T1 (de) * | 1998-09-11 | 2004-12-15 | Two Way Media Ltd | Ablieferung von interaktiven anwendungen |
| FR2783624B1 (fr) * | 1998-09-21 | 2000-12-15 | Cit Alcatel | Carte a puce permettant d'acceder a une application distante, terminal et systeme de communication associes et procede pour acceder a l'application distante au moyen de cette carte a puce |
| US6976262B1 (en) | 1999-06-14 | 2005-12-13 | Sun Microsystems, Inc. | Web-based enterprise management with multiple repository capability |
| US7668189B1 (en) | 1999-07-08 | 2010-02-23 | Thomson Licensing | Adaptive transport protocol |
| AU781388B2 (en) * | 1999-07-08 | 2005-05-19 | Interdigital Ce Patent Holdings | An adaptive transport protocol decoder |
| US6665724B2 (en) | 1999-07-20 | 2003-12-16 | Canon Kabushiki Kaisha | Method for automatically delaying initialization of a protocol stack within a network interface |
| US6766371B1 (en) * | 1999-10-05 | 2004-07-20 | Veritas Operating Corporation | Virtual network environment |
| US7210147B1 (en) | 1999-10-05 | 2007-04-24 | Veritas Operating Corporation | IP virtualization |
| US7421507B2 (en) * | 2000-02-16 | 2008-09-02 | Apple Inc. | Transmission of AV/C transactions over multiple transports method and apparatus |
| US6988141B1 (en) * | 2000-05-17 | 2006-01-17 | Ricoh Company, Ltd. | Method and system of remote diagnostic, control and information collection using a dynamic linked library of multiple formats and multiple protocols with restriction on protocol |
| SE520287C2 (sv) * | 2000-06-21 | 2003-06-17 | Columbitech Ab | Metod för kommunikation medelst WAP-protokoll |
| WO2001099361A1 (en) * | 2000-06-21 | 2001-12-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for selecting transmission means |
| US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
| DE10051535A1 (de) * | 2000-10-18 | 2002-04-25 | Heidelberger Druckmasch Ag | Verfahren zum Übertragen von Daten zwischen einer ersten und einer zweiten Recheneinheit |
| US6845397B1 (en) * | 2000-12-29 | 2005-01-18 | Nortel Networks Limited | Interface method and system for accessing inner layers of a network protocol |
| US7631349B2 (en) | 2001-01-11 | 2009-12-08 | Digi International Inc. | Method and apparatus for firewall traversal |
| US20020156900A1 (en) * | 2001-03-30 | 2002-10-24 | Brian Marquette | Protocol independent control module |
| US6925514B1 (en) * | 2001-03-30 | 2005-08-02 | Agere Systems Inc. | Multi-protocol bus system and method of operation thereof |
| US6820127B2 (en) * | 2001-05-03 | 2004-11-16 | International Business Machines Corporation | Method, system, and product for improving performance of network connections |
| JP3491626B2 (ja) | 2001-05-29 | 2004-01-26 | ソニー株式会社 | 送信装置、受信装置、及び送受信装置 |
| US6834309B2 (en) * | 2001-05-31 | 2004-12-21 | Kwok-Yan Leung | Socket tool having data transfer control codes, file transfer control codes, and data and file transfer progress indication codes for connection and communication of SQL application |
| FI110900B (fi) * | 2001-07-11 | 2003-04-15 | Nokia Corp | Protokollaperusteiset päätevaltuudet |
| US7165110B2 (en) * | 2001-07-12 | 2007-01-16 | International Business Machines Corporation | System and method for simultaneously establishing multiple connections |
| US6895590B2 (en) | 2001-09-26 | 2005-05-17 | Intel Corporation | Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API |
| US7016965B2 (en) * | 2001-11-13 | 2006-03-21 | International Business Machines Corporation | System and method for asynchronously reading data across secure sockets layer sessions |
| US7073181B2 (en) * | 2001-11-13 | 2006-07-04 | International Business Machines Corporation | System and method for sharing secure sockets layer sessions across multiple processes |
| US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
| US8122118B2 (en) * | 2001-12-14 | 2012-02-21 | International Business Machines Corporation | Selection of communication protocol for message transfer based on quality of service requirements |
| US7120858B2 (en) * | 2002-08-21 | 2006-10-10 | Sun Microsystems, Inc. | Method and device for off-loading message digest calculations |
| AU2003277300A1 (en) * | 2002-10-04 | 2004-05-04 | Starent Networks Corporation | Managing resources for ip networking |
| US20040073531A1 (en) * | 2002-10-09 | 2004-04-15 | International Business Machines Corporation | Method, system and program product for automatically linking web documents |
| US20040122963A1 (en) * | 2002-12-19 | 2004-06-24 | Dan Krejsa | System and method for implementing an asynchronous sockets interface |
| US7646759B2 (en) * | 2003-01-07 | 2010-01-12 | Intel Corporation | Apparatus and method for configuring data plane behavior on network forwarding elements |
| US7415711B2 (en) * | 2003-08-01 | 2008-08-19 | Microsoft Corporation | System and method for a transport independent gaming API for mobile devices |
| US20050066045A1 (en) * | 2003-09-03 | 2005-03-24 | Johnson Neil James | Integrated network interface supporting multiple data transfer protocols |
| US7680059B2 (en) * | 2004-02-13 | 2010-03-16 | Broadcom Corporation | Multiple protocol wireless communications in a WLAN |
| US7519719B2 (en) * | 2004-04-15 | 2009-04-14 | Agilent Technologies, Inc. | Automatic creation of protocol dependent control path for instrument application |
| US20060036852A1 (en) * | 2004-08-16 | 2006-02-16 | Kwok-Yan Leung | Byte-based data-processing device and the processing method thereof |
| US7876777B2 (en) * | 2004-12-30 | 2011-01-25 | Honeywell International Inc. | Multiple protocol decoder |
| US7945676B2 (en) * | 2005-03-10 | 2011-05-17 | International Business Machines Corporation | Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol |
| US7594031B2 (en) * | 2005-09-15 | 2009-09-22 | Microsoft Corporation | Network address selection |
| US7779132B1 (en) * | 2005-11-14 | 2010-08-17 | Oracle America, Inc. | Method and apparatus for supporting multiple transport layer implementations under a socket interface |
| KR100750139B1 (ko) * | 2005-11-22 | 2007-08-21 | 삼성전자주식회사 | 인터넷 팩스의 호 처리 장치 및 방법 |
| US20080082690A1 (en) * | 2006-09-29 | 2008-04-03 | Dell Products L.P. | System and method for the dynamic loading of protocol adapters |
| JP4921142B2 (ja) * | 2006-12-12 | 2012-04-25 | キヤノン株式会社 | 通信装置 |
| KR100877065B1 (ko) * | 2007-01-12 | 2009-01-09 | 삼성전자주식회사 | 통신 프로토콜 결정 방법 및 장치 |
| US8307114B2 (en) * | 2007-05-22 | 2012-11-06 | International Business Machines Corporation | High availability message transmission |
| US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
| US8539098B2 (en) | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
| US20090260023A1 (en) * | 2008-04-11 | 2009-10-15 | Hewlett-Parckard Development Commpany, Lp | Multiplexing Reserved Ports |
| US8631284B2 (en) | 2010-04-30 | 2014-01-14 | Western Digital Technologies, Inc. | Method for providing asynchronous event notification in systems |
| US8762682B1 (en) | 2010-07-02 | 2014-06-24 | Western Digital Technologies, Inc. | Data storage apparatus providing host full duplex operations using half duplex storage devices |
| US8955110B1 (en) | 2011-01-14 | 2015-02-10 | Robert W. Twitchell, Jr. | IP jamming systems utilizing virtual dispersive networking |
| US8941659B1 (en) | 2011-01-28 | 2015-01-27 | Rescon Ltd | Medical symptoms tracking apparatus, methods and systems |
| US8990390B2 (en) | 2011-12-12 | 2015-03-24 | Cisco Technology, Inc. | Remote monitoring and controlling of network utilization |
| US9015306B2 (en) * | 2011-12-15 | 2015-04-21 | Cisco Technology, Inc. | Mapping protocol endpoints to networked devices and applications based on capabilities |
| US20150149651A1 (en) * | 2012-05-10 | 2015-05-28 | Telefonaktiebolaget L M Ericsson (Publ) | System, method and computer program product for protocol adaptation |
| US10348867B1 (en) * | 2015-09-30 | 2019-07-09 | EMC IP Holding Company LLC | Enhanced protocol socket domain |
| CN113037762B (zh) * | 2021-03-18 | 2023-07-04 | 广州市百果园信息技术有限公司 | 通信方法、装置、设备及存储介质 |
| CN113726570B (zh) * | 2021-08-30 | 2024-05-31 | 北京广利核系统工程有限公司 | 一种网口配置方法、装置及系统 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5060140A (en) * | 1986-01-16 | 1991-10-22 | Jupiter Technology Inc. | Universal programmable data communication connection system |
| GB8709771D0 (en) * | 1987-04-24 | 1987-05-28 | Madge Networks Ltd | Token ring expander/hub |
| US5021949A (en) * | 1988-02-29 | 1991-06-04 | International Business Machines Corporation | Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network |
| US5142622A (en) * | 1989-01-31 | 1992-08-25 | International Business Machines Corporation | System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains |
| JP2802088B2 (ja) * | 1989-02-06 | 1998-09-21 | 株式会社日立製作所 | プロトコル選択切替方法 |
| US5150464A (en) * | 1990-06-06 | 1992-09-22 | Apple Computer, Inc. | Local area network device startup process |
| US5251205A (en) * | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
-
1993
- 1993-01-29 US US08/015,366 patent/US5537417A/en not_active Expired - Fee Related
- 1993-12-24 JP JP5327527A patent/JPH081622B2/ja not_active Expired - Fee Related
-
1994
- 1994-01-28 EP EP94300677A patent/EP0613274B1/en not_active Expired - Lifetime
- 1994-01-28 DE DE69430276T patent/DE69430276T2/de not_active Expired - Fee Related
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003524328A (ja) * | 2000-02-07 | 2003-08-12 | クゥアルコム・インコーポレイテッド | 通信システムにおける設定可能な層及びプロトコルを提供する方法及び装置 |
| JP2004501548A (ja) * | 2000-05-17 | 2004-01-15 | ユニバーシティ オブ サリー | プロトコール・スタック |
| JP4777587B2 (ja) * | 2000-05-17 | 2011-09-21 | ユニバーシティ オブ サリー | プロトコール・スタック |
| JP2007150697A (ja) * | 2005-11-28 | 2007-06-14 | Ricoh Co Ltd | 通信装置、通信制御方法、通信制御プログラム及び記録媒体 |
| JP2010529708A (ja) * | 2007-05-03 | 2010-08-26 | クゥアルコム・インコーポレイテッド | 無線通信受信機においてデフォルト・スキャン・リストをリストアするためのアプリケーション・プログラミング・インタフェース(api) |
| US8645976B2 (en) | 2007-05-03 | 2014-02-04 | Qualcomm Incorporated | Application programming interface (API) for restoring a default scan list in a wireless communications receiver |
| JP2009140663A (ja) * | 2007-12-04 | 2009-06-25 | Nec Lcd Technologies Ltd | 面光源及び液晶表示装置 |
| JP2024537616A (ja) * | 2021-12-24 | 2024-10-16 | エルエス、エレクトリック、カンパニー、リミテッド | IP基盤RAPIEnetを支援する通信デバイスおよびこれを含むネットワークシステム |
| US12513075B2 (en) | 2021-12-24 | 2025-12-30 | Ls Electric Co., Ltd. | Communication device supporting IP-based RAPIEnet and network system comprising same |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0613274A2 (en) | 1994-08-31 |
| EP0613274B1 (en) | 2002-04-03 |
| JPH081622B2 (ja) | 1996-01-10 |
| DE69430276T2 (de) | 2005-09-08 |
| EP0613274A3 (en) | 1995-01-18 |
| US5537417A (en) | 1996-07-16 |
| DE69430276D1 (de) | 2002-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0749823A (ja) | 通信方法及びシステム | |
| US6425013B1 (en) | Apparartus for interconnecting local area network workstations to an internet via a single protocol stack system with segregated socket services | |
| US6049820A (en) | Multiplexing of clients and applications among multiple servers | |
| US6006266A (en) | Multiplexing of clients and applications among multiple servers | |
| US7587470B2 (en) | Internet modem streaming socket method | |
| US6735625B1 (en) | System and method for automatically determining whether a product is compatible with a physical device in a network | |
| JP2539181B2 (ja) | 動的通信チャネルを介するアクセス制御方法および通信インタフェ―ス・システム | |
| US7899047B2 (en) | Virtual network with adaptive dispatcher | |
| JP3131137B2 (ja) | バーチャルネットワークシステム | |
| CN100377556C (zh) | 通信协议的构件化实现方法 | |
| JPH08111693A (ja) | データ転送方法 | |
| US6965911B1 (en) | Efficiently exporting local device access onto a system area network using a direct-call interface | |
| CN106534178A (zh) | RapidIO网络通用套接字的实现系统及方法 | |
| US5802307A (en) | Network communications subsystem and method for digital computer system employing protocol stack having diverse lower-level network driver components optimized for each of base and enhance operating systems | |
| Presotto et al. | The Organization of Networks in Plan 9. | |
| US20030097492A1 (en) | Method for allowing appliance-to-appliance communication transactions | |
| EP1759317B1 (en) | Method and system for supporting read operations for iscsi and iscsi chimney | |
| US7543028B2 (en) | Electronic mail distribution method, communications terminal, and server device | |
| RU2316124C2 (ru) | Динамическая маршрутизация на основе файлов в системе широкополосной связи | |
| CA2345288A1 (en) | Data link layer manager for network access | |
| Schneidewind | Interconnecting local networks to long-distance networks | |
| JP2000235536A (ja) | データ通信方式及び装置 | |
| WO2024114645A1 (zh) | 一种虚拟化网络功能vnf的实例化方法及装置 | |
| CN117527458A (zh) | 一种多播数据分发方法、装置、电子设备及存储介质 | |
| US20030163556A1 (en) | Management apparatus, interconnecting device, communication system, program and management method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |