JPS63205747A - 通信方法及びデータ処理システム - Google Patents

通信方法及びデータ処理システム

Info

Publication number
JPS63205747A
JPS63205747A JP63003282A JP328288A JPS63205747A JP S63205747 A JPS63205747 A JP S63205747A JP 63003282 A JP63003282 A JP 63003282A JP 328288 A JP328288 A JP 328288A JP S63205747 A JPS63205747 A JP S63205747A
Authority
JP
Japan
Prior art keywords
node
version
communication
level
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63003282A
Other languages
English (en)
Other versions
JPH0544693B2 (ja
Inventor
ラリー・ウイリアム・ヘンソン
ドナヴオン・ウイリアム・ジヨンソン
アマル・アーメド・シヤーエン−ガウダ
トツド・アレン・スミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21768341&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPS63205747(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63205747A publication Critical patent/JPS63205747A/ja
Publication of JPH0544693B2 publication Critical patent/JPH0544693B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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
    • 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/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

【発明の詳細な説明】 ん 産業上の利用分野 本発明はネットワークを介して接続されたデータ処理シ
ステムのためのオペレーティング・システムの改良、よ
り具体的には各処理システムが同じオペレーティング・
システムの異なったバージョンを走行させている時に処
理システム間で通信を行なう方式に関する。
B、従来技術 以下説明する本発明はUNIX(ATTの商標)オペレ
ーティング・システムのバージョンにおいてインプリメ
ントされたが、UNIXオペレーティング・システムと
類似の特性を有する他のオペレーティング・システムに
おいて使用する事も可能である。UNIXオペレーティ
ング・システムはベル電話研究所により、ディジタル・
イクイプメント・コーポレーション(DEC)c7)ミ
ニコンピユータ上で使用するために開発されたが、広範
囲のミニコンピユータ及び、近年はマイクロコンピュー
タのためのポピユラーなオペレーティング−システムに
なっている。この−膜性の1つの理由は、UNIXオペ
レーティング拳シスナシステムンブリ言語ではなくCプ
ログラミング言語(これもベル電話研究所で開発された
)で書かれており、プロセッサ特有でない事である。従
って種々の機械のためにCのコンパイラを書けば、UN
IXオペレーティング・システムを1つの機械から他の
機械へ移植する事ができる。従ってUNIXオペレーテ
ィング・システム環境のために書かれたアプリケーショ
ン・プログラムも1つの機械から他の機械へ移植可能で
ある。UNIXオペレーティング1システムに関するこ
れ以上の情報については、ウェスタン・エレクトリック
社1983年1月発行の「UN I X  Syste
m、 Users Manual。
System VJを参照されたい。UNIXオペレー
ティング・システムの良好な概説は、 Br1an W
Kernighan及びR□b Pikeにより、Pr
entice−Hal1発行(1984年)の[The
 UnixProgramming Environm
ent J に与えられる。UNIXオペレーティング
・システムの設計についてのより詳細な説明は、Pre
ntice−Hal 1発行(1986年)、Maur
ice J、Bach著1[Design  of  
the Unix OperatingSystem 
Jに見い出される。
AT&Tのベル研究所は多数の団体にUNIXオペレー
ティング・システムを使用するライセンスを与えており
、現在ではいくつかのバージョンが利用可能である。A
T&Tからの最新のバージョンはバージョン52である
。UNIXオペレーティング・システムのバークレイ・
バージョンとして知られる他のバージョンは、カリフォ
ルニア大学バークレイ分校によって開発された。パーソ
ナル・コンピュータ用の著名なMS−DO8及びPC−
DOSオペレーティング・システムの発行元であるマイ
クロソフトはXENIX(マイクロソフト社の商標)と
して知られるバージョンを有している。IBM  RT
  PC(IBM社の商標) (RISCテクノロジー
のパーソナル・コンピュータ)の発表時に、IBM社は
AIX(IBM社の商標)と呼ばれる新しいオペレーテ
ィング・システムをリリースした。これはAT&TのU
NIXオペレーティング・システムのバージョン5.2
とアプリケーションΦインターフェース・レベルで一般
に互換性があシ、且つUNIXNIXオペレーテイング
テム、バージョン5.2に対する拡張を含んでいる。A
IXオペレーティング・システムについてのこれ以上の
情報については、IBM社発行、「AIX  Oper
ating  System  TechnicalR
eference J第5版(Nov、1985)を参
照されたい。
本発明は、複数のプロセッサがネットワーク状に相互接
続された分散型データ処理システムに関する。実際にイ
ンプリメントされた時、本発明はIBMのシステム・ネ
ットワーク・アーキテクチャ(SNA)、より具体的に
はSNA  LU6.2の拡張プログラム間通信機能(
APPC)により相互接続された複数のIBM RT 
 PC上で走行する。5NALU6.2について述べた
文献としては、[AnIntroduction  t
o Advanced Program−To−Pro
gram Communication(APPC)J
IBMIBM社発行24−1584”0(July 1
983)及び「IBM RT  PCSNA Acce
ss MethodGuide and  Refer
enceJ IBM社発行(Auguat15.19 
B 6)がある。
SNAのこのRT PCへのインプリメンテーションは
、リンク・レベルとしてイーサネット(ゼロックス社の
商標)又は5DLCを使用できる。
イーサネット・ローカル・エリアφネットワークヲ含む
ローカル−エリア・ネットワークの簡単な説明は、Ro
bert J、Brady(Prentice−HgI
2社)発行、Larry E、 Jordan及びBr
uceChurchill著、「Communicat
ions  andNetworking for  
the  IBM PCJK見い出すレる。コンピュー
タのための通信システム%KSNA及び5DLCの決定
的な解説は、Addison−We s l e y発
行(197B)、R,J、 Cypser著、[Com
munications  Archileetur@
 forDistributed Systems J
に兄い出される。
しかし、本発明は、イーサネット・ローカル・エリア・
ネットワーク又はIBMのSNA以外の他のネットワー
クに接続されたIBM RT  PC以外の別のコンピ
ュータを用いて実施する事もできる。
以前に述べたように、本発明は通信ネットワーク中の分
散データ処理システムに関する。この環境において、ネ
ットワーク中のノードの各プロセッサは、ファイルがど
のノードに存在していようと、ネットワーク中の全ての
ファイルに潜在的にアクセスし得る。第1図に示すよう
に、分散ネットワーク環境1は、通信リンク又はネット
ワーク6を介して接続された2つ以上のノードA、B及
びCより構成され得る。ネットワーク6はローカル・エ
リア・ネットワーク(LAN)でも又広域ネットワーク
(WAN)でもよい。後者はシステムのSNAネットワ
ーク又は他のノードへの交換又は専用回線のテレプロセ
シング(TP)接[−含む。どのノードA、B又はCに
も、前述のIBMRT  PCのような処理システム1
0A、IOB又は10Cが存在しうる。これらのシステ
ム10A、10B及びIOCの各々は、シングル・ユー
ザー・システムテモ又マルチ番ユーザー・システムでモ
ヨいが、ネットワーク6を用いてネットワーク中の遠隔
のノードにあるファイルにアクセスする能力を有してい
る。例えばローカル◆ノードAの処理システム10Aは
遠隔ノードB及びCのファイル5B及び5Cにアクセス
できる。
本明細書中で用語「サーバー」はファイルが恒久的に記
憶されているノードを示すために使われ、用語「クライ
アント」はそのファイルをアクセスするプロセスを有す
る他のノードを意味するために使われる。しかし、「サ
ーバー」という用語は或ルローカル令エリア・ネットワ
ーク・システムで使われているように専用のサーバーを
意味するものではない。本発明がインプリメントされて
いる分散型サービス・システムは真の分散型システムで
あって、システム中の異なったノードで多様なアプリケ
ーションが走行する事が可能であシ、それはシステム中
のどこにあるファイルにもアクセスできる。
tJNIXオペレーティング・システム環境において分
散型データ処理システムを支援する他の方式は公知であ
る。例えばサンφマイクロシステムズはネットワーク・
ファイル・システム(NFS)をリリースしており、ベ
ル研究所はリモート・ファイル拳システム(RFS)を
開発している。す711 ?イクロシステムズのNFS
は、 S、 JKlein。
”Vnodes : An Architecture
  forMultipleFile System 
Types  in Sun  UNIX’。
Conference  Proceedings、 
USENIX 1986  Summer Techn
ical  Conferenceand Exhib
itionlpp、238−247 : Russel
Sandberg etalo、” Design  
andImplementation of  the
  Sun NetworkFi lesystem”
、Conference Proceedings%U
SENIX  1985、pp、119−130;  
DanWalsh et  al、 ”Overvie
w of  the  SunNetwork Fil
e  System”、pp、  117−124;J
o  Mei  Chang、” 5tatus  M
on1torProvides  Network  
Locking  5ervicefor  NFS”
 ;  Jo  Mei  Chang% ”Sun 
Net”、pp、 71−75 ;及びBradley
 Taylor。
5ecure  Networking  in  t
he  SunEnvironment”、pp、28
−36  を含む一連の刊行物に記載されている。AT
&TのRFSは、Andrew P、Rifkin e
t al、、” RFSArchitectural 
Overview”、USENIXConferenc
e  ProceedingslAtlantalGe
orgia(June  1986)、pp、1−12
 :R4chard Hamilton  et al
、、AnAdministrator’s View 
of  RemoteFile  Sharing”、
pp、 1−9:Tom Houghtonet al
、、”File  Systems 5w1tch″s
 PP。
1−2;及びDavid J、 01ander  e
t alo、”A  Framework  for 
 Networking  inSystem V”、
pp、1−8を含む一連の刊行物に記載されている。
上記の分散システムは、既存のオペレーティング・シス
テムに付加された拡張部によって分散機能が提供されて
いる。典型的には、同じソフトウェア・プログラムは異
なったバージョン及びリリース・レベルを有する事があ
る。ソフトウェア、・プログラムの製造業者は、最初に
、ある1組の機能を実行するように設計された第ルベル
のプログラムをリリースする。後に製造業者が付加的な
機能を提供したいと思うと、製造業者はソフトウェア・
プログラムの次のバージョンをリリースする。
典型的な場合、ソフトウェア・プログラムに対する主要
な変更は新しいバージョン・レベ/L/によって示され
、プログラムの全体的な機能に影響を与えない小さな変
更は同じバージヨン・レベル内の新しいリリース・レベ
ルによって示される。例えば既存のソフトウェア・プロ
グラムに対して付加的な機能が付加された場合、そのソ
フトウェア・プログラムはバージョン2と呼ばれる。も
しバージョン2がIJ IJ−スされた後に、以前のプ
ログラム中に発見された小さなエラーを訂正するように
再び更新が行なわれると、それはバージョン2、リリー
ス2のプログラムになる。しかし本明細書ではバージヨ
ン・レベル及びリリース曇レベルという用語は、単にソ
フトウェア・プログラムの次のレベルを示すために使用
され、これは互いに他方の用語で置き換える事ができる
分散システムが提供しなければならない機能をネットワ
ーク中のノードが利用するために、各ノードは、分散サ
ービスを提供するオペレーティング・システムを走行さ
せなければならない。他のプログラムと同様に、分散サ
ービス・プログラムも時の経過と共に付加的機能を提供
し、その結果、同じプログラムの種々のバージョン及び
リリースのレベルを生じる事が予想される。
C1発明が解決しようとする問題点 オペレーティング・システムに対する拡張部を通じて分
散機能を提供するプログラムの異なったバージヨン・レ
ベルのものをノードの各々が所有している場合、分散環
境において問題が生じる。
例えば第1のノードが最新バージョンを有している場合
、それは古いバージョンを有する第20ノードができな
い機能を実行できる。従って第2のノードはこの高レベ
ルの機能に関係した第1のノードからのメツセージを認
識できない。第10ノードがこの事全知っていれば、第
1のノードはその高い機能レベルで第2のノードと通信
しようと試みなかったであろう。
2つ以上の処理システムの間で異なった通信プロトコル
を取り扱うために使われている1つの方法は、ネットワ
ーク中の各ノード毎に構成(configuratio
n )テーブルを設ける事である。
構成テーブルはネットワーク中の他のノードに関するプ
ロトコル情報を含んでいる。処理システムはそのテーブ
ルにアクセスして他のノードの通信プロトコルを知る事
ができる。この方法にはいくつかの問題点がある。第1
に、ネットワーク中の他のノードのプロトコルが変更さ
れると構成テーブルに更新を行なうためにシステム管理
者が必要である。さらに、更新を行なうノードば、他の
どのノードがこの変更の通知を必要としているかを知ら
ないかもしれない。ネットワークが非常に大きく、全て
のノードが同じシステム管理者の下にあるわけではない
事もあり得る。また、テーブルは処理システム中に余分
の記憶域を占める。さらに、他のノードと通信全始める
前にテーブルをチェックするのは時間がかかる。
この問題を解決するためのもう1つの方法は、全てのノ
ードに同時に同じバージョンを導入する事である。しか
し、大規模なネットワーク全体を同時に更新するように
要求する事は現実的でない。
従って、ネットワークはノードが種々のバージョン及ヒ
リリースのオペレーティング・システムを走行させてい
るものと予期でき、ノードに属する各々の接続は、異な
ったバージョン又はリリースの分散サービス・プログラ
ムを走行させるノードへの接続であるかもしれない。
従って本発明の目的は、分散機能のための異なったバー
ジョンのオペレーティング会システムを有するノード間
で効果的に通信を行なう事である。
本発明の他の目的は、受信側ノードが理解できるプロト
コルに適合する接続を介してメツセージが送られる事を
保証する事である。
本発明の他の目的は、初期のバージョンを廃する事なく
且つ新しいバージョンの新規な付加機能を制限する事な
しに、ある範囲の・く−ジョン・レベルがネットワーク
中に共存する事を可能にする事である。
D0問題点を解決するための手段 本発明のシステム及び方法は、ネットワーク中の2つの
ノードが両者によって理解される通信プロトコルを通じ
て互いに通信する事を可能にする。
与えられたバージヨン・レベルの通信プログラムは、そ
の特定のバージヨン・レベルに関する通信プロトコルを
定める。もしネットワーク中のノードが以前のバージヨ
ン・レベルを支援するプログラムを走行させているなら
ば、そのノードは支援されたバージヨン・レベルの範囲
によって決まる通信規約の組を有する。
本発明のシステム及び方法は、ネットワーク中の他のノ
ードとの会話中に使用される通信規約の綴金動的に決定
する。通信規約の組は2つのノードの間の最初の通信の
間に動的に決定される。さらに、動的決定によシ、両者
のノードがその時点で共通に有している最も高い通信プ
ロトコルを使用する事が可能になる。
他ノードへの接続で用いられるプロトコル番号、即ちバ
ージヨン・レベルを得るために、2つのノードのうち1
つが接続についての会話を開始する。
会話を開始するために送られたメツセージと共に、ノー
ドはそのノードが使用できる最高及び最低のプロトコル
番号を送信する。これは第1のノードに受は入れ可能な
通信規約の組を表わす。
第2のノードも、第2のノードに受は入れ可能な通信規
約の第2の組を表わすプロトコル番号の第2の組によっ
て定義される特定のバージヨン・レベル全走行させてい
る。第1のノードから第1の組の通信規約を受は取る時
、第2のノードは、2つのノードが何かのプロトコル番
号を共通に有しているか否かを判定する。もし第1及び
第2のノードが少なくとも1つのプロトコル番号を共通
に有していれば、第2のノードは2つのノードが共通に
有しているプロトコル番号のうち最高のものを返す。次
に2つのノードは、その両者に共通の最高のプロトコル
番号によって示される通信規約を用いて互いに通信する
もしプロトコル番号が両ノードに共通でなければ、第2
のノードは両ノードに共通の通信規約が存在しない事を
示す返答を第1のノードに返す。
次に第2のノードは第1のノードとの会話を打ち切る。
E、実施例 クライアントが遠隔のサーバー上にあるファイルをオー
プンしようとする時、それはサー・く−との接続を確立
するためにネットワーク・トランスポート機構を使用す
る。その後のこのファイルに関するトランザクション(
例えば読取り、書込み等)はこの接続上を流れる。各ノ
ードはノード・テーブルを含んでいる。ノードはそのノ
ード拳テーブル中のエン)IJt−使用して、遠隔ノー
ドへの既存の接続に関する情報を記録する。
ネットワーク中の1つのノードが他のノードに要求でき
る動作の数は限られている。それらの動作はdfs動作
と呼ばれる。ノードが他のノードに要求を行なう時、次
のような動作が起きる。第1にどのdfs動作が要求さ
れているかを特定しそしてその要求に適したパラメータ
を伝達するメツセージを、要求側ノードが送信する。次
に、受信側ノードが要求を受は取り、特定された動作を
行なう。最後に、受信側ノ・−ドが、dfs動作に適し
た返信パラメータを伝達するメツセージを送信する。こ
の通信パターンは遠隔手続き呼出しと呼ばれる。
次の用語が、ネットワーク環境に言及する時に典型的に
使用される。2つのノード間の接続は、ネットワーク中
のそれらのノードの間の通信を確立する。会話は、既存
の接続上の2つのプロセスの間の通信セツションである
2つのノードが接続を介して通信する時、それらはある
形のプロトコルを使用する。通信は、他のノードで何ら
かのタスクを実行するために使われる遠隔手続き呼出し
くrpc)でも、又rpeよりも複雑なものでもよい。
通信は、長い読取り要求を伝送する時に使われる対話(
dialog)でもよい。全ての場合において、関与す
るノードは、他のノードの分散サービスのバージョン/
リリースによって何のサービスが提供され得るかを知る
必要がある。遠隔のノードに伝達される制御及びデータ
・フィールドの形式は、受信側によって予期される形式
に一致する必要がある。分散サービス・プログラムの複
数リリース及びバージョン間で互換性を維持するのを助
けるために、後のIJ IJ−スは初期のリリースの全
て又は一部のプロトコルをサポートし得る。
本発明のシステム及び方法は、2つのノード間の接続を
介する通信を、両者のノードがサポートできる最高のバ
ージョン、及びIJ IJ−スに基づかせる。ノードは
、バージョン/リリース協議を用いて、互いに通信する
時に使うプロトコルを決定する。バージョン/リリース
協議は、接続を介して送信されるメツセージが、受信側
ノードの理解するプロトコルに適合する事を保証するた
めに使われる。
約束上、バージョン及びリリースの番号がプロトコル番
号を定義するために使用される。プロトコル番号は、バ
ージョン2の場合は「2」又バージョン3リリース2の
場合は「3.2Jのように数字で表現できる。このプロ
トコル番号はプログラムの特定のバージョン/リリース
・レベルに適用可能な通信規約を定める。2,2.1.
!1.4等のプロトコル番号のグループは、ノードにお
ける処理システムが適合できる通信規約の組を定める。
以前に述べたように、リリース間の互換性を維持するた
めに後のバージヨン・レベルが初期のリリースのプロト
コルを支援できる時にこの状況が起きる。
ネットワーク3を介して接続されたいくつかの処理シス
テムp、、B、C,D、F:fr示す第2図、及び第6
図の流れ図を参照して、以下本発明の良好な実施例を説
明する。
ノードAがノードBと通信する事を望むと、要求側ノー
ドAは最初に、ステップ20で、ノードAとノードBと
の間に既に接続が存在するか否かを判定する。接続が存
在していれば、要求側ノードAは以下説明するようにノ
ードBに関して、ノード・テーブル12中の、以前に協
議されたバージョン−レベル値を引き出す(ステップ2
5)。
ノード・テーブル12中に記録されたバージヨン・レベ
ルは2つのノードの間の通信規約として使用される。
接続が既に存在していなければ、要求側ノードは接続に
関する会話を開始し、他ノードにバージョン/リリース
(V/R)遠隔手続き呼出しを送る。
要求側ノードが使用できる最高及び最低のプロトコル番
号(即チハーション/リリース・レベル)がバージョン
/リリース遠隔手続き呼出しで他ノードへ伝達される(
ステップ60)。例えばシステムAが要求側システムで
あるとすると、システムAはネットワーク中の他のシス
テムに9〜5の値を送信する。他のノード(応答側ノー
ドと呼ぶ)はバージョン/リリース遠隔手続き呼び出し
を受は取り(ステップ35)、要求側ノードのバージヨ
ン・レベル値の範囲が応答側ノードの支援できる値の範
囲と交わるか否かを判定する(ステップ40)。2つの
値の集合の間に交わりが存在すれば、応答側ノードは両
者に共通の最高のレベルを見つけ(ステップ45)、そ
してその値を要求側ノードに返す(ステップ50)。も
し他のノードのプロトコル番号、即ち通信規約の組の範
囲が、要求側のプロトコル番号の範囲と交わらないなら
ば、返される値はゼロである(ステップ55)。
ゼロという値はプロトコルの空集合、即ち両ノードに共
通の通信規約が存在しない事を意味する。
2つの範囲の間の交わりを決定し両者に共通の最大値を
見つけ出す事(第3図のステップ40及び45)に関係
した付加的なステップが第4図に例示されている。ステ
ップ41に示されているように、応答側ノードは要求側
の最高のバージヨン・レベルが応答側のシステムの最高
のバージヨン・レベル以上か否かを判定する。例えば第
2図のシステムEがシステムAのバージョン/リリース
rpeに応答しているとすると、要求側システムA (
D 最高のレベルはシステムEの最高のレベル以上であ
る。というのはレベル9はレベル7よリモ太きいからで
ある。
この場合、応答側システムEの次のステップはシステム
Eの最高のレベルが要求側システムAの最低のレベル以
上か否かを判定する小である(ステラ7’42)。シス
テムEのレベル7はシステムAのレベル5よりも大きい
ので、応答側システムEの最高のレベル(この場合は7
)が要求側システムAに返される(ステップ43)。
システムAがシステムBと会話を開始したならば、応答
側システムBはステップ42で応答側システムBの最高
レベルが要求側の最低レベル以上でないと判定する。こ
の場合、システムBの最高のレベルはレベル4であり、
システムAの最低のレベルは5である。応答側システム
Bはゼロの値を返すか又は各システムの通信規約の集合
の間に交わりが存在しない事を要求側システムに知らせ
る何らかの指示を返す(ステップ55)。言い換えると
、要求側システムAの通信規約の第1の集合(レベル5
〜9)と応答側システムBの通信規約の第2の集合(レ
ベル4)との間の交わりは、システムA及びシステムB
に共通の通信規約を含まない。
第4図のステップ41に戻って、もしシステムBがシス
テムCと会話を開始し、システムCにバージョン/リリ
ースrpce送ると、要求側システムBの最高レベル(
レベル4)u応答flllシステムCの最高レベル(こ
の場合はレベル12)以上ではない。ステップ47で応
答側システムCは要求側システムBの最高レベル(レベ
ル4)が応答側システムCの最低レベル(レベル5)以
上か否かを判定する。レベル4はレベル5以上ではない
ので、応答側システムCは要求側システムにゼロを返す
。これは2組の通信規約の間の交わりが両システムに共
通の通信規約を含まない事を意味する。
再びステップ41に戻ると、もしシステムAがシステム
Cと会話を開始するならば、要求側システムAの最高レ
ベル(レベル9 ) ハ応答(111システムCの最高
レベル(レベル12)以上ではない。
ステップ47では、要求側システムAの最高レベル(レ
ベル9)ハ応答ft1lシステムCの最低レベル(レベ
ル5)よりも大きい。従って応答側システムCt[求側
システムの最高レベル(レベル9)を返す(ステップ4
9)。
第6図を参照すると、上記のようにして決定された最高
共通値又はゼロが要求側ノードに返される(ステップ6
0)。次に要求側ノードは、応答側ノードがバージョン
/リリースrpcを認識したか否かを判定する(ステッ
プ65)。もしそうであってゼロが返されたならば(ス
テップ70)、応答側ノードとの通信は確立できず、会
話は終了する(ステップ90)。もしゼロ以外の値が返
されたならば、その値はノード・テーブルに記録される
(ステップ72)。これは現在の接続中に同じノードと
他の会話が開始される場合に使われる(ステップ25)
。返すt”L タハージョン・レベルが2つのノード間
の通信プロト、コルとして使われる(ステップ74)。
応答側ノードがバージョン/リリースrpc f認識し
たか否かをステップ65で判定する理由を詳細に説明す
る。最初のバージョン/リリースのプログラムは、ここ
で述べた協議方法を完全に実施する必要がない。最初の
リリースは他の端末にオケるシステムの実際のバージヨ
ン・レベルヲ知る必要がないが、他のシステムがあまり
に進歩しすぎて最初のバージョン/リリースのシステム
と話す事さえできない事を知らされる方式が必要である
。それにもかかわらず、後のバージョン/リリースのシ
ステムは、それらがリリースルベルのシステムと話して
いる事を発見する方法が必要である。
最初のバージョン/リリースのシステムに関fる動作ル
ールを以下説明する。最初に、接続を確立する時、最初
のバージョン/リリースのシステムは、そのバージョン
/リリースを遠隔のノードに通知するために遠隔手続き
呼び出しくrpc)を開始しない。後のバージョン/リ
リースは、バージョン/リリースrpce最初に送らな
いシステムから通常のrpc要求を受は取り始めると、
リリース1のシステムと話している事を知る。例えばシ
ステムDが、システムCと会話を開始するために第2図
の矢印6により示されるように通常のrpce送信する
。システムCがこの通常のrpcを受は取る時、システ
ムCはレベル1のシステムと話している事を知る。
第2に、バージョン1のシステム力、バージョン/リリ
ース情報の要求のために予約されているrpc  op
コード(遠隔手続き呼出しオペレーション・コード)を
受は取ると、「opコード認識不可」エラーを返す。こ
の返答を受は取った後のバージョンのシステムハ、リリ
ース1のシステムと話していると推定する事ができる。
例えばシステムDが矢印1に示すようにシステムCから
バージョン/リリースrpc’(z受は取ると、システ
ムDは矢印2に示すようにropコード認識不可」で応
答する。システムCは、システムDかう「opコード認
識不可」メツセージを受は取ると、システムDがバージ
ョン1のシステムである事を知る。
第3に、後のバージョンのシステムが非常に進んでいて
、リリース1のシステムとどのようにして通信すればよ
いのかを知らない場合、後のバージョンのシステムはリ
リース1のシステムからの全ての要求に対してropコ
ード認識不可」で返答する。例えば矢印乙に示すように
システムDがシステムCに通常のrpe送信を行なうの
に対して、システムCは矢印4に示すようにシステムD
にropコード認識不可」のメツセージを返す。
従って、第3図のステップ65で、応答側ノードがバー
ジョン/リリースrpeを認識できないならば、要求側
ノードは応答側ノードがバージヨン・レベル1である事
を知る(ステップ80)。
次に要求側ノードは、要求側ノードがバージョン1と通
信できるか否かを判定する(ステップ82)。
もしできなければそれ以上の会話は確立できず、会話は
終了する(ステップ90)。もし要求側ノードがバージ
ョン1と通信できるならば、要求側ノードは、第2図の
ノード・テーブル12に、応答側ノードのレベルに関し
て1の値を記録する。
次に要求側ノードはレベル1のプロトコルを用いて応答
側ノードと通信する(ステップ86)。
要求側システムによる値の範囲の送信及びその範囲内の
共通最高値又はゼロの返信より成るこの通信はネットワ
ーク番トラフィックを要するが、この通信は1度実行す
るだけでよい事が重要である。協議後、返された値は他
の接続情報14と共に要求側ノードのノード・テーブル
12中に記憶される。
下記の例は上述の良好な実施例を説明する。例えば、バ
ージョン5の通信プログラムにおいて新しいファイル・
デッドロック検出アルゴリズムを提供する変更が導入さ
れたと仮定する。システムAは、バージョン5のデッド
ロック検出アルゴリズムをサポートする全ての以前のリ
リースをサポートするバージョン9を走行させている。
システムBにおいてファイルをオープンするために、シ
ステムAはシステムBのトランザクション・プログラム
にrpc’!r用意する。もしAとBとの間に現在、接
続が存在すれば、接続を確立するために使われるrpc
は起動する必要がない。ノード・テーブル(これは接続
に関する情報を保持する構造である)は、以前に確立さ
れた接続において使われる以前に協議されたバージョン
/リリースを含んでいる。システムAとシステムBとの
間に現在、接続が存在しなければ、システムAは、接続
分確立しバージョン/リリース協議を行なうためにrp
c’に行なう。システムAは、システムAが通信する方
法を知っている最高及び最低のバージョンを表わす値5
及び9をシステムBに伝える。
もしシステムBがバージョン4であれば、システムAと
システムBとの間には共通のプロトコルが存在しないの
で、その事を示す値が返される。この低いバージヨン・
レベルを有するノードと接続が存在するならば、プツト
ロック検出アルゴリズムは使用されないであろう。もし
システムAがシステムEと会話を開始すると、返される
値は7であろう。というのはシステムEはバージヨン・
レベル7を有するからである。もしシステムAが、バー
ジョンΦレベル12を有スるシステムC(これはバージ
ョン5までのプロトコルをサポートできる)と会話を開
始すると、協議された値は9になるであろう。その結果
、システムAとシステムC又はシステムEとの間の通信
はこの例のデッドロック検出アルゴリズムを利用できる
。というのはそれらのノードはこの機能をサポートする
に充分に高いバージヨン・レベルを有しているからであ
る。
次に、初期のリリースにおける下位レベルの機能が後の
リリースによってサポートされない場合に要求側ノード
がその下位レベルの機能を使用できるようにする本発明
の他の実施例を以下説明する。これは要求側ノードが1
つの機能に関して応答側ノードと第ルベルで通信し、次
に異なった機能に関して他のレベルで同じ応答側ノード
と通信する事を可能にする。この実施例では、応答側ノ
ードは、以前の実施例の最高レベルの代りに、応答側ノ
ードによりサポートされるバージョン/IJ IJ−ス
範囲を返す。次に要求側ノードは、所定の動作のための
通信プロトコルに関してその範囲内のどのレベルが使わ
れるかを決定する。
例えばファイルの名前の変更の機能を考える。
バージョン5のプログラムハ、リンク・システム・コー
ルを用いてファイルを別の名前に再リンクし次にアンリ
ンク・システム・コールを用いて古い名前をアンリンク
する事によりファイルの名前の変更を行なう事が可能で
あると仮定する。さらに、バージョン6のプログラムは
バージョン5のプログラムの2段階プロセスを避け、名
前変更システム・コールを用いて1ステツプで名前を変
更できるものと仮定する。バージョン5の機能又はバー
ジョン6の機能のどちらかが起動されるかに依存して異
なったrpcが用いられる。しかし、要求側ノードのユ
ーザーが、ファイルの名前を変更しようとする毎にリン
ク及びアンリンクの2つのシステム・コールを自動的に
送信するプログラムΦセットアツプを有しているならば
、バージョン6の機能を含むようにユーザーのプログラ
ムを書き換えるよりはファイルの名前を変更するために
バージョン5のプログラムを使用する方がユーザーにと
って便利である。
上記の例を用いて続けると、他の機能はユーザーにファ
イルの属性を要求する事を可能にしていると仮定する。
そのような属性は、ファイルのサイズ、ファイルの所有
者、最後のアクセスの時刻、ファイルのユーザーID、
ファイルのグループID等を含み得る。ファイルの属性
を要求するために使われるrpcは、バージョン5のプ
ログラムにおいては属性の長いリストを有するファイル
の完全なステータスを常に返すかもしれない。一方プロ
グラムに対するバージョン6の更新は、バージョン5に
関して使われたのと同じrpck用いて属性のサプセツ
)f要求する小金可能にするかもしれない。サブセット
要求を伴なうrpcがバージョン5に送られると、バー
ジョン5のプログラムはこの波長機能を認識しないので
、属性のサブセットは返されないであろう。
上記2つの例を組み合せると、要求側ノードは、リンク
及びアンリンクによるファイルの名前変更等の第1の機
能についてはバージョン5のプロトコルで応答側ノード
と通信し、そしてファイルの属性の要求のような第2の
機能についてはバージョン乙のプロトコルを用いて同じ
応答側ノードと通信できる。
10発明の効果 本発明を用いれば、分散機能に関して異なったバージョ
ンのオペレーティング番システムヲ有スるノード間で効
果的に通信を行なう事ができる。
【図面の簡単な説明】
第1図は典型的な分散型データ処理システムの図、 第2図は各ノードが別々のバージョンeレベルの通信プ
ログラムを走行させている分散型データ処理システムの
図、 第3A図、第3B図は2つのノードの間のバージョン/
リリース協議の過程を示す流れ図、第4図は両ノードに
共通の最高のバージヨン・レベル全決定する過程の流れ
図である。 出願人  インターナショカル・ビジネス・マシーンズ
・コーポレーション7−F・テープ、シ、12 庇、答I別ノード 第3B図

Claims (4)

    【特許請求の範囲】
  1. (1)第1のノードと第2のノードとの間で通信を行な
    うためのシステムであつて、 上記第1のノードに適用可能な第1の組の通信規約と、 上記第2のノードに適用可能な第2の組の通信規約と、 上記第1の組及び第2の組に共通の少なくとも1つの通
    信規約を決定する手段と、 上記共通の通信規約を用いて第1のノードと第2のノー
    ドとの間で通信を行なう手段とを有する通信システム。
  2. (2)第1の組の通信規約を自局で処理できる第1のノ
    ードと第2の組の通信規約を自局で処理できる第2のノ
    ードとの間で通信を行なう方法であつて、 上記第1のノードから第2のノードへ、上記第1の組を
    表わす情報を送信し、 上記第2のノードにおいて、上記第1の組及び第2の組
    に共通の少なくとも1つの要素を決定し、上記1つの要
    素を表わす情報を上記第2のノードから第1のノードへ
    返送し、 上記1つの要素に相当する通信規約を用いて上記第1の
    ノードと第2のノードとの間で通信を行なう通信方法。
  3. (3)通信ネットワークに接続して他ノードと通信を行
    なう機能を有するデータ処理システムであつて、 自局で処理できる通信規約の組を表わす情報を送信する
    手段と、 他ノードから送信されてきた通信規約の組を表わす情報
    を、自局で処理できる通信規約の組を表わす情報と比較
    して、共通要素を見い出す手段と、上記共通要素に対応
    する通信規約を用いて上記他ノードと通信する手段とを
    有する データ処理システム。
  4. (4)上記通信規約の組を表わす情報が通信用プログラ
    ムのバージヨン・レベルの数字である特許請求の範囲第
    (3)項記載のデータ処理システム。
JP63003282A 1987-02-13 1988-01-12 通信方法及びデータ処理システム Granted JPS63205747A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1488487A 1987-02-13 1987-02-13
US14884 1987-02-13

Publications (2)

Publication Number Publication Date
JPS63205747A true JPS63205747A (ja) 1988-08-25
JPH0544693B2 JPH0544693B2 (ja) 1993-07-07

Family

ID=21768341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63003282A Granted JPS63205747A (ja) 1987-02-13 1988-01-12 通信方法及びデータ処理システム

Country Status (3)

Country Link
EP (1) EP0279232A3 (ja)
JP (1) JPS63205747A (ja)
BR (1) BR8800291A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950423A (ja) * 1995-07-21 1997-02-18 Bull Sa 遠隔情報処理システム間のデータ伝送方法
JP2000067022A (ja) * 1998-05-14 2000-03-03 Sun Microsyst Inc コンピュ―タ・ネットワ―ク内でコンフィギュレ―ション・デ―タを交換するためのプロトコル
US7620688B2 (en) 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US7730150B2 (en) 2003-01-03 2010-06-01 Microsoft Corporation System and method for improved client server communications of email messages
US7899872B2 (en) 2003-01-03 2011-03-01 Microsoft Corporation System and method for improved synchronization between a server and a client
US8850025B2 (en) 2005-05-25 2014-09-30 Microsoft Corporation Data communication coordination with sequence numbers
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
JP2015011708A (ja) * 2013-06-27 2015-01-19 横河電機株式会社 出力データを生成するためのシステムおよび方法
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US10630781B2 (en) 2011-09-09 2020-04-21 Microsoft Technology Licensing, Llc SMB2 scaleout

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954821A (en) * 1988-03-15 1990-09-04 International Business Machines Corporation Method of establishing transmission group numbers for network links
WO1990006027A1 (en) * 1988-11-14 1990-05-31 Datapoint Corporation Lan with dynamically selectable multiple operational capabilities
CA2003418A1 (en) * 1988-12-29 1990-06-29 Louis A. Winans Computer message & screen communications in a multi-lingual network
JPH03123244A (ja) * 1989-10-06 1991-05-27 Matsushita Electric Ind Co Ltd 通信装置
EP0464562B1 (en) * 1990-06-29 1997-04-23 Digital Equipment Corporation Method and apparatus for decryption of an information packet having a format subject to modification
GB9224076D0 (en) * 1992-11-17 1993-01-06 Ibm Communication in a computer network
US6738357B1 (en) 1993-06-09 2004-05-18 Btg International Inc. Method and apparatus for multiple media digital communication system
US5973724A (en) * 1995-02-24 1999-10-26 Apple Computer, Inc. Merging multiple teleconferences
US5572582A (en) * 1995-02-24 1996-11-05 Apple Computer, Inc. Method and apparatus for establishing communication between two teleconferencing endpoints
US5854898A (en) 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US6169893B1 (en) * 1997-04-04 2001-01-02 Nortel Networks Limited Wireless communication system that supports multiple standards, multiple protocol revisions, multiple extended services and multiple extended services delivery options and method of operation therefor
US7580707B2 (en) 1997-04-04 2009-08-25 Nortel Networks Limited Wireless communication system that supports multiple standards, multiple protocol revisions, multiple extended services and multiple extended services delivery options and method of operation therefor
US6353620B1 (en) * 1998-04-09 2002-03-05 Ericsson Inc. System and method for facilitating inter-nodal protocol agreement in a telecommunications
FI111495B (fi) 1999-04-13 2003-07-31 Nokia Corp Menetelmä ja järjestelmä tiedon välittämiseksi puhelinkeskusjärjestelmässä
US6725273B1 (en) * 1999-12-16 2004-04-20 Nokia Corporation Point-to-point prefix protocol
JP4683587B2 (ja) * 2000-10-31 2011-05-18 キヤノン株式会社 通信制御装置及び方法
JP4484353B2 (ja) * 2000-10-31 2010-06-16 キヤノン株式会社 通信制御装置及びその制御方法及び通信システム
EP1233318A1 (de) * 2001-02-16 2002-08-21 Abb Research Ltd. Softwarekomponente für ein verteiltes Kontrollsystem
US7065053B2 (en) * 2001-05-25 2006-06-20 Telefonaktiebolaget L M Ericsson (Publ) Method, system and agent for third generation partnership project (3GPP) technical specification (TS) document number exchange
US7099294B2 (en) * 2001-07-12 2006-08-29 Motorola, Inc. Method and apparatus for exchanging software information in a packet data communication system
CN1913524A (zh) * 2005-08-11 2007-02-14 华为技术有限公司 一种网络管理系统接口协商的方法及其装置
US8856206B2 (en) * 2007-08-28 2014-10-07 International Business Machines Corporation Maintaining message versions at nodes in a network
US8145769B2 (en) * 2007-09-26 2012-03-27 Qualcomm Incorporated Method for secure user plane (SUPL) version negotiation
DE102008016302B4 (de) * 2008-03-28 2013-06-13 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum Datenaustausch zwischen Teilnehmern eines Systems entsprechend einer kompatiblen Version und System
CN101478422B (zh) * 2008-12-01 2010-12-22 北京星网锐捷网络技术有限公司 一种软件版本自协商方法及系统
US8495108B2 (en) 2010-11-30 2013-07-23 International Business Machines Corporation Virtual node subpool management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61107452A (ja) * 1984-10-30 1986-05-26 Fujitsu Ltd 通信処理方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5992654A (ja) * 1982-11-09 1984-05-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 電子文書配送システム
JPS6276954A (ja) * 1985-09-30 1987-04-09 Toshiba Corp 通信制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61107452A (ja) * 1984-10-30 1986-05-26 Fujitsu Ltd 通信処理方式

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950423A (ja) * 1995-07-21 1997-02-18 Bull Sa 遠隔情報処理システム間のデータ伝送方法
JP2000067022A (ja) * 1998-05-14 2000-03-03 Sun Microsyst Inc コンピュ―タ・ネットワ―ク内でコンフィギュレ―ション・デ―タを交換するためのプロトコル
JP4533474B2 (ja) * 1998-05-14 2010-09-01 サン・マイクロシステムズ・インコーポレーテッド コンピュータネットワーク内でデータを変換するための方法
US7620688B2 (en) 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US7730150B2 (en) 2003-01-03 2010-06-01 Microsoft Corporation System and method for improved client server communications of email messages
US7899872B2 (en) 2003-01-03 2011-03-01 Microsoft Corporation System and method for improved synchronization between a server and a client
US9590927B2 (en) 2003-01-03 2017-03-07 Microsoft Technology Licensing, Llc System and method for improved synchronization between a server and a client
US9438696B2 (en) 2005-05-25 2016-09-06 Microsoft Technology Licensing, Llc Data communication protocol
US9071661B2 (en) 2005-05-25 2015-06-30 Microsoft Technology Licensing, Llc Data communication coordination with sequence numbers
US9332089B2 (en) 2005-05-25 2016-05-03 Microsoft Technology Licensing, Llc Data communication coordination with sequence numbers
US8850025B2 (en) 2005-05-25 2014-09-30 Microsoft Corporation Data communication coordination with sequence numbers
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US10284626B2 (en) 2011-06-29 2019-05-07 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9462039B2 (en) 2011-06-30 2016-10-04 Microsoft Technology Licensing, Llc Transparent failover
US10630781B2 (en) 2011-09-09 2020-04-21 Microsoft Technology Licensing, Llc SMB2 scaleout
JP2015011708A (ja) * 2013-06-27 2015-01-19 横河電機株式会社 出力データを生成するためのシステムおよび方法

Also Published As

Publication number Publication date
BR8800291A (pt) 1988-09-06
EP0279232A2 (en) 1988-08-24
EP0279232A3 (en) 1990-09-26
JPH0544693B2 (ja) 1993-07-07

Similar Documents

Publication Publication Date Title
JPS63205747A (ja) 通信方法及びデータ処理システム
JP3532854B2 (ja) ネットワーク全体にわたって電子メールを同期させるシステムおよび方法
EP0613274B1 (en) Socket structure for concurrent multiple protocol access
US7024497B1 (en) Methods for accessing remotely located devices
US5594921A (en) Authentication of users with dynamically configurable protocol stack
US7552265B2 (en) System and method for providing context information
US5864669A (en) Method and system for accessing a particular instantiation of a server process
EP0726004B1 (en) Object-oriented rule-based protocol system
JP3071469B2 (ja) リモート・サーバの単純で安全な管理を提供するための装置および方法
US5987517A (en) System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols
US7424540B2 (en) System and method for unified registration information collection
KR20060045365A (ko) 컴퓨터들 사이에서 네트워크를 통해 오브젝트를 공유하는시스템 및 방법
JP2005522787A (ja) 物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ
EP1623558B1 (en) Accessing data in a computer network
JPH10187519A (ja) 分配システムの競合を防止する方法
EP1627327A2 (en) Accessing data stored in multiple locations
JPH09223116A (ja) 複数ミドルウェアに渡る分散オブジェクトの位置透過性
JPH11232226A (ja) 協同作業支援システム及び記録媒体
WO2004097668A1 (en) Accessing data based on user identity
US20080294748A1 (en) Proxy between network file system version three and network file system version four protocol
WO1995017064A1 (en) Object-oriented distributed communications directory service
JP2004086895A (ja) 任意のネットワーク上のコンポーネントを通信可能にするためのシステムと方法
JP2007183913A (ja) ファイルシステムのデータを複製する装置と方法
CN100473070C (zh) 一种具有存储功能的usb设备在网络计算机上的映射方法
US20030145089A1 (en) System and method for enabling arbitrary components to transfer data between each other