JPH09511115A - スケーラブル分散計算環境 - Google Patents

スケーラブル分散計算環境

Info

Publication number
JPH09511115A
JPH09511115A JP8508817A JP50881796A JPH09511115A JP H09511115 A JPH09511115 A JP H09511115A JP 8508817 A JP8508817 A JP 8508817A JP 50881796 A JP50881796 A JP 50881796A JP H09511115 A JPH09511115 A JP H09511115A
Authority
JP
Japan
Prior art keywords
node
kernel
child
network
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.)
Pending
Application number
JP8508817A
Other languages
English (en)
Inventor
グレガーソン,ダニエル,ピー.
ファーレル,デイヴィッド,アール.
ガイトンド,サニル,エス.
アフヤ,ラチンダー,ピー.
ラマクリシュナン,クリシ
シャフィック,ムハンマド
ワリス,イアン,エフ.
Original Assignee
ピアロジック インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ピアロジック インコーポレイテッド filed Critical ピアロジック インコーポレイテッド
Publication of JPH09511115A publication Critical patent/JPH09511115A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13107Control equipment for a part of the connection, distributed control, co-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13353Routing table, map memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13383Hierarchy of switches, main and subexchange, e.g. satellite exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13388Saturation signaling systems

Abstract

(57)【要約】 本発明は分散計算システムに関し、さらに詳しくは、同種または異種いずれかで有り得る単一ネットワーク上または相互接続ネットワーク上の独立した演算ノード間の通信を容易にするスケーラブル分散計算環境のアーキテクチャおよび実装に関する。本発明は、任意の個数の同一の(意味的に等価な)インスタンスすなわちカーネルなどから構成され論理木を形成するダイナミック、対称、分散、リアルタイム、ピア・ツー・ピア・システムである。カーネルはネットワークの自己設定および自己維持的論理ビューにより実行時に統一的で一定の動作を示す。それぞれのカーネルは、関連する1つ以上の資源を有するネットワーク・ノードに常駐する。カーネルはリアルタイムで互いに動的に位置づけして事実上無制限の数の独立して実行するカーネルをサポートする階層構造を形成し保持する。本システムはトランスポート・プロトコルの数や組合せまた基本となる物理的トポロジーの混合と無関係にネットワークの論理ビューとユーザが開発したプログラム資源を維持する。本システムの通信サービスは、動的コンテクスト・ブリッジを使用して共通のトランスポート・プロトコル・スタックを共用し得ない末端ノード間で通信し、これによって異なるスタック上に存在するアプリケーションが自動的また透過的に相互に通信できるようになる。

Description

【発明の詳細な説明】 スケーラブル分散計算環境 発明の背景 本発明は分散計算システムに関し、さらに詳しくは、同種(homogeneous)また は異種(heterogeneous)いずれかで有り得る単一ネットワーク上または相互接続 ネットワーク上の独立した演算ノード間の通信を容易にするスケーラブル分散計 算環境のアーキテクチャおよび実装に関する。 今日のビジネス環境では、合併(mergers)や買収(acquisitions)、多国籍化の ダイナミクスや、顧客(customers)、供給各社、金融機関とのリアルタイム通信 の必要性から企業構造がますます再構成されつつある。さらに、情報をすぐにア クセスできるようにすることやその情報を迅速に操作する必要性が競合利益を作 り出し維持していく上で必須になっている。そのため、企業データやこのデータ を操作するコンピュータ・プログラムが抜本的に新しい方針で、すなわち集中型 (centralized)でモノリシック(monolithic)な方法の代わりに分散的に開発され る必要がある。 分散コンピューティングでは、プログラムやデータはこれらと相互作用するユ ーザにできる限り近くで処理できるように論理的に位置付けられる。理論的には これによって企業は通信オーバヘッドを減少し、また各個人、グループ、部門の 計算資源の使用量の少ない処理能力を開発することで高信頼性かつ高効率的に運 用できる。多数の計算機に作業負荷を分散することで、任意の個人や作業グルー プまたは目的に併せて情報処理資源を最適化できる。このアプローチがデータや 処理の分散や複製をさせシステムに対する要求が増加しても性能および信頼性が いっそう簡単に維持できるようになる。増加する粒度(granularity)やスケーラ ビリティ(scalability)の特徴もソフトウェアの再利用性に関する重要な利益を 提供する、すなわち同じコンポーネントが幾つかの異なったアプリケーションで 使用でき、開発および保守の時間と経費を減少できる。 こうした要求があるため、企業全体に渡る仮想コンピューティングへ向かう動 きが見られ、ネットワークの資源全体がユーザのデスクトップ・コンピュータま たは端末にローカルに存在しているようにユーザから見えることになる。従来の モノリシックで集中型の企業情報処理モデルは細粒度的(finegrained)分散アプ ローチに従っている。仮想的、動的な企業コンピューティングの転換はローカル 計算資源(プログラム・エレメントおよびデータ)が仮想ネットワークで継目な く(seamlessly)相互にリンクされた分散アーキテクチャを用いてミッション・ク リティカル・コア・システム(mission critical core systems)を実装する必要 がある。 しかし今日の企業情報システムでは、個々のアプリケーションは相互運用しな い異種環境内に存在するのが典型的である。互換性のないシステムを接続しつつ 増加する一方の多数の異なるオペレーティングシステムと広い地域に渡ってネッ トワーク・プロトコルを維持していく作業にビジネスは直面している。企業の合 併や買収がまた発生する傾向にあり、導入済みの異種ネットワークを単一の企業 全体に渡るネットワークに統合する必要性が一度ならず何度も必要になる。さら に、企業が地球規模になり情報システムを多数の時間帯に渡って機能させる必要 が発生するので、システムが「時間独立(time-independent)」であるようにする 必要がある。その上、企業自体が動的に変化するので、業務運用をサポートする 情報システムも同様に変化することになる。つまり、企業のコンピューティング 環境は「オープン」にする必要がある、すなわち十分な柔軟性を備えて新しい標 準に容易に移行しつつ一貫性を維持し既存の「古い(legacy)」システムならびに データへもアクセスできる必要がある。古いシステムはネットワーク化した資源 の追跡のために静的テーブルの使用に依存することが多い。このようなシステム は動的な回復をサポートしておらず、このようなテーブルを頻繁に変化する環境 で維持するために必要とされる極めて大きなオーバヘッドのため、企業全体での 展開へと容易に拡張することはできない。 既存のシステムでは、ネットワークへ接続したひとつの資源が別の資源の存在 を発見するために、両者が活動化(alive)している必要がある。ネットワークへ 接続された資源の総数が増大すると、時間独立の資源発見のためのメカニズムを 備え新しい資源が利用できるようになるとこれに併せてネットワークが自動的に 作成されるようになることが重要になる。 既存のシステムは、何らかのノード、例えば計算機、エリア、グループ、ドメ イン、ネットワーク等で仮定できる固定の数の役割または階層レベルしか利用で きないことでも制限されている。この制限は異なる階層構造を有する2つまたは それ以上の既存のネットワークを買収または統合する場合に顕著な問題となって 現れる。さらに、従来技術のシステムでは、あるノードが複数の役割を果すと仮 定した場合に、これらの役割の間の関連性があらかじめ規定される。つまり、レ ベル1で(例えば計算機)とレベル3(例えばグループ・マネジャ)とで機能す るためには、ノードはレベル2の機能(例えばエリア・マネジャ)も仮定する必 要がある。この制限がシステムの性能および回復を大幅に悪化させることがある 。 頑丈で、効率的な企業全体に渡るコンピューティング環境、例えばリアルタイ ム・メッセージング、メッセージ・キューイング、リモート手続き呼出し、プロ セス間通信、ブロードキャスト/発行(publish)および登録(subscribe)などを確 立することに関連した問題に対処しようとする従来の試みは部分的に最良の解決 方法しか示していない。真の分散コンピューティングではピア・ツー・ピア通信 をあらかじめ想定していることから(マスター処理の傷害はスレーブ処理の傷害 に必ず波及するため)、クライアント・サーバに基づいた企業コンピューティン グ目標を実現するアプローチは必ずしも最適な解決方法を示してはいない。静的 テーブルを使用する既存のピア・ツー・ピア・システム(peer-to-peer systems) では、動的な回復が行なえず、スケーラビリティと保守に重大な問題を呈してい る。 発明の要約 本発明は、動的、対称型、分散、リアルタイム、ピア・ツー・ピア・システム であって互いに論理木を構成する任意の個数の同一の(意味的に等価な)インス タンス、すなわちカーネルから構成される。カーネルはネットワークの自己 設定および自己維持論理ビューによってランタイムに統一的かつ一貫した動作(b ehavior)を示す。各カーネルは1つ以上の資源が関連するネットワーク・ノード に存在する。カーネルはリアルタイムで互いを動的に位置づけて(locate)、独立 して動作する事実上個数制限のないカーネルをサポートする階層構造を形成し維 持する。本システムはネットワークおよびユーザが開発したプログラム資源の論 理ビューをトランスポート・プロトコルの個数と組み合わせや基本となる物理ト ポロジーの混合とは無関係に維持する。本システムの通信サービスは動的コンテ キスト・ブリッジを使用して共通のトランスポート・プロトコル・スタックを共 用できない端末ノード間で通信することにより、異なるスタックに存在するアプ リケーションどうしが自動的かつ透過的に通信できる。 本システムは、音声、サウンド、静止画および動画、大量のファイル転送、従 来のトランザクション処理、および「グループウェア」等のアプリケーションで 必要とされるような多対多カンファレンス(any-to-any conferencing)を含む全 てのディジタル通信の形態をサポートするように設計されている。本システムは またISDN、X.25、TCP/IP、SNA、APPC、ATM等を含むあ らゆる種類のネットワーク・プロトコルおよび媒体上で動作するように設計され る。全ての場合において、本システムは基本となる媒体の理論伝送容量すなわち 帯域幅に対し高い比率、典型的には60ないし95%を配信する。 新しい資源がネットワークに結合する(または再結合する)と、各ノードに存 在するカーネルとそのノードに接続しているそれぞれの資源が、自動的にまたす ぐに本システムを使用する全てのアプリケーションでアクセス可能になる。使用 される管理階層(例えばエリア・マネジャ、ドメイン・マネジャ、ネットワーク ・マネジャ等)の内部の何らかのノードに想定される役割(role)は恣意的、すな わちいずれのノードも階層内の1つまたは複数の役割を想定でき、ひとつの役割 を想定することでいずれかの他の役割の想定を必要とすることもなくまた排除す ることもない。さらに、役割がネットワークの要件に基づいて、すなわち1つ以 上のノードがネットワークに参入または離脱すると動的に変化する。つまり個々 のカーネルどうしが互いに動的に位置づけあい、ネットワーク階層を管理する上 で関連するノードにより果たされる役割を、これらの物理的ロケーションと 無関係に取り決める。さらに、いずれかのノードに仮定される可能な役割または レベルの個数は無制限で、ネットワーク環境の特定の要件に基づいて選択するこ とができる。 図面の簡単な説明 本発明の上記のおよびその他の特徴および利点は、添付の図面シートとの関連 において好適実施例についての以下の詳細な説明を参照することによってさらに 良くまたさらに完全に理解されよう。図面において、 図1は本発明による分散コンピューティング・システムを示す図である。 図2は図1のシステムにおけるノードのひとつの詳細ブロック図である。 図3は本発明によるカーネルの構造を示すブロック図である。 図4は本発明のPIPES論理ネットワーク(PLN)の流れ図である。 図5は本発明による子ログイン手続きの流れ図である。 図6は本発明による親ログイン手続きの流れ図である。 図7は本発明による異なるノード間のログイン通信を示す図である。 図8は本発明によるロール・コール(roll call)手続きの流れ図である。 図9は本発明による異なるノード間のロール・コール(roll call)通信を示す 図である。 図10は本発明による子のモニタ手続きの流れ図である。 図11は本発明による親のモニタ手続きの流れ図である。 図12は本発明による異なるノード間の「心拍(heartbeats)」モニタ通信を示 す図である。 図13は本発明による選出処理(election process)の流れ図である。 図14は本発明による異なるノード間での選出通信を示す図である。 図15は本発明によるログアウト処理の流れ図である。 図16は本発明による異なるノード間でのログアウト通信を示す図である。 図17は本発明の資源に関する活動を示す図である。 図18は本発明による「資源追加(Add Resource)」処理の流れ図である。 図19は本発明の「資源検索(Find Resource)」処理の流れ図である。 図20は本発明のエリア・マネジャ・ノードでの「資源検索」処理の流れ図で ある。 図21はエリア・マネジャより上のレベルでの本発明による「資源検索」処理 の流れ図である。 図22は本発明のエリア・マネジャ・ノードでの「持続性検索(Persistent Fi nd)」処理の流れ図である。 図23はエリア・マネジャより上のレベルでの本発明による「持続性検索(Per sistent Find)」処理の流れ図である。 図24は本発明のエリア・マネジャ・ノードでの「クリーン持続性検索(Clean Persistent Find)」処理の流れ図である。 図25はエリア・マネジャより上のレベルでの本発明による「クリーン持続性 検索(Clean Persistent Find)」処理の流れ図である。 図26はエリア・マネジャがダウンする際の本発明による「資源回復(Resourc e Recovery)」処理の流れ図である。 図27は別の管理ノードがダウンする際の本発明による「資源回復(Resource Recovery)」処理の流れ図である。 図28は本発明による「資源削除(Remove Resource)」処理の流れ図である。 図29Aは本発明のコンテキスト・ブリッジのコンポーネントを示す。 図29Bは異なるプロトコル間での通信のためのコンテクスト・ブリッジの使 用を示す例である。 図30は本発明によるコンテクスト・ブリッジによるルーティング処理を示す 流れ図である。 図31は本発明による「ルート発見(Route Discovery)」処理の流れ図である 。 図32は本発明による「ルート検証(Route Validation)」処理の流れ図である 。 図33は本発明による「ルート・アドバタイズメント(Route Advertisement) 」 処理の流れ図である。 図34は本発明のPIPES論理ネットワークでのレベル数変更において実行 されるステップを示す流れ図である。 発明の詳細な説明 図1は本発明による分散計算システム100を示す。本発明の譲受人によるシ ステム100の実施はPIPESプラットホーム(PIPES)と呼ばれる。シ ステム100において、2つのノード、ノード1(ブロック1として図示してあ る)とノード2(ブロック14として図示してある)が物理ネットワーク接続( 線27で図示してある)を経由して通信する。ネットワーク27に接続されるノ ード数は2つに限定されないことが当業者には明らかなはずである。 ノードの構造は実質的に同一である。そのため、ノードの1つだけ、例えばノ ード1だけを詳細に説明する。3つのアプリケーション、APP A(ブロック 2として図示してある)、APP B(ブロック3として図示してある)、AP P C(ブロック4として図示してある)がノード1で実行されている。これら のアプリケーションはPIPES上で実行するようにアプリケーション・デベロ ッパにより書かれるのが典型的である。PIPESソフトウェアはAPP A〜 Cと通信するためのPIPESプリケーション・プログラマ・インタフェース( PAPI)(ブロック6として図示してある)を含む。PAPI6はノード1で 実行されている1つのPIPESカーネル(ブロック9として図示してある)に プロセス間通信(Interprocess Communication:IPC)ファンクション・コー ル(ブロック7として図示してある)によりメッセージを送信する。カーネル9 はトランスポート(transport)デバイス・ドライバTD1(ブロック11として図 示してある)、TD2(ブロック12として図示してある)、TD3(ブロック1 3として図示してある)を介してネットワーク27上でメッセージを送受信する 。 同様に、ノード2は3つのアプリケーション、APP X(ブロック15とし て図示してある)、APP Y(ブロック16として図示してある)、APP Z(ブロック17として図示してある)がそこで実行しており、PAPI(ブロ ック18として図示してある)およびIPC(ブロック19として図示してある )を介してノード2で実行している1つのPIPESカーネル(ブロック21と して図示してある)と通信する。ノード2は3種類の異なるネットワーク・プロ トコルをサポートしており、3つのトランスポート・ドライバTD3(ブロック 24として図示してある)、TD4(ブロック25として図示してある)、TD5 (ブロック26として図示してある)を含む。 例えば、ノード1のAPP Aがノード2のAPP Zと通信する必要がある 場合、メッセージはAPP AからPAPI6、IPC7、カーネル9を経由し て伝えられる。カーネル9はそれ自身のトランスポート・ドライバTD3を使用 してネットワーク27上でノード2のトランスポート・ドライバTD3へメッセ ージを送信する。メッセージはノード2でカーネル21、IPC19、PAPI 18、そして最終的にAPP Zへ渡される。 PIPESはこれのコンポーネント部品全部で使用される汎用サービス(gener ic service)も提供している。ネットワーク管理サービス(Network Management S ervices)(ブロック10およびブロック20として図示してある)はPIPES ネットワーク管理エージェント(Network Management Agent)へのアクセスを提供 してカーネルのネットワーク・レベルおよびシステム・レベルのカウンタ、属性 、統計をモニタする。汎用サービス(ブロック8および22として図示してある )はカーネル9および21からオペレーティング・システム・サービスへの、ハ ッシュ、Bツリー、アドレス操作、バッファ管理、キュー管理、ロギング、タイ マ、タスク・スケジューリング等を含む共通インタフェースを提供する。システ ム依存サービス(System Dependent Services)(ブロック5および23として図 示してある)はオペレーティング・システム、プラットホーム、環境、およびノ ードへの転送に特有のサービスを提供する。これらのサービスは汎用サービス( ブロック8および22として図示してある)で使用されて、任意のオペレーティ ング・システムまたはプラットホーム環境での汎用サービスを実現する。 図2はシステム100のノード1内部のPIPES内部アーキテクチャのさら に詳細なブロック図を示す。PIPESアーキテクチャは3つの異なる層に分割 される:インタフェース層(Interface Layer)(ブロック28として図示してあ る)、カーネル層(Kernel Layer)(ブロック29として図示してある)、トラン スポート層(Transport Layer)(ブロック30として図示してある)の3つであ る。インタフェース層28はPAPI6経由でPIPES環境にアクセスするア プリケーションからの問い合わせとアプリケーションへの応答を取り扱う。イン タフェース層28はカーネル9にアクセスするそれぞれのアプリケーション(例 えばAPP A〜C)にリンクされるライブラリとして実現する。カーネル層2 9はPIPESにアクセスするアプリケーションへプログラム資源ならびに通信 管理サービスを提供し、トランスポート・プロトコル・スタックを共用していな い端末ノード間の通信を行なえるようにする。トランスポート層30はノード1 でサポートされるネットワーク・プロトコルのためのトランスポート・デバイス ・ドライバ11,12,13から構成される。それぞれのトランスポート・ドラ イバはカーネル9から別のベンダが提供するネットワーク・トランスポート・プ ロトコル例えばTCP/IP、SNA、IPX、またはDLCなどへのアクセス を提供する。トランスポート層30は任意のトランスポー卜方式のために任意の プラットホームに発行されるトランスポート専用APIの全てを取り扱う。 図3はカーネル9の内部アーキテクチャを示す。カーネル9は図2のPAPI 6へのインタフェースであるAPIインタフェース(ブロック31として図示し てある)を含む。APIインタフェース31はインタフェース層28からの要求 を取り扱いこれらの要求への応答を返す。APIインタフェース31はアプリケ ーションのプライオリティを認識して、このプライオリティに基づいてアプリケ ーションのメッセージをキューに入れる。APIインタフェース31はリソース 層(ブロック32として図示してある)からの応答とセッション・サービス(ブ ロック35として図示してある)からの応答も取り扱い、適切なアプリケーショ ンへこれらの応答をルート(route)する。 リソース層(Resource Layer)32はPIPES論理ネットワーク(PLN)層 内部のアプリケーション資源を登録し、PIPES内部の他のPAPI資源を検 索する能力を提供し、ネットワーク内部で資源の登録取消しを取り扱う。さら に、リソース層32はPLN33にまだ登録されていないリソースの位置づけを 行なえるようにする「持続性検索」能力を実現する。 PLN33はPIPES内部のノードの論理的、階層的関連性の知識を維持し て動的管理のフレームワークを執行する。PLN33はマネジャの選出、物理ネ ットワークの障害の結果として管理階層の透過的再構築(transparent reestabli shment)を取り扱う。PLN33はネットワーク内部のノードの状態をモニタす るために使用する「心拍」メッセージのシステムを使用してネットワーク障害を 識別する。この層は要求を取り扱いさらにリソース層32や肯定応答データグラ ム・サービス(Acknowledged Data gram Service:AKDG、ブロック34とし て図示してある)への応答を返す。 AKDG34はユーザに対して障害時再送信による最善のデータグラム・サー ビスを提供する。AKDG34は無接続(connectionless)メッセージング・サー ビス(CLMS)36とセッション・サービス(Session Services)35によるメ ッセージの送受信を取り扱う。 セッション・サービス35はユーザのためのセッションを割り当て、管理し、 また割り当て解除する。セッション管理はユーザから送信されたデータを順番に 送受信し、セッションの安全な使用を保証し、接続指向メッセージング・サービ ス(Connection Oriented Messaging Service:COMS)ストリーム・プロトコ ルに対するメッセージの意味を維持する。セッション・サービス35はPAPI アプリケーションが保有するセッションに対してPAPIアプリケーション・メ ッセージをマルチキャストする。セッション・サービス35はCOMS37と相 互作用してAKDG34およびAPIインタフェース31からの要求を満たす。 CLMS36は配信(delivery)の保証なしにデータを転送する。またこれはコ ンテクスト・ブリッジ層(Context Bridge Layer)38と相互作用してAKDG3 4からの要求を満たす。 COMS37はセッション・サービス35が開いた接続を管理する。COMS 37はユーザ向けメッセージのフラグメンテーション(fragmentation)およびリ アセンブリ(reassembly)を含む高性能データ転送を提供する。COMS37は接 続終点(connection endpoints)間のホップ(hop)の最大メッセージ・サイズに基 づいてメッセージ・サイズを変更する。 コンテクスト・ブリッジ層38は多数のネットワーク・トランスポートに対し て動的トランスポート・プロトコル・マッピングを行ない、端末間(end-to-end) プロトコルがことなる場合でもデータ転送が行なえるようにすることでPAPI アプリケーションを基盤となるネットワークから切り離す。 トランスポート・ドライバ・インタフェース(ブロック39として図示してあ る)はトランスポート専用ドライバとCLMS36およびCOMS37層との間 の通信を取り扱う。このインタフェースは全てのトランスポート・ドライバのた めの汎用共通コードを含む。 PLN層 PLN33はカーネルを実行する一組の計算機にシステム・アドミニストレー タが割り当てた階層構造である。これらのカーネルはランタイム時に統合されて 任意の階層レベルを管理する動的に選出されたマネジャと共に階層ネットワーク を構成する。PLNネーム・スペースは5つの異なるレベルに分割される:ノー マル、エリア、グループ、ドメイン、ネットワークの5つである。スタートアッ プ時に全てのカーネルはノーマル優先権(normal privileges)を有する。これは ネットワークでの設定に依存する管理上の役割とすでに引受けている多数の役割 としてのリアルタイムの考慮を想定している。つまり、管理機能はメンバ・カー ネルの間で均等に分散されるようになり、良好な機能と高速な回復を提供する。 レベル数は5に制限されるものではなく、システム内で後述のようにどのような レベル数でも実現できることを理解すべきである。 PLN33において、ネットワーク・マネジャ(Network Manager)とエリア・ マネジャ(Area Manager)との間の各種マネジャ(例えばドメイン・マネジャやグ ループ・マネジャ)が行なう主な役割は基本的に同じで、親や子との通信を維持 することと、リソース層32トラフィックをルートすることである。これらの機 能に加えて、ネットワーク・マネジャとエリア・マネジャとの間の全ての マネジャ(例えばドメインまたはグループ)も図22および図23との関連で後 述するように持続性検索ソース・キャッシング・サービス(source caching serv ices)も提供する。エリア・マネジャは、前述の機能に加えて、これの子がアド バタイズし、エリア・マネジャのネーム・スペース内のカーネル全部を含む、資 源のキャッシング・サービスを提供する。よってエリア・マネジャは、階層内の 他の全ての役割より前にエリア・マネジャの役割を満足させることで基礎から構 築されるPLN33の順序だった機能に必須である。 図4に示してあるように、PLN構築および維持のアルゴリズムは5つの主な 処理を含む:ログイン(ブロック100として図示してある)、ロール・コール (Role Call:ブロック200として図示してある)、モニタ(ブロック300と して図示してある)、選出(ブロック400として図示してある)、ログアウト (ブロック500として図示してある)。本明細書では、以下の述語を適当な抽 象化ができるように使用する:PLN33のレベル数はMinLevelとMaxLevelで定 義される。通常の優先権を有するカーネルはMinLevelに設定され、マネジャでは ない。一方で、ネットワーク・マネジャであるカーネルはMaxLevelに設定されネ ットワーク・ルートになる可能性がある。設定パラメータMaxStatusはカーネル がマネジャとなり得る最高レベルの上限を設定する。レベルnにあるカーネルは 、レベルnより上で2つのカーネルが同じ名前を有するとすればレベルn+1に ある親(parent)カーネルの子(child)であるという。 ログイン 図5および図6はPLN33の子および親ノードで実行されるログイン手続き を示している。ログインは子カーネルが親カーネルを位置づけ登録する処理であ る。図7はノードN7のカーネル(円37として図示してありカーネルN7と呼 ばれる)がネットワークに入るためのログイン処理を実行するログイン処理の仮 定的な実行の間にカーネル間で渡されるメッセージを示している。 カーネルがログイン処理を実行して親カーネルを位置づけてネットワークに入 る。子カーネルは最初に待ち期間(wait period)(ステップ101)に入り、こ こでは子カーネルがネットワーク上の他のログイン・ブロードキャストを聴取(l isten for)する(ステップ102)。ログイン・ブロードキャストを待ち期間の 間に受信した場合(ステップ103)、子カーネルはメッセージを読み取る。メ ッセージ内の情報は子が親とその兄弟の識別を確認するのに十分なものである。 メッセージ発信側が兄弟であれば(ステップ104)子カーネルはログイン待ち 期間の間隔を変更し(ステップ105)、ログイン・ブロードキャストがネット ワークに氾濫しないようにする。メッセージ発信側が親の場合(ステップ106 )、子カーネルはログイン要求を親に送信し(ステップ107)、肯定応答を待 つ。ログイン・ブロードキャストが受信されない場合、子カーネルは待ち期間の 終了までログイン・ブロードキャストを聴取し続ける(ステップ108)。待ち 期間の終りで、子カーネルはログイン・ブロードキャストをネットワークに送信 する(ステップ109)。 図7において、カーネルN7はノードN1のカーネル(円31で表してありカ ーネルN1と呼ぶ)、ノードN2のカーネル(円32で表してありカーネルN2 と呼ぶ)、ノードN3のカーネル(円33で表してありカーネルN3と呼ぶ)、 ノード4のカーネル(円34で表してありカーネルN4と呼ぶ)、ノードN5の カーネル(円35で表してありカーネルN5と呼ぶ)、ノードN6のカーネル( 円36で表してありカーネルN6と呼ぶ)にログイン・ブロードキャスト・メッ セージを送信することによりPIPESネットワークへのログインを試みる。子 カーネルはログイン肯定応答を受信するまで指定された時間だけ待つ(ステップ 110)。 全てのカーネルはネットワーク上のログイン・ブロードキャスト・メッセージ を聴取する(ステップ116)。ログイン・ブロードキャストが受信されると( ステップ117)、親カーネルはそのメッセージを送信したカーネルが自分の子 であるかどうかを判定する(ステップ118)。発信側カーネルが子ではない場 合、親はログイン・ブロードキャストを聴取し続ける(ステップ116)。しか し、発信側カーネルが子である場合には、親はこのカーネルが重複した子かどう かをチェックする(ステップ119)。これが重複した子である場合,親は重複 している子に対して役割の衝突(role conflict)を通知する(ステップ 120)。そうではない場合、親はログイン肯定応答を子カーネルに送信する( ステップ121)。 図7において、親カーネルN4はカーネルN7のログイン・ブロードキャスト ・メッセージaを受信し、カーネルN7への線bで表されるログイン肯定応答メ ッセージを送信する。 ログイン肯定応答が受信されると(ステップ110)、子カーネルはログイン 肯定応答を送信した第1の親カーネルにログイン確認(confirmation)を送信する (ステップ114)。子カーネルはそれ以外のログイン肯定応答を受信したとし ても無視する。ログイン確認を親に送信した後、子カーネルは新しい親とモニタ ー処理を開始する(ステップ115)。親カーネルがログイン確認を受信すると (ステップ122)、親カーネルは子を登録し(ステップ123)、新しい子と のモニタ処理を開始する(ステップ124)。親カーネルがログイン確認を子か ら受信しない場合(ステップ122)、親カーネルはログイン・ブロードキャス トを聴取し続ける(ステップ116)。 図7において、親カーネルN4のログイン肯定応答bを受信した後、子カーネ ルN7はカーネルN4へ線cで表してあるログイン確認メッセージを送信し親カ ーネルN4とモニタ処理を開始する。 どの親カーネルも子に対してログイン肯定応答を送信しない場合、子カーネル はリトライ域値(retry threshold)が超過されるまで(ステップ111)ログイ ン処理を再開する(ステップ101)。リトライ域値が超過された場合、子はMa xStatus設定をチェックする(ステップ112)。子のMaxStatusがMinLevelより 大きい場合、子はロール・コール(Role Call)処理を開始して自分自身の親の役 割(role)を引受ける。それ以外の場合には、子カーネルはまたログイン待ち期間 に入る(ステップ101)。 ロール・コール ロール・コール(Role call)はカーネルがネットワークにネーム・スペース階 層の空き(vacancy)を見つけ出すように問い合わせる手続きである。この手続き はMinLevelよりMaxStatusが大きく設定された全てのカーネルで実行される。ロ ール・コール手続きはスタートアップ時とそれ以降で管理上の空きが存在する場 合にカーネルが起動する。ロール・コール・アルゴリズムはロール・コール処理 に同時に参加するカーネル個数が最小となるように設計してあり、ネットワーク 全体のブロードキャストを低減すると同時に同じ空きに対する潜在的な競合相手 との衝突を減少する。 ロール・コール手続きは図8に図示してある。ロール・コールに参加しようと するカーネルは強制的に待ち期間に入る(ステップ201)。待ち期間はカーネ ルがアクティブ・コンテクスト・ブリッジかどうかまたカーネルの現在の状態を カーネルがすでに引受けた役割個数の関数である。ランダム待ち間隔も等式に加 算される。 待ち期間の間、カーネルは他のカーネルからのロール・コール・ブロードキャ ストを聴取する(ステップ202)。ロール・コール・ブロードキャストを階層 の同じレベルで受信した場合(ステップ203)、カーネルはロール・コール手 続きを放棄する(ステップ204)。ロール・コール・ブロードキャストを受信 しなかった場合、カーネルは待ち期間の終了まで(ステップ205)ロール・コ ール・ブロードキャストを聴取し続ける(ステップ202)。待ち期間の終りで 、カーネルはネットワーク上に自分自身のロール・コール・ブロードキャストを 送信する(ステップ206)。ブロードキャスト・メッセージはロール・コール が要求している階層のレベルを含む。ロール・コール・ブロードキャストの送信 後、カーネルはタイマーを起動し(ステップ207)、ネットワーク上のロール ・コール・メッセージを聴取する(ステップ208)。ロール・コールが要求さ れているネームスペースのマネジャであるカーネルは、2地点間(point-to-poin t)ロール・コール肯定応答メッセージで応答する。ロール・コールを開始したカ ーネルが肯定応答を受信した場合(ステップ209)、カーネルはロール・ コール手続きを放棄する(ステップ204)。ロール・コールを開始したカーネ ルがかわりに階層の同じレベルで別のロール・コール・ブロードキャストを受信 した場合(ステップ210)、カーネルはメッセージを読み取る。メッセージ発 信側が高いクレデンシャル(credential)を有している場合(ステップ211)に は、カーネルはロール・コール手続きを放棄する(ステップ204)。特定のカ ーネルのクレデンシャル(credential)は、カーネルがアクティブ・コンテクスト ・ブリッジかどうかまたカーネルの現在の状態についてすでにカーネルが想定し た役割個数の関数である。タイムアウト期間の終了時に(ステップ212)、カ ーネルはロール・コールを要求した空いている管理上の役割を引受ける。 図9はロール・コール手続きの例を示す。円44で表してあるカーネルN4は 、物理的接続の問題のためネットワークから分離される。円47で表されるカー ネルN7は、これの親カーネルN4とのモニタ処理の結果として(詳細に以下で 説明する)カーネルN4が存在しないことを検出する。カーネルN7は強制待ち 期間に入りネットワーク上のロール・コール・ブロードキャストのトラフィック を聴取する。円45で表されるカーネルN5がカーネルN7より前にロール・コ ール処理を開始した場合、カーネルN7は破線iで表されるロール・コール・ブ ロードキャスト・メッセージを受信後にロール・コールをアボート(abort)する 。しかし、カーネルN7がロール・コールを最初に開始したと仮定すると、カー ネルN7は破線hで表されるブロードキャスト・メッセージをロール・コール・ 待ち期間の終了時に送信する。 カーネルN7がすでに自分自身のロール・コール・ブロードキャスト・メッセ ージを送信した後でカーネルN5が自分自身のロール・コール・ブロードキャス ト・メッセージを送信した場合、カーネルN7は自分のクレデンシャルをカーネ ルN5のクレデンシャルと比較する。カーネルN5のクレデンシャルの方が高い 場合、カーネルN7はロール・コールを放棄し、カーネルN5はカーネルN4の 消失により空きのままになっている管理上の役割を引受ける。カーネルN7のク レデンシャルの方が高い場合、カーネルN5はロール・コールを放棄しカーネル N7はタイムアウト期間の終了時にカーネルN4の空いた管理上の役割を引受け る。 カーネルN4がネットワーク上に再出現しカーネルN5のブロードキャスト・ メッセージiまたはカーネルN7のブロードキャスト・メッセージhを受信した 場合、カーネルN4はカーネルN5へ線jでまたはカーネルN7へ線kで表され る肯定応答メッセージを送信する。カーネルN4がネットワーク上に再出現しな かった場合、カーネルN5とカーネルN7はこれらのロール・コール処理を継続 する。 モニタ 図10および図11は子と親が相互の追跡に使用するモニタ処理を示す。 親は、自分自身の「心拍」タイマーを子どもの全部のうちで最も遅い心拍間隔 に設定する。親はまず心拍タイマーをモニタ処理の開始時にリセットし(ステッ プ312)、子どもからの心拍メッセージを聴取する(ステップ313)。親と のモニタ処理に参加する子は第1に親へ心拍メッセージを送信し(ステップ30 1)肯定応答を待つ。心拍メッセージが親に受信されると(ステップ314)、 親は子に心拍肯定応答を送信し(ステップ315)、子のリスト内に子が含まれ ているかをチェックする(ステップ316)。肯定応答メッセージは子どもの間 で心拍間隔を離散させる心拍オフセット値を含む。子が心拍肯定応答を受信する と(ステップ302)、子は心拍間隔を変更し(ステップ306)待ち期間に入 る(ステップ307)。子が心拍肯定応答を受信しない場合、親に別の心拍メッ セージを送信する(ステップ303)。このときに心拍肯定応答が受信されると (ステップ304)、子は心拍間隔を変更し(ステップ306)待ち期間に入る (ステップ307)。子がまだ心拍肯定応答を受信していない場合、孤児になっ たものと解釈してログイン処理を開始する(ステップ305)。 親の心拍タイマーの期限に達すると(ステップ317)、親は欠けた(missing )心拍メッセージについて子どものリストをチェックする(ステップ318)。 親が欠けた心拍を検出すると、親は欠けた子に心拍メッセージを送信する(ステ ップ319)。親が欠けた子からの心拍肯定応答を受信しない場合、親は子の登 録を取り消す(ステップ321)。 待ち期間の間に(ステップ307)、子は親からの心拍メッセージを聴取する (ステップ308)。心拍メッセージを子が受信した場合(ステップ309)、 子は親に心拍肯定応答を送信し(ステップ310)、心拍間隔を変更し(ステッ プ306)、再び待ち期間に入る(ステップ307)。待ち期間の終了時に(ス テップ311)、子は再びモニタ処理を開始する(ステップ301)。 図12はモニタ処理の間に親と子との間で渡される定期的チェックイン・メッ セージ、または「心拍」を示す。図12において、カーネルN3とN4(それぞ れ円53、円54で表してある)はカーネルN2(円52で表される)の子であ る。カーネルN2はさらにカーネルN1(円51で表される)の子である。メッ セージd1からd3は子から親への心拍メッセージを表し、メッセージe1からe3 は親から子への心拍肯定応答を表す。メッセージf1からf3は親から子への心拍 メッセージを表し、メッセージg1からg3は子から親への心拍肯定応答を表す。 選出 PIPESカーネルは分散選出(distributed Election)(図13)に従事して 役割の衝突が発生した時の勝者を決定する。ネットワークのフラグメンテーショ ンを発生させる基盤となる物理接続での問題が存在する時に、同じネームスペー ス上で2つまたはそれ以上のマネジャが管理上の責任を主張することがある。ネ ームスペースでの衝突は前述のようにロール・コールまたはログイン・ブロード キャストのどちらかにより最初に検出される。カーネルがネームスペースの衝突 を検出すると、カーネルから本人(principals)に通知し、本人が選出処理を実行 する。新規参加者(participants)はすでに始まっている選出に参入できる。選出 は完全に分散しているので、それぞれのカーネルは別々に選出を処理して結果に 達する。 カーネルが役割の衝突を検出するか衝突を通知された場合、カーネルは選出タ イマーを起動し選出データベースを開いて選出処理を開始する(ステップ401 )。カーネルはこれまでに分かっている選出参加者を保存し、選出要求を それぞれに送信する(ステップ402)。このメッセージは選出に参加している 既知の全てのカーネルから構成される。カーネルは次にネットワーク上の選出ト ラフィックを聴取する(ステップ403)。カーネルが既知の参加者のリストを 含む選出応答を受信すると(ステップ404)、カーネルは新規選出参加者をデ ータベース内に保存しそれぞれに選出要求を送信する(ステップ402)。別の 選出要求を受信すると(ステップ405)、カーネルは発信側に選出応答を送信 し(ステップ406)、選出データベースを更新し、新規参加者に選出要求を送 信する(ステップ402)。選出タイマーの期限が切れると(ステップ407) 、カーネルは選出データベースに問い合わせて勝者を決定する(ステップ408 )。選出の勝者は参加カーネルがアクティブなコンテクスト・ブリッジかどうか またそれぞれのカーネルの現在の状態についてそれぞれの参加カーネルがすでに 引受けた役割の個数に依存する。カーネルが選出の勝者の場合(ステップ409 )、カーネルは全ての選出参加者に選出結果メッセージを送信する(ステップ4 10)。カーネルが選出に負けた場合、カーネルはマネジャとしての地位を明け 渡し(ステップ411)子ども全部に新しい親を通知する。選出の全ての参加者 は選出結果を検証し最終的に選出データベースを閉じる(ステップ412)。 図14は選出処理の例を示す。カーネルAとB(それぞれ円61と62で表さ れる)が独立に役割の衝突を検出したと仮定する。カーネルAは選出要求メッセ ージ(矢印1)をカーネルBに送信する。このメッセージはカーネルAに知られ ている参加者から構成され、この時点ではカーネルAとBである。カーネルBが このメッセージを受信すると、カーネルBはカーネルAに選出応答メッセージ( 矢印m)を送信する。後に、カーネルCがカーネルBとの役割衝突を検出する。 カーネルCは選出要求メッセージ(矢印n)をカーネルBに送信する。カーネル Bは新規に参入したカーネルCについて選出データベースを更新し選出応答メッ セージ(矢印o)をカーネルCに戻す。このメッセージはこの時点でカーネルB に知られている選出参加者を含み、言い替えればカーネルA、B、Cである。カ ーネルCがこのメッセージを受信すると、新規競争者(contestant)カーネルAを 検出し、その選出データベースを更新し、選出要求メッセージ(矢印p) をカーネルAに送信する。この時点で、カーネルAは(これの観点から)新規競 争者に気がつき、カーネルCのクレデンシャルでデータベースを更新し、カーネ ルCの要求に応答する(矢印q)。同様に、カーネルDがカーネルAだけが気が ついている選出に参入する場合、すぐにカーネルBとCに気がつくことになる。 ログアウト ログアウト(図15および図16)はカーネルが親からの登録を抹消する手続 きである。ログアウトはカーネルのシャットダウン論理の一部として、または階 層の特定レベルのマネジャを明け渡す結果として開始される。子カーネル(図1 6のカーネルN2として表される)は図16でカーネルN1として図示した親に ログアウト要求(矢印xで表される)を送信する(ステップ501)。親が子か らログアウト要求を受信すると(ステップ506)、子にログアウト肯定応答( 図16で矢印yとして図示してある)を送信し(ステップ507)子の登録を取 り消す(ステップ508)。子がマネジャの場合(ステップ503)、子はメッ セージ(図16でメッセージz1からz3で表してある)を送信して、子の全部に (すなわち図16のカーネルN3、N4、N5)もはや親ではないことを通知す る(ステップ504)。さらに、親カーネルは子について実行する選出処理の勝 者を指名することによって子の中から後継者を指名する(ステップ505)。 リソース層 リソース層(図3のブロック32)はPIPESネットワーク階層全体に分散 した資源を全て管理する責任を有する。資源はネットワーク上の他のノードで実 行される他のPIPESアプリケーションで利用可能なPIPESアプリケーシ ョンの機能的サブセットである。PIPES資源は良く定義されたサービス要素 として考えることができ、1つ以上の要素は、全体として考えた場合に組み合 わされて完全なサービスを形成する。 図17はPIPESにおける資源のライフサイクルを示している。資源は資源 追加処理(Add Resource Process)によりネットワークに入る(ブロック600) 。資源により提供されるサービスを使用するためには、アプリケーションは資源 検索処理(Find Resource Process:ブロック700)を実行してPIPESアド レス空間内のロケーションを決定する必要がある。例えば、検索問い合わせ(Fin d Query)を実行して利用可能な資源のアドレスを取得した後、アプリケーション がセッション・サービス35による資源でセッションを確立しようと試みること ができる。 アプリケーションが検索問い合わせを実行する時点で資源が利用可能ではない 場合には、そのアプリケーションは持続性検索問い合わせ(Persistent Find Que ry)を代わりに実行することができ、探索基準(search criteria)に適合する資源 が資源追加処理でネットワークに入って来るとすぐに、アプリケーションに資源 の利用可能性を通知する。この場合、PIPES内のエリア・マネジャは保留(p ending)持続性検索問い合わせのキャッシュを維持しておき、こうした問い合わ せにすぐに応答できるようにする。エリア・マネジャが物理ネットワークの障害 によりPIPES階層の残りの部分から切断された場合、回復メカニズム(ブロ ック800)を用い、切断されたマネジャの責任範囲を代行する新規のエリア・ マネジャで持続性検索キャッシュを再生成する。 ネットワーク上のライフタイムの間、資源はネットワーク上のアプリケーショ ンにサービスを提供することができる。資源を所有するアプリケーションがネッ トワークからその資源を削除する場合、リソース層は資源削除処理(Remove Reso urce Process:ブロック900)を実行する。 資源追加処理 図18はアプリケーションの資源をPLN33に導入するために使用される資 源追加処理(Add Resource Process)を示す。資源が生ずるノードは最初にローカ ル・リソース・データベースをチェックして同じ名前の資源がすでに存在してい ないかどうかを判定する(ステップ601)。このような資源が存在する場合、 発信側ノードはユーザ・アプリケーションヘERRORを返す(ステップ602)。 資源が存在しない場合、発信側ノードはその資源のエントリをローカル・データ ベースに追加する(ステップ603)。資源はこれの持続性検索問い合わせキャ ッシュをチェックして、そのノードで実行しているアプリケーションが資源を待 っているかどうかを調べる(ステップ604)。新規資源が持続性検索キャッシ ュ内の探索基準のいずれかに適合する場合には、発信側ノードが持続性検索問い 合わせを開始した発信側ユーザのアプリケーションに新規資源の属性を送信する 。発信側ノードは新規資源が探索基準に適合した持続性検索問い合わせをキャッ シュから削除する(ステップ606)。新規に削除された持続性検索問い合わせ の範囲が計算機レベルより大きい場合(ステップ607)、発信側ノードはクリ ーン持続性検索問い合わせをその親ノードに送信する(ステップ608)。持続 性検索処理の終了時に、またはどの持続性検索問い合わせも新規資源に一致しな かった場合、発信側ノードが親のエリア・マネジャへ資源追加要求を送信する( ステップ609)。 エリア・マネジャがこれの子どもの1つから資源追加要求を受信すると(ステ ップ610)、エリア・マネジャは自分自身の分離した資源キャッシュに資源を 追加する(ステップ611)。エリア・マネジャは自分自身の持続性検索キャッ シュをチェックして、新規資源がキャッシュ内の問い合わせの基準のいずれかに 適合するかどうかを判定する(ステップ612)。適合する場合、エリア・マネ ジャは持続性検索問い合わせを発信したノードに資源の属性を送信し(ステップ 613)、持続性検索キャッシュから問い合わせを削除する(ステップ614) 。その問い合わせの範囲がエリア・レベルより大きい場合(ステップ615)、 エリア・マネジャはクリーン持続性検索問い合わせを親のグループ・マネジャに 送信する(ステップ616)。 資源検索処理 PLN33内部で資源を探索するアプリケーションは、PIPESカーネルへ 送信する検索問い合わせ(Find Query)について3つの異なるオプションの1つを 指定できる:検索、次検索(Finde Next)、または永続検索の3つである。検索問 い合わせはローカル計算機で資源の探索(searching)を開始し、計算機レベルで 資源が見付からなかった場合にはエリア・レベルに移行する。エリア・レベルで 資源が見付からなかった場合には、探索(search)はグループ・レベルで継続され 、さらにPIPESネットワーク階層まで同様に継続する。資源が特定のレベル で見付かった場合には、その資源の属性が資源を要求しているアプリケーション に送信される。アプリケーションが後に次検索問い合わせ(Find Next Query)を 発行する場合、探索はPIPES階層内で直前の探索が終了した場所から継続さ れる。 ユーザが持続性検索問い合わせを発行すると、発信側ノードはこれを通常の検 索問い合わせに変換して、他の検索問い合わせと同様にネットワークに伝えられ る。いずれかの資源がユーザに返される場合、検索問い合わせはネットワーク内 で持続されない。しかし資源がPIPES階層内に見付からない場合には、持続 性検索問い合わせがエリア・マネジャの持続性検索キャッシュにおけるPIPE S階層内に保存される。 図19は発信側ノードで実行される資源検索処理を示す。検索または持続性検 索問い合わせが開始されると、発信側ノードはバッファとして用いられて問い合 わせの探索基準を満たす資源属性を保存している資源キャッシュをクリアする( ステップ701)。検索問い合わせが問い合わせの発信側で完全に調整されるた め、また中間ノードのいずれにも状態が維持されないため、それぞれの問い合わ せデータ・パケットは十分な情報を搬送して中間ノード(intermediate node)が 探索を処理できるようにする必要がある。幾つかの情報の最も重要な部分は、ネ ットワーク内部での発信側ノードのロケーション、発信側ノードが所望する一致 (matches)の最大数(MaxMatches)、発信側ノードへ返された一致の現在の数(Curr Matches)、探索の範囲(Scope)、探索が最後に行なわれたレベル(Level)、および そのレベルでの最後の探索の状態(Level Status)である。探索が検索問い合わせ で始まるか持続性検索問い合わせで始まる場合、発信側ノードはこれらの変数の 幾つかを初期化して計算機レベルで探索を開始する(ステップ702)。 次検索問い合わせは直前の探索が終了した場所から次の探索を開始するように設 計されているので、次検索問い合わせは発信側ノードにこの初期化ステップをス キップさせる。 発信側ノードはCurrMatchesをMaxMatchesと比較して問い合わせた一致の最大 数をすでにユーザが受信したかどうかを決定する(ステップ703)。CurrMatc hesがMaxMatchesと等しくない場合(CurrMatchesはMaxMatchesを越えられない) 、発信側ノードは資源をチェックしてさらに何らかの資源がユーザに返すのに利 用可能かを調べる(ステップ704)。分散型検索問い合わせが2つ以上の資源 を発信側ノードに返したとしても、発信側ノードが資源をユーザへ1つずつしか 返さないため、ローカル・キャッシュ内に資源が残ることがある。ローカル・キ ャッシュ内に資源が残っている場合、発信側ノードは最初の資源をユーザに返す (ステップ705)。資源キャッシュが空の場合、発信側ノードはLevel Status をチェックして最後の探索が終了した所を判定する(ステップ707)。そのレ ベルに利用可能な資源が残っていない場合にはLevel StatusがEOF(すなわち 検索の終り)に設定される。Level StatusがEOFの場合、発信側ノードはCurr Levelをインクリメントして階層の次のレベルで探索を継続する(ステップ71 0)。Level StatusがEOFではない場合、発信側ノードはCurrLevelをチェッ クして、分散検索を開始する前にローカル計算機での探索を開始すべきかどうか を判定する(ステップ708)。CurrLevelがMachineに設定されている場合、発 信側ノードはローカル・リソース・データベースを探索してローカル資源が探索 基準に適合するかどうかを調べる(ステップ709)。ローカル資源が利用可能 な場合、発信側ノードはMaxMatchesまで資源属性を問い合わせの資源キャッシュ にコピーし、発見してキャッシュへコピーした一致の個数にCurrMatchesを設定 する。発信側ノードは資源を要求したユーザへキャッシュから第1の資源を返す (ステップ705)。ローカル資源が見付からない場合、発信側ノードはLevel StatusをEOFに設定し(ステップ711)、次にCurrLevelをインクリメント して次のレベルで探索を継続する(ステップ707)。 CurrLevelがMaxLevelを越える(ステップ712)かまたはScopeを越える場 合(ステップ716)には、探索は完全にPIPES階層全体で実行されたか本 来の問い合わせの範囲を超過している。つまり、これらの条件のいずれかに一致 した場合、探索は完了する。一致しない場合、発信側ノードは親であるエリア・ マネジャに検索問い合わせを送信し、分散検索を開始する(ステップ713)。 資源の属性が応答として返された場合(ステップ714)、発信側ノードは資源 の属性を問い合わせの資源キャッシュにコピーし(ステップ718)ユーザに第 1番目を返す(ステップ717)。検索が成功せずに終了した場合、発信側ノー ドはCurrMatchesを調べて何らかの資源がユーザに返されたかを調べる(ステッ プ715)。CurrMatchesがゼロより大きい場合、ユーザは資源の全部を受信し ており、発信側ノードはユーザにEOFを返す(ステップ723)。CurrMatche sがゼロの場合、また資源がネットワーク上で見付からなかった場合、発信側ノ ードはユーザが指定していれば持続性検索問い合わせを分配する(ステップ71 9)。これはノードで保留されている持続性検索問い合わせのリストに問い合わ せを追加して持続性検索問い合わせの発生源を追跡する。ローカル計算機に存在 する資源が問い合わせの探索基準に一致するかも知れない場合には(ステップ7 21)、発信側ノードは持続性検索キャッシュに問い合わせを追加し(ステップ 722)、これを用いて探索基準を追跡しこれらの基準に適合する資源がPIP ES追加されるとすぐに返せるようにする。問い合わせの範囲が計算機レベルよ り大きい場合(ステップ724)、持続性検索問い合わせをエリア・マネジャへ 送信する(ステップ725)。 図20および図21はリソース層がPLN33全体に検索問い合わせをルート する方法を示す。図20はエリア・マネジャのレベルで実行される処理を示す。 エリア・マネジャが検索問い合わせを受信すると(ステップ726)、エリア・ マネジャはCurrLevelをチェックして探索が要求されたレベルを決定する(ステ ップ727)。CurrLevelがエリアより小さい場合(ステップ728)エリア・ マネジャは検索問い合わせを送信したノードにエラーを返すが、これはエラーマ ネジャが問い合わせを誤って受信したためである(ステップ729)。CurrLeve lがエリアより大きい場合(ステップ728)、エリア・マネジャは子どもの1 つから検索問い合わせを受信したのであれば(ステップ731)親に検 索問い合わせを転送する(ステップ732)。したがって、エリア・マネジャは ちょうど検索問い合わせを渡すことになるが、これは、探索が階層のより上のレ ベルで継続するべきだからである。探索がこのレベルで継続するとしても、エリ ア・マネジャは探索基準を分析してこのエリア内の資源が基準を満たすかどうか を決定する(ステップ730)。そうでない場合には、エリア・マネジャは検索 問い合わせを送信側へ返す(ステップ738)。さらに、CurrMatchesがMaxMatc hesとすでに等しい場合(ステップ733)エリア・マネジャはまた検索問い合 わせを送信側へ返す(ステップ738)。それ以外の場合、エリア・マネジャは リソース・データベースを探索して発信側ノードから見える一致を探す(ステッ プ734)。資源をPIPESに追加するユーザはどのアプリケーションがPI PES内部でサービスまたは「可視性(visibility)」を利用できるか指定できる 。見える一致が見付かった場合、最大のMaxMatches資源の属性が検索問い合わせ にコピーされる(ステップ735)。MaxMatchesより多くの資源が見付かった場 合(ステップ737)、エリア・マネジャはLevel StatusをOKに設定して(ステ ップ739)検索が次回次検索問い合わせを発行した時にこのレベルで継続され るようにする。それ以外では、エリア・マネジャはLevel StatusをEOFに設定 し、このレベルで利用可能な資源がこれ以上ないことを発信側ノードに通知する (ステップ736)。最後に、エリア・マネジャは検索問い合わせを送信側に返 す(ステップ738)。 PLN階層(図21)内部でエリア・マネジャより高い管理レベルでの検索問 い合わせ処理はエリア・マネジャ・レベルの処理と同様だが、計算機とエリア・ マネジャだけが資源データベースを保有することから探索が行なわれない点が異 なっている。図21のステップ740からステップ747までは図20のステッ プ726からステップ733までと同じである。それぞれの場合で、探索をこの レベルまたはもっと高次のレベルで継続すべきかをノードが判定する。この場合 、このレベルでの探索は検索問い合わせを次にマネジャの子どものそれぞれに転 送することからなる。子どもがどれも検索問い合わせを見られなかった場合(ス テップ748)マネジャは検索問い合わせを次の子に送信する(ステップ749 )。これ以上子どもがなくなると、マネジャはLevel Statusを EOFに設定して(ステップ751)検索問い合わせを送信側に返す(ステップ 750)。 図22と図23はネットワーク全体での持続性検索問い合わせを追加する処理 を示し、図24と図25はネットワークから持続性検索問い合わせを削除するた めに使用する同様の「クリーンアップ(clean-up)」処理を示す。図22では、エ リア・マネジャ・ノードがPLN33上で受信した持続性検索問い合わせを処理 する(ステップ752)。第1に、エリア・マネジャが子どもの1つから問い合 わせを受信した場合(ステップ753)、エリア・マネジャは問い合わせを保留 永続検索のソース・リストに追加する(ステップ754)。このエリアの資源が 持続性検索問い合わせの探索基準を満たし得ない場合(ステップ755)、エリ ア・マネジャは問い合わせを永続検索キャッシュに追加する。問い合わせのScop e(範囲)がエリア・レベルより大きい場合(ステップ757)エリア・マネジ ャは持続性検索問い合わせを親に送信する(ステップ758)。同様に、図23 では、エリアより高いレベルでマネジャが持続性検索問い合わせを受信する(ス テップ759)。送信側がマネジャの子どもの1つの場合(ステップ760)、 マネジャは問い合わせを保留永続検索のソースリストに追加する(ステップ76 1)。このレベルが問い合わせにおいて指定された探索基準内の場合、マネジャ は問い合わせを子どもに転送する(その問い合わせを送信した子をできるだけ除 く)(ステップ763)。問い合わせの範囲がこのレベルより大きい場合(ステ ップ764)マネジャは持続性検索問い合わせを親に送信する(ステップ765 )。 図24と図25には同様の処理が示してあるが、この処理が持続性検索問い合 わせを、そのノードの保留永続検索のソース・リストから削除し(ステップ76 8、775)エリア・マネジャの永続検索キャッシュから削除する(ステップ7 70)ことによって「クリーンアップ」する。 持続性検索回復処理 分散型持続性検索問い合わせについて重要な情報がエリア・マネジャ・ノード の保持されることと、もっと限局した範囲で他の管理ノードに保持されるため、 これらのノードの1つがクラッシュした場合またはPLN階層の他の部分から切 断される場合に回復処理を行なわなければならない。図26および図27は、エ リア・マネジャ(図26)または別の管理ノード(図27)がダウンする時に回 復を提供するために使用する処理を表している。 計算機が、選出処理で選択した新しい親エリア・マネジャにログインした時、 子計算機は保留永続検索のソースリストを新しい親に送信する(ステップ800 )。新しいエリア・マネジャはこのリストを受信し(ステップ801)、子から 受信した情報を用いて自分自身の保留永続検索のソースリストを更新する(ステ ップ802)。新しいエリア・マネジャはキャッシュ補充要求を親に送信する( ステップ803)。他のマネジャは要求を受信し(ステップ805)これをマネ ジャの保留永続検索ソースリスト内の子ども全部に送信する(ステップ806) 。送信側がマネジャの子である場合(ステップ807)マネジャはPLN階層を 遡り親へ要求を送信する(ステップ808)。最終的に、PLN33内の他のエ リア・マネジャはキャッシュ補充要求を受信し(ステップ809)、新しいエリ ア・マネジャが永続検索キャッシュ内に問い合わせを有していれば(ステップ8 10)、受信側エリア・マネジャが新しいエリア・マネジャに永続検索キャッシ ュから一致する問い合わせを返送する(ステップ811)。新しいエリア・マネ ジャはPLN33内の他のエリア・マネジャからの返信で自分自身の持続性検索 キャッシュを更新する(ステップ804)。 図27はエリア・マネジャ以外のマネジャがダウンする場合に存在する状況を 示す。新しいマネジャの子どもが保留永続検索のソースリストを新しいマネジャ に送信する(ステップ812)。新しいマネジャはこれらのリストを受信し(ス テップ813)子どもから送信された情報で保留永続検索のリストを更新する( ステップ814)。問い合わせのいずれかがこのレベルより高いレベルを範囲と する場合(ステップ815)には、問い合わせはPLN階層を遡り新しいマネジ ャの親へ送信される(ステップ816)。新しいマネジャの親は新しい子から取 得した情報を用いて自分の保留永続検索のソースリストを検証する(ステップ8 17)。 資源削除処理 PLN階層からアプリケーションが資源を引き上げる場合、リソース層33は 図28に図示した資源削除処理(Remove Resource Process)を実行する。資源が 生ずるノードは資源データベースに資源が存在するかを調べる(ステップ901 )。資源が存在する場合、発信ノードはデータベースから資源を削除し(ステッ プ903)資源削除要求を親のエリア・マネジャへ送信する(ステップ904) 。それ以外の場合、発信ノードはユーザへエラーを返す(ステップ902)。エ リア・マネジャは資源削除要求を受信し(ステップ905)エリア・マネジャ資 源キャッシュから資源を削除する(ステップ906)。 コンテクスト・ブリッジ層 図29Aはコンテクスト・ブリッジ層38のコンポーネントを示す。コンテク スト・ブリッジ層の主な機能はルーティング処理(Routing process)(ブロック 1000)で、これは送信元ノード(source node)から宛先(destination)ノード へプロトコル・データユニット(PDU)をルートすることである。送信元ノー ドと宛先ノードはルータブル・プロトコル(routable protocol)」を共用できる 。ルータブル・プロトコルは、宛先アドレスだけから作られる宛先に到達させる ためPDUをどこに送信すべきかについて決定できるようなプロトコルであると 定義される。送信元ノードはPDUをルータブル・プロトコルに単に転送し、ル ータブル・プロトコルそれ自体が宛先アドレスを解析してどのようにPDUを宛 先へ届けるか決定する。すなわち、PDUを送信元から宛先へ転送するために使 用する中間ノードでは知識が必要とされない。PIPES内部では、TCP/I PとSNAがルータブル・プロトコルで、IPX、NetBIOS、およびDL Cは非ルータブル・プロトコルである。 送信元ノードと宛先ノードが非ルータブル・プロトコルを共用する場合、また は送信元ノードと宛先ノードが何のプロトコルも共用していない場合、中間ノー ドは送信元ノードと宛先ノードを「橋渡しする(bridge)」必要がある。この場 合、ルーティング処理はルーティング情報データベース(RIDB:ブロック1 400として図示してある)を用いて送信元から宛先へPDUをどのようにルー トするか決定する。RIDBはPDUを非ルータブル・プロトコルにルートする かまたは送信元ノードがサポートしていないプロトコルにルートするために必要 とされる情報を含む。RIDBは2つのキャッシュを含む:送信元ルーティング ・キャッシュ(ブロック1401)は非ルータブル・プロトコルに使用し、次ホ ップ(next-hop)・ルーティング・キャッシュ(ブロック1402)は非類似のプ ロトコルのブリッジに用いる。送信元ルーティング・キャッシュはルート発見処 理(ブロック1100)によってポピュレート(populate)しルート検証処理(ブ ロック1200)で検証される。次ホップ・ルーティングキャッシュはルート・ アドバタイズメント処理(ブロック1300)でポピュレートする。 図29Bは本発明のコンテクスト・ブリッジが有利に使用できるシステム16 00を示している。コンテクスト・ブリッジは国際標準化機構(ISO)基準モ デルで定義されているように、異なるレベルのプロトコルを用いるノードで生成 されたパケットのルートに用いることができる。例えば、システム1600は2 つのノード1610、1630を含み、これらはSNA(APPC)とDLCプ ロトコルをそれぞれ使用している。これら2つのプロトコルは異なるISOレベ ルにある。SNAはプレゼンテーション・レベルにあり、一方DLCはデータ・ リンク・レベルにある。ノード1610からノード1630へネットワーク16 40を経由してパケットをルートするには、SNA(APPC)とDLCプロト コルをブリッジできるコンテクスト・ブリッジを含むノード1620を用いる必 要がある。つまり、ノード1610が生成したパケットは最初に経路1642を 介してノード1620へルートされ、ここから次に経路1643を介してノード 1630へルートされる。 同様に、ノード1610で生成したメッセージを、UDPプロトコル(ISO トランスポート・レベル)を使用するノード1650へルートすることが所望の 場合、SNAとUDPプロトコルをブリッジできるコンテクスト・ブリッジを含 むノード1660を使用する必要がある。つまり、ノード1610で生成したパ ケットは経路1645を介して最初にノード1660へルートされ、次にここか ら経路1646を介してノード1650へルートされる。 ルーティング処理 図30はコンテクスト・ブリッジ・ルーティング処理の流れ図を示す。送信元 ノードのコンテクスト・ブリッジ層が任意の宛先ノードへ送信しようとするPD Uを受信すると、送信元ノードは宛先アドレスを調べて宛先がルータブル・プロ トコルを使用しているかどうかを判定する(ステップ1001)。 宛先がルータブル・プロトコルを有する場合、送信元ノードは宛先と同じルー タブル・プロトコルをサポートしているか否かを判定する(ステップ1002) 。送信元と宛先が同じルータブル・プロトコルを共用している場合、送信元は共 用しているルータブル・プロトコル用のトランスポート・ドライバを使用して宛 先へPDUを送信する(ステップ1003)。送信元と宛先が同じルータブル・ プロトコルを共用していない場合、送信元は宛先へのルートについてRIDB次 ホップ・ルーティング・キャッシュを探索する(ステップ1004)。送信元ノ ードはRIDBにルートが存在するか調べる(ステップ1006)。ルートが見 つかると、送信元はRIDBに見つかったルートで指定される中間ノードへPD Uを送信する(ステップ1007)。ルートが見つからない場合、送信元は宛先 に到達できないことを表すエラーを返す(ステップ1009)。 宛先が非ルータブル・プロトコルを有する場合、送信元は宛先へのルートにつ いてRIDB送信元ルーティング・キャッシュを探索する(ステップ1005) 。送信元ノードは次にRIDBにルートが存在するかどうかを調べる(ステップ 1008)。ルートが見つかった場合、送信元はRIDBにおいて見つかったル ートにより指定された中間ノードへPDUを送信する(ステップ1007)。ル ートが見つからなかった場合、送信元はルート発見処理(Route Discovery Proce ss)を実行して宛先へのルートを見つけようとする(ステップ1011)。送信 元ノードは次にルート発見処理でルートが見つかったかどうかを確認する(ステ ップ1012)。ルートがルート発見処理で見つかった場合、 送信元ノードはRIDB送信元ルーティング・キャッシュを更新し(ステップ1 010)、ルートで指定された中間ノードへPDUを送信する(ステップ100 7)。ルートが見つからなかった場合、送信元ノードは宛先に到達できないこと を表すエラーを返す(ステップ1009)。 ルート発見処理 図31はRIDB送信元ルーティング・キャッシュを個別の宛先への送信元ル ートで更新するために使用するルート発見処理を示す。非ルータブル・プロトコ ルを有する宛先へのルートを発見しなければならない時に、送信元ノードはルー ト発見処理を開始する。第1に、送信元ノードはルート発見パケットを情報を有 しているアクティブ・コンテクスト・ブリッジの全部に送信する(ステップ11 01)。ノードが2つ以上のプロトコルをサポートしている場合そのノードはア クティブ・コンテクスト・ブリッジであり、ノードはそのノードで見つかったプ ロトコルの間のブリッジとして機能する。ネットワーク内のノード全部がルート ・アドバタイズメント処理によってアクティブ・コンテクスト・ブリッジを捜し 出す。 送信元ノードのルート発見パケットを受信するコンテクスト・ブリッジは第1 にこれが返信パケット(reply packet)かどうかを判定する(ステップ1107) 。これが返信パケットの場合、中間ノードは返信パケットに指定されているルー トを用いて送信元ノードヘパケットを送り返す(ステップ1112)。これが返 信パケットではない場合、ルート発見パケットを受信するノードはパケットに自 分自身のアドレスを挿入する(ステップ1108)。ノードは次にパケットの意 図した宛先かどうかを調べる(ステップ1109)。ノードがパケットの意図し た宛先の場合、終端ノードはパケットの形式をREPLYに変更し(ステップ111 1)、ルート発見パケットに指定されているルートを用いて送信元にパケットを 送り返す(ステップ1112)。受信ノードが宛先ではない場合、パケットを初 めに受信したコンテクスト・ブリッジを除き、中間ノードはこれが接続されてい る全てのコンテクスト・ブリッジへパケットを転送する (ステップ1110)。 送信元ノードは待機して返信を受信したか調べる(ステップ1102)。返信 が指定された時間間隔内に受信されない場合、送信元は宛先が到達不可能である とのエラーを返す(ステップ1103)。返信を受信した場合、送信元ノードは 宛先への有効なルートがすでに存在するか調べる(ステップ1104)。すでに 有効なルートが存在する場合、送信元は返信パケットを破棄する(ステップ11 05)。それ以外の場合、送信元ノードは返信パケットに指定されたルートでR IDBソース・ルーティング・キャッシュを更新する(ステップ1106)。 ルート検証処理 図32はRIDBソース・ルーティング・キャッシュに含まれるルートの妥当 性(validity)を調べるために用いるルート検証処理(route validation process) を示す。送信元ノードは有効(valid)とマークされていないRIDBソース・ル ーティング・キャッシュ内の宛先ノード全部にルート検証パケットを送信する( ステップ1201)。送信元はタイマーをセットし(ステップ1202)検証応 答(validation reply)を聴取する(ステップ1203)。 端末ノードもルート検証パケットを聴取し(ステップ1209)、検証パケッ トを受信したか調べる(ステップ1210)。検証パケットが指定した時間間隔 内で受信されない場合、端末ノードはルート検証パケットの聴取を継続する(ス テップ1209)。検証パケットを受信した場合、端末ノードはルート検証パケ ット内に指定されているルートを検証し(ステップ1211)パケットを送信元 に返送する(ステップ1212)。 送信元ノードは検証応答が受信されたかどうかを調べる(ステップ1204) 。検証応答を受信した場合、送信元ノードは宛先へのソース・ルートをRIDB ソース・ルーティング・キャッシュ内で有効としてマークする(ステップ120 5)。検証応答を受信しない場合、送信元ノードはタイマーを調べる(ステップ 1206)。タイマー期限を過ぎていない場合、送信元ノードは検証応答 を聴取し続ける(ステップ1203)。タイマー期限を過ぎた場合、送信元ノー ドはリトライ域値を越えていなければ(ステップ1207)タイマーをリセット する(ステップ1202)。リトライ域値を越えた場合送信元ノードはRIDB ソース・ルーティング・キャッシュから無効なソース・ルートを削除する(ステ ップ1208)。 ルート・アドバタイズメント処理 図33は全てのアクティブ・コンテクスト・ブリッジと端末ノードで間欠的に 実行される処理であるルート・アドバタイズメント処理(Route Advertisement P rocess)を示す。それぞれのコンテクスト・ブリッジはルートアドバタイズメン トパケット(RAP)として周知のブロードキャスト・メッセージを定期的に送 信し(ステップ1301)、それぞれの端末ノードはRAPブロードキャストを 聴取する(ステップ1305)。RAPは次のような情報を含むのが望ましい: コンテクスト・ブリッジで取り扱い可能なプロトコル、および必要とされるホッ プ数。全てのコンテクスト・ブリッジと端末ノードはRAPブロードキャストを 受信するまで待つ(ステップ1302,1306)。RAPブロードキャストを 受信した場合、ブロードキャストを受信したノードは、RAPブロードキャスト をRIDB次ホップ・ルーティング・キャッシュと比較してルーティング情報に 変化があるかどうかを調べる(ステップ1303,1307)。変更が必要な場 合、受信ノードはRIDB次ホップ・ルーティング・キャッシュを更新する(ス テップ1304,1308)。 無制限のレベル 本発明の好適実施例において、PLN階層のレベル数は制限がない。図34は システム100のデベロッパ(システム・デベロッパ)、アプリケーション・デ ベロッパ、およびエンドユーザが省略値のレベル数(例えば5)より大きなレベ ル数を実装するために取るのが好適なステップを示している。何らかの実施の最 大レベル数は、PIPESカーネルとPAPIライブラリ・コードをコンパイル する時点で設定する。PIPESの大きな柔軟性と階層内の大きなレベル数を有 するのが所望の場合、PIPESカーネルとPAPIライブラリをカスタマイズ する必要がある。 システム・デベロッパはソフトウェアのヘッダ・ファイル内にハードコード(h ard-coded)されているMinLevelとMaxLevelパラメータを変更する(ステップ15 01)。PAPIライブラリ(ステップ1502)とPIPESカーネル(ステ ップ1503)は再コンパイルされ、新しいPAPIライブラリとPIPESカ ーネルがアプリケーション・デベロッパに配布される(ステップ1504)。 アプリケーション・デベロッパはシステム・デベロッパからこれらのコンポー ネントを受け取り(ステップ1505)、自分自身のPIPESアプリケーショ ンに必要な何らかの変更を加える(ステップ1506)。アプリケーション・デ ベロッパは自分のPIPESアプリケーションを新しいPAPIライブラリで再 コンパイルし(ステップ1507)、新しいPIPESアプリケーションとPI PESカーネルをエンドユーザへ配布する(ステップ1508)。 エンドユーザはアプリケーション・デベロッパからこれらのコンポーネントを 受け取り(ステップ1509)PLNのノード全部にこれらを導入する(ステッ プ1510)。PIPES設定に必要な何らかの変更を加えたのち(ステップ1 511)、エンドユーザはPIPESカーネル(ステップ1512)とPIPE Sアプリケーション(ステップ1513)をロードすることによってシステムを 最終的にリスタートさせる。この時点で、エンドユーザはPLN階層に所望する レベル数を実現できる。 本発明は現時点で好適実施例と考えられるものについて説明したが、添付の請 求項は開示した実施例に制限されるべきものではなく、むしろ逆に、本発明の新 規な特徴および利点のいずれかを含む変更、変形、および等価な構成を包含する ことを意図していることは理解されるべきである。
【手続補正書】特許法第184条の8 【提出日】1996年11月1日 【補正内容】 (原文明細書第15頁) 子カーネルは最初に待ち期間(wait period)(ステップ101)に入り、ここで は子カーネルがネットワーク上の他のログイン・ブロードキャストを聴取(liste n for)する(ステップ102)。ログイン・ブロードキャストを待ち期間の間に 受信した場合(ステップ103)、子カーネルはメッセージを読み取る。メッセ ージ内の情報は子が親とその兄弟の識別を確認するのに十分なものである。メッ セージ発信側が兄弟であれば(ステップ104)子カーネルはログイン待ち期間 の間隔を変更し(ステップ105)、ログイン・ブロードキャストがネットワー クに氾濫しないようにする。メッセージ発信側が親の場合(ステップ106)、 子カーネルはログイン要求を親に送信し(ステップ107)、肯定応答を待つ。 ログイン・ブロードキャストが受信されない場合、子カーネルは待ち期間の終了 までログイン・ブロードキャストを聴取し続ける(ステップ108)。待ち期間 の終りで、子カーネルはログイン・ブロードキャストをネットワークに送信する (ステップ109)。 図7において、カーネルN7はノードN1のカーネル(円41で表してありカ ーネルN1と呼ぶ)、ノードN2のカーネル(円42で表してありカーネルN2 と呼ぶ)、ノードN3のカーネル(円43で表してありカーネルN3と呼ぶ)、 ノード4のカーネル(円44で表してありカーネルN4と呼ぶ)、ノードN5の カーネル(円45で表してありカーネルN5と呼ぶ)、ノードN6のカーネル( 円46で表してありカーネルN6と呼ぶ)にログイン・ブロードキャスト・メッ セージを送信することによりPIPESネットワークへのログインを試みる。子 カーネルはログイン肯定応答を受信するまで指定された時間だけ待つ(ステップ 110)。 全てのカーネルはネットワーク上のログイン・ブロードキャスト・メッセージ を聴取する(ステップ116)。ログイン・ブロードキャストが受信されると( ステップ117)、親カーネルはそのメッセージを送信したカーネルが自分の子 であるかどうかを判定する(ステップ118)。発信側カーネルが子ではない場 合、親はログイン・ブロードキャストを聴取し続ける(ステップ116)。し かし、発信側カーネルが子である場合には、親はこのカーネルが重複した子かど うかをチェックする(ステップ119)。これが重複した子である場合,親は重 複している子に対して役割の衝突(role conflict)を通知する(ステップ120 )。 (原文明細書第18頁) ロール・コールを開始したカーネルが肯定応答を受信した場合(ステップ209 )、カーネルはロール・コール手続きを放棄する(ステップ204)。ロール・ コールを開始したカーネルがかわりに階層の同じレベルで別のロール・コール・ ブロードキャストを受信した場合(ステップ210)、カーネルはメッセージを 読み取る。メッセージ発信側が高いクレデンシャル(credential)を有している場 合(ステップ211)には、カーネルはロール・コール手続きを放棄する(ステ ップ204)。特定のカーネルのクレデンシャル(credential)は、カーネルがア クティブ・コンテクスト・ブリッジかどうかまたカーネルの現在の状態について すでにカーネルが想定した役割個数の関数である。タイムアウト期間の終了時に (ステップ212)、カーネルはロール・コールを要求した空いている管理上の 役割を引受ける。 図9はロール・コール手続きの例を示す。円54で表してあるカーネルN4は 、物理的接続の問題のためネットワークから分離される。円57で表されるカー ネルN7は、これの親カーネルN4とのモニタ処理の結果として(詳細に以下で 説明する)カーネルN4が存在しないことを検出する。カーネルN7は強制待ち 期間に入りネットワーク上のロール・コール・ブロードキャストのトラフィック を聴取する。円55で表されるカーネルN5がカーネルN7より前にロール・コ ール処理を開始した場合、カーネルN7は破線iで表されるロール・コール・ブ ロードキャスト・メッセージを受信後にロール・コールをアボート(abort)する 。しかし、カーネルN7がロール・コールを最初に開始したと仮定すると、カー ネルN7は破線hで表されるブロードキャスト・メッセージをロール・コール・ 待ち期間の終了時に送信する。 カーネルN7がすでに自分自身のロール・コール・ブロードキャスト・メッセ ージを送信した後でカーネルN5が自分自身のロール・コール・ブロードキャス ト・メッセージを送信した場合、カーネルN7は自分のクレデンシャルをカーネ ルN5のクレデンシャルと比較する。カーネルN5のクレデンシャルの方が高い 場合、カーネルN7はロール・コールを放棄し、カーネルN5はカーネルN4 の消失により空きのままになっている管理上の役割を引受ける。カーネルN7の クレデンシャルの方が高い場合、カーネルN5はロール・コールを放棄しカーネ ルN7はタイムアウト期間の終了時にカーネルN4の空いた管理上の役割を引受 ける。 (原文明細書第20頁〜第21頁) 親の心拍タイマーの期限に達すると(ステップ317)、親は欠けた(missing )心拍メッセージについて子どものリストをチェックする(ステップ318)。 親が欠けた心拍を検出すると、親は欠けた子に心拍メッセージを送信する(ステ ップ319)。親が欠けた子からの心拍肯定応答を受信しない場合、親は子の登 録を取り消す(ステップ321)。 待ち期間の間に(ステップ307)、子は親からの心拍メッセージを聴取する (ステップ308)。心拍メッセージを子が受信した場合(ステップ309)、 子は親に心拍肯定応答を送信し(ステップ310)、心拍間隔を変更し(ステッ プ306)、再び待ち期間に入る(ステップ307)。待ち期間の終了時に(ス テップ311)、子は再びモニタ処理を開始する(ステップ301)。 図12はモニタ処理の間に親と子との間で渡される定期的チェックイン・メッ セージ、または「心拍」を示す。図12において、カーネルN3とN4(それぞ れ円63、円64で表してある)はカーネルN2(円62で表される)の子であ る。カーネルN2はさらにカーネルN1(円61で表される)の子である。メッ セージd1からd3は子から親への心拍メッセージを表し、メッセージe1からe3 は親から子への心拍肯定応答を表す。メッセージf1からf3は親から子への心拍 メッセージを表し、メッセージg1からg3は子から親への心拍肯定応答を表す。 選出 PIPESカーネルは分散選出(distributed Election)(図13)に従事して 役割の衝突が発生した時の勝者を決定する。ネットワークのフラグメンテーショ ンを発生させる基盤となる物理接続での問題が存在する時に、同じネームスペー ス上で2つまたはそれ以上のマネジャが管理上の責任を主張することがある。ネ ームスペースでの衝突は前述のようにロール・コールまたはログイン・ブロード キャストのどちらかにより最初に検出される。カーネルがネームスペースの衝 突を検出すると、カーネルから本人(principals)に通知し、本人が選出処理を実 行する。新規参加者(participants)はすでに始まっている選出に参入できる。選 出は完全に分散しているので、それぞれのカーネルは別々に選出を処理して結果 に達する。 カーネルが役割の衝突を検出するか衝突を通知された場合、カーネルは選出タ イマーを起動し選出データベースを開いて選出処理を開始する(ステップ401 )。カーネルはこれまでに分かっている選出参加者を保存し、選出要求をそれぞ れに送信する(ステップ402)。このメッセージは選出に参加している既知の 全てのカーネルから構成される。カーネルは次にネットワーク上の選出トラフィ ックを聴取する(ステップ403)。カーネルが既知の参加者のリストを含む選 出応答を受信すると(ステップ404)、カーネルは新規選出参加者をデータベ ース内に保存しそれぞれに選出要求を送信する(ステップ402)。別の選出要 求を受信すると(ステップ405)、カーネルは発信側に選出応答を送信し(ス テップ406)、選出データベースを更新し、新規参加者に選出要求を送信する (ステップ402)。選出タイマーの期限が切れると(ステップ407)、カー ネルは選出データベースに問い合わせて勝者を決定する(ステップ408)。選 出の勝者は参加カーネルがアクティブなコンテクスト・ブリッジかどうかまたそ れぞれのカーネルの現在の状態についてそれぞれの参加カーネルがすでに引受け た役割の個数に依存する。カーネルが選出の勝者の場合(ステップ409)、カ ーネルは全ての選出参加者に選出結果メッセージを送信する(ステップ410) 。カーネルが選出に負けた場合、カーネルはマネジャとしての地位を明け渡し( ステップ411)子ども全部に新しい親を通知する。選出の全ての参加者は選出 結果を検証し最終的に選出データベースを閉じる(ステップ412)。 図14は選出処理の例を示す。カーネルAとB(それぞれ円71と72で表さ れる)が独立に役割の衝突を検出したと仮定する。カーネルAは選出要求メッセ ージ(矢印1)をカーネルBに送信する。 (原文請求の範囲第39頁) 請求の範囲 1.複数のノードを含むネットワークのノードにおけるソフトウェア・コンポー ネントを独立して実行するための方法において、該方法は、 前記ネットワーク内の前記ノードの役割の論理階層を生成するステップであっ て、いずれかのノードが1つまたは複数の役割を引受け、該引受けは他のいずれ かの役割の引受けを必要とすることまたは排除することがなく、前記階層は3つ 以上のレベルを有するステップと、 前記ネットワークの設定における変更がある時に前記ノードの前記役割を調停 し、前記階層の最低レベルにあるノードは前記階層の最高レベルの役割を引受け るステップと を備えたことを特徴とする方法。 2.請求項1に記載の方法において、 管理的な役割を有するノードがネットワークから離脱しかつ残りのノードの少 なくとも1つはどのノードが前記管理的な役割を引受けるかを決定する調停処理 に参加し、前記調停ステップはさらに、それぞれの参加ノードにより実行される ものであって、 前記管理的な役割の引受けにおける前記参加ノードの注目を示すメッセージを ブロードキャストするステップと、 前記ブロードキャスト・ステップに続けて、前記ネットワーク上のメッセージ を聴取するステップと、 前記管理的な役割を引受けるのに別のノードがより適していることを示す前記 ネットワーク上のメッセージが存在しない場合前記管理的な役割を引受けるステ ップと を備えたことを特徴とする方法。 3.請求項1に記載の方法において、 それぞれの参加ノードにより実行されるステップは、 前記ブロードキャスト・ステップより先に、指定した時間間隔について他の参 加ノードにより送信されたメッセージを聴取するステップと、 前記管理的な役割を引受けるのにより適した少なくとも1つの参加ノードが存 在することを前記メッセージが示している時、前記処理をやめるステップと をさらに備えたことを特徴とする方法。 (原文請求の範囲第41頁〜第44頁) 7.請求項1に記載の方法において、 前記ノードの1つが親ノードであり、前記方法は前記ネットワークに参入する 際に子を登録するステップをさらに備えたことを特徴とする方法。 8.請求項7に記載の方法において、 前記登録ステップは、 参入ノードにより送信されたメッセージを聴取するステップと、 子ノードまたは重複した子ノードによりメッセージの1つが送信されたかどう かを判定するステップと、 重複した子ノードが検出された場合、前記重複した子の役割に役割の衝突を通 知するステップと、 子ノードが検出された場合、前記子ノードに肯定応答メッセージを送信するス テップと をさらに備えたことを特徴とする方法。 9.請求項1に記載の方法において、 前記ノードの1つが親であり前記残りのノードの1つが子であり、前記方法は 前記親および前記子の状態をモニタするステップをさらに備えたことを特徴とす る方法。 10.請求項9に記載の方法において、 前記モニタするステップは、 指定された時間間隔で前記親と前記子との間で状態メッセージを交換するステ ップと、 所定の時間期間以内に前記親からの状態メッセージを前記子が受信しない時新 しい親ノードを探索するステップと をさらに備えたことを特徴とする方法。 11.請求項9に記載の方法において、 所定の時間期間以内に前記子からの状態メッセージを前記親が受信しない時前 記子の登録を取消すステップをさらに備えたことを特徴とする方法。 12.請求項1に記載の方法において、 前記論理階層は任意のレベル数からなることを特徴とする方法。 13.請求項12に記載の方法において、 前記レベル数が変更可能なことを特徴とする方法。 14.請求項1に記載の方法において、 前記ネットワーク内における前記ノードの役割は前記ネットワークの要件を条 件として変更可能であることを特徴とする方法。 15.資源に対する要求を満たすための方法において、該要求はディジタル・ネ ットワークにおける複数のノードを相互接続するスケーラブル・システム内のノ ードによりなされるものであり、前記複数のノードの少なくとも1つのノードは 1つ以上の資源が関連し、それぞれの資源は他のノードで該資源が利用可能なア クティブ状態および該資源が利用可能でないインアクティブ状態とを有するもの であり、前記方法は、 前記要求された資源が利用可能でない場合前記要求を記憶するステップと、 前記インアクティブ状態から前記アクティブ状態に切り換えることによって利 用可能になった資源を自動的に識別するステップと、 前記要求を行ったノードに対して、利用可能になった前記資源が前記要求され た資源であれば、前記要求された資源が利用可能になったことを自動的に通知す るステップと を備えたことを特徴とする方法。 16.請求項15に記載の方法において、 前記複数のノードの少なくとも1つは資源についての要求を記憶するためのキ ャッシュを含み、前記要求を記憶するステップは前記キャッシュに前記要求を記 憶するステップを備えたことを特徴とする方法。 17.請求項16に記載の方法において、 前記要求された資源が利用可能になり前記要求を満たした時に前記キャッシュ から前記要求を削除するステップをさらに備えたことを特徴とする方法。 18.請求項15に記載の方法において、 前記複数のノードは少なくとも2つのレベルに構成されており、かつ第1のレ ベルのノードは第2のレベルのノードに存在する前記資源に関する情報を含むこ とを特徴とする方法。 19.請求項18に記載の方法において、 前記第1のレベルの少なくとも1つのノードは資源についての要求を記憶する ためのキャッシュを含み、 前記要求を記憶するステップは前記キャッシュに前記要求を記憶するステップ を備えたことを特徴とする方法。 20.請求項19に記載の方法において、 前記要求された資源が利用可能になり前記要求を満たした時に前記キャッシュ から前記要求を削除するステップをさらに備えたことを特徴とする方法。 21.請求項18に記載の方法において、 前記第1のレベルは親レベルでありかつ前記第2のレベルは子レベルであり、 前記親レベルの各ノードは前記子レベルの1つ以上のノードに関連し、かつ前記 子レベルの各ノードは前記親レベルの1つのノードに関連することを特徴とする 方法。 22.異なるレベルで異なる通信プロトコルを有するノードの間でパケットをル ートすることのできるコンテクスト・ブリッジにおけるルーティング経路を決定 するための方法において、前記コンテクスト・ブリッジは複数のノードを含む異 質なネットワーク内の多数のコンテクスト・ブリッジの1つであり、前記方法は 、 コンテクスト・ブリッジのリストおよび前記リスト内の各コンテクスト・ブリ ッジが取り扱う前記通信プロトコルを設定するステップと、 他のコンテクスト・ブリッジにより定期的にブロードキャストされ、ブロード キャストするコンテクスト・ブリッジが取り扱う前記通信プロトコルを受信者に 通知するルーティング情報パケットを聴取するステップと、 前記受信したルーティング情報パケットに含まれる前記情報を用いて前記リス トを更新するステップと を備えたことを特徴とする方法。 23.送信元ノードから宛先ノードへ少なくとも1つのコンテクスト・ブリッジ を使用してパケットをルートするための方法において、各ノードはルーティング ・プロトコルを有し、前記コンテクスト・ブリッジは複数のノードを含む異質ネ ットワークの多数のコンテクスト・ブリッジの1つであり、前記方法は、 前記送信元ノードでパケットを受信するステップと、 前記パケットの前記宛先ノードはルータブル・プロトコルを有するかどうかを 判定するステップと、 前記宛先がルータブル・プロトコルを有していない場合、 1つ以上のコンテクスト・ブリッジを発見するためのルート発見パケットを送 信して前記送信元から前記宛先ノードへ前記パケットをルートするステップと、 前記1つ以上の発見したコンテクスト・ブリッジを経由して前記宛先へ前記パ ケットをルートするステップと、 前記宛先がルータブル・プロトコルを有する場合、前記ルータブル・プロトコ ルを用いて前記送信元から前記宛先へ前記パケットをルートするステップと を備えたことを特徴とする方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,IS,JP,KE,KG,KP,KR, KZ,LK,LR,LT,LU,LV,MD,MG,M K,MN,MW,MX,NO,NZ,PL,PT,RO ,RU,SD,SE,SG,SI,SK,TJ,TM, TT,UA,UG,UZ,VN (72)発明者 ガイトンド,サニル,エス. アメリカ合衆国 94015 カリフォルニア 州 デイリー シティー キャンパス ド ライブ 850 ナンバー 213 (72)発明者 アフヤ,ラチンダー,ピー. アメリカ合衆国 94015 カリフォルニア 州 デイリー シティー キャンパス ド ライブ 870 (72)発明者 ラマクリシュナン,クリシ アメリカ合衆国 94587 カリフォルニア 州 ユニオン シティー クリスティーン ドライブ 32529 (72)発明者 シャフィック,ムハンマド アメリカ合衆国 94018 カリフォルニア 州 エル グラナダ ポートラ アヴェニ ュ 430 (72)発明者 ワリス,イアン,エフ. アメリカ合衆国 95014 カリフォルニア 州 クパチーノ サウス ブラネイ アヴ ェニュ 10430 【要約の続き】 通のトランスポート・プロトコル・スタックを共用し得 ない末端ノード間で通信し、これによって異なるスタッ ク上に存在するアプリケーションが自動的また透過的に 相互に通信できるようになる。

Claims (1)

  1. 【特許請求の範囲】 1.複数のノードを含むネットワークのノードにおけるソフトウェア・コンポー ネントを独立して実行するための方法において、該方法は、 前記ネットワーク内の前記ノードの役割の論理階層を生成するステップであっ て、いずれかのノードが1つまたは複数の役割を引受け、該引受けは他のいずれ かの役割の引受けを必要とすることまたは排除することがないステップと、 前記ネットワークの設定における変更がある時に前記ノードの前記役割を調停 するステップと を備えたことを特徴とする方法。 2.請求項1に記載の方法において、 管理的な役割を有するノードがネットワークから離脱しかつ残りのノードの少 なくとも1つはどのノードが前記管理的な役割を引受けるかを決定する調停処理 に参加し、前記調停ステップはさらに、前記参加ノードにより実行されるもので あって、 前記管理的な役割の引受けにおける前記参加ノードの注目を示すメッセージを ブロードキャストするステップと、 前記ブロードキャスト・ステップに続けて、前記ネットワーク上のメッセージ を聴取するステップと、 前記管理的な役割を引受けるのに別のノードがより適していることを示す前記 ネットワーク上のメッセージが存在しない場合前記管理的な役割を引受けるステ ップと を備えたことを特徴とする方法。 3.請求項1に記載の方法において、 前記参加ノードにより実行されるステップは、 前記ブロードキャスト・ステップより先に、指定した時間間隔について他の参 加ノードにより送信されたメッセージを聴取するステップと、 前記管理的な役割を引受けるのにより適した少なくとも1つの参加ノードが存 在することを前記メッセージが示している時、前記処理をやめるステップと をさらに備えたことを特徴とする方法。 4.請求項1に記載の方法において、 少なくとも2つの衝突ノードが同じ前記管理的役割を主張して前記衝突ノード の少なくとも一方が前記管理的役割を引受けるノードを決定する処理に参加し、 前記調停ステップはさらに、それぞれの参加ノードにより実行されるステップで あって、 前記処理に参加する全ての既知のノードの名称を含むデータベースを設定する ステップと、 前記データベースに含まれるノードへ選出メッセージを送信するステップであ って、前記選出メッセージは前記送信ノードに既知の前記参加ノードに関連する 情報を含むステップと、 他の参加ノードから選出メッセージを受信するステップと、 前記受信した選出メッセージに含まれる前記情報を用いて前記データベースを 更新するステップと、 前記更新したデータベースに含まれる情報に基づいて、前記管理的役割を前記 参加ノードのどの1つが引受けるか、決定するステップと を備えたことを特徴とする方法。 5.請求項1に記載の方法において、 前記ノードの1つが親ノードであり、前記方法はノードが前記ネットワークに 参入した時に親ノードを探索するステップをさらに備えたことを特徴とする方法 。 6.請求項5に記載の方法において、 前記探索ステップはさらに、前記参入ノードにより実行されるステップであっ て、 指定した時間間隔についてメッセージを聴取するステップと、 メッセージを受信した場合、前記受信メッセージに基づいて前記参入ノードの 親を決定するステップと、 前記指定した時間間隔が経過した後で親が見つからない場合、親を探索するた めのメッセージをブロードキャストするステップと ブロードキャストされたメッセージへの応答を聴取して該応答のいずれか1つ が親から発信されたものかどうかを決定するステップと、 応答を受信しない時自分自身の親としての役割を引受けるステップと を備えたことを特徴とする方法。 7.請求項1に記載の方法において、 前記ノードの1つが親ノードであり、前記方法は前記ネットワークに参入する 際に子を登録するステップをさらに備えたことを特徴とする方法。 8.請求項7に記載の方法において、 前記登録ステップは、 参入ノードにより送信されるメッセージを聴取するステップと、 子ノードまたは重複した子ノードによりメッセージの1つが送信されたかどう かを判定するステップと、 重複した子ノードが検出された場合、前記重複した子の役割に役割の衝突を通 知するステップと、 子ノードが検出された場合、前記子ノードに肯定応答メッセージを送信するス テップと をさらに備えたことを特徴とする方法。 9.請求項1に記載の方法において、 前記ノードの1つが親であり前記残りのノードの1つが子であり、前記方法は 前記親および前記子の状態をモニタするステップをさらに備えたことを特徴とす る方法。 10.請求項9に記載の方法において、 前記モニタするステップは、 指定された時間間隔で前記親と前記子との間で状態メッセージを交換するステ ップと、 所定の時間期間以内に前記親からの状態メッセージを前記子が受信しない時新 しい親ノードを探索するステップと をさらに備えたことを特徴とする方法。 11.請求項9に記載の方法において、 所定の時間期間以内に前記子からの状態メッセージを前記親が受信しない時前 記子の登録を取消すステップをさらに備えたことを特徴とする方法。 12.請求項1に記載の方法において、 前記論理階層は任意のレベル数からなることを特徴とする方法。 13.請求項12に記載の方法において、 前記レベル数が変更可能なことを特徴とする方法。 14.請求項1に記載の方法において、 前記ネットワーク内における前記ノードの役割は前記ネットワークの要件を条 件として変更可能であることを特徴とする方法。 15.ディジタル・ネットワークにおける複数のノードを相互接続するスケーラ ブル・システム内のノードにより要求された資源を検索するための方法において 、それぞれのノードは1つ以上の資源が関連し、それぞれの資源は他のノードで 利用可能なアクティブ状態および利用可能でないインアクティブ状態とを有する ものであり、前記方法は、 前記インアクティブ状態から前記アクティブ状態に切り換えることによって前 記ネットワークに加わる資源を自動的に識別するステップと、 前記要求した側に前記要求された資源が利用可能になったことを自動的に通知 するステップと を備えたことを特徴とする方法。 16.請求項15に記載の方法において、 前記複数のノードの少なくとも1つは資源についての要求のリストを記憶する ためのキャッシュを含み、前記方法は前記キャッシュに資源についての要求を記 憶するステップをさらに備えたことを特徴とする方法。 17.請求項16に記載の方法において、 資源がアクティブになり前記要求を満たした時に前記キャッシュから要求を削 除するステップをさらに備えたことを特徴とする方法。 18.請求項15に記載の方法において、 前記複数のノードは少なくとも2つのレベルに構成されており、かつ第1のレ ベルのノードは第2のレベルのノードに存在する前記資源に関する情報を含むこ とを特徴とする方法。 19.請求項18に記載の方法において、 前記第1のレベルの複数のノードは資源についての要求のリストを記憶するた めのキャッシュを含み、前記方法は前記キャッシュ内に資源についての要求を記 憶するステップをさらに備えたことを特徴とする方法。 20.請求項19に記載の方法において、 資源がアクティブになり前記要求を満たした時に前記キャッシュから要求を削 除するステップをさらに備えたことを特徴とする方法。 21.請求項18に記載の方法において、 前記第1のレベルは親レベルでありかつ前記第2のレベルは子レベルであり、 前記親レベルの各ノードは前記子レベルの1つ以上のノードに関連し、かつ前記 子レベルの各ノードは前記親レベルの1つのノードに関連することを特徴とする 方法。 22.異なるレベルで異なる通信プロトコルを有するノードの間でパケットをル ートすることのできるコンテクスト・ブリッジにおけるルーティング経路を決定 するための方法において、前記コンテクスト・ブリッジは複数のノードを含む異 質なネットワーク内の多数のコンテクスト・ブリッジの1つであり、前記方法は 、 コンテクスト・ブリッジのリストおよび前記リスト内の各コンテクスト・ブリ ッジが取り扱う前記通信プロトコルを設定するステップと、 他のコンテクスト・ブリッジにより定期的にブロードキャストされ、ブロード キャストするコンテクスト・ブリッジが取り扱う前記通信プロトコル受信者に通 知するルーティング情報パケットを聴取するステップと、 前記受信したルーティング情報パケットに含まれる前記情報を用いて前記デー タベースを更新するステップと を備えたことを特徴とする方法。 23.送信元ノードから宛先ノードへコンテクスト・ブリッジを使用してパケッ トをルートするための方法において、前記送信元ノードのルーティング・プロト コルは前記宛先ノードのルーティング・プロトコルと異なるレベルにあり、前記 コンテクスト・ブリッジは複数のノードを含む異質ネットワークの多数のコンテ クスト・ブリッジの1つであり、前記方法は、 前記宛先ノードはルータブル・プロトコルを有するかどうかを判定するステッ プと、 前記宛先がルータブル・プロトコルを有していない場合、前記送信元から前記 宛先へ前記コンテクスト・ブリッジのアドレスを含むソース・ルートを使用して 前記パケットをルートするステップであって、前記アドレスは前記送信元がルー ト発見パケットを送信し前記宛先が前記発見パケットに応答することにより発見 されるものと、 前記宛先がルータブル・プロトコルを有する場合ルータブル・プロトコルを含 む少なくとも1つのコンテクスト・ブリッジを経由して前記パケットをルートす るステップと を備えたことを特徴とする方法。
JP8508817A 1994-08-19 1995-08-18 スケーラブル分散計算環境 Pending JPH09511115A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/293,073 US5526358A (en) 1994-08-19 1994-08-19 Node management in scalable distributed computing enviroment
US08/293,073 1994-08-19
PCT/US1995/010605 WO1996007257A2 (en) 1994-08-19 1995-08-18 Scalable distributed computing environment

Publications (1)

Publication Number Publication Date
JPH09511115A true JPH09511115A (ja) 1997-11-04

Family

ID=23127543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8508817A Pending JPH09511115A (ja) 1994-08-19 1995-08-18 スケーラブル分散計算環境

Country Status (8)

Country Link
US (5) US5526358A (ja)
EP (1) EP0776502A2 (ja)
JP (1) JPH09511115A (ja)
CN (1) CN1159858A (ja)
AU (1) AU3944995A (ja)
BR (1) BR9508731A (ja)
CA (1) CA2197324A1 (ja)
WO (1) WO1996007257A2 (ja)

Families Citing this family (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863441A (ja) * 1994-08-26 1996-03-08 Hitachi Ltd 並列システムの運用方法
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5784612A (en) * 1995-05-03 1998-07-21 International Business Machines Corporation Configuration and unconfiguration of distributed computing environment components
US5771353A (en) * 1995-11-13 1998-06-23 Motorola Inc. System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server
JPH09245007A (ja) * 1996-03-11 1997-09-19 Toshiba Corp 情報処理装置及び情報処理方法
US5668857A (en) * 1996-03-29 1997-09-16 Netspeed, Inc. Communication server apparatus and method
US6385203B2 (en) 1996-03-29 2002-05-07 Cisco Technology, Inc. Communication server apparatus and method
US5754790A (en) * 1996-05-01 1998-05-19 3Com Corporation Apparatus and method for selecting improved routing paths in an autonomous system of computer networks
US6400681B1 (en) * 1996-06-20 2002-06-04 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US5805594A (en) * 1996-08-23 1998-09-08 International Business Machines Corporation Activation sequence for a network router
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US6424872B1 (en) 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US5778058A (en) * 1996-10-07 1998-07-07 Timeplex, Inc. Method of adding a new PBX and new PBX port to an existing PBX network
US5909550A (en) * 1996-10-16 1999-06-01 Cisco Technology, Inc. Correlation technique for use in managing application-specific and protocol-specific resources of heterogeneous integrated computer network
US6044080A (en) * 1996-11-19 2000-03-28 Pluris, Inc. Scalable parallel packet router
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US7805756B2 (en) 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US7634529B2 (en) 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US6725250B1 (en) 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US7024449B1 (en) 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US5848145A (en) * 1996-12-20 1998-12-08 Lucent Technologies Inc. Automatic learning of network routing using random routes
US6058423A (en) 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US5930264A (en) * 1997-02-06 1999-07-27 Telefonaktiebolaget L M Ericsson (Publ) Inter-node signaling for protocol initialization within a communications network
US6163599A (en) * 1997-03-20 2000-12-19 Cisco Technology, Inc. Communication server apparatus and method
US6151325A (en) * 1997-03-31 2000-11-21 Cisco Technology, Inc. Method and apparatus for high-capacity circuit switching with an ATM second stage switch
US6934249B1 (en) 1997-04-01 2005-08-23 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
CA2290484A1 (en) * 1997-05-23 1998-11-26 The Trustees Of Columbia University In The City Of New York Method and system for providing multimedia service in an atm communications network
US6122276A (en) * 1997-06-30 2000-09-19 Cisco Technology, Inc. Communications gateway mapping internet address to logical-unit name
US6311228B1 (en) * 1997-08-06 2001-10-30 Microsoft Corporation Method and architecture for simplified communications with HID devices
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6128662A (en) * 1997-08-29 2000-10-03 Cisco Technology, Inc. Display-model mapping for TN3270 client
US6049833A (en) 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6366644B1 (en) 1997-09-15 2002-04-02 Cisco Technology, Inc. Loop integrity test device and method for digital subscriber line (XDSL) communication
US6252878B1 (en) 1997-10-30 2001-06-26 Cisco Technology, Inc. Switched architecture access server
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6216132B1 (en) 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
US5918910A (en) * 1997-12-19 1999-07-06 Ncr Corporation Product tracking system and method
EP0949782B1 (en) 1998-03-13 2015-06-17 Canon Kabushiki Kaisha Information processing apparatus and method
US6278728B1 (en) 1998-03-18 2001-08-21 Cisco Technology, Inc. Remote XDSL transceiver unit and method of operation
US6205498B1 (en) 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6446206B1 (en) 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US6678726B1 (en) * 1998-04-02 2004-01-13 Microsoft Corporation Method and apparatus for automatically determining topology information for a computer within a message queuing network
US6639897B1 (en) * 1998-04-22 2003-10-28 Nippon Telegraph And Telephone Corporation Communication network of linked nodes for selecting the shortest available route
US6049834A (en) * 1998-05-08 2000-04-11 Cisco Technology, Inc. Layer 3 switch unicast protocol
US6772350B1 (en) 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6848108B1 (en) * 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6275912B1 (en) 1998-06-30 2001-08-14 Microsoft Corporation Method and system for storing data items to a storage device
US6202089B1 (en) 1998-06-30 2001-03-13 Microsoft Corporation Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6535520B1 (en) 1998-08-14 2003-03-18 Cisco Technology, Inc. System and method of operation for managing data communication between physical layer devices and ATM layer devices
US6269096B1 (en) 1998-08-14 2001-07-31 Cisco Technology, Inc. Receive and transmit blocks for asynchronous transfer mode (ATM) cell delineation
US6381245B1 (en) 1998-09-04 2002-04-30 Cisco Technology, Inc. Method and apparatus for generating parity for communication between a physical layer device and an ATM layer device
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6700872B1 (en) 1998-12-11 2004-03-02 Cisco Technology, Inc. Method and system for testing a utopia network element
US6834302B1 (en) * 1998-12-31 2004-12-21 Nortel Networks Limited Dynamic topology notification extensions for the domain name system
US6535511B1 (en) 1999-01-07 2003-03-18 Cisco Technology, Inc. Method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems
US6453357B1 (en) * 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6449655B1 (en) 1999-01-08 2002-09-10 Cisco Technology, Inc. Method and apparatus for communication between network devices operating at different frequencies
US6633574B1 (en) * 1999-03-17 2003-10-14 Loytec Electronics Gmbh Dynamic wait acknowledge for network protocol
US6889254B1 (en) 1999-03-30 2005-05-03 International Business Machines Corporation Scalable merge technique for information retrieval across a distributed network
US6393423B1 (en) 1999-04-08 2002-05-21 James Francis Goedken Apparatus and methods for electronic information exchange
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
US6983291B1 (en) * 1999-05-21 2006-01-03 International Business Machines Corporation Incremental maintenance of aggregated and join summary tables
JP3740320B2 (ja) * 1999-05-31 2006-02-01 キヤノン株式会社 デバイス検索システム及びデバイス検索方法
US6460082B1 (en) * 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US6957254B1 (en) 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system
US6412002B1 (en) * 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6751200B1 (en) * 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US6775781B1 (en) * 1999-12-13 2004-08-10 Microsoft Corporation Administrative security systems and methods
US7310629B1 (en) 1999-12-15 2007-12-18 Napster, Inc. Method and apparatus for controlling file sharing of multimedia files over a fluid, de-centralized network
US6742023B1 (en) 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6366907B1 (en) 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US6834208B2 (en) * 1999-12-30 2004-12-21 Microsoft Corporation Method and apparatus for providing distributed control of a home automation and control system
US6990379B2 (en) * 1999-12-30 2006-01-24 Microsoft Corporation Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system
US6823223B2 (en) * 1999-12-30 2004-11-23 Microsoft Corporation Method and apparatus for providing distributed scene programming of a home automation and control system
US7000007B1 (en) 2000-01-13 2006-02-14 Valenti Mark E System and method for internet broadcast searching
RU2263006C2 (ru) 2000-02-10 2005-10-27 Тетроникс Лимитед Плазменно-дуговой реактор и способ получения тонких порошков
GB0004845D0 (en) 2000-02-29 2000-04-19 Tetronics Ltd A method and apparatus for packaging ultra fine powders into containers
US6728715B1 (en) 2000-03-30 2004-04-27 International Business Machines Corporation Method and system for matching consumers to events employing content-based multicast routing using approximate groups
US6744006B2 (en) 2000-04-10 2004-06-01 Tetronics Limited Twin plasma torch apparatus
AU2001264944A1 (en) * 2000-05-25 2001-12-03 Transacttools, Inc. A method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems
EP1301846A4 (en) * 2000-06-19 2006-03-22 P C Krause And Associates Inc DISTRIBUTED SIMULATION
US20050240286A1 (en) * 2000-06-21 2005-10-27 Glanzer David A Block-oriented control system on high speed ethernet
WO2002003296A1 (en) * 2000-06-29 2002-01-10 Dynamic Networks, Inc. Method and system for producing an electronic business network
US7089301B1 (en) 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
FR2814883A1 (fr) * 2000-10-03 2002-04-05 Canon Kk Procede et dispositif de declaration et de modification de fonctionnalite d'un noeud dans un reseau de communication
FR2815213B1 (fr) * 2000-10-05 2004-09-24 Cit Alcatel Equipement de telecommunication permettant la migration du controle d'appel
US7203741B2 (en) * 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US6941350B1 (en) * 2000-10-19 2005-09-06 International Business Machines Corporation Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US7113995B1 (en) 2000-10-19 2006-09-26 International Business Machines Corporation Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system
US6978300B1 (en) 2000-10-19 2005-12-20 International Business Machines Corporation Method and apparatus to perform fabric management
US7636772B1 (en) 2000-10-19 2009-12-22 International Business Machines Corporation Method and apparatus for dynamic retention of system area network management information in non-volatile store
US6990528B1 (en) 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area network
US7003559B1 (en) * 2000-10-23 2006-02-21 Hewlett-Packard Development Company, L.P. System and method for determining probable network paths between nodes in a network topology
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
US7337473B2 (en) * 2000-12-15 2008-02-26 International Business Machines Corporation Method and system for network management with adaptive monitoring and discovery of computer systems based on user login
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US6891805B2 (en) * 2001-02-06 2005-05-10 Telephonics Corporation Communications system
EP1233318A1 (de) * 2001-02-16 2002-08-21 Abb Research Ltd. Softwarekomponente für ein verteiltes Kontrollsystem
US7142527B2 (en) * 2001-02-28 2006-11-28 Nokia Inc. System and method for transmission scheduling using network membership information and neighborhood information
US20020184361A1 (en) * 2001-05-16 2002-12-05 Guy Eden System and method for discovering available network components
US6590868B2 (en) * 2001-06-02 2003-07-08 Redback Networks Inc. Method and apparatus for restart communication between network elements
US6954817B2 (en) * 2001-10-01 2005-10-11 International Business Machines Corporation Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities
US6920494B2 (en) 2001-10-05 2005-07-19 International Business Machines Corporation Storage area network methods and apparatus with virtual SAN recognition
US6785760B2 (en) 2001-10-19 2004-08-31 International Business Machines Corporation Performance of a PCI-X to infiniband bridge
US6964047B2 (en) * 2001-12-20 2005-11-08 Lucent Technologies Inc. Method and apparatus for a fast process monitor suitable for a high availability system
DE60215910T2 (de) * 2002-02-12 2007-04-12 Alcatel Verfahren zur Bestimmung einer aktiven oder passiven Rollenzuteilung für ein Netzelementsteuerungsmittel
US20030158941A1 (en) * 2002-02-15 2003-08-21 Exanet, Inc. Apparatus, method and computer software for real-time network configuration
DE10206903A1 (de) * 2002-02-19 2003-09-04 Siemens Ag Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme
DE10206902A1 (de) * 2002-02-19 2003-09-11 Siemens Ag Engineeringverfahren und Engineeringsystem für industrielle Automatisierungssysteme
US20030185369A1 (en) * 2002-03-29 2003-10-02 Oliver Neal C. Telephone conference bridge provided via a plurality of computer telephony resource algorithms
US7116643B2 (en) * 2002-04-30 2006-10-03 Motorola, Inc. Method and system for data in a collection and route discovery communication network
US7702786B2 (en) * 2002-08-09 2010-04-20 International Business Machines Corporation Taking a resource offline in a storage network
JP3865668B2 (ja) * 2002-08-29 2007-01-10 富士通株式会社 移動通信ネットワークシステム
WO2004040846A2 (en) * 2002-10-29 2004-05-13 British Telecommunications Public Limited Company Method and apparatus for network management
US20040088361A1 (en) * 2002-11-06 2004-05-06 Stuart Statman Method and system for distributing information to services via a node hierarchy
US8799366B2 (en) * 2002-12-11 2014-08-05 Broadcom Corporation Migration of stored media through a media exchange network
US8028093B2 (en) 2002-12-11 2011-09-27 Broadcom Corporation Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
WO2004075582A1 (en) * 2003-02-21 2004-09-02 Nortel Networks Limited Data communication apparatus and method for establishing a codec-bypass connection
GB2400200A (en) * 2003-04-05 2004-10-06 Hewlett Packard Development Co Use of nodes to monitor or manage peer to peer network
GB0308708D0 (en) * 2003-04-15 2003-05-21 British Telecomm A computer system
WO2004095716A2 (en) 2003-04-17 2004-11-04 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
EP1627316B1 (en) * 2003-05-27 2018-02-21 Vringo Infrastructure Inc. Data collection in a computer cluster
FI20030796A0 (fi) 2003-05-27 2003-05-27 Nokia Corp Tiedonkeruu tietokoneklusterissa
US7546313B1 (en) * 2003-06-17 2009-06-09 Novell, Inc. Method and framework for using XML files to modify network resource configurations
US20050010386A1 (en) * 2003-06-30 2005-01-13 Mvalent, Inc. Method and system for dynamically modeling resources
US7463612B2 (en) 2003-10-30 2008-12-09 Motorola, Inc. Method and apparatus for route discovery within a communication system
GB2408355B (en) * 2003-11-18 2007-02-14 Ibm A system for verifying a state of an environment
US7502745B1 (en) * 2004-07-21 2009-03-10 The Mathworks, Inc. Interfaces to a job manager in distributed computing environments
US8726278B1 (en) 2004-07-21 2014-05-13 The Mathworks, Inc. Methods and system for registering callbacks and distributing tasks to technical computing works
US7990865B2 (en) * 2004-03-19 2011-08-02 Genband Us Llc Communicating processing capabilities along a communications path
US8027265B2 (en) * 2004-03-19 2011-09-27 Genband Us Llc Providing a capability list of a predefined format in a communications network
JP4390104B2 (ja) * 2004-04-16 2009-12-24 株式会社デンソー 内燃機関のノック判定装置
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
JP2008512759A (ja) * 2004-09-13 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分散ストレージシステムを管理する方法
US20060146829A1 (en) * 2005-01-04 2006-07-06 Omron Corporation Network system, nodes connected thereto and data communication method using same
US7616590B2 (en) * 2005-07-28 2009-11-10 The Boeing Company Distributed tempero-spatial query service
US8731542B2 (en) 2005-08-11 2014-05-20 Seven Networks International Oy Dynamic adjustment of keep-alive message intervals in a mobile network
KR100718097B1 (ko) * 2005-10-25 2007-05-16 삼성전자주식회사 개인영역 무선네트워크에서의 주소 관리 방법 및 경로 설정방법
US8635348B2 (en) * 2005-12-07 2014-01-21 Intel Corporation Switch fabric service hosting
US7489977B2 (en) * 2005-12-20 2009-02-10 Fieldbus Foundation System and method for implementing time synchronization monitoring and detection in a safety instrumented system
US8676357B2 (en) * 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
CN100386986C (zh) * 2006-03-10 2008-05-07 清华大学 数据网格系统中数据副本的混合定位方法
CN101971561A (zh) * 2006-07-09 2011-02-09 90度软件股份有限公司 用于管理网络的系统和方法
US8346239B2 (en) 2006-12-28 2013-01-01 Genband Us Llc Methods, systems, and computer program products for silence insertion descriptor (SID) conversion
US20080195430A1 (en) * 2007-02-12 2008-08-14 Yahoo! Inc. Data quality measurement for etl processes
US20080222634A1 (en) * 2007-03-06 2008-09-11 Yahoo! Inc. Parallel processing for etl processes
WO2008115221A2 (en) 2007-03-20 2008-09-25 Thomson Licensing Hierarchically clustered p2p streaming system
US7689648B2 (en) 2007-06-27 2010-03-30 Microsoft Corporation Dynamic peer network extension bridge
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US20090302588A1 (en) * 2008-06-05 2009-12-10 Autoliv Asp, Inc. Systems and methods for airbag tether release
JP5293426B2 (ja) 2009-06-09 2013-09-18 ソニー株式会社 通信方法、情報処理装置、およびプログラム
US8908541B2 (en) * 2009-08-04 2014-12-09 Genband Us Llc Methods, systems, and computer readable media for intelligent optimization of digital signal processor (DSP) resource utilization in a media gateway
US10354302B2 (en) * 2009-08-23 2019-07-16 Joreida Eugenia Torres Methods and devices for providing fashion advice
US9300522B2 (en) * 2009-12-23 2016-03-29 International Business Machines Corporation Information technology asset management
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US20110225297A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Controlling Access To A Resource In A Distributed Computing System With A Distributed Access Request Queue
US9448850B2 (en) * 2010-03-11 2016-09-20 International Business Machines Corporation Discovering a resource in a distributed computing system
US9348661B2 (en) * 2010-03-11 2016-05-24 International Business Machines Corporation Assigning a unique identifier to a communicator
US8621446B2 (en) * 2010-04-29 2013-12-31 International Business Machines Corporation Compiling software for a hierarchical distributed processing system
US20110320381A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Business driven combination of service oriented architecture implementations
US8712353B2 (en) 2010-07-29 2014-04-29 Intel Mobile Communications Technology GmbH Radio communication devices, information providers, methods for controlling a radio communication device and methods for controlling an information provider
US8521109B2 (en) 2010-07-29 2013-08-27 Intel Mobile Communications GmbH Radio communication devices, information providers, methods for controlling a radio communication device and methods for controlling an information provider
US8645543B2 (en) 2010-10-13 2014-02-04 International Business Machines Corporation Managing and reconciling information technology assets in a configuration database
CN103262064A (zh) * 2010-12-16 2013-08-21 Et国际有限公司 分布式计算体系结构
US20120102148A1 (en) 2010-12-30 2012-04-26 Peerapp Ltd. Methods and systems for transmission of data over computer networks
CN107094176B (zh) 2010-12-30 2021-07-30 皮尔爱普有限公司 用于对计算机网络上的数据通信进行缓存的方法和系统
CN102833289B (zh) * 2011-06-16 2016-02-17 浙江速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
JP6028728B2 (ja) * 2011-07-01 2016-11-16 日本電気株式会社 オブジェクト配置装置、オブジェクト配置方法及びプログラム
US8577610B2 (en) 2011-12-21 2013-11-05 Telenav Inc. Navigation system with point of interest harvesting mechanism and method of operation thereof
CN112039822B (zh) * 2019-06-03 2022-08-02 本无链科技(深圳)有限公司 一种基于WebRTC构建实时区块链网络的方法及系统
CN112214694B (zh) * 2019-07-10 2023-03-14 浙江宇视科技有限公司 可见节点查询方法及装置、终端设备及可读存储介质
JP7328907B2 (ja) * 2020-01-31 2023-08-17 株式会社日立製作所 制御システム、制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800488A (en) * 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US5214646A (en) * 1990-01-31 1993-05-25 Amnon Yacoby System and method for interconnecting local area networks
US5301303A (en) * 1990-04-23 1994-04-05 Chipcom Corporation Communication system concentrator configurable to different access methods
US5222242A (en) * 1990-09-28 1993-06-22 International Business Machines Corp. System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node
US5280480A (en) * 1991-02-21 1994-01-18 International Business Machines Corporation Source routing transparent bridge
JPH0540151A (ja) * 1991-08-06 1993-02-19 Hokuriku Nippon Denki Software Kk スキヤン経路故障診断法
IL99923A0 (en) * 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
US5323394A (en) * 1992-04-07 1994-06-21 Digital Equipment Corporation Selecting optimal routes in source routing bridging without exponential flooding of explorer packets
US5251213A (en) * 1992-05-12 1993-10-05 Microcom Systems, Inc. Multiport source routing token ring bridge apparatus
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
US5289460A (en) * 1992-07-31 1994-02-22 International Business Machines Corp. Maintenance of message distribution trees in a communications network
US5365523A (en) * 1992-11-16 1994-11-15 International Business Machines Corporation Forming and maintaining access groups at the lan/wan interface
ATE176744T1 (de) * 1992-11-27 1999-02-15 Ibm Mehrfachsende-leitweglenkung zwischen bereichen
US5430728A (en) * 1992-12-10 1995-07-04 Northern Telecom Limited Single-route broadcast for LAN interconnection
US5426637A (en) * 1992-12-14 1995-06-20 International Business Machines Corporation Methods and apparatus for interconnecting local area networks with wide area backbone networks
JPH07118717B2 (ja) * 1993-01-05 1995-12-18 日本電気株式会社 マルチプロトコル対応のパケット網構成方法
JP2576762B2 (ja) * 1993-06-30 1997-01-29 日本電気株式会社 リング網のノード間情報収集方式
US5432789A (en) * 1994-05-03 1995-07-11 Synoptics Communications, Inc. Use of a single central transmit and receive mechanism for automatic topology determination of multiple networks

Also Published As

Publication number Publication date
US5612957A (en) 1997-03-18
EP0776502A2 (en) 1997-06-04
CN1159858A (zh) 1997-09-17
AU3944995A (en) 1996-03-22
US5793968A (en) 1998-08-11
US5526358A (en) 1996-06-11
CA2197324A1 (en) 1996-03-07
WO1996007257A3 (en) 1996-09-19
US5778185A (en) 1998-07-07
WO1996007257A2 (en) 1996-03-07
US5699351A (en) 1997-12-16
BR9508731A (pt) 1998-12-15

Similar Documents

Publication Publication Date Title
JPH09511115A (ja) スケーラブル分散計算環境
US20220303367A1 (en) Concurrent process execution
JP5798644B2 (ja) フェデレーションインフラストラクチャ内の一貫性
US8051179B2 (en) Distributed session failover
US8549180B2 (en) Optimizing access to federation infrastructure-based resources
US20140280398A1 (en) Distributed database management
US20150244602A1 (en) Maintaining Consistency within a Federation Infrastructure
US20020147652A1 (en) System and method for distruibuted client state management across a plurality of server computers
US8719780B2 (en) Application server with a protocol-neutral programming model for developing telecommunications-based applications
JP4463999B2 (ja) 通信ネットワークにおける方法及び装置
JP2003501881A (ja) マルチキャストする方法および装置
JPH1040226A (ja) 分散コンピューティング環境におけるグループ・リーダ回復の方法
JP3589378B2 (ja) 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム
JPH1040222A (ja) 分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するための方法
Salehi et al. On delivery guarantees in distributed content-based publish/subscribe systems
Mühl et al. Distributed Notification Routing