JPH02195461A - Cpuベースの階層的通信システムにおいてタイ及びタイ・グループの保全制を維持するための方法 - Google Patents
Cpuベースの階層的通信システムにおいてタイ及びタイ・グループの保全制を維持するための方法Info
- Publication number
- JPH02195461A JPH02195461A JP1317911A JP31791189A JPH02195461A JP H02195461 A JPH02195461 A JP H02195461A JP 1317911 A JP1317911 A JP 1317911A JP 31791189 A JP31791189 A JP 31791189A JP H02195461 A JPH02195461 A JP H02195461A
- Authority
- JP
- Japan
- Prior art keywords
- tie
- layer
- group
- ccbs
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims description 40
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 102100039025 Propionyl-CoA carboxylase beta chain, mitochondrial Human genes 0.000 abstract description 30
- 101001098982 Homo sapiens Propionyl-CoA carboxylase beta chain, mitochondrial Proteins 0.000 abstract description 23
- XQONXPWVIZZJIL-UHFFFAOYSA-N 1-(4-chlorophenyl)cyclobutane-1-carbonitrile Chemical compound C1=CC(Cl)=CC=C1C1(C#N)CCC1 XQONXPWVIZZJIL-UHFFFAOYSA-N 0.000 abstract description 2
- 230000006378 damage Effects 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 103
- 238000010586 diagram Methods 0.000 description 5
- 210000003127 knee Anatomy 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000005477 standard model Effects 0.000 description 3
- 101100327149 Arabidopsis thaliana CCB1 gene Proteins 0.000 description 2
- 208000001840 Dandruff Diseases 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- UKUVVAMSXXBMRX-UHFFFAOYSA-N 2,4,5-trithia-1,3-diarsabicyclo[1.1.1]pentane Chemical compound S1[As]2S[As]1S2 UKUVVAMSXXBMRX-UHFFFAOYSA-N 0.000 description 1
- 244000005894 Albizia lebbeck Species 0.000 description 1
- 101100327159 Arabidopsis thaliana CCB2 gene Proteins 0.000 description 1
- 101100438795 Arabidopsis thaliana CCMB gene Proteins 0.000 description 1
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 241000566113 Branta sandvicensis Species 0.000 description 1
- 241001670157 Gymnura Species 0.000 description 1
- 101000581533 Homo sapiens Methylcrotonoyl-CoA carboxylase beta chain, mitochondrial Proteins 0.000 description 1
- 241000188250 Idas Species 0.000 description 1
- 101150057104 MCIDAS gene Proteins 0.000 description 1
- 102100027320 Methylcrotonoyl-CoA carboxylase beta chain, mitochondrial Human genes 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- JPGQOUSTVILISH-UHFFFAOYSA-N enflurane Chemical compound FC(F)OC(F)(F)C(F)Cl JPGQOUSTVILISH-UHFFFAOYSA-N 0.000 description 1
- 229960000305 enflurane Drugs 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005571 horizontal transmission Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
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)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、開放型システム間接続(081)モデルを使
用した階層的層状通信サブシステムを有するCPUに関
するものである。さらに具体的には、本発明は、経路破
壊状況が存在する場合にO8I層の接続制御ブロック表
示間の経路の保全性を維持するための、CPUホスト内
での方法に関するものである。
用した階層的層状通信サブシステムを有するCPUに関
するものである。さらに具体的には、本発明は、経路破
壊状況が存在する場合にO8I層の接続制御ブロック表
示間の経路の保全性を維持するための、CPUホスト内
での方法に関するものである。
B、従来の技術
前川、外の著書、「オペレーティング・システム−上級
編(Operating System−Advanc
edConcepts) J 、ベンジャミン/カミン
グス出版社(Benjamin/Cunnings
Publishing Co、) 、 1987年
刊、pp、177−208では、分散システムを、独立
なコンビ二一夕と、それらの間でメツセージを交換する
ための通信機構との集合体として定義している。重要な
ことであるが、そのようなシステムは共育メそりを使用
しない。むしろ、そうしたシステムは、分散同期化のた
めの基礎としてメツセージの受渡しに依存しなければな
らない。
編(Operating System−Advanc
edConcepts) J 、ベンジャミン/カミン
グス出版社(Benjamin/Cunnings
Publishing Co、) 、 1987年
刊、pp、177−208では、分散システムを、独立
なコンビ二一夕と、それらの間でメツセージを交換する
ための通信機構との集合体として定義している。重要な
ことであるが、そのようなシステムは共育メそりを使用
しない。むしろ、そうしたシステムは、分散同期化のた
めの基礎としてメツセージの受渡しに依存しなければな
らない。
コンビエータまたはプロセスがメツセージを交換するこ
とにより通信するときは、通信が行なわれる方法を制御
する、確立された1組の規則、すなわちプロトコルがな
ければならない。前記の前川の著書で指摘されているよ
うに、例えば、バッファ容量を超えないよう、かつメツ
セージが失われないようにするため、種々のレベルのプ
ロトコルが必要である。
とにより通信するときは、通信が行なわれる方法を制御
する、確立された1組の規則、すなわちプロトコルがな
ければならない。前記の前川の著書で指摘されているよ
うに、例えば、バッファ容量を超えないよう、かつメツ
セージが失われないようにするため、種々のレベルのプ
ロトコルが必要である。
開放型システム間接続(O8I)アーキテクチャの1つ
のモデルに関連するISO国際標準7488を参照する
必要がある。この標準によれば、「開放型システム」は
、ネットワークを機能の1層」の階層構造として表し、
各1層」は、階層内でそれより上の1層」がアクセスし
、使用することのできる関連機能の集合体を提供する。
のモデルに関連するISO国際標準7488を参照する
必要がある。この標準によれば、「開放型システム」は
、ネットワークを機能の1層」の階層構造として表し、
各1層」は、階層内でそれより上の1層」がアクセスし
、使用することのできる関連機能の集合体を提供する。
「開放型システム間接続」はまた、2つ以上の開放型シ
ステム間の通信のために使用される1組のプロトコルを
も指す。
ステム間の通信のために使用される1組のプロトコルを
も指す。
180標準O8Iモデルでは、7つの層を定義する。こ
れらの層は上から下に向かって、(7)アプリケージ鰭
ン層、(6)プレゼンテーシーン層、(5)セラシロン
層、(4))ランスポート層、(3)ネットワーク層、
(2)データ・リンク層及び(1)物理層である。
れらの層は上から下に向かって、(7)アプリケージ鰭
ン層、(6)プレゼンテーシーン層、(5)セラシロン
層、(4))ランスポート層、(3)ネットワーク層、
(2)データ・リンク層及び(1)物理層である。
通常、これらの層のいくつかを、処理されるアプリケー
ジ日ソに応じて組み合わせるか、または削除する。例え
ば、層(1)−(3)を組み合わせて、未処理ビット・
ストリームの伝送、送受信点の電気的協働、自動エラー
検出・回復、及びパケットとルーティングの管理要件を
含む通信層とすることができる。また、層(6)−(7
)を組み合わせて、情報の提示と使用に重点を置いた単
一のアプリケ−シロン層とすることができる。セッシ冒
ン層及びトランスポート層の機能は、特定のプロセス対
(各層状サブシステムで1つずつ)間の接続(セッシ1
ン)を実現し、同時に信頼性のあるホストCPU間の通
信を実現することである。
ジ日ソに応じて組み合わせるか、または削除する。例え
ば、層(1)−(3)を組み合わせて、未処理ビット・
ストリームの伝送、送受信点の電気的協働、自動エラー
検出・回復、及びパケットとルーティングの管理要件を
含む通信層とすることができる。また、層(6)−(7
)を組み合わせて、情報の提示と使用に重点を置いた単
一のアプリケ−シロン層とすることができる。セッシ冒
ン層及びトランスポート層の機能は、特定のプロセス対
(各層状サブシステムで1つずつ)間の接続(セッシ1
ン)を実現し、同時に信頼性のあるホストCPU間の通
信を実現することである。
これと関連して、通信層は一般にハードウェアで実現さ
れるが、アプリケ−シーン層及び中間層は、今定義した
ように、ソフトウェアによって実現される。
れるが、アプリケ−シーン層及び中間層は、今定義した
ように、ソフトウェアによって実現される。
081は、多層アーキテクチャとして、プロセス間の信
頼できる通信を確立し、メツセージが、送信顧に受信さ
れることを保証する。O8Iでは、各層はサービス提供
者と見なすことができる。すなわち、各層はその上の層
、すなわちユーザにサービスを提供して、そのユーザが
別のノードにいるその対等者と通信できるようにする。
頼できる通信を確立し、メツセージが、送信顧に受信さ
れることを保証する。O8Iでは、各層はサービス提供
者と見なすことができる。すなわち、各層はその上の層
、すなわちユーザにサービスを提供して、そのユーザが
別のノードにいるその対等者と通信できるようにする。
各層は、最下部、すなわち物理通信層に達するまで、階
層内のすぐ下の層との接続を確立することにより、これ
らのサービスを提供する。最下部に達した時点で、メツ
セージはその宛先への物理経路上に加えられる。宛先ノ
ードでは、同じプロセスが逆の順序で繰り返される。
層内のすぐ下の層との接続を確立することにより、これ
らのサービスを提供する。最下部に達した時点で、メツ
セージはその宛先への物理経路上に加えられる。宛先ノ
ードでは、同じプロセスが逆の順序で繰り返される。
起点ホストで各層を上から下へと伝わるメツセージの下
降、物理経路または層を介して目標に向かう水平伝送、
及び目標ホストでの下から上への処理の進行は、従来技
術で十分に記載されている。
降、物理経路または層を介して目標に向かう水平伝送、
及び目標ホストでの下から上への処理の進行は、従来技
術で十分に記載されている。
従来技術で扱われている問題の大部分は、水平すなわち
対等結合の面を強調した通信に関するものであった。そ
れには、セッシ騨ンの確立、ルーティング、及び雑音ま
たは可変帯域が存在する場合の同期の維持がある。実例
としては、1988年4月6日に発行されたパルライラ
イ(Barzilai)等の米国特許第473838θ
号「適応セッシ1ン・レベル歩調合せ(Adaptiv
e SeSe55ion−1evelPacin Jを
参照されたい。
対等結合の面を強調した通信に関するものであった。そ
れには、セッシ騨ンの確立、ルーティング、及び雑音ま
たは可変帯域が存在する場合の同期の維持がある。実例
としては、1988年4月6日に発行されたパルライラ
イ(Barzilai)等の米国特許第473838θ
号「適応セッシ1ン・レベル歩調合せ(Adaptiv
e SeSe55ion−1evelPacin Jを
参照されたい。
C0発明が解決しようとする課題
従来技術は、CPUホスト内での層化処理の保全性を維
持する問題、具体的には垂直態様を扱っていないことを
認識されたい。すなわち、各層を通るプロセス経路が、
経路の確立及び解除に応じて変化する。
持する問題、具体的には垂直態様を扱っていないことを
認識されたい。すなわち、各層を通るプロセス経路が、
経路の確立及び解除に応じて変化する。
したがって、本発明の目的は、層化通信サブシステムを
有するCPUホストを、経路破壊が存在する場合にシス
テムが処理の再調整を行なえるような形で管理するため
の方法を提供することである。
有するCPUホストを、経路破壊が存在する場合にシス
テムが処理の再調整を行なえるような形で管理するため
の方法を提供することである。
さらに具体的に対象に焦点を絞るため、「制御ブロック
」は接続制御状態を定義するために使用される構成体で
あることを想起されたい。通信における各層は一群の機
能からなるので、層間の相互関係は、対になる制御ブロ
ック間の接続によって定義される。これらの制御ブロッ
クは「接続制御ブロック(CCB)Jと呼ばれる。CC
B間の関係は「タイ」と呼ばれ、定義された1組のタイ
で結ばれたCCBは「タイ・グループ」と呼ばれる。「
タイ」の作成により、ある環境で実行されるとき、同じ
層内で互いにタイで結ばれた全てのCCBに対して作業
を直列化することが可能になる。
」は接続制御状態を定義するために使用される構成体で
あることを想起されたい。通信における各層は一群の機
能からなるので、層間の相互関係は、対になる制御ブロ
ック間の接続によって定義される。これらの制御ブロッ
クは「接続制御ブロック(CCB)Jと呼ばれる。CC
B間の関係は「タイ」と呼ばれ、定義された1組のタイ
で結ばれたCCBは「タイ・グループ」と呼ばれる。「
タイ」の作成により、ある環境で実行されるとき、同じ
層内で互いにタイで結ばれた全てのCCBに対して作業
を直列化することが可能になる。
したがって、本発明の他の目的は、CPUベースの層化
通信サブシステムの各層内でタイ・グループの保全性を
維持する方法を考案することである。
通信サブシステムの各層内でタイ・グループの保全性を
維持する方法を考案することである。
00課題を解決するための手段
タイ及びそのCCBは、タイ・グループ関係のエツジ本
位の(edge−oriented) グラフ上に’
?9プできることが、はからずも認められた。しかし、
エツジ(タイ)の1つを、接続終了、故障またはエラー
のため除去しなければならなくなった場合、グラフの保
全性は、列挙されていないサブグラフまたは独立グラフ
の形成によって損なわれることになる。
位の(edge−oriented) グラフ上に’
?9プできることが、はからずも認められた。しかし、
エツジ(タイ)の1つを、接続終了、故障またはエラー
のため除去しなければならなくなった場合、グラフの保
全性は、列挙されていないサブグラフまたは独立グラフ
の形成によって損なわれることになる。
本発明の方法は、もはやタイ・グループ内のCCBを参
照しない頂点を有するエツジを列挙し、それらを除去し
、第2のタイ・グループを形成することによるグラフの
処理に関する。列挙は、グラフの残りのn個のエツジの
オイラー令トラバースによって行なわれる。ちなみに、
グラフのオイラー・トラバースは、ちょうど1同各エツ
ジを横切るトラバースである。そのようなトラバースに
より比較の回数mがN<M<O(N2)の範囲に減少す
る。このため、グラフにおけゐ各エツジの切断ごとに1
つまたは2つのタイ・グループを維持することが容易に
なる。
照しない頂点を有するエツジを列挙し、それらを除去し
、第2のタイ・グループを形成することによるグラフの
処理に関する。列挙は、グラフの残りのn個のエツジの
オイラー令トラバースによって行なわれる。ちなみに、
グラフのオイラー・トラバースは、ちょうど1同各エツ
ジを横切るトラバースである。そのようなトラバースに
より比較の回数mがN<M<O(N2)の範囲に減少す
る。このため、グラフにおけゐ各エツジの切断ごとに1
つまたは2つのタイ・グループを維持することが容易に
なる。
列挙の形式が、ノード本位グラフ(node−orie
nted)の反復経路(深さ優先)を通るトラバースを
必要とする場合は、O(N2)回の比較が必要になる。
nted)の反復経路(深さ優先)を通るトラバースを
必要とする場合は、O(N2)回の比較が必要になる。
さらに具体的に言うと、上記の目的は、層化通信サブシ
ステムの各層内のタイ接続制御ブロック(CCB)の保
全性を維持するための、コンビエータで実施した方法に
よって達成される。「タイ・グループ」とは、タイで結
ばれた1組のCCBである。各層は、呼出し可能サブル
ーチンとして現われ、対になった接続終点間の関連を確
立するための開存な1組の機能を提供する。さらに、各
層は、その層における接続終点のサブセットを表す少な
くとも1つのCCBを含む。この方法は、(a)現タイ
・グループのエツジ本位グラフ表現内にタイ関係を動的
に挿入するステップ、(b)現タイ・グループのメンバ
ーであるCCBに関する層呼出しプリミティブを順次処
理するステップ、(C)与えられたエツジ(タイ)の任
意の除去に応答して、グラフを通る経路を走査し、現タ
イ・グループを参照する少な(とも1つの頂点を示さな
い残りのエツジを除去するステップ、及び(d)除去さ
れたエツジ(タイ)の頂点で参照されるCCBから別の
タイ・グループを形成するステップを含む。
ステムの各層内のタイ接続制御ブロック(CCB)の保
全性を維持するための、コンビエータで実施した方法に
よって達成される。「タイ・グループ」とは、タイで結
ばれた1組のCCBである。各層は、呼出し可能サブル
ーチンとして現われ、対になった接続終点間の関連を確
立するための開存な1組の機能を提供する。さらに、各
層は、その層における接続終点のサブセットを表す少な
くとも1つのCCBを含む。この方法は、(a)現タイ
・グループのエツジ本位グラフ表現内にタイ関係を動的
に挿入するステップ、(b)現タイ・グループのメンバ
ーであるCCBに関する層呼出しプリミティブを順次処
理するステップ、(C)与えられたエツジ(タイ)の任
意の除去に応答して、グラフを通る経路を走査し、現タ
イ・グループを参照する少な(とも1つの頂点を示さな
い残りのエツジを除去するステップ、及び(d)除去さ
れたエツジ(タイ)の頂点で参照されるCCBから別の
タイ・グループを形成するステップを含む。
ステップ(C)に従って走査される経路は、1つのオイ
ラー・トラバースと1つの深さ優先トラバースからなる
組から選択したものである。さらに、CCB間の各タイ
は1対1.1対多数、多数対1、及び多数対多数からな
る組から選択される。
ラー・トラバースと1つの深さ優先トラバースからなる
組から選択したものである。さらに、CCB間の各タイ
は1対1.1対多数、多数対1、及び多数対多数からな
る組から選択される。
E、実施例
E−1,ISOO8I8I基準モ
デル第1図には、7層のISOO8I基準モデルを示す
。前述のように、層のい(つかは、層化通信の原則に違
反せずに、互いに結合することが可能である。その原則
とは、各層が、所定の順序で実行されるが他の層とは無
関係に実行可能ないわゆるプリミティブによって呼び出
される、1組の機能を構成することである。これらの機
能のいくつかは、隣接する層にある機能を呼び出すこと
ができる。すなわち、履Nにある機能は、層N−1にあ
る機能を呼び出すことができる。2つの層の間のインタ
ーフェースは、サービス・アクセス点を介して管理でき
る。なお、より下位の層は、概念上より高位の層に対す
るサービス提供者である。下位の層から見ると、高位の
層はサービス・ユーザである。
。前述のように、層のい(つかは、層化通信の原則に違
反せずに、互いに結合することが可能である。その原則
とは、各層が、所定の順序で実行されるが他の層とは無
関係に実行可能ないわゆるプリミティブによって呼び出
される、1組の機能を構成することである。これらの機
能のいくつかは、隣接する層にある機能を呼び出すこと
ができる。すなわち、履Nにある機能は、層N−1にあ
る機能を呼び出すことができる。2つの層の間のインタ
ーフェースは、サービス・アクセス点を介して管理でき
る。なお、より下位の層は、概念上より高位の層に対す
るサービス提供者である。下位の層から見ると、高位の
層はサービス・ユーザである。
E−2,O8I層及びメツセージ処理
第2図に、例示的データ構造、及びアクシーンがアプリ
ケージ四ン履から物理層まで上から下へ通過するとき、
種々の層中の諸機能がデータ構造に加える変更を示す。
ケージ四ン履から物理層まで上から下へ通過するとき、
種々の層中の諸機能がデータ構造に加える変更を示す。
なお、アプリケ−217層及びプレゼンテーシーン層は
ユーザ間通信(ユーザ間通信プロトコル)を定義し、セ
フタ1フ層及びトランスポート層はプロセス間通信(プ
ロセス間通信プロトコル)を定義し、ネットワーク層、
データ・リンク層及び物理層は実際のデータ伝送(コン
ビエータ間通信プロトコル)を定義する。
ユーザ間通信(ユーザ間通信プロトコル)を定義し、セ
フタ1フ層及びトランスポート層はプロセス間通信(プ
ロセス間通信プロトコル)を定義し、ネットワーク層、
データ・リンク層及び物理層は実際のデータ伝送(コン
ビエータ間通信プロトコル)を定義する。
例として1.CPU Aが、3つの層、つまりアプリ
ケ−シーン層、中間層及び通信層を有するO8Iシステ
ムを介して、メツセージMをCPUBに送ろうとしてい
るものと仮定する。後続層を構成する各プロセスが呼び
出されると、そのプロセスはメツセージに作用する。し
たがって、アプリケ−シーン層によって生成されたメツ
セージMでは、中間層が、メツセージをKl(M)にな
るように変更する。次に、通信装置層が、その結果をに
2 (Kl (Ml))になるように変更する。
ケ−シーン層、中間層及び通信層を有するO8Iシステ
ムを介して、メツセージMをCPUBに送ろうとしてい
るものと仮定する。後続層を構成する各プロセスが呼び
出されると、そのプロセスはメツセージに作用する。し
たがって、アプリケ−シーン層によって生成されたメツ
セージMでは、中間層が、メツセージをKl(M)にな
るように変更する。次に、通信装置層が、その結果をに
2 (Kl (Ml))になるように変更する。
複合メツセージはネットワークを介して送られ、宛先C
PU Bかに2 (Kl (M))として受は取る。
PU Bかに2 (Kl (M))として受は取る。
複合メツセージは逆の層順で分解されるので、各層はそ
の対等者と通信することができる。
の対等者と通信することができる。
したがって、中間層Aはメツセージに1(M)を中間層
Bに送り、CPUBのアプリケ−シロン層が元のメツセ
ージMを受は取る唯一の層である。
Bに送り、CPUBのアプリケ−シロン層が元のメツセ
ージMを受は取る唯一の層である。
E−3,接続、制御ブロック、層
意味のある作業を行なうため、ある終点にいるユーザは
宛先の終点との「接続」を確立する。アクシーンは、呼
出し側ユーザに必要なサービスを提供する適当な層を通
る経路をたどる。「接続制御ブロックJ (CCB)
と呼ばれる構成体は、ある層が別の層のサービスを必要
とするときの、2つのシステムにおける終点間の接続全
体の一部分を表す。すなわち、CCBが各層間境界に存
在し、各システム内の「接続」は関連CCBの連鎖によ
って定義される。
宛先の終点との「接続」を確立する。アクシーンは、呼
出し側ユーザに必要なサービスを提供する適当な層を通
る経路をたどる。「接続制御ブロックJ (CCB)
と呼ばれる構成体は、ある層が別の層のサービスを必要
とするときの、2つのシステムにおける終点間の接続全
体の一部分を表す。すなわち、CCBが各層間境界に存
在し、各システム内の「接続」は関連CCBの連鎖によ
って定義される。
E−4,O8Iベースの通信サブシステムのためのオペ
レーティング・システム環境 通信サブシステムは、層を構成する機能が、存限状態マ
シンと整合する形で実行される、実行待環境を提供する
。すなわち、通常の層は、状態遷移テーブル及び接続の
現状態を各CCBと関連づける。特定の接続のための作
業単位(ここでは、層がサービスを提供することを求め
る各要求を作業単位と見なす)を実行するために1つの
層が呼び出されると、その層は現状態、作業要求入力及
び状態遷移テーブルを使って、その要求を処理するため
のソフトウェアを見つける。見つかったソフトウェアを
実行すると、接続及び層の状態が変化し、また出力が発
生することもある。
レーティング・システム環境 通信サブシステムは、層を構成する機能が、存限状態マ
シンと整合する形で実行される、実行待環境を提供する
。すなわち、通常の層は、状態遷移テーブル及び接続の
現状態を各CCBと関連づける。特定の接続のための作
業単位(ここでは、層がサービスを提供することを求め
る各要求を作業単位と見なす)を実行するために1つの
層が呼び出されると、その層は現状態、作業要求入力及
び状態遷移テーブルを使って、その要求を処理するため
のソフトウェアを見つける。見つかったソフトウェアを
実行すると、接続及び層の状態が変化し、また出力が発
生することもある。
層がサービスを提供することを求める各要求は作業単位
と見なされる。前述のように、層は一組の関連する呼出
し可能機能を含む。したがって、通信サブシステムは、
その要求に応答して層を呼び出し、関連するプロセスま
たは機能が完了すると、そこから戻る。作業単位の各要
求は特定のCCBと関連づけられる。
と見なされる。前述のように、層は一組の関連する呼出
し可能機能を含む。したがって、通信サブシステムは、
その要求に応答して層を呼び出し、関連するプロセスま
たは機能が完了すると、そこから戻る。作業単位の各要
求は特定のCCBと関連づけられる。
現在実行中の層が、別の層にある1つの機能を呼び出す
場合、その要求または呼出しは、次に実行するようスケ
ジューリングされる。同じCCB(層)に対して出され
る全ての要求は、出された順に実行されることが必要で
ある。
場合、その要求または呼出しは、次に実行するようスケ
ジューリングされる。同じCCB(層)に対して出され
る全ての要求は、出された順に実行されることが必要で
ある。
「スレッド」とは、同期して実行される一連の関連する
要求である。最初に生成された要求に続く全ての要求は
、同じスレッド上で実行される。
要求である。最初に生成された要求に続く全ての要求は
、同じスレッド上で実行される。
複数のスレッドを操作し、それらをタスクに割り当てる
のは、通信サブシステムの責任である。複数タスク間で
のコンビエータ資源の割振り及びスケジユーリングは、
オペレーティング・システムの役目であり、本発明の範
囲に含まれない。
のは、通信サブシステムの責任である。複数タスク間で
のコンビエータ資源の割振り及びスケジユーリングは、
オペレーティング・システムの役目であり、本発明の範
囲に含まれない。
E−5,タイ及びタイ・グループの範嗜CCB間の関係
は「タイ」と呼ばれ、定義された1組のタイで結合され
たCCBは「タイ・グループ」と呼ばれることを想起さ
れたい。「タイ」を作成すると、CPU環境での実行時
に、同じ層内で互いにタイで結合された全てのCCBに
わたって作業を直列化することが可能になる。このとき
、タイ・グループの抽象表現はエツジ本位の無指向グラ
フであり、そこでは、CCBはノードとして働き、タイ
はエツジとして働く。
は「タイ」と呼ばれ、定義された1組のタイで結合され
たCCBは「タイ・グループ」と呼ばれることを想起さ
れたい。「タイ」を作成すると、CPU環境での実行時
に、同じ層内で互いにタイで結合された全てのCCBに
わたって作業を直列化することが可能になる。このとき
、タイ・グループの抽象表現はエツジ本位の無指向グラ
フであり、そこでは、CCBはノードとして働き、タイ
はエツジとして働く。
次に第3図には、本発明で使用されるタイ・グループの
範嗜の抽象表現を示す。本発明では、タイは、1番目の
層とその上のi+1番目の層の間の接続を表すCCBと
の間でしか作成できないと規定する。1+1番目の層は
ユーザ層(UCCB)と呼ばれ、1番目の層はサービス
(PCCB)を提供する。それと関連して、タイ関係は
、1対1.1対多数、多数対!及び多数対多数からなる
組から選択される。これは、他の1つのCCBにタイで
結合された1つのCCB、多数のCCBにタイで結合さ
れた1つのCCB、1つのCCBにタイで結合された多
数のCCB、及び多数のCCBにタイで結合された多数
のCCBに対応する。
範嗜の抽象表現を示す。本発明では、タイは、1番目の
層とその上のi+1番目の層の間の接続を表すCCBと
の間でしか作成できないと規定する。1+1番目の層は
ユーザ層(UCCB)と呼ばれ、1番目の層はサービス
(PCCB)を提供する。それと関連して、タイ関係は
、1対1.1対多数、多数対!及び多数対多数からなる
組から選択される。これは、他の1つのCCBにタイで
結合された1つのCCB、多数のCCBにタイで結合さ
れた1つのCCB、1つのCCBにタイで結合された多
数のCCB、及び多数のCCBにタイで結合された多数
のCCBに対応する。
第3図を参照すると、エツジeセット及びタイφグルー
プの範曙は次の通りであることが明らかになる。
プの範曙は次の通りであることが明らかになる。
エツジ・セット タイ・グループ((A、
1)) 1対1((8,2)、(8,
3)) 1対多数((2,8)、(3
,8)) 多数対1((C,4) 、
(D、4) 、 (D、5) 、 (E、5)
多数対多数(E、6) 、 (F、6) 、 (F、
?)。(0,7))E−6,タイ動作 第4図に、本発明の好ましい実施例の例で使用されるタ
イ・グループのトポロジを示す。このグラフは、それぞ
れユーザCCB (UCCB)及び提供者CCB (P
CCB)と呼ばれる、ノードとしての上層CCB及び下
履CCB、ならびにエツジ(1、C)、(2、A)等と
してのタイ関係を含んでいる。
1)) 1対1((8,2)、(8,
3)) 1対多数((2,8)、(3
,8)) 多数対1((C,4) 、
(D、4) 、 (D、5) 、 (E、5)
多数対多数(E、6) 、 (F、6) 、 (F、
?)。(0,7))E−6,タイ動作 第4図に、本発明の好ましい実施例の例で使用されるタ
イ・グループのトポロジを示す。このグラフは、それぞ
れユーザCCB (UCCB)及び提供者CCB (P
CCB)と呼ばれる、ノードとしての上層CCB及び下
履CCB、ならびにエツジ(1、C)、(2、A)等と
してのタイ関係を含んでいる。
次に第6図には、第4図に示したタイ・グループ・グラ
フに対する隣接性マトリックスを示す。
フに対する隣接性マトリックスを示す。
リストの各エツジ項目ごとに、リストの次の同じ側の項
目用の対応する項目がある。すなわち、ノード1(エツ
ジ1、C)に関する第1の参照は、リストの5番目の項
目に対するU(ユーザ)側参照を有する。次の(ノード
Cに関する)P(提供者)側参照は、リストの2番目の
項目である。
目用の対応する項目がある。すなわち、ノード1(エツ
ジ1、C)に関する第1の参照は、リストの5番目の項
目に対するU(ユーザ)側参照を有する。次の(ノード
Cに関する)P(提供者)側参照は、リストの2番目の
項目である。
CCBは互いにタイで結合されるので、さらに多くの項
目がリストに加えられる。タイ・グループ内の各CCB
は、リスト中のその最初のタイ・エツジを参照する。第
5図に示したリストでは、例えば、UCCB 1の最
初の項目は01であり、UCCB 2の最初の項目は
08であり、pccBAの最初の項目は03である。し
たがって、1対のCCBを互いにタイで結合するための
動作は、(1)エツジをリストに加え、(2)この新し
い項目を、作用を受けるCCBの最初の項目にすること
が必要である。
目がリストに加えられる。タイ・グループ内の各CCB
は、リスト中のその最初のタイ・エツジを参照する。第
5図に示したリストでは、例えば、UCCB 1の最
初の項目は01であり、UCCB 2の最初の項目は
08であり、pccBAの最初の項目は03である。し
たがって、1対のCCBを互いにタイで結合するための
動作は、(1)エツジをリストに加え、(2)この新し
い項目を、作用を受けるCCBの最初の項目にすること
が必要である。
次に第6図には、タイ動作によって変更された第5図の
マトリックスを示す。第5図に加えられ、第8図に記載
されている変更については、次節で順を追って説明する
。
マトリックスを示す。第5図に加えられ、第8図に記載
されている変更については、次節で順を追って説明する
。
例として、UCCB 3をPCCB Aにタイで結
合しようとしているものと仮定すると、以下のステップ
が含まれる。
合しようとしているものと仮定すると、以下のステップ
が含まれる。
(1)エツジ(3、A)を項目06としてリストに加え
る。
る。
(2)次の項目番号(NextLl)は、同じUCCB
ノード表示(UCCB 3)を有する項目番号である
。これは項目02になる。これはUCCB3の最初の項
目であった。
ノード表示(UCCB 3)を有する項目番号である
。これは項目02になる。これはUCCB3の最初の項
目であった。
(3)次の項目番号(NextP )は、同じPCCB
ノード表示(PCCB A)を有する項目番号である
。これは項目03に対応する。これはPCCBAの最初
の項目であった。
ノード表示(PCCB A)を有する項目番号である
。これは項目03に対応する。これはPCCBAの最初
の項目であった。
(4)UCCB 3の最初の項目を08になるように
修正する。
修正する。
(5)PCCB Aの最初の項目をOθになるように
修正する。
修正する。
上記アルゴリズムは、タイで結合された2つのCCBが
既に同じタイ・グループに属しているかどうかにかかわ
らず、動作する。事実、2つのCCBを互いにタイで結
合すると、2つのタイ・グループが結合されることは十
分あり得ることである。
既に同じタイ・グループに属しているかどうかにかかわ
らず、動作する。事実、2つのCCBを互いにタイで結
合すると、2つのタイ・グループが結合されることは十
分あり得ることである。
E−7,アンタイ動作
CCBのアンタイ(タイ解除)はタイ動作の逆である。
アンタイを実行するには、エツジを破壊することが必要
である。(1)関連項目をリストから除去し、(2)エ
ツジの前の項目の各側のCCB参照に対する適当な逆方
向参照を行なう、動作ステップが含まれる。
である。(1)関連項目をリストから除去し、(2)エ
ツジの前の項目の各側のCCB参照に対する適当な逆方
向参照を行なう、動作ステップが含まれる。
例として、CCB2及びAを分離するものとする。
(1)項目08をリストから除去する。
(2)項目04がUCCB 2に対する最後の項目に
なる。
なる。
(3)項目08がPCCB Aに対する最後の項目に
なる。
なる。
(4)UCCB 2 ’の最初の項目が04になる。
次に第7図には、エツジ(2、A)に関するアンタイ動
作の結果として変更されたグラフのリスト表示を示す。
作の結果として変更されたグラフのリスト表示を示す。
なお、任意のCCBとタイで結合されたCCBの識別を
確認するには、所与のCCBと関連する最初の項目を識
別し、次いで、連鎖をたどるだけでよい。
確認するには、所与のCCBと関連する最初の項目を識
別し、次いで、連鎖をたどるだけでよい。
E−8,多数対多数のタイ・グループでのタイ及びアン
タイ動作 タイ・グループ構成体は、層サービス及び資源に対する
アクセスを直列化するために使用される。
タイ動作 タイ・グループ構成体は、層サービス及び資源に対する
アクセスを直列化するために使用される。
多数対多数のタイ・グループで1つのエツジを除去する
と、2つの別々のグループができる可能性がある。そう
するとまた、タイ・グループが実際に独立し、別個のも
のであるかどうかについてあいまいさが生じる可能性も
ある。第1の問題は、2つ以上のタイ・グループの存在
を検出する問題である。これは、グラフを系統的に走査
し、調べた各ノードに印をつけ、走査完了時に、どのノ
ードが走査されなかったかを確認することと等価である
。従来技術の1つの方法では、反復した深さ優先の探索
またはトラバースを行なう。しかし、そのようなトラバ
ースには、0(N2)回の比較が必要である。
と、2つの別々のグループができる可能性がある。そう
するとまた、タイ・グループが実際に独立し、別個のも
のであるかどうかについてあいまいさが生じる可能性も
ある。第1の問題は、2つ以上のタイ・グループの存在
を検出する問題である。これは、グラフを系統的に走査
し、調べた各ノードに印をつけ、走査完了時に、どのノ
ードが走査されなかったかを確認することと等価である
。従来技術の1つの方法では、反復した深さ優先の探索
またはトラバースを行なう。しかし、そのようなトラバ
ースには、0(N2)回の比較が必要である。
次に、本発明の方法に従ってオイラー・トラバースをエ
ツジ本位の多数対多数のタイ・グループ表示に適用する
ことについて説明する。
ツジ本位の多数対多数のタイ・グループ表示に適用する
ことについて説明する。
第8図には、エツジ(1、C)が除去されている点を除
いて、第4図と同じタイ・グループを示す。以下の処置
またはステップは、本発明に従って2つのタイ・グルー
プが存在するかどうかを確認するために使用する。
いて、第4図と同じタイ・グループを示す。以下の処置
またはステップは、本発明に従って2つのタイ・グルー
プが存在するかどうかを確認するために使用する。
(1)元のタイ・グループ・リストから項目(1、C)
を取り出し、CCB 1及びCCBCを適当に調整す
る。
を取り出し、CCB 1及びCCBCを適当に調整す
る。
(2)リストの第2の項目、すなわちエツジ(3、C”
)を取り出し、それを新しいタイ・グループの最初の項
目にする。
)を取り出し、それを新しいタイ・グループの最初の項
目にする。
(3)このエツジの同じ側(頂点3またはCに接続され
た)をすべて新しいタイ・グループに移す。
た)をすべて新しいタイ・グループに移す。
(4)変更された元のリストに戻り、変更された元のリ
ストの次の項目が新しいリストのいずれかの項目と一致
する場合は、それを新しいリストに移す。
ストの次の項目が新しいリストのいずれかの項目と一致
する場合は、それを新しいリストに移す。
(5)その同じPCCB側(PCCBと等しい頂点を有
する全てのエツジ)をすべて新しいグループに移す。
する全てのエツジ)をすべて新しいグループに移す。
(8)元のリストの終りに達するまで、ステップ(4)
及び(5)を繰り返す。
及び(5)を繰り返す。
古いリストと新しいリストの一致は、各CCBが、その
タイ・グループ・リストを所有する制御ブロックをも参
照するという事実によって検出される。CCBが新しい
リストに移されるとき、そのタイ・グループ・ブロック
参照が調節される。
タイ・グループ・リストを所有する制御ブロックをも参
照するという事実によって検出される。CCBが新しい
リストに移されるとき、そのタイ・グループ・ブロック
参照が調節される。
したがって、新しいリストを参照している旧リスト中の
各CCBは除去する必要がある。
各CCBは除去する必要がある。
E−8,この方法の実施例の擬似コード表現以下の第1
表ないし第3表に、本発明の方法を具体化したタイ・ア
ルゴリズム及びアンタイ・アルゴリズムのPASCAL
様擬似コード表示を示す。なお、第1表は、CCB、タ
イ・グループ制御ブロック、エツジ制御ブロック等の構
成体を定義するものである。第2表はタイ手順を記述す
るも°のである。重要なことであるが、第3表は、グラ
フが2つ以上のタイ・グループを有するかどうか確認す
るためのテスト手順を含むアンタイ手順を記述するもの
である。制御の流れが容易に明らかになるように、手順
及び機能のそれぞれに詳しい注釈がつけである。
表ないし第3表に、本発明の方法を具体化したタイ・ア
ルゴリズム及びアンタイ・アルゴリズムのPASCAL
様擬似コード表示を示す。なお、第1表は、CCB、タ
イ・グループ制御ブロック、エツジ制御ブロック等の構
成体を定義するものである。第2表はタイ手順を記述す
るも°のである。重要なことであるが、第3表は、グラ
フが2つ以上のタイ・グループを有するかどうか確認す
るためのテスト手順を含むアンタイ手順を記述するもの
である。制御の流れが容易に明らかになるように、手順
及び機能のそれぞれに詳しい注釈がつけである。
第1表
データ・タイプ
/* ザータφり1′ブ
*/
Type 5ideType ’=(User、P
rovider)i /* CC
Bのタイプ */Type CCB=ECBReco
rd; /* Ca3を参照する*/Ty
pe TieGroupPtr=@TieGroup:
/* 94・グループを参照する*/Ty
pe EckePtr =@Edge8
/ネタイ・グループ・ニーを参照する*//*接続制
御ブロックー関連部分 */ Type CCBRecord = RecordUs
e : 5ideType:lホブ0フケの使
用、U側またはP611 宰/TieGr
oup : TieGroupPtri
*//* TfeGroupこ
α口は次のものに所属する*/FirstEc3ge
: EdgePtri /* TieGro
upの最初のbシネ/HextInTie :α13
/* TfeGroup内の次のブ昨
り*/HextCCB : cca: /宰C
CB連鎖上の次のCB */End; M!?/ /*タイ・グループ制御光性−関連部分*l Type TieGroup = RecordT!e
dCBs : EdgePtr;FirstInT
ie : CCB1 La5tInTie ! CCB: End: /* タイ・グループ・エツジ制eフケType Ed
ge a RecordTieBlk TiciGr
oupPtr+USideCCBt PSide CCB: Nextll EdgePtr :NextP
EdgePtr : Next EdgePtr 5 Prey EdgePtr i ndi /*結合されたCCBエフジ・リスト*//ネTteG
roup内の最初のCCB *//ネTieGroup
内の最後のCCB */*/ 赫−中/ /*次のものと関連するTieGroup *//*結
合されたUCCBのCC旧招汐 幹/*結合されたP
CCBのCCBポ(汐 掌//*このycCBを含む
次のエツジ*//*このPCCBを含む次のエツジ*/
l*同じTfeGroup内の次の工tジ*//ネ同じ
TfeGroup内の前のエフラネ/第2表 /*正式呼出し:*/ /*手1[rie (IJCCBj CCB:
結合すべき:t<Ca *//*
PCCB4 CCB) H結合すべき提供mB 中
//*
宰//ネ機能:*/ /ネ2つの(IBを互いにタイで結合する
*//**/ l*仮定:
宰/i* 1. UCCBとPCCBがまだ対
で結合されていない *//* 2. U
CCBは1−ECB、PCCB Gt提供者α1であル
ネ//*3.単→スク処理環境にいる
*/Procedure Tie (I
JCCB: CCB; /* 結合すべき
ユ(CCB */PCCB: CCB) :
/*結合すべき提供者CCB零/Var 01drie
Group : TieGroupPtrsegin /*両方ffBが同じタイ・九−ブに属する場合は、も
う1つのおジをこのt4//* TieSerial″
に1竹に加えるだけテヨイ。 ネ
/If UCCB@、TieGroup = PCCB
@、TteGroup thenInsertAnEd
ge lse igin InsertAnEdge : /*新しいエツジ
を作成して連鎖させる:101dTieGroup +
= PCCB@、TieGroupi/ネ 古いクイ・
グループに対するアドレスを保管 *//ネする
幹JoinTieGroups:
/* 2つのエツジ連鎖を連結する キ
/FreeStorage (01dTieGroup
)ilネ01dTieGroupはもはや必要でない*
/end: ndg /ネ機能1 tlccBのタイ・グループ内のこれら2
つのCCBに対する新しい 幹1本 ニー項目を作
成する 掌/War
HewEdge: EdgePtr:Be@in
/*新しい1婦を割り振
るfP/GetStorage (NewEdge)
:vith NevEdge@ d。
rovider)i /* CC
Bのタイプ */Type CCB=ECBReco
rd; /* Ca3を参照する*/Ty
pe TieGroupPtr=@TieGroup:
/* 94・グループを参照する*/Ty
pe EckePtr =@Edge8
/ネタイ・グループ・ニーを参照する*//*接続制
御ブロックー関連部分 */ Type CCBRecord = RecordUs
e : 5ideType:lホブ0フケの使
用、U側またはP611 宰/TieGr
oup : TieGroupPtri
*//* TfeGroupこ
α口は次のものに所属する*/FirstEc3ge
: EdgePtri /* TieGro
upの最初のbシネ/HextInTie :α13
/* TfeGroup内の次のブ昨
り*/HextCCB : cca: /宰C
CB連鎖上の次のCB */End; M!?/ /*タイ・グループ制御光性−関連部分*l Type TieGroup = RecordT!e
dCBs : EdgePtr;FirstInT
ie : CCB1 La5tInTie ! CCB: End: /* タイ・グループ・エツジ制eフケType Ed
ge a RecordTieBlk TiciGr
oupPtr+USideCCBt PSide CCB: Nextll EdgePtr :NextP
EdgePtr : Next EdgePtr 5 Prey EdgePtr i ndi /*結合されたCCBエフジ・リスト*//ネTteG
roup内の最初のCCB *//ネTieGroup
内の最後のCCB */*/ 赫−中/ /*次のものと関連するTieGroup *//*結
合されたUCCBのCC旧招汐 幹/*結合されたP
CCBのCCBポ(汐 掌//*このycCBを含む
次のエツジ*//*このPCCBを含む次のエツジ*/
l*同じTfeGroup内の次の工tジ*//ネ同じ
TfeGroup内の前のエフラネ/第2表 /*正式呼出し:*/ /*手1[rie (IJCCBj CCB:
結合すべき:t<Ca *//*
PCCB4 CCB) H結合すべき提供mB 中
//*
宰//ネ機能:*/ /ネ2つの(IBを互いにタイで結合する
*//**/ l*仮定:
宰/i* 1. UCCBとPCCBがまだ対
で結合されていない *//* 2. U
CCBは1−ECB、PCCB Gt提供者α1であル
ネ//*3.単→スク処理環境にいる
*/Procedure Tie (I
JCCB: CCB; /* 結合すべき
ユ(CCB */PCCB: CCB) :
/*結合すべき提供者CCB零/Var 01drie
Group : TieGroupPtrsegin /*両方ffBが同じタイ・九−ブに属する場合は、も
う1つのおジをこのt4//* TieSerial″
に1竹に加えるだけテヨイ。 ネ
/If UCCB@、TieGroup = PCCB
@、TteGroup thenInsertAnEd
ge lse igin InsertAnEdge : /*新しいエツジ
を作成して連鎖させる:101dTieGroup +
= PCCB@、TieGroupi/ネ 古いクイ・
グループに対するアドレスを保管 *//ネする
幹JoinTieGroups:
/* 2つのエツジ連鎖を連結する キ
/FreeStorage (01dTieGroup
)ilネ01dTieGroupはもはや必要でない*
/end: ndg /ネ機能1 tlccBのタイ・グループ内のこれら2
つのCCBに対する新しい 幹1本 ニー項目を作
成する 掌/War
HewEdge: EdgePtr:Be@in
/*新しい1婦を割り振
るfP/GetStorage (NewEdge)
:vith NevEdge@ d。
begin /本所盲側タイ・テyル・
力→を再び指す $/Tie81k gil IIcc
B@、TieGroup+/ネIjSide、 PSi
de、 NetP、 NextP側を適当にセトアフブ
する。ネ//*全てのリスト項目はリストの前で行なわ
れることに留意する。*/■5ide :=UCCB PSide :=PCCB NextU := 1IccB@、FirstEdge
;NextP := PCCB@、FirstEdge
i/ネ最後に、この初期設定されたエツジをTieGr
oup光d・リスト、*//l UCCB側のFirs
tTied、PCCB側のFirstTiedに連鎖さ
せる ネ/Next := TieBlk 、Tie
d:Bs1Prey := Mil; If Next <> Nil then /
iE最初の工づに注意する$/Next@、Prev
j= HevEdge:TieBlk@、Tied
CBs := HewEdge:UCCB@、Firs
tEdge s= NewEdge:PCCB@、Fi
rstEdge := NewEdge;and
1 end: /*機能:2つの分離したタイ・グループをエツジ・リ
ストにより連結するネ/ Var CurrCB : CCB CurrEdge + EdgePtr;/ネ探索中の
現在のCCB */ /*探索中の現在の1婦*/ egin /ネ2つのエツジ・リストを連結する。PCCBエツジ
・リストはUCC&エツジ・リストの ネ//*終
りに置かれる
*/1jccBI1.La5tInT!e 、Next
Inτie += PC(M、 FirstInTie
iDCCM、La5tInTie :=P
CCB@、 La5tInTieilネ次にPCCBに
ついてエツジ・リストを走査し、そのカバーの全てを
*/i* UCCBのTieGroupを指すように
変更する 零/CurrCB
:= PCCB@、FirstI
nTie;epeat CurrCB@、TieGroup :
:+ UCC関、TieGroup;CurrCB
:z CurrCB@、Nex
tInTieiUntil CurrCB = Ni1
g/ネ次に、2つのエツジ・リストを互いに連鎖させる
。これで対の連結中//*は完了する。
*/If PQ:Be、
TieGroup@、Tfedl:Be ONil
thenegin CurrEdge != UCCB@、TieGrou
p@、TiedCBs;While CurrEdge
飢Next ONtl d。
力→を再び指す $/Tie81k gil IIcc
B@、TieGroup+/ネIjSide、 PSi
de、 NetP、 NextP側を適当にセトアフブ
する。ネ//*全てのリスト項目はリストの前で行なわ
れることに留意する。*/■5ide :=UCCB PSide :=PCCB NextU := 1IccB@、FirstEdge
;NextP := PCCB@、FirstEdge
i/ネ最後に、この初期設定されたエツジをTieGr
oup光d・リスト、*//l UCCB側のFirs
tTied、PCCB側のFirstTiedに連鎖さ
せる ネ/Next := TieBlk 、Tie
d:Bs1Prey := Mil; If Next <> Nil then /
iE最初の工づに注意する$/Next@、Prev
j= HevEdge:TieBlk@、Tied
CBs := HewEdge:UCCB@、Firs
tEdge s= NewEdge:PCCB@、Fi
rstEdge := NewEdge;and
1 end: /*機能:2つの分離したタイ・グループをエツジ・リ
ストにより連結するネ/ Var CurrCB : CCB CurrEdge + EdgePtr;/ネ探索中の
現在のCCB */ /*探索中の現在の1婦*/ egin /ネ2つのエツジ・リストを連結する。PCCBエツジ
・リストはUCC&エツジ・リストの ネ//*終
りに置かれる
*/1jccBI1.La5tInT!e 、Next
Inτie += PC(M、 FirstInTie
iDCCM、La5tInTie :=P
CCB@、 La5tInTieilネ次にPCCBに
ついてエツジ・リストを走査し、そのカバーの全てを
*/i* UCCBのTieGroupを指すように
変更する 零/CurrCB
:= PCCB@、FirstI
nTie;epeat CurrCB@、TieGroup :
:+ UCC関、TieGroup;CurrCB
:z CurrCB@、Nex
tInTieiUntil CurrCB = Ni1
g/ネ次に、2つのエツジ・リストを互いに連鎖させる
。これで対の連結中//*は完了する。
*/If PQ:Be、
TieGroup@、Tfedl:Be ONil
thenegin CurrEdge != UCCB@、TieGrou
p@、TiedCBs;While CurrEdge
飢Next ONtl d。
CurrEdge :x CurrEdge@、Nex
tiCurrEdge@、Hext :+ PC
CB@、TiedCBs+CurrEdge@、Nex
te、Prev := CurrEdge:/*最後に
、全てのエツジ加算を正しいTieGroupを指ずよ
うキ//ネに変更する
*/Vhile CurrEdge ONil
d。
tiCurrEdge@、Hext :+ PC
CB@、TiedCBs+CurrEdge@、Nex
te、Prev := CurrEdge:/*最後に
、全てのエツジ加算を正しいTieGroupを指ずよ
うキ//ネに変更する
*/Vhile CurrEdge ONil
d。
egin
CurrEdge@、TieBlk HzυCCB@、
TieGroup8CUrrEdge :=C
urrEdgeO,Next;end; and 1 end+ 第3表 /*正式呼出し: /*手順Untie (UCCB:CCB;PCCB:
CCB) i /ネ /ネ機能= /* TieGroupから2つのCCBを分離し、か
つ2つのTieGroupを作成/ネする必要があるか
どうか判定する。
TieGroup8CUrrEdge :=C
urrEdgeO,Next;end; and 1 end+ 第3表 /*正式呼出し: /*手順Untie (UCCB:CCB;PCCB:
CCB) i /ネ /ネ機能= /* TieGroupから2つのCCBを分離し、か
つ2つのTieGroupを作成/ネする必要があるか
どうか判定する。
/*
/*仮定:
/*1.UC2とPCCBは対で結合されている1*
2. tlccBitz→’CCB、PCCBは提供&
ロチあるlネ3.単一似り処理環境にいる /
#H*/Procedure Un
Tie (tlccB: CCB1
/中 51イのユーザ但It
*/PCCB: CCBI /f−タイ
の提供者側*/Var Tied! EdgePtr;
/I CCBを表すエツジ
中/egin Tied :j EdgePtr which rep
resents edge between UCCB
and */CCB /ネこれら2つのCCBを結合している工づを取り除り
*/DeleteEdgei /*現截組の贅を有し、もう1つのタイ・グループを作
成すべきか *//ネどうか判定する
*/MakeDisJoint
Ties: lネこの時点で、2つのCCBは分離され、2つの別々
のタイ・グループ */l傘が形成されている可能性が
ある ネ/ndi /ネ零手順の開ヒ機能の注釈 /ネ機能ニジ・グにづからニーを削除するネ/ Var CurrEdge: EdgePtr;egi
n /ネ探索中の現在の1婦f4/ /*タイ結合されたものMCCB ネ//* T
ieGroupから連鎖解除される*/If’ Tie
dl、Prev ’= Nil ther+11ccB
@、TieGroup@、TiedCBs :=Tie
d@、Next1se Tiedl、Prev@、Next :=Tied@、
Next:If Tiedl、Next ONil t
henTied@、Hext@、Prev := Ti
edl、Prev:/掌タイ結合されたもの燭CCB
TieEdge連鎖から連鎖解除本//本される
$/If U
CCB@、TieGroup@、FirstEdge
= Tied thenUCCB@、TieGroup
@、FirstEdge ニー TiedO,Hext
Ulse egin CurrEdge := tlccB@、TieGr
oup自、FirstEdge;While Curr
Edge@、Nexttl◇Tied t。
2. tlccBitz→’CCB、PCCBは提供&
ロチあるlネ3.単一似り処理環境にいる /
#H*/Procedure Un
Tie (tlccB: CCB1
/中 51イのユーザ但It
*/PCCB: CCBI /f−タイ
の提供者側*/Var Tied! EdgePtr;
/I CCBを表すエツジ
中/egin Tied :j EdgePtr which rep
resents edge between UCCB
and */CCB /ネこれら2つのCCBを結合している工づを取り除り
*/DeleteEdgei /*現截組の贅を有し、もう1つのタイ・グループを作
成すべきか *//ネどうか判定する
*/MakeDisJoint
Ties: lネこの時点で、2つのCCBは分離され、2つの別々
のタイ・グループ */l傘が形成されている可能性が
ある ネ/ndi /ネ零手順の開ヒ機能の注釈 /ネ機能ニジ・グにづからニーを削除するネ/ Var CurrEdge: EdgePtr;egi
n /ネ探索中の現在の1婦f4/ /*タイ結合されたものMCCB ネ//* T
ieGroupから連鎖解除される*/If’ Tie
dl、Prev ’= Nil ther+11ccB
@、TieGroup@、TiedCBs :=Tie
d@、Next1se Tiedl、Prev@、Next :=Tied@、
Next:If Tiedl、Next ONil t
henTied@、Hext@、Prev := Ti
edl、Prev:/掌タイ結合されたもの燭CCB
TieEdge連鎖から連鎖解除本//本される
$/If U
CCB@、TieGroup@、FirstEdge
= Tied thenUCCB@、TieGroup
@、FirstEdge ニー TiedO,Hext
Ulse egin CurrEdge := tlccB@、TieGr
oup自、FirstEdge;While Curr
Edge@、Nexttl◇Tied t。
CurrEdge := CurrEdge@、Nex
tUiCurrEdge@、NextU :+Tied
@、NextU:nd i /*クイ結合されたものがPCCBからのエツジ・リス
トから連鎖解除 ネ//ネされる
tPIIf PCCB@
、TieGroup@、FirstEdge =Tie
d thenPCCB@、TieGroup@、Fir
stEdge += Tiedl、NextPlse egin CurrEdge := POCB@、TieGrou
p@、FirstEdge+%fhfle CurrE
dge@、NextP OTied d。
tUiCurrEdge@、NextU :+Tied
@、NextU:nd i /*クイ結合されたものがPCCBからのエツジ・リス
トから連鎖解除 ネ//ネされる
tPIIf PCCB@
、TieGroup@、FirstEdge =Tie
d thenPCCB@、TieGroup@、Fir
stEdge += Tiedl、NextPlse egin CurrEdge := POCB@、TieGrou
p@、FirstEdge+%fhfle CurrE
dge@、NextP OTied d。
CurrEdge := CurrEdge@、Nex
tP:CurrEdge@、NextP :+ Tie
dl、NextP:ndl h−ν結合されたものはこのときもはやどこででも連
零/lネ鎖されていないので、それを解放する
R%eeStorage(Tied) +ndi /**手順の開始/機能の注釈− 1本機能:タイ・グループを2つの独立グループに分割
しようlネ とする Procedure MakeDisjointTie
s:Var 01dCiroup : TieGroupPtrS
/* 元の直列ブロック零/NewGro
up + TfeGroupPtr: #新
しい直列ブロック零/egin 01dGroup :” CBu@、TieGroup
i/*新しいTieGroupを作成し、NewGro
upフィールドを初期設定する */GetStora
ge (NewGroup) :NewGroup@、
TiedCBS := Nil:NewGroup
@、FirstInTfe += Nil:NewGr
oup@、La5tInTie += Nil:If
LICCBI!、FirstTie = Nil t
hen /* UCCBは完全に分離される*/1)C
CB東TieGroup := NewGroupel
se if PCCB@、FirstTfe = Ni
l then/* PCCB completely
unt!edPCCB@、TieGroup Hz N
ewGroupelse
/* 多分2つの
タイ・グループ */MakeDisjoints; /*この時点で、2つのクイ・グルづを有することが保
証される。ネ//lE各九−ブは少なくとも1つのCC
Bをその中に有するが、 $//*2つの対・グループ
が共に工づを持たないこともある */5plit
TieList;
/* クイ・グループ・リストを決定する */If
01dGroup@、FirstInTie =
Hfl then/*空の場合は、古いクイ・残
づを解放する一PIFreeStrage (01dG
roup) !end; /ネ*手順の開始/機能の注釈
//ネ機能;ある九−ブに属する全てのエツ
ジを新しいタイ・グループに移す ネ/Procedu
re MakeDisJointSets;Var
CurrEdge : Edgeptr: /
* 01dGroup内の現在のエツジ*/Begin
/ネ01dGrOLIg)から最初のタイ−
QをHcvGroupに移す掌/MoveEdge (
01dGroup、 NewGroup、01dGro
u−、TiedCBs);/*最初の対・々類aLls
idas及び同様のPsidesの全てを移す *lC
urrEdge := NewGrou−、TiedC
Bs:)GoveSide (01dGroup、Ne
wGroup、CurrEdge@、Usid−、Fi
rstEdge。
tP:CurrEdge@、NextP :+ Tie
dl、NextP:ndl h−ν結合されたものはこのときもはやどこででも連
零/lネ鎖されていないので、それを解放する
R%eeStorage(Tied) +ndi /**手順の開始/機能の注釈− 1本機能:タイ・グループを2つの独立グループに分割
しようlネ とする Procedure MakeDisjointTie
s:Var 01dCiroup : TieGroupPtrS
/* 元の直列ブロック零/NewGro
up + TfeGroupPtr: #新
しい直列ブロック零/egin 01dGroup :” CBu@、TieGroup
i/*新しいTieGroupを作成し、NewGro
upフィールドを初期設定する */GetStora
ge (NewGroup) :NewGroup@、
TiedCBS := Nil:NewGroup
@、FirstInTfe += Nil:NewGr
oup@、La5tInTie += Nil:If
LICCBI!、FirstTie = Nil t
hen /* UCCBは完全に分離される*/1)C
CB東TieGroup := NewGroupel
se if PCCB@、FirstTfe = Ni
l then/* PCCB completely
unt!edPCCB@、TieGroup Hz N
ewGroupelse
/* 多分2つの
タイ・グループ */MakeDisjoints; /*この時点で、2つのクイ・グルづを有することが保
証される。ネ//lE各九−ブは少なくとも1つのCC
Bをその中に有するが、 $//*2つの対・グループ
が共に工づを持たないこともある */5plit
TieList;
/* クイ・グループ・リストを決定する */If
01dGroup@、FirstInTie =
Hfl then/*空の場合は、古いクイ・残
づを解放する一PIFreeStrage (01dG
roup) !end; /ネ*手順の開始/機能の注釈
//ネ機能;ある九−ブに属する全てのエツ
ジを新しいタイ・グループに移す ネ/Procedu
re MakeDisJointSets;Var
CurrEdge : Edgeptr: /
* 01dGroup内の現在のエツジ*/Begin
/ネ01dGrOLIg)から最初のタイ−
QをHcvGroupに移す掌/MoveEdge (
01dGroup、 NewGroup、01dGro
u−、TiedCBs);/*最初の対・々類aLls
idas及び同様のPsidesの全てを移す *lC
urrEdge := NewGrou−、TiedC
Bs:)GoveSide (01dGroup、Ne
wGroup、CurrEdge@、Usid−、Fi
rstEdge。
User) ;
MoveSide (01dGroup、HevGro
up、CurrEdge@、Pside@、First
Edge。
up、CurrEdge@、Pside@、First
Edge。
Provider) :
/lp 01dGroupのエツジ連鎖を上から下へ連
続的にたどり、 *//* HewGroupでの
一致を含むエツジを移す。タイで結合されたCB :
//*の終りに達したとき終了する
*/CurrEdge += 01dGroup
@、TiedCBs+While CurrEdge
ONil D。
続的にたどり、 *//* HewGroupでの
一致を含むエツジを移す。タイで結合されたCB :
//*の終りに達したとき終了する
*/CurrEdge += 01dGroup
@、TiedCBs+While CurrEdge
ONil D。
If EdgeMatchFound (CurrEd
ge、HevGroup) thenegin MoveSide (01dGroup、 NewGr
oupsCurrEdge@、Pside@、Firs
tEdge、Provider) NCurrEdge
!= 01d[1iroup@、TiedCBs:n
d lse CurrEdge += CurrEdge@、Nex
t;nd H /*手順の開始/機能の注釈
−9,−/l*機能:移されたばかりの討ジに関連す
るエイ側または提供者側*//*すべてを新しいタイや
グループに移す ネ/Pr
ocedure MoveSide (01dGrou
p : Tie(iroupPtr:NewGroup
: TieGroupPtr:CurrEdge :
EdgePtr:5ide : BlockUs
e) ;Begin /
傘 同様な工づを全て移す*/Th1le Curr
Edge ONil d。
ge、HevGroup) thenegin MoveSide (01dGroup、 NewGr
oupsCurrEdge@、Pside@、Firs
tEdge、Provider) NCurrEdge
!= 01d[1iroup@、TiedCBs:n
d lse CurrEdge += CurrEdge@、Nex
t;nd H /*手順の開始/機能の注釈
−9,−/l*機能:移されたばかりの討ジに関連す
るエイ側または提供者側*//*すべてを新しいタイや
グループに移す ネ/Pr
ocedure MoveSide (01dGrou
p : Tie(iroupPtr:NewGroup
: TieGroupPtr:CurrEdge :
EdgePtr:5ide : BlockUs
e) ;Begin /
傘 同様な工づを全て移す*/Th1le Curr
Edge ONil d。
egin
)GoveEdge (01dGroup、14ewG
roup、CurrEdge) :/車移動する次のエ
ツジをゲットする*/If 5ide = user
thenCurrEdge := CurrEdge@
、HextUlse CurrEdge := CurrEdge@、Nex
tP+end: end: /ネ手順の開始/機能の注釈
//ネ機能: 01dGroupから1つの
エツジをNewGroupに移し、全ての連鎖零//ネ
をそれに応じて調整する
ネ/Procedure MoveEdge (0
1dGroup : TieGroupPtr;Hev
Group :τieGroupPtrsCurrEd
ge : EdgePtr)iBegin
/*このエツジを0rdGroup連鎖から取り
出す*/If CurrEdge!、Prev = N
il thenegin 01dGroup@、TiedCBs = CurrE
dge@、HextsIf 01dGroup@、Ti
edCBs ONil then01dGroup@、
TiedCBs@、Prev := Nil;end lse egin CurrEdge@、Prev@、Next += C
urrEdge@、Next:If CurrEdge
@、Next OHit thenCurrEdge@
、Next東Prev :=CurrEdge@+Pr
ev;end: /宰この工→及び、NewGroupが所有するそのC
Oを作成し、tP//*次にこのニーをNewGrou
pの前に連鎖させる 中/CurrEdge
@。T!eB1k Hz HevGroup
;CurrEdge@、USide@、TieGrou
p :x NevGroupiCurrEdge飢PS
id−、TieGroup xx NevGroup;
CurrEdge@、Hext 雪s H
ewGroup@、TiedCBsiCurrEdge
@、Prev := Nil:NewGr
oup@、丁fedcBs :! Cu
rrEdgeHIf CurrEdge@、Next
OHit thenCurrEdge@、Next@、
Prev := CurrEdgeiend: l井手順の間食1槻能の注釈 lネ機能:Xづの一致が見つかったかどうか調べる、、
、/ */ TieB)k = TieGroupPtr) :
Boolean;egin /* TieBlkは、全てのものが移される新しいT
ieGroupのアドレスで*//liあるCurrE
dgは、古いTffieGroupのエツジ連鎖から押
し出された*//零ばかりのニーである
*/If (CurrEdge
@、1JStd−、TieGroup = TieBl
k) or(CurrEdge@、PSide@、Ti
eGroup 嵩TieBlk) thenEdge1
4atchFound :x Truelse EchgeMatchFound i= False+
nd i /ネネ手順の開始/機能の注釈##キ*…−9?−P’
P’PITWWM??!、MW#//ネ機能:飼・グル
ープ連鎖を分割する キl
ar CurrCB : CCB /*
探索中の現在のCCB */PrevCB ! C
CB /* 探索中の前のC
CB */egin CurrCB := 01dGroup@、Fir
stInTie;PrevCB := Nil /*古いタイ・グループのカバー・リストの徹底的探索
ti/While CurrCB
ONil d。
roup、CurrEdge) :/車移動する次のエ
ツジをゲットする*/If 5ide = user
thenCurrEdge := CurrEdge@
、HextUlse CurrEdge := CurrEdge@、Nex
tP+end: end: /ネ手順の開始/機能の注釈
//ネ機能: 01dGroupから1つの
エツジをNewGroupに移し、全ての連鎖零//ネ
をそれに応じて調整する
ネ/Procedure MoveEdge (0
1dGroup : TieGroupPtr;Hev
Group :τieGroupPtrsCurrEd
ge : EdgePtr)iBegin
/*このエツジを0rdGroup連鎖から取り
出す*/If CurrEdge!、Prev = N
il thenegin 01dGroup@、TiedCBs = CurrE
dge@、HextsIf 01dGroup@、Ti
edCBs ONil then01dGroup@、
TiedCBs@、Prev := Nil;end lse egin CurrEdge@、Prev@、Next += C
urrEdge@、Next:If CurrEdge
@、Next OHit thenCurrEdge@
、Next東Prev :=CurrEdge@+Pr
ev;end: /宰この工→及び、NewGroupが所有するそのC
Oを作成し、tP//*次にこのニーをNewGrou
pの前に連鎖させる 中/CurrEdge
@。T!eB1k Hz HevGroup
;CurrEdge@、USide@、TieGrou
p :x NevGroupiCurrEdge飢PS
id−、TieGroup xx NevGroup;
CurrEdge@、Hext 雪s H
ewGroup@、TiedCBsiCurrEdge
@、Prev := Nil:NewGr
oup@、丁fedcBs :! Cu
rrEdgeHIf CurrEdge@、Next
OHit thenCurrEdge@、Next@、
Prev := CurrEdgeiend: l井手順の間食1槻能の注釈 lネ機能:Xづの一致が見つかったかどうか調べる、、
、/ */ TieB)k = TieGroupPtr) :
Boolean;egin /* TieBlkは、全てのものが移される新しいT
ieGroupのアドレスで*//liあるCurrE
dgは、古いTffieGroupのエツジ連鎖から押
し出された*//零ばかりのニーである
*/If (CurrEdge
@、1JStd−、TieGroup = TieBl
k) or(CurrEdge@、PSide@、Ti
eGroup 嵩TieBlk) thenEdge1
4atchFound :x Truelse EchgeMatchFound i= False+
nd i /ネネ手順の開始/機能の注釈##キ*…−9?−P’
P’PITWWM??!、MW#//ネ機能:飼・グル
ープ連鎖を分割する キl
ar CurrCB : CCB /*
探索中の現在のCCB */PrevCB ! C
CB /* 探索中の前のC
CB */egin CurrCB := 01dGroup@、Fir
stInTie;PrevCB := Nil /*古いタイ・グループのカバー・リストの徹底的探索
ti/While CurrCB
ONil d。
begi口
/i4そのTieGroupMewGroupに変更さ
れた場合、CCBは 主11本NewGroupのタ
イ・リストに記入される tII
If CurrC腑、TieGroup = HevG
roup thenegin l*これがシ・リスト中で最初のものでない場合は、リ
スト*//*の中央部を調整する
*/If PrevCB O1lil then
egin PrevCBl、NextInTie := Curr
CBl、HextInTie:/*これが似トの終りで
あったかどうか調べるネ//ネため検査する
ネ/If 01cjGroup@、L
a5tInTie = CurrCB then01d
Group@、La5tlnTie = PrevC
BSnd /*さもない場合は、リストの前部を調整する 幹1
se 01dGroup@、FirstlnTie :=:
CurrCBl:、NextInTie;l掌空のNe
wGroup%(・リストでは、La5t−InTte
と 4/* First−InTieを同じにする。ソ
ノ後は、 *//* La5tInTteが再び変
わることがないように *//$新しい口を全て前部に
置(*/ If 1levGroup@、FfrstInTie
= Nil thenegin NewGroup@、La5tInTie := Cu
rrCB:CurrCBl、NextInTie :
= Nil:end 1se CurrCB@JextInTie := New
Group@、FirstlnTte:NewGrou
p@、FirstInTie :=CurrCB:/ネ
古いタイ・り外内の次のα1に移る *
/If PrevCB ONil thenCurrC
B sx F’revCB1.NeXtInTie1s
e CurrCB ::501dGroup@、First
InTie;end /*この口に対して変更はなく
、次に移るelse egin PrevCB := CurrCB: CurrCB := CurrCB@、NextInT
ie;end: end: */ end; F0発明の効果 本発明を用いれば、層状通信サブシステムの各層におい
てタイ・グループの保全性を良好に維持することができ
る。
れた場合、CCBは 主11本NewGroupのタ
イ・リストに記入される tII
If CurrC腑、TieGroup = HevG
roup thenegin l*これがシ・リスト中で最初のものでない場合は、リ
スト*//*の中央部を調整する
*/If PrevCB O1lil then
egin PrevCBl、NextInTie := Curr
CBl、HextInTie:/*これが似トの終りで
あったかどうか調べるネ//ネため検査する
ネ/If 01cjGroup@、L
a5tInTie = CurrCB then01d
Group@、La5tlnTie = PrevC
BSnd /*さもない場合は、リストの前部を調整する 幹1
se 01dGroup@、FirstlnTie :=:
CurrCBl:、NextInTie;l掌空のNe
wGroup%(・リストでは、La5t−InTte
と 4/* First−InTieを同じにする。ソ
ノ後は、 *//* La5tInTteが再び変
わることがないように *//$新しい口を全て前部に
置(*/ If 1levGroup@、FfrstInTie
= Nil thenegin NewGroup@、La5tInTie := Cu
rrCB:CurrCBl、NextInTie :
= Nil:end 1se CurrCB@JextInTie := New
Group@、FirstlnTte:NewGrou
p@、FirstInTie :=CurrCB:/ネ
古いタイ・り外内の次のα1に移る *
/If PrevCB ONil thenCurrC
B sx F’revCB1.NeXtInTie1s
e CurrCB ::501dGroup@、First
InTie;end /*この口に対して変更はなく
、次に移るelse egin PrevCB := CurrCB: CurrCB := CurrCB@、NextInT
ie;end: end: */ end; F0発明の効果 本発明を用いれば、層状通信サブシステムの各層におい
てタイ・グループの保全性を良好に維持することができ
る。
第1図は、ホスト内のメツセージ処理の上下の動き及び
ホスト間の水平の動きを強調した、修正多層ISOO8
I基準モデルを示す図である。 第2図は、アプリケ−シーン層によって発生される基本
メツセージまたはデータと、伝送に先立って中間層及び
通信層がそれに対して加えた修正を記述する図である。 第3図は、本発明で使用されるタイ・グループの範嗜を
抽象的に表した図である。 第4図は、本発明の好ましい実施例における説明例で使
用されるタイ・グループのトポロジを記述する図である
。 第5図は、第4図に示したタイ・グループ・グラフ用の
隣接性/重複性マトリックスを示す図である。 第6図及び第7図は、それぞれタイ及びアンタイ動作に
よって修正された第5図のマトリックスを示す図である
。 第8図は、少なくとも1つのエツジが除去された状態の
、第4図に示したタイ・グループを示す図である。 出願人 インターナシロナル・ビジネス・マシーンズ
ーコーポレーシロン 代理人 弁理士 頓 宮 孝 −(外1名) 1#1タイ 1対1し牧タイ叉iコ 汐数対1タイ 9P牧対埼し教クイ グループの種類 Fig、 3 Fig、 4
ホスト間の水平の動きを強調した、修正多層ISOO8
I基準モデルを示す図である。 第2図は、アプリケ−シーン層によって発生される基本
メツセージまたはデータと、伝送に先立って中間層及び
通信層がそれに対して加えた修正を記述する図である。 第3図は、本発明で使用されるタイ・グループの範嗜を
抽象的に表した図である。 第4図は、本発明の好ましい実施例における説明例で使
用されるタイ・グループのトポロジを記述する図である
。 第5図は、第4図に示したタイ・グループ・グラフ用の
隣接性/重複性マトリックスを示す図である。 第6図及び第7図は、それぞれタイ及びアンタイ動作に
よって修正された第5図のマトリックスを示す図である
。 第8図は、少なくとも1つのエツジが除去された状態の
、第4図に示したタイ・グループを示す図である。 出願人 インターナシロナル・ビジネス・マシーンズ
ーコーポレーシロン 代理人 弁理士 頓 宮 孝 −(外1名) 1#1タイ 1対1し牧タイ叉iコ 汐数対1タイ 9P牧対埼し教クイ グループの種類 Fig、 3 Fig、 4
Claims (3)
- (1)各層の接続終点が接続制御ブロック(CCB)に
よって示され、CCB間の関係がタイによって示される
、CPUベースの階層的通信サブシステムにおいてタイ
及びそれらの関連するタイ・グループの保全性を維持す
るための方法であって、(a)タイ及びそれらのCCB
を、頂点がCCBを表し、エッジがタイを表すタイ・グ
ループ関係のエッジ本位のグラフ上にマップするステッ
プと、(b)タイ・グループ内のCCBをもはや参照し
ない頂点を有するエッジを列挙し、それらを除去し、第
2のタイ・グループを形成するステップであって列挙が
グラフの残りのn個のエッジのオイラー・トラバースに
、ついて行なわれるステップとを含む方法。 - (2)「タイ・グループ」が一組やタイで結合された接
続制御ブロック(CCB)であり、呼出し可能サブルー
チンとして現われる各層が、対になった接続終点間の関
連を確立するための固有な1組の機能を提供し、各層が
、その層における接続終点のサブセットを表す少なくと
も1つのCCBを含む、CPUベースの階層的通信サブ
システムの各層内のタイCCBの保全性を維持するため
の方法であって、 (a)グラフの頂点がCCBであり、各エッジが1対の
ラベルつき頂点で識別される、現タイ・グループのラベ
ルつきエッジ本位グラフ表現に、タイ関係を動的に挿入
するステップと、 (b)呼び出された層と関連するタイ・グループである
現タイ・グループのメンバーであるCCBに関する層呼
出しプリミティブを順次処理するステップと、 (c)エッジ(タイ)の任意の除去に応答して、グラフ
を通る経路を走査し、現タイ・グループを参照する少な
くとも1つのラベルつき頂点を示さない走査済みの各エ
ッジを評価し、除去するステップと、 (d)除去されたエッジ(タイ)のラベルつき頂点で参
照されるCCBから別のタイ・グループを形成するステ
ップと を含む方法。 - (3)呼出し可能サブルーチンとして現れる各層が、対
になった接続終了点間の関連を確立するための固有な1
組の機能を提供し、各層が、その層における接続終点の
サブセットを表す少なくとも1つの制御ブロック(CC
B)を含み、 「サービス層」が、特定の層と関連するプロセスを呼び
出し、それをその層におけるCCBの指定された1つで
パラメータ表示するための、外部から供給された構成体
であり、「スレッド」が、対になったCCBを横切って
同期的に実行される一連の関連するサービス要求であり
、 「タイ」が、同じ層内のCCB間の接続であり、「タイ
・グループ」が、1組のタイで結合されたCCBであり
、一時に1つのタイ、グループごとに1本のスレッドだ
けが実行される、 CPUベースの階層的通信サブシステムにおいて、タイ
及びそれらの関連するタイ・グループの保全性を維持す
るための方法であって、 (a)現タイ・グループのエッジ本位グラフ表示にタイ
関係を動的に挿入するステップと、 (b)現タイ・グループのメンバーであるCCBに対す
るサービス要求を順次処理するステップと、(c)グラ
フを通るオイラー経路トラバースの間、上記現タイ・グ
ループのメンバーであるCCB間のタイ関係を確認する
ステップと、 (d)走査中のエッジが、現タイ・グループを参照する
少なくとも1つの頂点を欠く場合は、グラフからタイ関
係(制御ブロック間のエッジ)を除去し、除去したタイ
またはエッジから第2のタイ・グループを作成するステ
ップと を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/282,409 US5003470A (en) | 1988-12-09 | 1988-12-09 | Method for tying and untying path access in a CPU-based, layered communications system |
US282409 | 1988-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02195461A true JPH02195461A (ja) | 1990-08-02 |
Family
ID=23081398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1317911A Pending JPH02195461A (ja) | 1988-12-09 | 1989-12-08 | Cpuベースの階層的通信システムにおいてタイ及びタイ・グループの保全制を維持するための方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5003470A (ja) |
EP (1) | EP0373130A3 (ja) |
JP (1) | JPH02195461A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381655A3 (en) * | 1989-01-31 | 1992-12-02 | International Business Machines Corporation | Method for synchronizing the dispatching of tasks among multitasking operating systems |
US5551041A (en) * | 1990-06-13 | 1996-08-27 | Hewlett-Packard Company | Wait for service request in an iconic programming system |
JP2729420B2 (ja) * | 1991-10-02 | 1998-03-18 | 三菱電機株式会社 | 通信用プロセッサ |
US5414812A (en) * | 1992-03-27 | 1995-05-09 | International Business Machines Corporation | System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem |
US5586125A (en) * | 1993-02-26 | 1996-12-17 | Warner; William T. | Method for generating test vectors for characterizing and verifying the operation of integrated circuits |
US6292508B1 (en) | 1994-03-03 | 2001-09-18 | Proxim, Inc. | Method and apparatus for managing power in a frequency hopping medium access control protocol |
AU1974795A (en) | 1994-03-03 | 1995-09-18 | Proxim, Inc. | Frequency hopping medium access control protocol |
US5623499A (en) * | 1994-06-27 | 1997-04-22 | Lucent Technologies Inc. | Method and apparatus for generating conformance test data sequences |
US6064660A (en) * | 1996-12-12 | 2000-05-16 | Optimay Corporation | GSM transceiver with portable protocol stack |
US6728267B1 (en) * | 1998-12-23 | 2004-04-27 | Nortel Networks Limited | Service capable network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4479196A (en) * | 1982-11-15 | 1984-10-23 | At&T Bell Laboratories | Hyperedge entity-relationship data base systems |
US4710872A (en) * | 1985-08-07 | 1987-12-01 | International Business Machines Corporation | Method for vectorizing and executing on an SIMD machine outer loops in the presence of recurrent inner loops |
US4833604A (en) * | 1986-01-13 | 1989-05-23 | International Business Machines Corporation | Method for the relocation of linked control blocks |
US4736369A (en) * | 1986-06-13 | 1988-04-05 | International Business Machines Corp. | Adaptive session-level pacing |
US4858106A (en) * | 1987-04-03 | 1989-08-15 | General Electric Company | Automated method implemented on a distributed data processing system for partitioning a data string into two substrings |
US4835709A (en) * | 1987-11-25 | 1989-05-30 | Bell Communications Research, Inc. | Assembly modeling process |
-
1988
- 1988-12-09 US US07/282,409 patent/US5003470A/en not_active Expired - Fee Related
-
1989
- 1989-11-27 EP EP19890850414 patent/EP0373130A3/en not_active Withdrawn
- 1989-12-08 JP JP1317911A patent/JPH02195461A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0373130A3 (en) | 1992-09-16 |
EP0373130A2 (en) | 1990-06-13 |
US5003470A (en) | 1991-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834004B2 (en) | Path determination method and system for delay-optimized service function chaining | |
CN106161610A (zh) | 一种分布式存储的方法和系统 | |
JPH03158959A (ja) | 多重プロセッサコンピュータ・システムおよびコンピュータネットワークを動作させる方法 | |
JPH02195461A (ja) | Cpuベースの階層的通信システムにおいてタイ及びタイ・グループの保全制を維持するための方法 | |
CN108429679B (zh) | 扩展型互连网络的拓扑结构及其路由方法 | |
CN111416875A (zh) | 一种面向云边协同的服务目录同步方法及系统 | |
CN113114594B (zh) | 一种策略生成方法及装置、存储介质 | |
Olexandr et al. | Routing method based on the excess code for fault tolerant clusters with InfiniBand | |
CN115065637A (zh) | 传输算力资源信息的方法、装置和电子设备 | |
CN112367279A (zh) | 一种基于二维mesh结构多核芯片组的路由方法及系统 | |
US7944842B2 (en) | Opportunistic queueing injection strategy for network load balancing | |
CN114422526B (zh) | 一种区块同步方法、装置、电子设备和存储介质 | |
CN113395183B (zh) | 网络仿真平台vlan互联的虚拟节点调度方法与系统 | |
US10148518B2 (en) | Method and apparatus for managing computer system | |
Ali et al. | Multi-constrained QoS multicast routing optimization | |
CN113055264A (zh) | 一种面向环形拓扑的组网通信方法、装置及存储介质 | |
CN112783673A (zh) | 一种调用链的确定方法、装置、计算机设备及存储介质 | |
Soleymani et al. | CLBM: controlled load-balancing mechanism for congestion management in silicon interposer NoC architecture | |
Karaata | A stabilizing algorithm for finding biconnected components | |
CN114385140B (zh) | 基于flink框架的ETL流程组件多个不同输出的处理方法与装置 | |
CN114385138B (zh) | 一种Flink框架运行ETL的流程联合组件方法和装置 | |
CN110581807B (zh) | 节点设备、路由方法及互联系统 | |
Pesant et al. | An optimal strategy for the constrained cycle cover problem | |
Kos et al. | Topological planning of communication networks | |
Das et al. | A new family of bridged and twisted hypercubes |