JP2003500962A - 信頼性のあるマルチキャスト - Google Patents

信頼性のあるマルチキャスト

Info

Publication number
JP2003500962A
JP2003500962A JP2000620484A JP2000620484A JP2003500962A JP 2003500962 A JP2003500962 A JP 2003500962A JP 2000620484 A JP2000620484 A JP 2000620484A JP 2000620484 A JP2000620484 A JP 2000620484A JP 2003500962 A JP2003500962 A JP 2003500962A
Authority
JP
Japan
Prior art keywords
destination
work
work unit
sdr
multicast group
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
JP2000620484A
Other languages
English (en)
Inventor
マイケル・クラウス
フレッド・ビー・ウォーリー
キンバリー・ケー・スコット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003500962A publication Critical patent/JP2003500962A/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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 マルチキャスト・グループに関係するソース・デバイスとディスティネーション・デバイスの間において信頼性のあるマルチキャスト・サービスが運用される。ソース・デバイスは、第1のワーク・ユニットのストリームを生成する第1のソース・アプリケーション・インスタンス(AI)、および通信サービス(CS)を含んでいる。マルチキャスト・グループ内の各ディスティネーション・デバイスは、CS、およびワーク・ユニットを消費する少なくとも1つのディスティネーションAIを含んでいる。ソース・デバイスと複数のディスティネーション・デバイスの間においては、通信サービス/ファブリックが通信を提供する。複数のソースおよびディスティネーション・リソース(SDR)が、第1のワーク・ユニットのストリームを対応するディスティネーション・デバイスに配信するため、および対応するディスティネーション・デバイスにおいて受信される第1のワーク・ユニットのストリームの強い順序設定を保証するために、マルチキャスト・グループ内のソース・デバイスと対応する複数のディスティネーション・デバイスの間において、対応する複数の信頼性のあるトランスポート・サービスを実装する。

Description

【発明の詳細な説明】
【0001】
【発明の分野】
本発明は、概してデータ処理に関し、より詳細に述べれば、信頼性のあるマル
チキャスト・サービスを介して複数のディスティネーション・アプリケーション
・インスタンス(AI)と通信するソースAIに関する。
【0002】
【発明の背景】
いくつかの従来のデータ処理システムにおいては、ソース・アプリケーション
・インスタンス(AI)が、信頼性のないマルチキャスト・サービスを介して複
数のディスティネーションAIと通信することができる。これにおいてAIは、
データ処理システム内のデータのプロデューサまたはコンシューマとして定義さ
れる。AIは、ソフトウエア、ハードウエア、もしくはファームウエア、または
これらの任意の組み合わせにおいて実装することが可能である。ここではワーク
・ユニットを、ソースAIとディスティネーションAIの間において送信される
データとして定義する。すなわちソースAIは、ディスティネーションAIに送
信されるワーク・ユニットのプロデューサである。またディスティネーションA
Iは、ソースAIから送信されるワーク・ユニットのコンシューマである。
【0003】 従来の信頼性のないマルチキャスト・サービスは、通常、基礎をなす通信サー
ビス/ファブリックのレプリケータおよびトランスミッタ・コンポーネントを用
いてソースAIから提供されたワーク・ユニットのレプリケーションを行うこと
によって実装されている。たとえば、ソースAIから提供されたワーク・ユニッ
トのレプリケーションを行い、レプリケーション後のワーク・ユニットを、ター
ゲット・マルチキャスト・グループに関係している複数のディスティネーション
AIに送信するために、通常は通信サービス/ファブリック内のスイッチまたは
ルータが使用されることになる。従来のマルチキャスト・サービスは、伝統的な
レプリケータおよびトランスミッタ・コンポーネントの機能ならびにリソースの
制限に起因して、信頼性の低いトランスポート・サービスとして設計されている
。このため、従来の信頼性の低いマルチキャスト・サービスは、マルチメディア
・アプリケーション等のようにワーク・ユニットが失われることが許容され得る
アプリケーションにおいてのみ使用される。アプリケーションが信頼性を必要と
する場合には、従来のマルチキャスト・サービス内において信頼性の機能が実装
されていないことから、そのアプリケーション自体の中に信頼性の機能を実装し
なければならない。
【0004】 上記の理由ならびに本明細書の好ましい実施形態の説明のセクションの中で詳
細を述べるその他の理由から、ソースAIが信頼性をもってデータ処理システム
内の複数のディスティネーションAIと通信を行うことができる信頼性のあるマ
ルチキャスト・サービスが必要となっている。信頼性のあるマルチキャスト・サ
ービスにおいては、ソースAIから送信されたワーク・ユニットの順序と、当該
マルチキャスト・サービス内のディスティネーションAIのそれぞれがワーク・
ユニットを受信する順序が同一になる。それに加えて、従来の信頼性の低いマル
チキャスト・サービスを使用する現存するアプリケーションが、現存するアプリ
ケーションに対する修正を行うことなく信頼性のあるマルチキャスト・サービス
を使用できるように、信頼性のあるマルチキャスト・サービスは、信頼性の低い
マルチキャスト・サービスと意味論上において同一の振る舞いを提供する必要が
ある。
【0005】
【発明の要約】
本発明は、マルチキャスト・グループに関係するソース・デバイスならびに複
数のディスティネーション・デバイスを含むデータ処理システムを提供する。ソ
ース・デバイスは、第1のワーク・ユニットのストリームを生成する第1のソー
ス・アプリケーション・インスタンス(AI)、および通信サービス(CS)を
含んでいる。マルチキャスト・グループ内の各ディスティネーション・デバイス
は、CS、およびワーク・ユニットを消費する少なくとも1つのディスティネー
ションAIを含んでいる。ソース・デバイスと複数のディスティネーション・デ
バイスの間においては、通信サービス/ファブリックが通信を提供する。このデ
ータ処理システムは、複数のソースおよびディスティネーション・リソース(S
DR)を含む。それぞれのSDRは、マルチキャスト・グループ内の、ソース・
デバイスと複数のディスティネーション・デバイスのうちの対応する1つの間に
おいて、当該対応するディスティネーション・デバイスにおける第1のワーク・
ユニットのストリームの配信を行うため、および当該対応するディスティネーシ
ョン・デバイスにおいて受信される第1のワーク・ユニットの強い順序設定を保
証するための、信頼性のあるトランスポート・サービスを実装する。
【0006】 一実施形態においては、ソース・デバイス内のCSが、マルチキャスト・グル
ープ内のあらかじめ決定済みのパーセンテージのディスティネーションAIが、
前記第1のワーク・ユニットのストリーム内の各ユニットを、信頼性をもって受
信していることを検証する。また一実施形態においては、このあらかじめ決定済
みのパーセンテージをディスティネーションAIの100%とするが、別の実施
形態においては、このあらかじめ決定済みのパーセンテージをディスティネーシ
ョンAIの100%より少ないものとする。
【0007】 一実施形態においては、ソース・デバイス内のCSが、マルチキャスト・グル
ープ内の対応するディスティネーション・デバイスから受信した、当該対応する
ディスティネーション・デバイスが前記第1のワーク・ユニットのストリーム内
の1つのワーク・ユニットを受信したことを示す確認応答をカウントする確認応
答カウンタを含んでいる。ソース・デバイス内のCSは、この確認応答カウンタ
が、マルチキャスト・グループ内のすべての、もしくはあらかじめ決定済みのパ
ーセンテージのディスティネーションAIが前記ワーク・ユニットを受信したと
する確認応答を行ったことを示しているとき、完了イベントを生成する。
【0008】 一実施形態においては、ソース・デバイス内のCSがビット‐マスク配列を含
み、当該ビット‐マスク配列は、マルチキャスト・グループ内の各ディスティネ
ーションAIに固有ビットの割り当てを行い、各ビットを、マルチキャスト・グ
ループ内の対応するディスティネーション・デバイスから、当該対応するディス
ティネーション・デバイスが前記第1のワーク・ユニットのストリーム内の1つ
のワーク・ユニットを受信したことを示す、対応する確認応答が受信されるとク
リアする。ソース・デバイス内のCSは、このビット‐マスク配列が、ビット‐
マスク配列内にあらかじめ決定済みのパーセンテージのクリアされたビットを有
し、それによってマルチキャスト・グループ内のすべての、もしくはあらかじめ
決定済みのパーセンテージのディスティネーションAIがワーク・ユニットを受
信したとする確認応答を行ったことが示されているとき、完了イベントを生成す
る。
【0009】 一実施形態においては、ソース・デバイス内のCSが、マルチキャスト・グル
ープ内のディスティネーションAIに対する送信のために、前記第1のワーク・
ユニットのストリームのレプリケーションを行う。別の実施形態においては、通
信サービス/ファブリックが、マルチキャスト・グループ内のディスティネーシ
ョンAIに対する送信に関して、前記第1のワーク・ユニットのストリームのレ
プリケーションを行うための、少なくとも1つの、スイッチまたはルータ等のレ
プリケータ・コンポーネントを含む。一実施形態においては、ソース・デバイス
内のCSが、タイミング・ウインドウを含む。このタイミング・ウインドウが、
完了イベントの発生に関する必要条件を伴うことなくタイムアウトすると、ミド
ルウエアAIまたはCSによって欠落している確認応答の追跡ならびに解決が行
われる。
【0010】 一実施形態においては、次の例のマルチキャスト・オペレーションが使用され
て、信頼性のあるマルチキャスト・サービスが実装される。所定のAIは、マル
チキャスト加入オペレーションを実行することによってマルチキャスト・グルー
プに加わる。ミドルウエアAIまたはCSは、この所定のAIがマルチキャスト
・グループに加わることができるか否かを決定し、アクセス権を検査し、さらに
マルチキャスト・グループ内に加わっているデバイスに対してグループ内に変更
が生じることを通知する。所定のAIは、マルチキャスト離脱オペレーションを
実行することによってマルチキャスト・グループから離脱し、ミドルウエアAI
またはCSは、マルチキャスト・グループ内に加わっているデバイスに対して、
その所定のAIをディスティネーション・リストから削除すること、その所定の
AIがいまだ存在するかのようにしてすべてのフライト中のワーク・ユニットを
完了すること、およびいまだ発射していないワーク・ユニットに関してはその所
定のAIをターゲットとしないことを通知する。AI、ミドルウエアAI、また
はCSは、マルチキャスト・グループのカレント属性のクエリを行う属性獲得オ
ペレーションを実行する。AI、ミドルウエアAI、またはCSは、マルチキャ
スト・グループの属性をセットする属性セット・オペレーションを実行する。ミ
ドルウエアAIは、所定のAIを、当該所定のAIを伴っていないマルチキャス
ト・グループから除外するメンバ除外オペレーションを実行する。
【0011】 一実施形態においては、マルチキャスト・グループ内のAIをアドレスするた
めに、同意マルチキャスト・アドレスが使用される。マルチキャスト・グループ
に関係する各デバイス内のCSは、同意マルチキャスト・アドレスを解釈し、当
該同意マルチキャスト・アドレスに応答して、対応するディスティネーションA
Iに代わって信頼性のあるマルチキャスト実行する。
【0012】 一実施形態においては、信頼性のあるマルチキャスト・オペレーションが、所
定のAIに関して、信頼性の低いマルチキャスト・サービスと意味論上において
実質的に同一の振る舞いを有する。
【0013】 一実施形態においては、複数のSDRが、複数のSDRグループにグループ化
される。複数のSDRグループのそれぞれは、少なくとも1つのSDRを含み、
当該少なくとも1つのSDRによって送信されるワーク・ユニットの有効スルー
プットおよび応答時間に関して固有の優先レベルが割り当てられる。
【0014】 一実施形態においては、ソース・デバイスがディスティネーション・デバイス
としても機能し、ディスティネーション・デバイスの少なくとも1つがソース・
デバイスとしても機能する。
【0015】 一実施形態においては、各SDRが、ソース・デバイスにおけるソースSDR
リソースおよびそれぞれの対応するディスティネーション・デバイスにおけるデ
ィスティネーションSDRリソースを含んでいる。ソースSDRリソースは、通
信サービス/ファブリックを介して、定義済みの順序でワーク・ユニットを有す
る連続するワーク・ユニットのストリーム内の前記第1のワーク・ユニットのス
トリームを送信する。ディスティネーションSDRリソースは、連続するワーク
・ユニットのストリームを受信し、その連続するワーク・ユニットのストリーム
を対応する少なくとも1つのディスティネーションAIに提供されたワーク・ユ
ニットに逆多重化する。
【0016】 一実施形態においては、ディスティネーションSDRリソースが、その定義済
みの順序より前に受信したワーク・ユニットに対して否定応答(NAK)を提供
する。また一実施形態においては、ディスティネーションSDRリソースが、定
義済みの順序より前に受信したワーク・ユニットを破棄する。一実施形態におい
ては、ディスティネーションSDRリソースが、そのディスティネーションSD
Rリソースによる受信ならびに処理が成功した各ワーク・ユニットに関して肯定
応答(ACK)を提供する。一実施形態においては、ディスティネーションSD
Rリソースが、ワーク・ユニットのセットに関して、当該ワーク・ユニットのセ
ット内の、カレントワーク・ユニットまで、およびそれを含むすべてのワーク・
ユニットの当該ディスティネーションSDRリソースによる受信ならびに処理が
成功したことを示す累積の肯定応答(ACK)を提供する。さらに一実施形態に
おいては、ディスティネーションSDRリソースが、ワーク・ユニットが重複す
るワーク・ユニットであることを示す表示に応答して当該ワーク・ユニットを破
棄する。
【0017】 本発明は、データ処理の方法も提供し、それには、マルチキャスト・グループ
に関係するソース・デバイスにおいて第1のソース・アプリケーション・インス
タンス(AI)を伴う第1のワーク・ユニットのストリームを生成するステップ
が含まれる。第1のワーク・ユニットのストリームは複製される。複数の信頼性
のあるトランスポート・サービスが設定され、その結果、それぞれのトランスポ
ート・サービスが、マルチキャスト・グループに関係するソース・デバイスと複
数のディスティネーション・デバイスの対応する1つの間において設定される。
各ディスティネーション・デバイスは、少なくとも1つのディスティネーション
AIを有する。複製された第1のワーク・ユニットのストリームは、複数の信頼
性のあるトランスポート・サービスを伴う通信サービス/ファブリックを介して
マルチキャストされる。対応するディスティネーション・デバイスにおいて受信
される第1のワーク・ユニットの強い順序設定が保証される。
【0018】 本発明に従ったマルチキャスト・サービスは、アプリケーションから、CSの
共通セットに対して信頼性機能の負担を移すことを可能にする。CSの共通セッ
トに対して信頼性機能の負担をアプリケーションから移すことは、複数のアプリ
ケーションが共有CSから恩典を受けることを可能にする。マルチキャスト・オ
ペレーションにおける信頼性問題を扱わなくてよいアプリケーションによって、
複数のアプリケーションにわたる質の最適化ならびにてこ入れが可能になり、そ
れがパフォーマンスならびに質を向上させる。さらに、所定のアプリケーション
の複雑性、所定のアプリケーションを作成し検証するための設計ステップ、およ
び所定のアプリケーションを市場化するまでの時間は、当該所定のアプリケーシ
ョンがマルチキャスト・オペレーションにおける信頼性を扱わなくてよいとき、
著しく短縮されることになる。
【0019】
【好ましい実施形態の説明】
以下に示す好ましい実施形態について、その一部を構成するとともに本発明を
実施する具体的な実施形態を図解するために示した添付の図面を参照しながら説
明する。他の実施形態も利用可能であり、本発明の範囲にもとることなく、構造
的または論理的な変更が可能であることは理解できよう。よって、以下に示す詳
細な説明は、制約的なものではなく、本発明の範囲は、添付の請求の範囲によっ
て限定されるものである。
【0020】 本発明の一つの実施形態は、データ処理システムにおける、確実な同報通信を
意図したものである。送信元のアプリケーションインスタンス(AI)は、本発
明による確実な同報通信を介して複数の送信先のAIと確実に通信することがで
きる。本発明による確実な同報通信は、本発明による送信元および送信先資源(
SDR)で実施する。SDRの操作をよりよく理解するため、まず、SDRで実
施する確実なデータグラムサービスについて説明する。
【0021】
【確実なデータグラムサービス】
配布されたAI間において確実な通信を確立するための確実なデータグラムサ
ービスを有するデータ処理システムの一部を、参照番号100でまとめて図1に
示す。また、図1に示す確実なデータグラムサービスは、高度に拡張可能なデー
タ処理システム100を提供する。
【0022】 データ処理システム100は、デバイス104とデバイス106の間で確実な
データグラムサービスを実施するためのSDR102を有する。SDR102は
、デバイス104にSDR資源102aと、デバイス106にSDR資源102
bを備えている。SDR資源102aは、通信サービス/構造108を介してS
DR資源102bと通信する。デバイス104およびデバイス106は、それぞ
れ通信の方向によって送信元デバイスとも、送信先デバイスともなりうる。デバ
イス104は、AI110、AI112、およびAI114を有する。また、デ
バイス106は、AI116、AI118、およびAI120を有する。AIは
、データを作成し、それを消費する。AIは、ソフトウェア、ハードウェア、フ
ァームウェア、あるいはそのいかなる組み合わせにおいても実施可能である。
【0023】 デバイス104とデバイス106のような送信元と送信先のデバイスの間の確
実なデータグラムサービスを実施する第1のステップは、拡張可能なデータ処理
システムで確実な通信を可能とするSDR102のようなSDRを作成すること
である。SDRを作成するには、さまざまな適した技術を利用することができる
。ある適した技術においては、デバイス104のミドルウェアAI122とデバ
イス106のミドルウェアAI124のような送信元と送信先のデバイスのミド
ルウェアAI間に不確かなデータグラムサービスを採用している。ミドルウェア
AIは、確実なデータグラムをやりとりするために使用するSDRを独自で識別
するため、十分なデータ交換を行う。ミドルウェアAIは、通信アプリケーショ
ンプログラミングインターフェース(API)とライブラリを提供するなど、直
接的に、あるいは解かりやすいエラー修復や他の管理サービスを提供するなど、
間接的にAI間の通信を円滑に行えるようにする。ミドルウェアAIは、デバイ
ス104,106などのような所定のデバイス内のファームウェア、またはソフ
トウェアの中のステートマシンを介してハードウェア内で実行することができる
。ミドルウェアAIのある実施形態(例えば、ミドルウェアAI122および1
24)では、同じデバイス内のAIをローカルで操作する。また、ミドルウェア
AI126のようなミドルウェアAIのある実施形態では、遠隔で実行し、その
基礎をなす通信サービス/構造を介してアクセスする。
【0024】 SDRを一度確立すれば、無数の送信元AIが、SDR102のような確立し
たSDRを使って無数の送信先AIと通信可能となる。なぜなら確立されたSD
Rは、送信元のデバイスでは、多重化ポイントとして機能し、送信先デバイスで
は、逆多重化ポイントとして機能するからである。 SDR102の操作例では、デバイス104が送信元デバイスで、デバイス1
06が送信先デバイスである。この操作例では、送信元デバイス104のAI1
10,112および114が送信先デバイス106に伝送した作業ユニットを作
成する送信元AIである。また、この操作例では、AI116、118、120
は、対応する送信元AI110,112、および114から伝送された作業ユニ
ットを消費する送信先AIである。さらに、この操作例では、送信元デバイス1
04のSDR資源102aは、送信元AI110,112,114が作成した作
業ユニットを通信サービス/構造108に設けられた一連の作業ユニットの流れ
に多重化する。一連の作業ユニットの流れは、SDR資源102bによって、送
信先デバイス106でAI116,118,120が消費する作業ユニットに逆
多重化される。さらに、この操作例では、SDR資源102bは作業ユニットの
配信を評価し、肯定応答(ACKs)と否定応答(NAKs)を生成し、検出し
たエラーに基づいて再同期化操作を行う。
【0025】 SDR102のようなSDRで実行した確実なデータグラムサービスは、1対
1、1対多数、または多数対1のAI関係を使って配布されたAI通信を提供す
る。さらに、AIは、デバイスのバックプレーン構造(たとえば、デバイス内の
ある形式の共有メモリ)を介して同じデバイス内で、あるいは中間通信構造を介
して接続した別々のデバイス間で操作可能である。従って、AI間の通信は、A
Iの物理的局所性とは関係がないということになる。
【0026】 作業ユニットは、送信元AIと送信先AIとの間のデータ伝送である。ある実
施形態では、作業ユニットは、その基礎となる通信サービス/構造によって不透
明なオブジェクトとして処理される。しかし、ある実施形態では、基礎となる通
信サービス/構造が基礎となる通信サービス/構造の機能およびミドルウェアA
IとAIの規定に基づいて作業ユニットに対して任意のフィルタリングサービス
を行う。
【0027】 確実なデータグラムサービスは、送信元AIと送信先AIとの間で作業ユニッ
トを確実に伝送するため、以下の機構を含む。SDRの強配列機構は、送信先A
Iが、対応する送信元AIが作業ユニットを送信したのと同じ順番で作業ユニッ
トを受け取るよう保証するものである。他の送信元AIから別のSDRを使って
同じ送信先AIに送られた作業ユニットは、交互に配置することができる。強配
列は、送信元AIと送信先AI資源が1対1の場合のみ保証される。
【0028】 送信元AIと送信先AIの間における作業ユニットの伝送を確実なものとする
ための第2の機構は、あるひとつの作業ユニットが送信先SDR資源に受信され
るのはたった一度だけとするものである。すなわち、エラー事象もしくは修復操
作の間に生成された可能性のある作業ユニットの複製コピーを検出し、送信先A
Iには配布しない。
【0029】 送信元AIと送信先AIの間における作業ユニットの伝送を確実なものとする
ための第3の機構は、承認機構である。送信元AIおよび/または通信サービス
/構造が、作業ユニットが首尾よく伝送された、もしくは受信されたことを示す
肯定応答(ACK)、あるいは修復不可能なエラーが作業ユニット内もしくはそ
の伝送中に検出されたことを示す否定応答(NAK)のいずれかによって作業ユ
ニット伝送完了の報告を受ける。ある実施形態では、送信元AIが、ハードウェ
アの不良を検出した場合に基礎となる通信サービス/構造によって生成された警
告などのような帯域外通信を介してエラーの通知を受ける。
【0030】 また、ある実施形態では、AIは、確実な接続サービスが従来使用しているも
のと同じ送信側ベースまたは受信側ベースの通信と、メモリ管理/保護技術を使
用する。さらに、AIは、通常は確実な接続を使って実施されることのない確実
なデータグラムを使った他の確実な操作と別の確実な技術を実施することができ
る。
【0031】 論理的な作業ユニット伝送サイズは、送信先AIによってエクスポートされた
(送り側ベースの通信)または提供された(受信側ベースの通信)メモリウィン
ドウのサイズによってのみ制限を受ける。受信側ベースのAIは、一つ、もしく
は複数のメモリバッファを伝送対象としてサポートすることができる。受信側通
信サービス/構造が、作業ユニットの属性またはAI入力に基づいて、所定の作
業ユニットを対象とするのに最適なメモリバッファを選択する。
【0032】 メモリは、ハムリン保護機構のような技術を使って保護されており、アクセス
がAIに許可される前に、正しいアクセス権(例えば、アクセス禁止、読み取り
アクセス、書き込みアクセス、読み取り/書き込みアクセス、メモリアドレス範
囲評価など)を確実に評価する。
【0033】 複数のSDRを有するデータ処理システムの一部を、参照番号200でまとめ
て図2に示す。
【0034】 データ処理システム200は、202で示すデバイスA、204で示すデバイ
スB、206で示すデバイスC、208で示すデバイスDを有する。デバイス2
02にSDR資源210aを、デバイス204にSDR資源210bを含むSD
R210は、デバイス202とデバイス204の間で確実なデータグラムサービ
スを実施する。デバイス202にSDR資源212aを、また、デバイス206
にSDR資源212bを含むSDR212は、デバイス202と206の間で確
実なデータグラムサービスを実施する。デバイス204にSDR資源214aを
、また、デバイス208にSDR資源214bを含むSDR214は、デバイス
204と208の間で確実なデータグラムサービスを実施する。デバイス206
にSDR資源216aを、また、デバイス208にSDR資源216bを含むS
DR216は、デバイス206とデバイス208との間で確実なデータグラムサ
ービスを実施する。SDR210、212、214、216それぞれの送信元側
と送信先側は、通信サービス/構造218を介して通信する。デバイス202、
204、206および208はそれぞれ通信の方向によって送信元にも送信先に
もなりうる。
【0035】 デバイス202は、SDR資源210aとSDR資源212aとに接続したA
I220と、SDR資源212aに接続したAI222を有する。また、デバイ
ス204は、SDR資源210bに接続したAI224と、SDR資源210b
およびSDR資源214aに接続したAI226とを有する。デバイス206は
、SDR資源212bに接続したAI228と、SDR資源216aに接続した
AI230とを有する。さらにデバイス208は、SDR資源214bに接続し
たAI232と、SDR資源214bとSDR資源216bとに接続したAI2
34とを有する。
【0036】 したがって、それぞれの<送信元、送信先>デバイスの組に対し、一つ以上の
SDRが確立することになる(例えば、SDR210は、デバイス202とデバ
イス204との組に対して確立する)。それぞれのデバイスのAIは、付随のS
DRを介して接続された他のデバイスのどのAIとでも通信可能である。一つ以
上のSDRを、交通分離と多重位相をサポートできる所定の物理的構造のデバイ
スに関連付けることができる。
【0037】
【確実な通信プロトコルの例】
上記の強配列機構、所定の作業ユニットが送信先SDR資源によってたった一
度だけ受信されるようにするための機構、そして承認機構は、共に送信元AIと
送信先AIとの間の作業ユニットを確実に伝送できるようにするものであり、次
に示すような確実な通信プロトコルの例によって実施することができる。
【0038】 確実な通信プロトコルの例として、送信元AIとそれに対応する送信先AIと
の間で伝送される作業ユニットすべてを順番に並べ、作業ユニットの流れを作成
する作業があげられる。作業ユニットをユニットの流れに順番に並べる作業は次
のようにして行われる。ある実施形態では、それぞれの作業ユニットは、伝送用
プロトコルヘッダ内に封じ込められている不透明なオブジェクトとして処理され
る。プロトコルヘッダには、送信先AIを送信対象とするため、基礎となる通信
サービス/構造が使用するフィールドが含まれている。
【0039】 プロトコルヘッダのある実施形態の例を、参照番号300でまとめて図3に示
す。プロトコルヘッダ300には、送信先AIを送信対象とするため、基礎とな
る通信サービス/構造が使用するフィールド302が含まれている。SDR識別
名フィールド304は、作業ユニットを送受信するために使用するSDRを独自
で識別する。強配列を必要とするすべての通信は、同じSDRを通らなければな
らない。強配列は、同じデバイス内のSDR間では保証されない。
【0040】 SDR連続番号(sequence number)フィールド306は、送信元SDR資源か
ら伝送された作業ユニットの流れの中で確定した順番を表す独自の論理タイムス
タンプを提供し、送信先SDR資源が使用して作業ユニットが順番どおり到着し
ているかどうかを評価するとともに、欠けている作業ユニットがないかどうかを
検出する。所定の作業ユニットの流れの中の連続的なプロトコルヘッダは、その
それぞれのSDR連続番号フィールドに単調増加する数値を含んでおり、それら
は、SDRごとに割り当てられている。
【0041】 SDR連続番号フィールド306の数値が送信先SDR資源に保存された、予
想された順番の数値と適合した場合には、送信先SDR資源は他のプロトコルヘ
ッダ300フィールドを評価する。送信先SDR資源は、現行の作業ユニットが
送信先デバイスの見込みから有効であると判断された場合にはACKを出す。送
信先SDR資源は、現行の作業ユニットが、送信先デバイスの見込みから無効で
あると判断された場合にはNAKを出す。
【0042】 SDR連続番号フィールド306の値が、送信先SDR資源に保存された、予
想される次の連続番号の数値より小さい場合は、作業ユニットは、二重の作業ユ
ニットであり、その作業ユニットは送信先SDR資源によってドロップされたこ
とを意味する。ある実施形態では、送信先SDR資源は、二重作業ユニットを静
かにドロップする。ある実施形態では、同じSDR連続番号を有する、最初に受
信された作業ユニットに対応する前のACKがドロップされた場合には、送信先
SDR資源は、二重作業ユニットをドロップし、送信元のSDR資源が再び二重
作業ユニットを伝送しないように最後の作業ユニットが受信されたことを送信元
SDR資源に示すACKを出す。
【0043】 SDR連続番号フィールド306の数値が送信先SDR資源に保存された予想
される次の数値より大きい場合は、現行の作業ユニットが確定した順番より前に
受信され、よって、その間の作業ユニットが欠けているということを意味する。
中間作業ユニットが欠けているという指摘に対応する第1の選択肢としては、送
信先SDR資源に対し、現行の作業ユニットを静かにドロップし、発信元SDR
資源が例えばタイマー時間切れにおいて欠けている作業ユニットを再送するのを
待つ方法がある。
【0044】 中間作業ユニットが欠けているという指摘に対応する第2の選択肢は、送信先
SDR資源に対して、NAKのプロトコルヘッダのSDR連続番号フィールドに
次に来ると予想される連続番号の数値を含み、送信元SDR資源に対して中間の
作業ユニットが欠けていることを示すNAKを出すことである。第2の選択肢を
実施するある実施形態では、作業ユニットがドロップされ、NAKが送信元SD
R資源に欠けている中間作業ユニットの連続番号を示す。送信元SDR資源は、
NAKに応答し、欠けている中間作業ユニットに対応するSDR連続番号の数値
と等しいあるいはそれより大きいSDR連続番号の数値が割り振られたすべての
作業ユニットを伝送しなおす。
【0045】 中間作業ユニットが欠けているという指摘に対応する第2の選択肢を実施する
もう一つの実施形態では、送信先SDR資源が他のプロトコルヘッダフィールド
を検証する。他の検証チェックすべてに合格したら、送信先SDR資源は、一時
的に現行の作業ユニットを保存し、一方、ミドルウェアAIは、欠けている中間
作業ユニットを修復するための再同期化操作を行う。
【0046】 ここで、再同期化とは、所定の<送信元AI、送信先AI>の組に付随するS
DRを同期化するために用いられる工程のことを意味する。言い換えれば、再同
期化は、SDRの内容を並べてどの作業ユニットが伝送用に提供され、どの作業
ユニットが確実に完了したか、そしてどの作業ユニットを伝送し直す必要がある
のかを判断する。再同期化工程は、まず、所定のSDRに付随するSDR連続番
号の数値によって制御され、不完全な作業ユニットを再送および/またはクリー
ンナップする。処理系依存ベースで再同期化が厳密に行われている間、再同期化
工程も、SDR連続番号や応答番号などのようなSDR状態と制御値を含むバリ
ア制御メッセージを用いることができる。ここで、バリア制御メッセージは、送
信元および送信先デバイスの間で伝送される。
【0047】 所定の<送信元AI,送信先AI>の組に対するエラー修復には、送信元AI
に付随する資源と送信先AIに付随する資源との間の再同期化事象の実行も含ま
れる。送信元AIと送信先AIは、完了していない(すなわち、送信元AIが作
業ユニット伝送を完了するためのACKもNAKも受け取っていない)すべての
操作を修復するための十分な状態情報を有している。資源と作業ユニットの状態
情報は、資源と送信先デバイスの中のいかなる位置においても保持することがで
きる。
【0048】 図3に示すプロトコルヘッダの例300では、送信元AIと送信先AI識別名
フィールド308も含む。送信元AIと送信先識別名フィールド308は、完了
事象を実行したり、送信元AIを送信先AIと識別してその後特定用途向けに置
換したりする際などに使用する。
【0049】 AIが送り側ベースの通信を採用する場合には、プロトコルヘッダの例300
は、追加の保護フィールド310を含む。また保護フィールドの例310は、ハ
ムリン型保護キー、メモリバッファアドレスおよびオフセットなどが含まれる。
保護フィールド310は、メモリアクセスが許可される前に送信先SDR資源が
確認する。
【0050】 確実な通信プロトコルの例によると、それぞれの作業ユニットは、ACK、N
AK、または通信サービス/構造エラー通知のいずれかを使って承認されなけれ
ばならない。承認は、作業ユニットが送信先SDR資源に到達し、それに応答し
てある形式の動作が実行されているかどうかを示すために使用する。
【0051】 ある実施形態では、承認(例えばACK、NAKおよび通信サービス/構造エ
ラー通知)は、別々でしっかりと定義された独立型の作業ユニットの置換えとし
て実施される。ある実施形態では、承認は、プロトコルヘッダの中の作業ユニッ
ト内に封入されている。また、ある実施形態では、承認は、別々に、または反対
方向に伝送される別の作業ユニットに付随して伝送されるプロトコルヘッダの中
のコンポーネントとして形成される。
【0052】 ある実施形態では、ACKは、作業ユニット毎をベースに発信される。この実
施形態では、送信先SDR資源によって首尾よく受信され、処理された作業ユニ
ットに対してそれぞれ別々のACKが伝送される。もう一つの実施形態では、A
CKは、累積型である。累積型ACKの実施形態では、所定の作業ユニットの組
に対し、一つのACKが、現行のSDR連続番号を割り振られた作業ユニットま
での作業ユニットの組の中のすべての作業ユニットを送信先SDR資源が首尾よ
く受信し処理したことを示すSDR連続番号を埋め込んだ状態で伝送される。A
Iは、基礎となる通信サービス/構造の機能によって任意の時間に通信中の複数
の作業ユニットを保持することができる。所定のAIが任意の時間に有すること
ができる通信中の作業ユニットの数は、確実なデータグラムサービスの可能な適
用範囲によって制限されるものではなく、SDRの特定の実施詳細事項と基礎と
なる通信サービス/構造機能によって制限されうるものである。
【0053】 ある実施形態では、NAKがそれぞれの作業ユニットに対して送信先SDR資
源で間違って受信された作業ユニット毎に生成される。ある作業ユニットが送信
先SDR資源で誤って受け取られる理由の例として、巡回冗長検査(CRC)エ
ラー、保護違反、資源不足、認識できない送信先AIなどがある。誤って受信さ
れた作業ユニットそれぞれに対し、NAKが送信先SDR資源から伝送されると
ともに、NAKには、送信元AIまたは基礎となる通信サービス/構造がNAK
に呼応して行う修復作業を判断できるよう、適当な情報が含まれる。NAKが再
同期化事象を要求しない場合は、NAKは、作業ユニットが同じ送信先SDR資
源を流れるその後の作業ユニットを、エラーが起きていないかのように処理でき
るようにするための承認として機能する。
【0054】 承認(例えばACK、NAK、および通信サービス/構造エラー通知)は、<
送信元、送信先>デバイスの組の二つのデバイスを連結するSDRの送信元側と
送信先側の間の同期化事象として動作し、送信元デバイスから送信されたあらゆ
る作業ユニットを、関連するAIに関係なく送信先デバイスに確実に配布される
ようにする。ある実施形態では、承認がAIレベルの承認としても作用し、送信
元AIに対し、送信元AIから伝送された作業ユニットが対応する送信先AIに
確実に配布されるということを保証する。この実施形態では作業ユニットの回収
は、ACKに基づいて自動的に処理される。
【0055】 よって、送信先デバイスに配布された作業ユニットと、送信先デバイスの送信
先AIに配布された作業ユニットとの間には区別がある。配布先および承認の意
味論は、どの応答動作を送信元AIが実施するべきかについて判断する。例えば
、ある作業ユニットが送信先デバイスに配布されたが、送信先AIでない場合、
送信元AIは、作業ユニットが実際に送信先AIで消費されたかどうかを予測で
きず、よって、送信元AIは次に続く動作を行うべきかどうかに付いて注意しな
ければならない。
【0056】 解かりやすい例を挙げると、送信元AIがディスクブロックを第1のデバイス
から第2のデバイスの第1の送信先AIに移動し、ディスクブロックの所有権を
第3のデバイスの第2の送信先AIに移管した場合、送信元AIは、ディスクブ
ロックが実際に第1の送信先AIによって受信され、送信元AIがその所有権を
第2の送信先AIに移管する前に第1の送信先AIの作用を受けたことを確認す
る必要がある。ディスクブロックが実際に第1の送信先AIによって受信されな
かったか、またはその所有権を第2の送信先AIに移管する前に第1の送信先A
Iの作用を受けなかった場合、その後第1の送信先AI内で起こった不良により
、第2の送信先AIディスクブロックのオーナーが古いデータを読むことになる
【0057】
【伝送操作の例】
データ処理装置200における、202で示す送信元デバイスAと206で示
す送信先デバイスCの間の伝送操作の例を図式によって図4に示す。図4に示す
ように、送信元デバイス202のSDR資源212aは、伝送されたが承認され
ていない作業ユニットを保持するキュー240と、まだ伝送されていない作業ユ
ニットを保持するキュー242を有する。図4に示した時点では、キュー240
にはUW1;UW2;UW3;UW4;UW5の作業ユニットが入っている。キ
ュー240内に保持されている作業ユニットは送信元デバイス202のSDR資
源212aによって処理され、伝送されている。図4に示した時点では、キュー
242には、UW6;UW7;UW8;UW9の作業ユニットが入っている。S
DR資源212aは、図4に示した時点では6であり、予想される次の連続番号
の数値244も保存する。SDR資源212aは、ACK値246を保存してお
り、これは図4に示す時点では0である。
【0058】 図4に示すように、206で示す送信先デバイスCには受信した作業ユニット
を保持するキュー248が含まれる。図4に示した時点でキュー248に保持さ
れている受信した作業ユニットには、UW1;UW2;UW3が含まれる。それ
ぞれ252,254で示すように、作業ユニットUW4およびUW5は、SDR
資源212aから伝送されており、図4に示す時点では通信サービス/構造21
8上にある。図4に示す時点では、SDR資源212bは、4である予想される
次の連続番号の数値258と、3であるACK値260を含む。SDR資源21
2bは、受信した作業ユニットUW1に対し262で示す独立したACKを伝送
し、受信した作業ユニットUW2およびUW3に対し264で示す累積型ACK
を伝送した。ここでも、ACKを独立型ACKとして伝送するか、累積型ACK
として伝送するかの決定は処理系に依存する。またある実施形態では、送信先デ
バイス206から送信元デバイス202に流れる作業ユニット上の付加ACKを
使ってACKを送信元デバイス202に戻すことができる。作業ユニットが伝送
されると、送信元デバイス202と送信先デバイス206は、どの作業ユニット
がデバイス202に対するACK値246とデバイス206に対するACK値2
60を介して承認されているかを追跡する。作業ユニットが伝送されると、SD
R212aと212bを介したデバイス202と206は、デバイス202に対
して予想される次の連続番号の数値244とデバイス206に対して予想される
次の連続番号の数値258を介して予想される次の連続番号の数値も追跡し、そ
の確実性を維持する。
【0059】 データ処理システム200において、202で示す送信元デバイスAと206
で示す送信先デバイスCの間のもう一つの伝送操作の例を図5に図式で示す。図
5に示す伝送操作において、デバイス202のSDR資源212aの状態は図4
の伝送操作におけるSDR資源212aの状態と実質的に類似している。よって
、図5に示す時点では、デバイス202のキュー240にはUW1;UW2;U
W3;UW4;UW5が入っている。また、キュー242には、UW6;UW7
;UW8;UW9が入っている。予想される次の連続番号の数値244は6であ
り、ACK値246は0である。さらに、図5に示した時点では、デバイス20
6はUW1,UW2,およびUW3をキュー248の中に受信している。やはり
図4に示す伝送操作と同様に、SDR資源212bには、予想される次の連続番
号の数値258、すなわち4と、ACK値260、すなわち3を含む。さらに、
UW4とUW5はそれぞれ252,254で示すように通信サービス/構造21
8上にある。
【0060】 しかし、図5の伝送操作では、266で示すように、デバイス206のSDR
資源212bがUW1とUW2に対して累積型ACKを発信する。さらに、26
8で示すように、デバイス206のSDR資源212bはUW3に対してNAK
を発信する。ある実施形態では、268で示すUW3へのNAKにも再同期化プ
ロセスを容易にするために検出したエラーのタイプを示すエラーコードが含まれ
ている。例えば、CRCエラーが検出されると、UW3は、送信元AIと関係な
く透過的に伝送することができる。しかし、もし検出したエラーが、送信先AI
が操作不可能であると、送信元AIにUW3と送信先AIを目標としたその他の
作業ユニットが失敗に終わったことを報告する必要がある。送信元AIが、UW
3と送信先AIを目標とした他の作業ユニットが失敗に終わったという報告を受
けると、送信元AIは、使用する必要な修復技術を判定する。送信先AI操作不
能エラーの場合、デバイス202と206がそれぞれ246と260で示したA
CK値と、それぞれ244と258で示す予想される次の連続番号の数値を増分
する。なぜなら、作業ユニットが異なる送信先AIを目標としていると仮定する
と、再同期化操作が要求されず、その後に続く通信中の、または送信される作業
ユニットを、エラーが起きなかったかのように処理することができるからである
【0061】 データ処理システム200において、202で示した送信元デバイスAと20
6で示した送信先デバイスCとの間の伝送信操作のもう一つの例を図6に図式で
示す。図6の伝送操作の例は、確実なデータグラムサービスが、作業ユニットが
同じSDR(例えばSDR212)を流れるときに送信先デバイス206で受け
取った作業ユニットを確実に強配列する。
【0062】 図6の伝送操作では、デバイス202のSDR資源212aの状態が、図4と
5の伝送操作におけるSDR資源212aの状態と実質的に類似している。よっ
て、図6に示した時点では、デバイス202のキュー240にはUW1;UW2
;UW3;UW4;UW5が入っている。また、キュー242には、UW6;U
W7;UW8;UW9が入っている。予想される次の連続番号の数値244は6
であり、ACK値246は0である。
【0063】 しかし、図6の伝送操作の例では、送信先デバイス206のSDR資源212
bの予想される次の連続番号の数値258は、3であり、これは、SDR資源2
12bが送信元デバイス202のSDR資源212aからの一連の作業ユニット
の流れのうち、次の作業ユニットとしてUW3を要求していることを示す。しか
し、デバイス206のキュー248はUW1,UW2,およびUW4を受け取っ
ている。さらに、270で示すように、UW3は、まだ、送信元デバイス202
のSDR資源212aから一連の作業ユニットの流れの中の、すでに受信したU
W4の後ろかつ254で示すUW5のすぐ前の通信サービス/構造218上にあ
る。図6の伝達操作では、強配列違反をより明確に示すため、作業ユニットの流
れの中で確定した順番から一つの作業ユニット分だけずれたところを示している
が、典型的には、強配列違反は、作業ユニットが作業ユニットの流れから完全に
欠けているときに起きる。SDR資源212bは、266で示すようにUW1と
UW2に対して累積型ACKを出している。SDR資源212bはまた、272
で示すようにUW3にNAKを出しており、これは連続番号違反である(すなわ
ち強配列プロトコル違反)ことを示す。この例では、UW4のプロトコルヘッダ
のSDR連続番号が4であり、これは、3である予想される次の連続番号の数値
258より大きい。この伝送操作の例におけるこの強配列プロトコル違反は、U
W3が欠けていることを示す。よって、SDR212aと212bは272で示
すUW3のNAKの結果、再同期化されることになる。
【0064】
【エラー検出および処理】
エラー検出と確実なデータグラムサービスによる処理は、一般的に採用してい
る通信サービス/構造と通信のタイプ(例えば、送信側ベース、受信側ベースの
通信など)の関数である。採用している基礎となる通信サービス/構造と通信の
型は、それぞれ所定のデータ処理システムが確実なデータグラムサービスを採用
して通信しているかどうかに関わりなく、データ検索サービスを提供します。よ
って、以下に、確実なデータグラムサービスの操作に直接影響を与えるエラーの
タイプの検出と処理の説明に限って説明する。
【0065】 確実なデータグラムのサービス操作に直接影響を与える第1のエラーのタイプ
はプロトコル違反である。第1のタイプのプロトコル違反は保護に関する違反で
ある。保護違反の例には:無効の保護キーを含むプロトコルヘッダの作業ユニッ
ト;無効なアクセス権の要求(例えばこの要求はメモリウィンドウに書き込まな
ければならないが、送信先AIがメモリウィンドウを読み取り専用として指定し
ているなど);メモリアドレスと境界チェック違反;などを含む。保護エラーが
検出され、保護エラーを表すNAKが生成され、送信元AIが適当な修正動作を
行えるようにする。保護エラーに呼応して出されるNAKはSDR承認として作
用し、初期化するべき再同期事象を要求しない。
【0066】 第2のタイプのプロトコル違反エラーは、連続番号エラーである。連続番号エ
ラーは、プロトコルヘッダのSDR連続番号フィールドが送信先SDR資源の予
想された連続番号より大きいまたは小さい場合に起こる。送信先SDR資源に保
存された、予想される次の連続番号の数値より小さいSDR連続番号フィールド
の値は、作業ユニットが二重の作業ユニットであることを示す。送信先SDR資
源に保存された予想されたSDR連続番号値より大きいSDR連続番号フィール
ドの値は、現行の作業ユニットを確定した順番の前に受信し、よって予想される
次の連続番号の数値に対応する中間の作業ユニットが欠けているということを示
す。
【0067】 ある実施では、連続番号のチェックは、実際には、有効な連続番号ウィンドウ
のチェックである。この実施では、連続番号は固定した範囲(例えば、32ビッ
トの範囲では、40億個の値がある)を使って実施される。この範囲内では、有
効なウィンドウを使って作業ユニットが有効か、もしくは無効かを決定する。こ
れは、最終的な連続番号のロールオーバを表すスライディングウィンドウである
。ある実施形態では、連続番号のチェックは、全体の範囲の半分(例えば、32
ビットの連続番号を使っている場合は20億)を表すものとして実施される。作
業ユニットがこの範囲内にあり、予想されるものよりも小さい場合には、二重の
作業ユニットということである。また、その値より大きい場合は、それがウィン
ドウ外にあるか、あるいは構造内で中間作業ユニットが喪失しているかのどちら
かである。これにより、ドロップされた作業ユニットは、静かに受け入れられる
が、完了することはなく、あるいは、作業ユニットがドロップされたことを表す
NAKが生成される。従って、この実施においては、連続番号の妥当性は、ウィ
ンドウ妥当性チェックであり、ウィンドウはスライディングウィンドウである。
【0068】 SDRは、連続番号エラーの結果として再同期化される。ある実施形態では、
作業ユニットが二重であると判断されると、作業ユニットは送信先SDR資源に
よって静かにドロップされる。ある実施形態では、送信先SDR資源は、二重の
作業ユニットをドロップし、最後の作業ユニットを受信した旨を送信元SDR資
源に示すACKを出し、同じSDR連続番号を有する初めに受信した作業ユニッ
トに対応する前のACKがドロップされた場合に二重の作業ユニットを再度伝送
しないように防ぐ。
【0069】 現行の作業ユニットがその確定した順番より前に受信されると、すなわち、S
DR連続番号フィールドの値が予想されるSDR連続番号より大きいために中間
作業ユニットが欠けていると、送信先SDR資源はいくつかの操作のうちの一つ
を行うことができる。ある一つの実施形態では、送信先SDR資源が作業ユニッ
トを静かにドロップし、例えば送信元SDR資源がタイマ時間切れになった上で
欠けている作業ユニットを再送するのを待つ。ある実施形態では、作業ユニット
が確定した順番より前に受信され、任意で作業ユニットをドロップするか、ある
いは作業ユニットを一時的に受信したが、承認されていないキューの中に保存す
るという旨の表示に呼応して、送信先SDR資源がNAKを生成する。送信先S
DRが生成したNAKは、連続番号エラーと、予想される次の連続番号の数値を
送信元SDR資源に報告する。ある実施形態では、送信元SDR資源は、作業ユ
ニットが確定した順番より前に受信されたことを示すNAKに呼応して選択的に
承認されていない作業ユニットを再送する。また、ある実施形態では、送信元S
DR資源が、作業ユニットが確定した順番より前に受信されてことを示すNAK
に呼応して承認されていない作業ユニットすべてを再送する。
【0070】 確実なデータグラムサービス操作に直接影響するもう一つのエラーのタイプは
、破損した作業ユニットの受信である。このタイプのエラーでは、作業ユニット
または添付のプロトコルヘッダがCRC違反などにより破損している。状態によ
っては、送信先デバイスは、破損作業ユニットエラーを受け取ると、作業ユニッ
トのどの部分も信用することができない。このような状態では、送信先デバイス
は、その作業ユニットをドロップし、作業ユニットが破損していることを示すN
AKを生成する。次に予想される連続番号はNAKに含まれているので、送信元
装置がどの作業ユニットが喪失している可能性があるかを判断し、承認されてい
ない作業ユニットを伝送することができる。破損作業ユニットエラーを受け取る
と、SDRは、再同期化される。
【0071】 確実なデータグラムサービス操作に直接影響するもう一つのエラーのタイプは
、送信元AIまたは送信先AI異常終了エラーである。どこで送信元AIまたは
送信先AI異常終了エラーが起きようと、通信中の作業ユニットをフラッシュす
るか完了しすべての資源を修復できるようにしなければならない。ある実施形態
では、送信元AIが異常終了した場合、送信元デバイスが承認されていない作業
ユニットを無効にし、小型制御構造体を使ってすべての通信中の作業ユニットを
明白にし、作業ユニットがもはや有効でなくても完了できるようにし、通信を中
断する。送信元AIと送信先AI異常終了エラーは、再同期化事象を要求せず、
フラッシュ操作は、<送信元、送信先>デバイスの組の両側のすべての作業ユニ
ットが確実に承認され、すべての資源が修復されるようにするための一連の承認
として処理される。
【0072】 確実なデータグラムサービス操作に直接影響を与えるもう一つのタイプのエラ
ーは、無効送信先AIエラーである。無効送信先AIエラーは、送信元AIが作
業ユニットを今まで有効であったことがない、あるいはもはや有効でない送信先
AIに作業ユニットを送信する。送信先デバイスは、無効な送信先AIを目標と
するそれぞれの作業ユニットに対し、無効なDAIエラーを表すNAKを生成す
る。送信元デバイスは、その作業ユニットを正常であるとして完了し、無効送信
先AIエラーでは再同期化事象は要求されない。
【0073】
【サービス品質】
実施形態の1つでは、サービス品質(QoS)は、1組の複製SDR間におけ
る送信元AIのトラフィックを隔離することにより、高信頼性データグラム・サ
ービスで実現される。QoSは、サービス・ポリシーによる資源及びAIのスケ
ジューリングに関連している。QoSは、また、サービス・ポリシーを用いて、
所定のAI単位の作業ストリームのスループット及び応答時間の実現にも関連し
ている。
【0074】 <送信元、宛先>組間に結合された各SDRは、送信元装置、宛先装置、及び
、基礎をなす通信サービス/ファブリックによって独立したスケジューリングを
施すことが可能である。このタイプの独立したスケジューリングによって、アプ
リケーション独立QoSポリシーのミドルウェアAIによる実施が可能になる。
実施形態の1つでは、各SDRには、固有のQoSが割り当てられる。実施形態
の1つでは、SDRは、QoSレベルにグループ化され、各QoSレベル毎に固
有のQoSが割り当てられる。
【0075】 SDRを複製することによって、下記の汎用アプリケーションの利点が得られ
る。第1に、通信資源の競合を複数SDR間に拡散することができるので、AI
通信資源の競合が減少する。第2に、ある特定のAIの挙動によって影響を受け
るAI数が減少する。図解例のように、後続作業伝送単位について応答し、完了
することが可能になる前に、所定の作業伝送単位を完了しなければならないので
、強固な順序付けが保持される。従って、2つの送信元AIが同じSDRを共用
している場合、送信元AIが要求を出す順序は、SDRによって維持される。
【0076】 SDRを複製する第3の利点は、エラーの発生時に、影響のあったSDRを用
いているAIだけしか影響を受けずに済むということである。従って、他の全て
のAIは、エラー・タイプに従って、動作を続行することが可能である。CRC
エラーのような一時誤りは回復可能である。AI間の物理的リンクが故障したた
めに生じるエラーのようなハード・エラーは、AI間に代替経路による物理的リ
ンクが存在し、故障した物理的リンクを代替経路による物理的リンクにうまく置
き換えるのに十分な状態情報が得られる場合には、回復可能である。
【0077】 図7には、装置対間に複数SDRが設定されたデータ処理システムの一部が、
全体として400で示されている。データ処理システム400には、データ処理
システムにおけるミドルウェアAIによって、402で表示の装置Aと404で
表示の装置Bとの間に複数SDRが設定されるので、アプリケーションの性能及
びスケーラビリティが改良された高信頼性データグラム・サービスが含まれてい
る。装置402に関するミドルウェアAIの例が、406で示されている。装置
404に関するミドルウェアAIの例が、408で示されている。
【0078】 装置402におけるSDR資源410a及び装置404におけるSDR資源4
10bを含むSDR410によって、装置402と装置404の間における高信
頼性のデータグラム・サービスが実現される。装置402におけるSDR資源4
12a及び装置404におけるSDR資源412bを含むSDR412によって
、装置402と装置404の間における高信頼性のデータグラム・サービスが実
現される。装置402におけるSDR資源414a及び装置404におけるSD
R資源414bを含むSDR414によって、装置402と装置404の間にお
ける高信頼性のデータグラム・サービスが実現される。装置402におけるSD
R資源416a及び装置404におけるSDR資源416bを含むSDR416
によって、装置402と装置404の間における高信頼性のデータグラム・サー
ビスが実現される。SDR410、412、414、及び、416のそれぞれの
送信元端と宛先端は、通信サービス/ファブリック418を介して通じている。
装置402及び装置404は、通信方向に応じて、それぞれ、送信元または宛先
とすることが可能である。
【0079】 従って、402で表示の装置A及び404で表示の装置Bは、4つの設定され
たSDR410、412、414、及び、416によって提供される高信頼性の
データグラム・サービスを介して、互いに通信を行う。図7に示された構成例は
、ただ例示を目的としただけのものであり、任意の数の装置間において同様の構
成を設定することが可能である。図7に例示のように、1組のAIが、各SDR
に結合されており、任意のAIが別のAIに及ぼす影響が、一般に、それらのA
Iが同じSDRを共用している場合にしか生じないように制限している。
【0080】 図7に示された実施形態例の場合、装置402には、SDR資源410aに結
合されたAI420と、SDR資源412a及びSDR資源414aに結合され
たAI422と、それぞれ、SDR資源414aに結合されたAI424、42
6、428、及び、430と、それぞれ、SDR資源416aに結合されたAI
432、434、436、及び、438が含まれている。装置404には、SD
R資源410bに結合されたAI440と、SDR資源412b及びSDR資源
414bに結合されたAI442と、それぞれ、SDR資源414bに結合され
たAI444、446、448、及び、450と、それぞれ、SDR資源416
bに結合されたAI452、454、456、及び、458が含まれている。
【0081】 SDR資源410a、412a、414a、及び、416aは、装置402に
おけるSDRスケジュール・ヒューリスティクス460に保全されたスケジュー
リング・ヒューリスティクスに基づいてサービスを受ける。同様に、SDR資源
410b、412b、414b、及び、416bは、装置404におけるSDR
スケジュール・ヒューリスティクス462に保全されたスケジューリング・ヒュ
ーリスティクスに基づいてサービスを受ける。こうして、SDRスケジュール・
ヒューリスティクスを用いて、スケジューリング・レートを調整することによっ
て、SDRに結び付けられたAIにさまざまなQoSが生じることになる。
【0082】 図7の例示の実施形態の場合、AI420及びAI440は、SDR410専
用に割り当てられたものである。AI420及び440のような2つのAIが、
1つのSDRだけに割り当てられる場合には、装置402のミドルウェアAI4
06及び装置404のミドルウェアAI408のような、装置に対して局所的な
ミドルウェアAI;基礎をなす通信サービス/ファブリック418を介してアク
セスされるミドルウェアAI409のような、遠隔地において実行し、中央マネ
ージャの働きをするミドルウェアAI;及び/または、装置402のSDRスケ
ジュール・ヒューリスティクス460及び装置404のSDRスケジュール・ヒ
ューリスティクス462に記憶されているような、アプリケーション・ポリシー
・ヒューリスティクスによって決定される。通常、こうした決定は、アプリケー
ションまたは装置のサービス・レベル目標に基づいて行われる。
【0083】 AI422及びAI442のようなある特定のAIは、通信を行う複数の高信
頼性データグラム・エンドポイントを設定する場合、複数のSDRに結びつける
ことが可能である。こうした場合、各エンド・ポイントは、装置402における
SDRスケジュール・ヒューリスティクス460及び装置404におけるSDR
スケジュール・ヒューリスティクス462に記憶されているような、SDRスケ
ジューリング・ヒューリスティクスに基づいて、サービスを受ける。
【0084】 複数のAIが動作可能なデータ処理システム400における任意の2つの装置
間に複数のSDRを設定すると、下記の利点が得られる。各SDRが、他のSD
Rから相互にほぼ独立しているので、一般に、あるSDRに結び付けられたAI
の挙動によって、別のSDRに結び付けられたAIの挙動が影響を受けることは
ない。例えば、大きい作業単位を処理するAIは、小さい作業単位を処理するA
Iの性能に影響を及ぼすことがないように、異なるSDRに結びつけることが可
能である。
【0085】 データ処理システム400における2つの装置間に複数のSDRを設定するも
う1つの利点は、一般に、あるSDRに生じるエラーによって、別のSDRに結
び付けられたAIの挙動が影響を受けることはないということである。さらに、
任意の2つの装置間のSDR数、及び、検出されるエラー・タイプ(例えば、一
時、プロトコル、通信サービス故障等)に従って、エラー回復を短縮または単純
化することが可能になる。
【0086】 データ処理システム400における2つの装置間に複数のSDRを設定するも
う1つの利点は、装置402のミドルウェアAI406のようなミドルウェアA
Iによって、装置402のSDRスケジュール・ヒューリスティクス460のよ
うなSDRスケジューリング・ヒューリスティクスに修正を加え、ある特定のA
Iが受けるサービス・レートを他のAIに対して透過的に調整することができる
という点である。例えば、主として優先順位の高い作業単位の処理を行うAIは
、優先順位の低い作業単位の処理を行うSDRより先になるようにスケジューリ
ングが施された、SDRに結びつけることが可能である。このSDRスケジュー
リング・ヒューリスティクスの修正によって、ミドルウェアAIは、ある特定の
AIに関連したサービス・レベル目標に基づいて、QoSポリシーを生成するこ
とが可能になる。
【0087】 データ処理システム400における2つの装置間に複数のSDRを設定するも
う1つの利点は、特定の優先順位群内において、複数AIを複数SDR間で隔離
し、優先順位群内のSDRが、ラウンド・ロビンまたは重み付きラウンド・ロビ
ンといった単純なスケジューリング・ポリシーを用いてサービスを受けるように
することができるという点である。単純なスケジューリング・ポリシーを用いて
優先順位群にサービスを施す目的は、SDRが複数AI間で共用されている場合
に、ある特定のSDRにおいて潜在的可能性のある競合を減少させて、ある特定
のAIの挙動によって影響を受けるAI数をさらに制限することにある。これら
の単純なスケジューリング・ポリシーを用いて優先順位群にサービスを施すこと
によって、AIのスケーラビリティ及びアプリケーションの全般的性能が改善さ
れる。しかし、QoSのために、任意のタイプのスケジューリング・ポリシーを
生成することも可能である。
【0088】 高信頼性データグラム・サービスの場合、ストライピングは、ある送信元AI
からある宛先AIに、複数SDRを介して作業単位を伝送する技法を表している
。送信元AIから宛先AIへの作業単位の伝送時に、強固な順序付けが必要とさ
れる場合、送信元AIは、1つのSDRによる作業単位の伝送を必要とする。し
かし、送信元AIから宛先AIへの作業単位の伝送時に、弱い順序付けが可能で
あれば、送信元AIは、ある優先順位方式で、複数SDRによって作業単位を伝
送することが可能になる(すなわち、送信元AIがストライピングを用いること
が可能になる)が、強固な順序付けは維持されない可能性がある。例えば、大部
分のマルチメディア・アプリケーションは、ストライピングによって伝送するこ
とができるので、受信端における解像度は時間の経過につれて向上するが、到着
するピクセルの順序付けは強固ではない。
【0089】 ある特定の装置対に関する複数SDRの設定については、高信頼性のデータグ
ラム・サービスにおいて、その特定の装置対間に設定可能なSDR数が制限され
ることはない。しかし、ある特定の装置対間に設定されるSDR数を制限する、
実際上の設計考慮事項が存在する。例えば、各追加SDR毎に、対応する追加物
理的資源が含まれる。さらに、追加資源は、特定の装置間における複数のSDR
による作業単位のトラフィックにスケジューリングを施す必要があり、スケジュ
ーリングは、SDR数が増すにつれて複雑になる。さらに、複数SDRに割り当
てられた優先順位レベル数は、実際の設計数に保つのが望ましい。従って、ある
特定の装置対と複数SDRに割り当てられることになる優先順位レベルの間に設
定するSDR数は、開発設計の考慮事項による制限だけしか受けないことになる
【0090】
【高信頼性データグラム・サービスの利点】
高信頼性の接続サービスを用いるAIは、宛先AI毎に1つの専用資源セット
を生成しなければならない。これとは対照的に、上述の高信頼性データグラム・
サービスを用いるAIは、複数の宛先AIについて同じ資源セットを再利用する
ことが可能である。従って、高信頼性データグラム・サービスによれば、生成し
、管理する資源セット数が減少するので、それに応じて、AIの実施コスト及び
設計の複雑さが低減することになる。こうして、高信頼性データグラム・サービ
スによれば、極めてスケーラブルなデータ処理システムが得られる。
【0091】 高信頼性データグラム・サービスによれば、極めてスケーラブルなデータ処理
システムが得られるのに、AI間で伝送される作業単位の順序付けが保証される
ことを含めて、AI間における高信頼性の通信が可能になる。高信頼性データグ
ラム・サービスでは、高信頼性データグラム・サービスを用いるAIが、基礎と
なる通信サービス/ファブリックを信頼して、作業単位を正確に配信することが
できるように、あるいは、回復不能エラーの場合には、エラー通知を頼みにする
ことができるように、作業単位の伝送の信頼性の高さを保証することによって、
高信頼性接続サービスを信頼できるものにしている。こうして、高信頼性データ
グラム・サービスによって、AIは、高信頼性データグラム・サービスに対する
作業単位を有効にオフロードすることが可能になり、この結果、AI開発コスト
が低減する。
【0092】 さらに、データ処理システムの実施形態の1つでは、不信頼データグラム・サ
ービスが、高信頼性データグラム・サービスを支援する通信サービス/ファブリ
ックにおいて同時に支援される。実施形態の1つでは、作業単位に不信頼のタグ
を付け、応答/エラー処理アクションを回避することによって、不信頼データグ
ラム・サービスが、高信頼性データグラム・サービスと共に同時に支援される。
実施形態の1つでは、全てのデータを高信頼性であるとして処理し、結果として
、アプリケーション作業単位回復アルゴリズムを決して入力しないことによって
、不信頼データグラム・サービスが、高信頼性データグラム・サービスと共に同
時に支援される。
【0093】
【高信頼性マルチキャスト・サービス】
図8には、高信頼性マルチキャスト操作例を実施する、本発明による高信頼性
マルチキャスト・サービスのあるデータ処理システムの一部が、全体として50
0で示されている。データ処理システム100には、図8に例示の高信頼性マル
チキャスト操作において送信元装置として機能する、502で表示の装置Aが含
まれている。データ処理システム500には、図8に例示の高信頼性マルチキャ
スト操作における宛先装置である、504で表示の装置B、506で表示の装置
C、及び、508で表示の装置Dが含まれている。送信元装置502には、送信
元AI510が含まれている。宛先装置504には、宛先AI512が含まれて
おり、宛先装置506には、宛先AI514が含まれており、宛先装置508に
は、宛先AI516が含まれている。宛先AI512、514、及び、516は
、図8の高信頼性マルチキャスト操作のためのターゲット・マルチキャスト・グ
ループを形成している。
【0094】 図8の高信頼性マルチキャスト操作のため、装置502は、送信元装置として
機能し、装置504、506、及び、508は、宛先装置として機能するが、装
置502、504、506、及び、508は、それぞれ、ある特定の高信頼性マ
ルチキャスト操作に関する通信方向に基づいて、送信元装置とすることもできる
し、あるいは、宛先装置とすることも可能である。
【0095】 装置502におけるSDR資源518a、及び、装置504におけるSDR資
源518bを含むSDR518が、装置502と装置504の間に設定される。
装置502におけるSDR資源520a、及び、装置506におけるSDR資源
520bを含むSDR520が、装置502と装置506の間に設定される。装
置502におけるSDR資源522a、及び、装置508におけるSDR資源5
22bを含むSDR522が、装置502と装置508の間に設定される。SD
R518、520、及び、522のそれぞれの送信元端及び宛先端は、通信サー
ビス/ファブリック524を介して通じている。
【0096】 装置502には、通信サービス(CS)526が含まれている。装置504に
は、CS528が含まれており、装置506には、CS530が含まれており、
装置508には、CS532が含まれている。CSは、ここでは、高信頼性マル
チキャスト操作に関与する各装置に含まれている1組の通信サービスと定義され
る。CSは、高信頼性マルチキャスト作業単位操作の全てが伝送されることを保
証する。CSは、ミドルウェアAIとの相互作用によって、マルチキャスト加入
及び脱退操作を可能にする。CSは、ソフトウェア、ファームウェア、または、
これらの任意の組み合わせによって実施可能である。他の特定のCS機能は、処
理系専用である。
【0097】 高信頼性マルチキャスト・サービスの場合、装置502のミドルウェアAI5
34、装置503のミドルウェアAI536、装置506のミドルウェアAI5
38、及び、装置508のミドルウェアAI540によって、ある特定のAIが
ある特定のマルチキャスト・グループに加入することが可能か否かの判定が実施
される。ミドルウェアAIまたはCSは、さらに、アクセス権の妥当性検査を行
い、マルチキャスト・グループ内の全ての関与装置に対してグループ内における
変更を確実に通知する。マルチキャスト脱退操作の場合、ミドルウェアAIまた
はCSは、マルチキャスト・グループの関与装置に対して、宛先リストからその
AIを除去し、そのAIがまだ存在しているかのように、全ての伝送中作業単位
を完了し、まだ送り出されていない作業単位について、除去された宛先AIをタ
ーゲットにしないように伝える。
【0098】 図8の高信頼性マルチキャスト操作において、装置502によって、542で
表示のマルチキャスト作業単位(UW6)が送り出される。AI510が、UW
6を生成する。CS526は、UW6を複製し、SDR資源518a、520a
、及び、522aを介して、関与するマルチキャスト・グループ宛先AI512
、514、及び、516に対するUW6のユニキャストを実施する。装置504
を宛先とする複製UW6は、544で表示され、装置506を宛先とする複製U
W6は、546で表示され、装置508を宛先とする複製UW6は、548で表
示される。
【0099】 関与するマルチキャスト宛先装置のCSは、それぞれ、それが受け取る各作業
単位のACKを発生する。ACKは、累積式にすることもできるし、作業単位毎
にすることも可能である。図8の高信頼性マルチキャスト操作例の場合、SDR
資源518bを介したCS528は、装置504で受け取ったマルチキャスト作
業単位(UW5)に関するACK550を送り出す。同様に、SDR資源520
bを介したCS530は、装置506で受け取ったUW5に関するACK552
を送り出し、SDR資源522bを介したCS532は、装置508で受け取っ
たUW5に関するACK554を送り出す。装置502のCS526は、応答の
全て(例えば、ACK及びNAK)を収集し、送信元AI510にある特定の作
業単位のマルチキャスト操作状況を伝えて、作業単位操作を完了する。CS52
6は、また、もしあれば、マルチキャスト操作におけるエラーの結果として、ど
の宛先AIがマルチキャスト作業単位を受信しなかったかについても送信元AI
510に通知する。
【0100】 マルチキャスト加入操作を実施することによって、ある特定のAIがマルチキ
ャスト・グループに加入する。加入操作がうまく完了すると、その特定のAIは
、単一作業単位を送り出すことが可能になり、その特定のAIを含む装置のCS
は、その単一作業単位を複製し、指定のマルチキャスト・グループに関与する全
ての宛先AIに対して複製作業単位を確実に伝送する。
【0101】 マルチキャスト脱退操作を実施することによって、ある特定のAIがマルチキ
ャスト・グループから離脱する。マルチキャスト脱退操作を施すと、マルチキャ
スト・グループの関与する各AIの装置のCSを介して、関与する全てのマルチ
キャストAIメンバに、マルチキャスト・グループを脱退した特定のAIが、マ
ルチキャスト・グループ内におけるマルチキャスト操作にとってもはや有効な宛
先AIではないことが通知される。関与するAIに、ある特定のAIがマルチキ
ャスト・グループから脱退することが伝えられると、マルチキャスト・グループ
に残っている関与するAIは、適正な資源及び伝送中作業単位の回復操作を実施
する。
【0102】 高信頼性マルチキャスト・サービスは、作業単位読み取り/書き込み支援に関
して、従来の高信頼性マルチキャスト・サービスと同じ操作モデルを備えている
ことが望ましい(例えば、高信頼性マルチキャスト・サービスと不信頼マルチキ
ャスト・サービスは、両方とも、書き込みを支援するが、高信頼性マルチキャス
ト・サービスも、不信頼マルチキャスト・サービスも、読み取りの支援は行わな
い)。ある実施形態の場合、高信頼性マルチキャスト・サービスは、最小限、従
来の不信頼マルチキャスト・サービスと同じ意味論的行動を可能にして、従来の
不信頼マルチキャスト・サービスを用いる既存のアプリケーションが、その既存
のアプリケーションに修正を加えなくても、高信頼性マルチキャスト・サービス
を用いることができるようにする。従って、アプリケーションの観点からすると
、高信頼性マルチキャスト・サービスは、その信頼性が高いことを除けば、不信
頼マルチキャスト・サービスと同じ基本的サービスを提供することになる。
【0103】 作業単位は、アプリケーションに修正を施すことなく、マルチキャスト・グル
ープの各装置内のCSによって、マルチキャスト・グループに関与する宛先AI
に確実に配信される。ある実施形態例では、高信頼性マルチキャスト・サービス
は、協定マルチキャスト・アドレスを用いて、マルチキャスト・グループにアド
レス指定する。マルチキャスト・グループにおけるある特定のAIは、その協定
マルチキャスト・アドレスをターゲットにするが、個々のマルチキャスト・グル
ープのメンバをターゲットにするわけではない。各関与装置のCSは、協定マル
チキャスト・アドレスを解釈し、その協定マルチキャスト・アドレスに応答して
、対応するAIのために高信頼性マルチキャスト操作を実施する。
【0104】 本発明による高信頼性マルチキャスト・サービスの場合、作業単位の損失また
は再順序付けを許容できないアプリケーションは、提供される高信頼性通信に必
要な複雑さ及び設計手順を含む高信頼性機能を共通CSセットにオフロードする
ことが可能である。アプリケーションから共通CSセットに高信頼性機能をオフ
ロードすると、複数アプリケーションがCSの共用による便益を得ることが可能
になる。さらに、マルチキャスト操作における信頼性の問題に対処する必要のな
いアプリケーションは、複数アプリケーション間にわたって品質を最適化し、向
上させることができるので、性能及び品質が向上した。さらに、ある特定のアプ
リケーションの複雑性が軽減され、その特定のアプリケーションを生成し、検証
する設計手順が減少するので、その特定のアプリケーションに関する市販までの
時間が短縮される。
【0105】 アプリケーションは、高信頼性マルチキャスト・サービスに、送信側ベースの
通信技法と受信側ベースの通信技法の両方を利用することが可能である。不信頼
マルチキャスト・サービスは、受信側ベースの通信技法だけしか支援しない。あ
る実施形態の場合、高信頼性マルチキャスト・サービスのAIは、高信頼性接続
サービスによって伝統的に用いられているものと同じ、また、高信頼性データグ
ラム・サービスに関して上述のものと同じ送信側ベースまたは受信側ベースの通
信及びメモリ管理/保護技法を利用している。
【0106】 高信頼性マルチキャスト・サービスの場合、論理作業単位の伝送サイズは、宛
先AIによってエクスポートされる(送信側ベースの通信)または配達される(
受信側ベースの通信)メモリ・ウィンドウのサイズによって制限されるだけであ
る。受信側ベースのAIは、伝送ターゲットとして1つまたは複数のメモリ・バ
ッファを支援することが可能である。受信側通信サービス/ファブリックは、あ
る特定の作業単位に関して、作業単位属性またはAI入力に基づいて、ターゲッ
トとする最適メモリ・バッファを選択する責務を負っている。
【0107】 高信頼性マルチキャスト・サービスにおいて、メモリは、AIに対してアクセ
スが許可される前に、Hamlyn保護機構のような技法を用いて、正しいアク
セス権(例えば、無アクセス、読み取りアクセス、書き込みアクセス、読み取り
/書き込みアクセス、メモリアドレス範囲検証等)が検証されることを保証する
ことによって保護される。
【0108】 高信頼性マルチキャスト・サービスの場合、送信側ベースの通信には、関与す
る全てのAIが、同じ仮想メモリウィンドウをエクスポートし、同じ保護機構を
利用する必要がある。
【0109】 高信頼性マルチキャスト・サービスに用いられるSDRによって、送信元AI
からマルチキャスト宛先AIに伝送される作業単位の高信頼性が保証される。S
DRにおける強固な順序付け機構によって、マルチキャスト・グループ内におけ
る全ての宛先AIが、送信元AIから伝送されるのと同じ規定順序で作業単位を
受け取ることが保証される。独立したSDR資源を用いて、他の送信元AIによ
ってマルチキャスト・グループに送られる作業単位をインタリーブすることが可
能である。強固な順序付けは、送信元・宛先間のSDR資源毎に保証されるだけ
である。
【0110】 ある特定の作業単位は、マルチキャスト・グループ内における関与する宛先A
Iにおいてちょうど1回だけ受信される。換言すれば、エラー事象または回復操
作中に生じる可能性のある作業単位の複製コピーは、検出されるが、マルチキャ
スト・グループ内における関与する宛先AIに配信されない。高信頼性マルチキ
ャスト・サービスの場合、送信元AI及び/またはCSには、応答によって作業
単位伝送の完了が通知される。応答タイプには、作業単位が、順次伝送され、受
信されたことを表示するACK、または、回復不能エラーが、作業単位内におい
て、または、その伝送中に検出されたことを表示するNAKが含まれている。
【0111】 ある実施形態では、QoSが、上述の高信頼性データグラム・サービスによっ
て得られるのと同じ技法を用いて、高信頼性マルチキャスト・サービスに関して
実施される。この実施形態の場合、QoSによって、装置及び装置において実行
されるAIに関するQoSのサービス・レベル目標に従って、高信頼性マルチキ
ャスト操作を送信元装置内の他のトラフィックに対して優先させることが可能に
なる。
【0112】 高信頼性マルチキャスト・サービスの実施形態の1つでは、送信元CSは、不
信頼マルチキャスト・サービスに用いられる、スイッチまたはルータのようなフ
ァブリック・コンポーネントではなく、作業単位複製コンポーネントとして機能
する。ある実施形態の場合、CSは、ターゲット・マルチキャスト・グループ内
における関与する各宛先AIに対して一連の作業単位ユニキャストを送り出す。
各ユニキャストは、操作の成功または失敗を表示する応答(例えば、ACKによ
る肯定またはNAKによる否定)を受ける。CSは、ターゲット・マルチキャス
ト・グループにおける全ての、または、所定のパーセンテージの宛先AIからの
応答を受信して、回復可能エラーからの回復を完了すると、作業単位マルチキャ
スト操作を完了し、アプリケーション・パラメータに基づいて必要があれば、送
信元AIにエラーについて知らせる。
【0113】 高信頼性マルチキャスト・サービスの代替実施形態の場合、図8に555で表
示されているようなファブリック・コンポーネント(例えば、スイッチまたはル
ータ)は、送信元装置CSではなく、作業単位複製コンポーネントとして機能す
る。しかし、この代替実施形態の場合、CSは、なおかつ、マルチキャスト・グ
ループ内の全ての、または、所定のパーセンテージの宛先AIが、高信頼性マル
チキャスト操作で伝送された各作業単位を確実に受信するかを検証することを含
めて、前述及び後述の他のCS機能も実施する。
【0114】 送信元AIをターゲット・マルチキャスト・グループ内の宛先AIに結合する
各SDRは、独立して実行する。従って、作業単位の時間スタンプ/連続数、応
答等に関して、SDR間の協調はない。送信元装置内のCSは、独立したSDR
伝送及び応答を相関させ、適合する完了事象を発生する責務を負っている。
【0115】 高信頼性マルチキャスト・サービスにおけるエラー回復は、上述の高信頼性デ
ータグラム・サービスによって得られるのと同じ技法を用いて、送信元AIとマ
ルチキャスト・グループの影響を受ける宛先AIとの間で再同期化事象を実施す
ることによって実現する。高信頼性マルチキャスト・サービスと高信頼性データ
グラム・サービスとの主たる相違点は、高信頼性マルチキャスト・サービスの場
合、エラーに複数宛先が関与する可能性があり、従って、高信頼性マルチキャス
ト・サービスの場合、作業単位の伝送が完了したとみなされる前に、複数の再同
期化操作の実施が必要になる可能性があるということである。
【0116】
【マルチキャスト・グループ管理操作例】
実施形態の1つでは、高信頼性マルチキャスト・グループ管理操作は、既存の
マルチキャスト・グループ管理規格(例えば、Internet Group Management Prot
ocol (IGMP)マルチキャスティング規格)に基づいて実施される。それにもかか
わらず、高信頼性マルチキャスト・グループ管理操作は、後述するような既存の
マルチキャスト・グループ管理規格とは必然的に異なっている。各高信頼性マル
チキャストAIに関連したCSは、グループ・メンバシップの変更に追従しなけ
ればならない。メンバシップの各変更毎に、各装置の関連ミドルウェアAIによ
って、制御管理メッセージが確実に交換され、管理されなければならない。
【0117】 実施形態の1つでは、あるAIによってマルチキャスト・グループ加入操作が
生じると、各宛先ミドルウェアAIまたはCSは、下記の判定及び応答を適宜実
施する。各宛先ミドルウェアAIまたはCSは、マルチキャスト・グループに新
規のAIを追加するのに十分な資源が提供されるか否かを判定する。ある加入す
る装置または新規のAIに、新規のマルチキャスト・グループ・メンバシップを
支援する資源が不足している場合、高信頼性マルチキャスト操作は失敗する。各
宛先ミドルウェアAIまたはCSは、そのAIがマルチキャスト・グループへの
加入を許可されているか否かを判定する(例えば、アクセス権の検証)。そのA
Iが加入を許可されていない場合、高信頼性マルチキャスト操作は失敗する。各
宛先ミドルウェアAIまたはCSは、全ての現グループ・メンバが、新規のAI
と作業単位を交換できるか否かを判定する。完全な接続性が可能でなければ、加
入操作は失敗し、適切なエラー表示がなされる。
【0118】 ある実施形態では、あるAIによって、マルチキャスト・グループ脱退操作が
生じると、各宛先ミドルウェアAIまたはCSは下記のステップを実施する。宛
先ミドルウェアAIまたはCSは、そのAIを有効宛先AIとして除去するので
、後続の作業単位は除去されたAIをターゲットにしない。宛先ミドルウェアA
IまたはCSは、伝送中の作業単位にマーキングを施して、CSが、ターゲット
AIに戻されない応答を回復不能エラーとして取り扱わないことを表示する。あ
る実施形態では、宛先ミドルウェアAIまたはCSは、全てのマルチキャスト・
グループ・メンバAIに、脱退するAIを除去して、適切な措置を講じるオプシ
ョンを許可する通知を行う。実施形態の1つでは、ある特定のAIを分離する回
復不能エラーは、計画外マルチキャスト・グループ脱退操作として取り扱われる
【0119】 ある実施形態の場合、マルチキャスト・グループ管理操作のそれぞれについて
、AIは、明示的に情報が与えられるか、または、グループ・メンバシップの変
更に関与させられる。もう1つの実施形態では、AIは、グループ・メンバシッ
プの変更への関与を関連するミドルウェアAIまたはCSに委ね、そのAI自体
は、グループ・メンバシップの変更に関して責任を負わない。これら2つの実施
形態間での選択は、AIのサービス目標に依存して、または、基づいて実施され
る。例えば、あるAIが、複数の物理的サイトに対してデータを複製し、災害事
象時におけるデータの保全性を確保するように設計されている場合、そのAIは
、作業単位を現在受け取っているサイト数は関係がないと判定し、その数が、あ
るアプリケーションに特定された最小数を確実に超えるようにすることだけに集
中することが可能である。一方、もう1つの例では、高信頼性マルチキャストA
Iは、いくつかのデータ・リスト(例えば、価格表)が一致し、正確であること
を保証するために、複数サイトの同期更新に用いられ、また、高信頼性マルチキ
ャストAIによって、マルチキャスト・グループが正しく生成され、全てのメン
バが高信頼性の同期更新を受けるという保証が得られる。
【0120】 高信頼性マルチキャスト・グループが機能するためには、完全なメンバシップ
に関する知識が必要になる。さらに、メモリ・ウィンドウのセットアップや、送
信側ベースの通信に関連した保護操作のような、いくつかの操作には、AI、ミ
ドルウェアAI、または、CSによって、追加マルチキャスト・グループ管理操
作が施されることを必要とする。以下には、適正な高信頼性マルチキャスト・サ
ービスを提供するため、マルチキャスト・グループ加入及び脱退操作と共に実施
される、マルチキャスト・グループ管理操作例が示される。
【0121】 属性取得操作において、AI、ミドルウェアAI、または、CSは、現グルー
プ・メンバシップ、マルチキャスト・アドレス指定等のような、マルチキャスト
・グループに関する現在の属性を問い合わせる。
【0122】 属性設定操作において、AI、ミドルウェアAI、または、CSは、マルチキ
ャスト・アドレス、保護サービス等のような、マルチキャスト・グループ属性を
設定する。
【0123】 メンバ除去操作において、ミドルウェアAIは、影響を受けるAIが関与しな
いようにして、明示的マルチキャスト・グループ脱退操作を実施する。実施形態
の1つでは、メンバ除去操作は、サービス・レベル目標、AI状態情報(例えば
、接続性が損なわれる、AIまたはCSが応答しない等)、保護侵害等に基づい
て実施される。
【0124】
【作業単位完了処理】
各送信元CSは、マルチキャスト・グループ内の全ての、または、所定のパー
センテージの宛先AIが、送信元CSから伝送される各作業単位を確実に受信す
ることを検証しなければならない。高信頼性マルチキャスト・サービスに関する
作業単位完了処理の実施に適した、さまざまな技法が存在する。例えば、ある実
施形態の場合、送信元CSは、各応答の受信毎にインクリメントまたはデクリメ
ントする応答カウンタを用いている。この実施形態のある形態では、CSは、カ
ウンタによって、マルチキャスト・グループ内の関与する全ての、または、所定
のパーセンテージの宛先AIが作業単位を受け取った旨の応答をしたことが表示
されると、完了事象を発生する。
【0125】 もう1つの実施形態では、送信元CSは、マルチキャスト・グループに関与す
る各宛先AI毎に固有のビットを割り当てるビット・マスク・アレイを用いてお
り、各応答の受信毎に、各ビットをクリアする。これらの作業単位完了処理実施
例の全ては、マルチキャスト・グループに関与する全ての、または、所定のパー
センテージの宛先AIが作業単位を受け取った旨の応答をするか、または、ある
特定の宛先AIに対する作業単位の処理時に、回復不能エラーが検出されるまで
、CSが送信元AIに対して完了事象を発生しないことを保証しなければならな
い。
【0126】 ある実施形態では、送信元CSに、タイミング・ウィンドウが含まれている。
タイミング・ウィンドウが、完了事象に必要な条件が生じることなく、満了する
場合、ミドルウェアAIまたはCSは、紛失応答を追跡し、分析する。
【0127】 図9には、データ処理システム500に関する作業単位完了処理操作例が示さ
れている。図9の場合、作業単位完了事象は、UW5に関するものである。50
2に表示の装置Aには、各伝送中作業単位のビット・マスクを維持するCS52
6が含まれている。例えば、図9の高信頼性マルチキャスト操作に関する作業単
位完了処理の場合、UW5に関する作業単位完了ビット・マスクは、556で表
示されており、UW6に関する作業単位完了ビット・マスクは、558で表示さ
れている。UW完了ビット・マスクの各ビットは、504で表示の装置Bに対応
するビットB、506で表示の装置Cに対応するビットC、及び、508で表示
の装置Dに対応するビットDといった、グループ・メンバに対応する。作業単位
完了ビット・マスクのビット状態は、対応する装置が作業単位の応答を行ったか
否かを表している。
【0128】 追跡可能な作業単位数は、処理系に依存しており、資源可用度に基づく。例え
ば、図9の高信頼性マルチキャスト・サービス操作に関するUW完了処理例には
、2つの伝送中作業単位の追跡が示されている。502で表示の装置Aによって
、応答が受信されると、UW完了ビット・マスクの対応するビットがクリアされ
る。UW完了ビット・マスクが全てクリアされる(例えば、全て0)と、560
で表示のUW5に関する完了事象が、送信元AI510に伝えられる。適正な順
序付けを保証するため、UW5に関する完了事象560が生じるまで、UW6に
関する完了事象を生じさせることができない。
【0129】 CS526には、タイミング・ウィンドウ562が含まれている。タイミング
・ウィンドウ562が、UW5に関する完了事象560に必要な条件が生じるこ
となく、満了する場合、CS526は、UW完了ビット・マスク556に表示さ
れる紛失応答を追跡し、分析する。
【0130】 図10には、データ処理システム500のもう1つの実施形態に関するもう1
つの作業単位完了処理操作例が、ダイヤグラム形式で示されている。図10の場
合、作業単位完了事象はUW5に関するものである。502で表示の装置Aには
、各応答の受信毎にインクリメントまたはデクリメントする応答カウンタ564
を保守するCS526が含まれている。CS526は、応答カウンタ564によ
って、マルチキャスト・グループに関与する3つの宛先装置504、506、及
び、508の全てが、作業単位UW5を受信した旨の応答を行ったことが表示さ
れると、UW5に関する526で表示のような完了事象を発生する。CS526
は、また、マルチキャストUW6に対応する受信応答を追跡する、応答カウンタ
564と同様の働きをする、UW6に関する応答カウンタ566も保守する。応
答カウンタによって追跡可能な作業単位数は、処理系に依存しており、資源可用
度に基づく。適正な順序付けを保証するため、UW5に関する完了事象560が
生じるまで、UW6に関する完了事象を生じさせることができない。タイミング
・ウィンドウ562が、UW5に関する完了事象560に必要な条件が生じるこ
となく、満了する場合、CS526は、紛失応答を追跡し、分析する。
【0131】 本明細書では、望ましい実施形態について解説するため、特定の実施形態を例
示し、説明してきたが、当該技術の通常の技術者には明らかなように、本発明の
範囲から逸脱することなく、図示及び解説を施した特定の実施形態の代わりに、
同じ目的を達成するように意図された、多種多様な代替及び/または同等実施例
を用いることも可能である。化学、機械、電気機械、電気、及び、コンピュータ
技術の技術者にはすぐ明らかになるように、本発明は、極めて多種多様な実施形
態で実現することが可能である。本出願は、本明細書に記載の望ましい実施形態
に対するいかなる改変または変更をも包含することを意図したものである。従っ
て、明白なことではあるが、本発明は、請求項及びその同等物による制限しか受
けないものとする。
【図面の簡単な説明】
【図1】分散されたアプリケーション・インスタンスの間に信頼性のある通信
を提供するための信頼性のあるデータグラム・サービスを使用したデータ処理シ
ステムの部分的なブロック図である。
【図2】複数のデバイス間における信頼性のあるデータグラム・サービスを実
装するための複数のソースおよびディスティネーション・リソース(SDR)を
有するデータ処理システムの部分的なブロック図である。
【図3】信頼性のあるデータグラム・サービスにおいてディスティネーション
・アプリケーションをターゲットする、基礎をなす通信サービス/ファブリック
によって使用されるフィールドを含んだプロトコル・ヘッダの一実施形態の説明
図である。
【図4】図2に示したデータ処理システムに関するソース・デバイスとディス
ティネーション・デバイスの間における送信オペレーションの一例を示すブロッ
ク図である。
【図5】図2に示したデータ処理システムに関するソース・デバイスとディス
ティネーション・デバイスの間における送信オペレーションの別の例を示すブロ
ック図である。
【図6】図2に示したデータ処理システムに関するソース・デバイスとディス
ティネーション・デバイスの間における送信オペレーションの別の例を示すブロ
ック図である。
【図7】デバイスのペアの間に設定された複数のSDRを有するデータ処理シ
ステムの部分的なブロック図である。
【図8】本発明に従った信頼性のあるマルチキャスト・オペレーションの例を
示したデータ処理システムの部分的なブロック図である。
【図9】図8のデータ処理システムの一部であり、ワーク・ユニット完了ビッ
ト‐マスクを使用する信頼性のあるマルチキャスト・オペレーションに関するワ
ーク・ユニット完了処理の一例を示したブロック図である。
【図10】図8のデータ処理システムの一部であり、確認応答カウンタを使用
する信頼性のあるマルチキャスト・オペレーションに関するワーク・ユニット完
了処理の一例を示したブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AL,AM,AT,AU, AZ,BA,BB,BG,BR,BY,CA,CH,C N,CR,CU,CZ,DE,DK,DM,EE,ES ,FI,GB,GD,GE,GH,GM,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,MZ,NO, NZ,PL,PT,RO,RU,SD,SE,SG,S I,SK,SL,TJ,TM,TR,TT,TZ,UA ,UG,US,UZ,VN,YU,ZA,ZW (72)発明者 フレッド・ビー・ウォーリー アメリカ合衆国カリフォルニア州 サンタ クララ ハーバード・アベニュー 750 ナンバー1 (72)発明者 キンバリー・ケー・スコット アメリカ合衆国カリフォルニア州 サンノ ゼ メタ・ドライブ 2639 Fターム(参考) 5K030 GA11 LA02 LD06 【要約の続き】 おいて、対応する複数の信頼性のあるトランスポート・ サービスを実装する。

Claims (53)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいて: マルチキャスト・グループに関係するソース・デバイスであって: 第1のワーク・ユニットのストリームを生成する第1のソース・アプリケーシ
    ョン・インスタンス(AI);および、 通信サービス(CS); を含むソース・デバイス; 前記マルチキャスト・グループに関係する複数のディスティネーション・デバ
    イスであって、前記マルチキャスト・グループ内の各デバイスは: ワーク・ユニットを消費する少なくとも1つのディスティネーションAI;お
    よび、 CS; を含むものとする複数のディスティネーション・デバイス; 前記ソース・デバイスと前記ディスティネーション・デバイスの間における通
    信を提供する通信サービス/ファブリック;および、 複数のソースおよびディスティネーション・リソース(SDR)であって、各
    SDRは、前記マルチキャスト・グループ内の、前記ソース・デバイスと前記複
    数のディスティネーション・デバイスのうちの対応する1つのディスティネーシ
    ョン・デバイスの間において、該対応するディスティネーション・デバイスにお
    ける前記第1のワーク・ユニットのストリームの配信を行うため、および該対応
    するディスティネーション・デバイスにおいて受信される前記第1のワーク・ユ
    ニットのストリームの強い順序設定を保証するための、信頼性のあるトランスポ
    ート・サービスを実装するものとする複数のSDR; を包含することを特徴とするデータ処理システム。
  2. 【請求項2】前記ソース・デバイス内の前記CSは、前記マルチキャスト・グ
    ループ内のあらかじめ決定済みのパーセンテージの前記ディスティネーションA
    Iが、前記第1のワーク・ユニットのストリーム内の各ユニットを、信頼性をも
    って受信していることを検証することを特徴とする前記請求項1記載のデータ処
    理システム。
  3. 【請求項3】前記あらかじめ決定済みのパーセンテージは、前記ディスティネ
    ーションAIの100%であるとすることを特徴とする前記請求項2記載のデー
    タ処理システム。
  4. 【請求項4】前記あらかじめ決定済みのパーセンテージは、前記ディスティネ
    ーションAIの100%より少ないものとすることを特徴とする前記請求項2記
    載のデータ処理システム。
  5. 【請求項5】前記ソース・デバイス内の前記CSは: 前記マルチキャスト・グループ内の前記対応するディスティネーション・デバ
    イスから受信した、前記対応するディスティネーション・デバイスが前記第1の
    ワーク・ユニットのストリーム内の1つのワーク・ユニットを受信したことを示
    す確認応答をカウントする確認応答カウンタを含むことを特徴とする前記請求項
    2記載のデータ処理システム。
  6. 【請求項6】前記ソース・デバイス内の前記CSは、前記確認応答カウンタが
    、前記マルチキャスト・グループ内の前記あらかじめ決定済みのパーセンテージ
    の前記ディスティネーションAIが前記ワーク・ユニットを受信したとする確認
    応答を行ったことを示しているとき、完了イベントを生成することを特徴とする
    前記請求項5記載のデータ処理システム。
  7. 【請求項7】前記ソース・デバイス内の前記CSは: 前記マルチキャスト・グループ内の各ディスティネーションAIに固有ビット
    の割り当てを行い、各ビットを、前記マルチキャスト・グループ内の前記対応す
    るディスティネーション・デバイスから、前記対応するディスティネーション・
    デバイスが前記第1のワーク・ユニットのストリーム内の1つのワーク・ユニッ
    トを受信したことを示す、対応する確認応答が受信されるとクリアするビット‐
    マスク配列を含むことを特徴とする前記請求項2記載のデータ処理システム。
  8. 【請求項8】前記ソース・デバイス内の前記CSは、前記ビット‐マスク配列
    が、前記ビット‐マスク配列内にあらかじめ決定済みのパーセンテージのクリア
    されたビットを有し、それによって前記マルチキャスト・グループ内の前記あら
    かじめ決定済みのパーセンテージのディスティネーションAIが前記ワーク・ユ
    ニットを受信したとする確認応答を行ったことが示されているとき、完了イベン
    トを生成することを特徴とする前記請求項7記載のデータ処理システム。
  9. 【請求項9】前記ソース・デバイス内の前記CSは、前記マルチキャスト・グ
    ループ内の前記ディスティネーションAIに対する送信のために、前記第1のワ
    ーク・ユニットのストリームのレプリケーションを行うことを特徴とする前記請
    求項1記載のデータ処理システム。
  10. 【請求項10】前記通信サービス/ファブリックは、前記マルチキャスト・グ
    ループ内の前記ディスティネーションAIに対する送信に関して前記第1のワー
    ク・ユニットのストリームのレプリケーションを行うための、少なくとも1つの
    レプリケータ・コンポーネントを含むことを特徴とする前記請求項1記載のデー
    タ処理システム。
  11. 【請求項11】前記データ処理システムは、さらに: 少なくとも1つのミドルウエアAIを包含することを特徴とする前記請求項1
    記載のデータ処理システム。
  12. 【請求項12】前記ソース・デバイス内の前記CSは、タイミング・ウインド
    ウを含み、完了イベントの発生に関する必要条件を伴うことなく前記タイミング
    ・ウインドウがタイムアウトすると、前記ミドルウエアAIまたはCSが、欠落
    している確認応答の追跡ならびに解決を行うことを特徴とする前記請求項11記
    載のデータ処理システム。
  13. 【請求項13】所定のAIは、マルチキャスト加入オペレーションを実行する
    ことによって前記マルチキャスト・グループに加わり、前記ミドルウエアAIま
    たはCSは、前記所定のAIが前記マルチキャスト・グループに加わることがで
    きるか否かを決定し、アクセス権を検査し、かつ前記マルチキャスト・グループ
    内に加わっているデバイスに対して前記グループの変更を通知することを特徴と
    する前記請求項11記載のデータ処理システム。
  14. 【請求項14】所定のAIは、マルチキャスト離脱オペレーションを実行する
    ことによって前記マルチキャスト・グループから離脱し、前記ミドルウエアAI
    またはCSは、前記マルチキャスト・グループ内に加わっているデバイスに対し
    て、前記所定のAIをディスティネーション・リストから削除すること、前記所
    定のAIがいまだ存在するかのようにしてすべてのフライト中のワーク・ユニッ
    トを完了すること、およびいまだ発射していないワーク・ユニットに関しては前
    記所定のAIをターゲットとしないことを通知することを特徴とする前記請求項
    11記載のデータ処理システム。
  15. 【請求項15】AI、ミドルウエアAI、またはCSは、前記マルチキャスト
    ・グループのカレント属性のクエリを行う属性獲得オペレーションを実行するこ
    とを特徴とする前記請求項11記載のデータ処理システム。
  16. 【請求項16】AI、ミドルウエアAI、またはCSは、前記マルチキャスト
    ・グループの属性をセットする属性セット・オペレーションを実行することを特
    徴とする前記請求項11記載のデータ処理システム。
  17. 【請求項17】ミドルウエアAIは、所定のAIを、該所定のAIを伴ってい
    ない前記マルチキャスト・グループから除外するメンバ除外オペレーションを実
    行することを特徴とする前記請求項11記載のデータ処理システム。
  18. 【請求項18】前記マルチキャスト・グループ内のAIをアドレスするために
    、同意マルチキャスト・アドレスが使用されることを特徴とする前記請求項1記
    載のデータ処理システム。
  19. 【請求項19】前記マルチキャスト・グループに関係する各デバイス内の前記
    CSは、前記同意マルチキャスト・アドレスを解釈し、前記同意マルチキャスト
    ・アドレスに応答して、対応するディスティネーションAIに代わって信頼性の
    あるマルチキャストを実行することを特徴とする前記請求項18記載のデータ処
    理システム。
  20. 【請求項20】前記データ処理システムは、所定のAIに関して、信頼性の低
    いマルチキャスト・サービスと意味論上において実質的に同一の振る舞いを有す
    る信頼性のあるマルチキャスト・オペレーションを実行することを特徴とする前
    記請求項1記載のデータ処理システム。
  21. 【請求項21】前記複数のSDRは、複数のSDRグループにグループ化され
    、それにおいて前記複数のSDRグループのそれぞれは、少なくとも1つのSD
    Rを含み、前記少なくとも1つのSDRによって送信されるワーク・ユニットの
    有効スループットおよび応答時間に関して固有の優先レベルが割り当てられるも
    のとすることを特徴とする前記請求項1記載のデータ処理システム。
  22. 【請求項22】前記ソース・デバイスは、ディスティネーション・デバイスと
    しても機能し、前記ディスティネーション・デバイスの少なくとも1つは、ソー
    ス・デバイスとしても機能することを特徴とする前記請求項1記載のデータ処理
    システム。
  23. 【請求項23】各SDRは: 前記ソース・デバイスにおいて、前記通信サービス/ファブリックを介して、
    定義済みの順序でワーク・ユニットを有する連続するワーク・ユニットのストリ
    ーム内において前記第1のワーク・ユニットのストリームを送信するソースSD
    Rリソース;および、 対応するディスティネーション・デバイスにおいて、前記連続するワーク・ユ
    ニットのストリームを受信し、前記連続するワーク・ユニットのストリームを対
    応する少なくとも1つのディスティネーションAIに提供されたワーク・ユニッ
    トに逆多重化するディスティネーションSDRリソース; を含むことを特徴とする前記請求項1記載のデータ処理システム。
  24. 【請求項24】前記ディスティネーションSDRリソースは、その定義済みの
    順序より前に受信したワーク・ユニットに対して否定応答(NAK)を提供する
    ことを特徴とする前記請求項23記載のデータ処理システム。
  25. 【請求項25】前記ディスティネーションSDRリソースは、その定義済みの
    順序より前に受信したワーク・ユニットを破棄することを特徴とする前記請求項
    23記載のデータ処理システム。
  26. 【請求項26】前記ディスティネーションSDRリソースは、前記ディスティ
    ネーションSDRリソースによる受信ならびに処理が成功した各ワーク・ユニッ
    トに関して肯定応答(ACK)を提供することを特徴とする前記請求項23記載
    のデータ処理システム。
  27. 【請求項27】前記ディスティネーションSDRリソースは、ワーク・ユニッ
    トのセットに関して、前記ワーク・ユニットのセット内のカレントワーク・ユニ
    ットまで、およびそれを含むすべてのワーク・ユニットの、前記ディスティネー
    ションSDRリソースによる受信ならびに処理が成功したことを示す累積の肯定
    応答(ACK)を提供することを特徴とする前記請求項23記載のデータ処理シ
    ステム。
  28. 【請求項28】前記ディスティネーションSDRリソースは、ワーク・ユニッ
    トが重複するワーク・ユニットであることを示す表示に応答して該ワーク・ユニ
    ットを破棄することを特徴とする前記請求項18記載のデータ処理システム。
  29. 【請求項29】データ処理の方法において: マルチキャスト・グループに関係するソース・デバイスにおいて第1のソース
    ・アプリケーション・インスタンス(AI)を伴う第1のワーク・ユニットのス
    トリームを生成するステップ; 前記第1のワーク・ユニットのストリームを複製するステップ; 複数の信頼性のあるトランスポート・サービスであって、それぞれのトランス
    ポート・サービスは、前記マルチキャスト・グループに関係する前記ソース・デ
    バイスと複数のディスティネーション・デバイスの対応する1つの間において設
    定されるものとし、かつ各ディスティネーション・デバイスは、少なくとも1つ
    のディスティネーションAIを有するものとするトランスポート・サービスを設
    定するステップ; 前記複製された第1のワーク・ユニットのストリームを、前記複数の信頼性の
    あるトランスポート・サービスを伴う通信サービス/ファブリックを介してマル
    チキャストするステップ;および、 対応するディスティネーション・デバイスにおいて受信される前記第1のワー
    ク・ユニットの強い順序設定を保証するステップ; を包含することを特徴とする方法。
  30. 【請求項30】さらに: 前記マルチキャスト・グループに関係する前記複数のディスティネーション・
    デバイスのそれぞれにおいて、少なくとも1つのディスティネーションAIを用
    いて前記第1のワーク・ユニットのストリームを消費するステップ; を包含することを特徴とする前記請求項29記載の方法。
  31. 【請求項31】さらに: 前記マルチキャスト・グループ内のあらかじめ決定済みのパーセンテージの前
    記ディスティネーション・デバイスが、前記第1のワーク・ユニットのストリー
    ム内の各ユニットを、信頼性をもって受信していることを検証するステップ;を
    包含することを特徴とする前記請求項29記載の方法。
  32. 【請求項32】前記あらかじめ決定済みのパーセンテージは、前記ディスティ
    ネーション・デバイスの100%であるとすることを特徴とする前記請求項31
    記載の方法。
  33. 【請求項33】前記あらかじめ決定済みのパーセンテージは、前記ディスティ
    ネーション・デバイスの100%より少ないものとすることを特徴とする前記請
    求項31記載の方法。
  34. 【請求項34】さらに: 前記マルチキャスト・グループ内の前記対応するディスティネーション・デバ
    イスから、前記対応するディスティネーション・デバイスが前記第1のワーク・
    ユニットのストリーム内の1つのワーク・ユニットを受信したことを示す確認応
    答を提供するステップ; 前記ソース・デバイスにおいて受信した確認応答をカウントするステップ; を包含することを特徴とする前記請求項31記載の方法。
  35. 【請求項35】さらに: 前記確認応答カウンタが、前記マルチキャスト・グループ内の前記あらかじめ
    決定済みのパーセンテージの前記ディスティネーション・デバイスが前記ワーク
    ・ユニットを受信したとする確認応答を行ったことを示しているとき、完了イベ
    ントを生成するステップ;を包含することを特徴とする前記請求項34記載の方
    法。
  36. 【請求項36】さらに: ビット‐マスク配列内において、前記マルチキャスト・グループ内の各ディス
    ティネーション・デバイスに固有ビットの割り当てを行うステップ;および、 各ビットを、前記マルチキャスト・グループ内の前記対応するディスティネー
    ション・デバイスから、前記対応するディスティネーション・デバイスが前記第
    1のワーク・ユニットのストリーム内の1つのワーク・ユニットを受信したこと
    を示す、対応する確認応答が受信されるとクリアするステップ; を包含することを特徴とする前記請求項31記載の方法。
  37. 【請求項37】さらに: 前記ビット‐マスク配列が、前記ビット‐マスク配列内にあらかじめ決定済み
    のパーセンテージのクリアされたビットを有し、それによって前記マルチキャス
    ト・グループ内の前記あらかじめ決定済みのパーセンテージのディスティネーシ
    ョンAIが前記ワーク・ユニットを受信したとする確認応答を行ったことが示さ
    れているとき、完了イベントを生成するステップ; を包含することを特徴とする前記請求項36記載の方法。
  38. 【請求項38】さらに: タイミング・ウインドウを維持するステップ;および、 完了イベントの発生に関する必要条件を伴うことなく前記タイミング・ウイン
    ドウがタイムアウトすると、欠落している確認応答の追跡ならびに解決を行うス
    テップ; を包含することを特徴とする前記請求項29記載の方法。
  39. 【請求項39】さらに: マルチキャスト加入オペレーションを実行して所定のAIを前記マルチキャス
    ト・グループに加えるステップであって: 前記所定のAIが前記マルチキャスト・グループに加わることができるか否か
    を決定するステップ; アクセス権を検査するステップ;および、 前記マルチキャスト・グループ内に加わっているデバイスに対して前記グルー
    プの変更を通知するステップ; を含むステップを包含することを特徴とする前記請求項29記載の方法。
  40. 【請求項40】さらに: マルチキャスト離脱オペレーションを実行して所定のAIが前記マルチキャス
    ト・グループから離脱することを可能にするステップであって、前記マルチキャ
    スト・グループ内に加わっているデバイスに対して、前記所定のAIをディステ
    ィネーション・リストから削除すること、前記所定のAIがいまだ存在するかの
    ようにしてすべてのフライト中のワーク・ユニットを完了すること、およびいま
    だ発射していないワーク・ユニットに関しては前記所定のAIをターゲットとし
    ないことを通知するステップを含むステップ; を包含することを特徴とする前記請求項29記載の方法。
  41. 【請求項41】さらに: 前記マルチキャスト・グループのカレント属性のクエリを行う属性獲得オペレ
    ーションを実行するステップ; を包含することを特徴とする前記請求項29記載の方法。
  42. 【請求項42】さらに: マルチキャスト・グループの属性をセットする属性セット・オペレーションを
    実行するステップ; を包含することを特徴とする前記請求項29記載の方法。
  43. 【請求項43】さらに: 所定のAIを、該所定のAIを伴っていない前記マルチキャスト・グループか
    ら除外するメンバ除外オペレーションを実行するステップ; を包含することを特徴とする前記請求項29記載の方法。
  44. 【請求項44】さらに: 同意マルチキャスト・アドレスを用いて前記マルチキャスト・グループ内のA
    Iをアドレスするステップ; を包含することを特徴とする前記請求項29記載の方法。
  45. 【請求項45】さらに: 前記複数の信頼性のあるトランスポート・サービスを、複数の信頼性のあるト
    ランスポート・サービスのグループであって、それぞれが少なくとも1つの信頼
    性のあるトランスポート・サービスを含む複数の信頼性のあるトランスポート・
    サービスのグループにグループ化するステップ;および、 各信頼性のあるトランスポート・サービスのグループに対して、前記少なくと
    も1つの信頼性のあるトランスポート・サービスによって送信されるワーク・ユ
    ニットの有効スループットおよび応答時間に関する固有の優先レベルを割り当て
    るステップ; を包含することを特徴とする前記請求項29記載の方法。
  46. 【請求項46】前記ソース・デバイスは、ディスティネーション・デバイスと
    しても機能し、前記ディスティネーション・デバイスの少なくとも1つは、ソー
    ス・デバイスとしても機能することを特徴とする前記請求項29記載の方法。
  47. 【請求項47】さらに: 対応するディスティネーション・デバイスにおいて受信されたワーク・ユニッ
    トが、該ワーク・ユニットに割り当てられた定義済みの順序より前であることに
    対して否定応答(NAK)を提供するステップ; を包含することを特徴とする前記請求項29記載の方法。
  48. 【請求項48】さらに: 対応するディスティネーション・デバイスにおいて受信されたワーク・ユニッ
    トが、該ワーク・ユニットに割り当てられた定義済みの順序より前であるとき該
    ワーク・ユニットを破棄するステップ; を包含することを特徴とする前記請求項29記載の方法。
  49. 【請求項49】さらに: 対応するディスティネーション・デバイスにおいて受信されたワーク・ユニッ
    トが、該ワーク・ユニットに割り当てられた定義済みの順序より前であるとき該
    ワーク・ユニットを一時的にストアするステップ; を包含することを特徴とする前記請求項29記載の方法。
  50. 【請求項50】さらに: 再同期オペレーションを実行して欠落している中間の作業単位のリカバリを行
    うステップ; を包含することを特徴とする前記請求項29記載の方法。
  51. 【請求項51】さらに: 対応するディスティネーション・デバイスにおいて受信ならびに処理が成功し
    た各ワーク・ユニットに関して肯定応答(ACK)を提供するステップ; を包含することを特徴とする前記請求項29記載の方法。
  52. 【請求項52】さらに: ワーク・ユニットのセットに関して、前記ワーク・ユニットのセット内の、カ
    レントワーク・ユニットまで、およびそれを含むすべてのワーク・ユニットの受
    信ならびに処理が対応するディスティネーション・デバイスにおいて成功したこ
    とを示す累積の肯定応答(ACK)を提供するステップ; を包含することを特徴とする前記請求項29記載の方法。
  53. 【請求項53】さらに: 対応するディスティネーション・デバイスにおいて受信されているワーク・ユ
    ニットが、該ワーク・ユニットに割り当てられた定義済みの順序より後であるこ
    とに基づいて、該ワーク・ユニットが重複したワーク・ユニットであることを示
    すステップ;および、 ワーク・ユニットが重複したワーク・ユニットであることが示されると、それ
    に応答して該ワーク・ユニットを破棄するステップ; を包含することを特徴とする前記請求項29記載の方法。
JP2000620484A 1999-05-24 2000-05-24 信頼性のあるマルチキャスト Pending JP2003500962A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13566499P 1999-05-24 1999-05-24
US60/135,664 1999-05-24
US15415099P 1999-09-15 1999-09-15
US60/154,150 1999-09-15
PCT/US2000/014382 WO2000072158A1 (en) 1999-05-24 2000-05-24 Reliable multicast

Publications (1)

Publication Number Publication Date
JP2003500962A true JP2003500962A (ja) 2003-01-07

Family

ID=26833545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000620484A Pending JP2003500962A (ja) 1999-05-24 2000-05-24 信頼性のあるマルチキャスト

Country Status (4)

Country Link
US (1) US7346699B1 (ja)
JP (1) JP2003500962A (ja)
AU (8) AU5041900A (ja)
WO (8) WO2000072142A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039610A (ja) * 2004-02-09 2012-02-23 Nokia Corp 複数の受信先にマルチメディアメッセージを送信する方法およびシステム

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area 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
US6990528B1 (en) * 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
US6981025B1 (en) 2000-10-19 2005-12-27 International Business Machines Corporation Method and apparatus for ensuring scalable mastership during initialization of a system area network
US20030014532A1 (en) * 2001-07-16 2003-01-16 Shean-Guang Chang Method and apparatus for multicast support
AU2003207617A1 (en) * 2002-01-22 2003-09-02 Sharp Laboratories Of America, Inc. Systems and methods for acknowledgement of multi-cast traffic
US8051197B2 (en) * 2002-03-29 2011-11-01 Brocade Communications Systems, Inc. Network congestion management systems and methods
WO2004036387A2 (en) * 2002-10-18 2004-04-29 Broadcom Corporation System and method for receive queue provisioning
US7548972B2 (en) * 2002-10-23 2009-06-16 Cisco Technology, Inc. Method and apparatus for providing likely updates to views of group members in unstable group communication systems
US7720973B2 (en) * 2003-06-30 2010-05-18 Microsoft Corporation Message-based scalable data transport protocol
US7693998B2 (en) * 2003-06-30 2010-04-06 Microsoft Corporation System and method for message-based scalable data transport
US20050015511A1 (en) * 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
US7565454B2 (en) * 2003-07-18 2009-07-21 Microsoft Corporation State migration in multiple NIC RDMA enabled devices
US8150996B2 (en) * 2003-12-16 2012-04-03 Hewlett-Packard Development Company, L.P. Method and apparatus for handling flow control for a data transfer
US8059664B2 (en) * 2004-07-30 2011-11-15 Brocade Communications Systems, Inc. Multifabric global header
US7936769B2 (en) 2004-07-30 2011-05-03 Brocade Communications System, Inc. Multifabric zone device import and export
US7466712B2 (en) 2004-07-30 2008-12-16 Brocade Communications Systems, Inc. System and method for providing proxy and translation domains in a fibre channel router
CN103501484B (zh) 2004-08-16 2017-04-12 高通股份有限公司 用于管理群组通信中的群组成员资格的方法和装置
US7849211B2 (en) * 2006-05-12 2010-12-07 Broadcom Corporation Method and system for reliable multicast datagrams and barriers
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
US8000328B1 (en) 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US7814154B1 (en) 2007-06-26 2010-10-12 Qurio Holdings, Inc. Message transformations in a distributed virtual world
US20090307408A1 (en) * 2008-06-09 2009-12-10 Rowan Nigel Naylor Peer-to-Peer Embedded System Communication Method and Apparatus
US8260728B1 (en) 2008-12-12 2012-09-04 Qurio Holdings, Inc. System and method for influencing behavior in a distributed virtual environment
US8424075B1 (en) 2008-12-31 2013-04-16 Qurio Holdings, Inc. Collaborative firewall for a distributed virtual environment
JP4771438B2 (ja) * 2009-03-27 2011-09-14 エヌイーシーコンピュータテクノ株式会社 メモリアクセス制御装置、メモリアクセス制御方法、及びメモリアクセス制御用プログラム
US8553691B2 (en) 2011-02-22 2013-10-08 Alcatel Lucent Efficient multicasting in a distributed system architecture
US20140032795A1 (en) 2011-04-13 2014-01-30 Hewlett-Packard Development Company, L.P. Input/output processing
US9513845B2 (en) 2012-03-30 2016-12-06 Violin Memory Inc. Memory module virtualization
EP2987274B1 (en) * 2013-05-10 2018-07-25 Huawei Technologies Co., Ltd. Dynamic multi-destination addressing
WO2015137954A1 (en) * 2014-03-13 2015-09-17 Hewlett-Packard Development Company, L.P. Component multicast protocol
US10432582B2 (en) 2014-12-27 2019-10-01 Intel Corporation Technologies for scalable local addressing in high-performance network fabrics
US10530676B2 (en) 2016-03-18 2020-01-07 Westinghouse Air Brake Technologies Corporation Distributed power remote communication status system and method
US10479382B2 (en) 2017-04-07 2019-11-19 Westinghouse Air Brake Technologies Corporation System, method, and apparatus for determining a communication status of locomotives in a distributed power system
US20190208032A1 (en) * 2017-12-29 2019-07-04 General Electric Company Subscription acknowledgments
US11334498B2 (en) * 2019-07-11 2022-05-17 Vmware, Inc. Zero copy method that can span multiple address spaces for data path applications

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475192A (en) 1982-02-16 1984-10-02 At&T Bell Laboratories Data packet flow control scheme for switching networks
US4527267A (en) 1982-07-09 1985-07-02 At&T Bell Laboratories Method of administering local and end-to-end acknowledgments in a packet communication system
US4713806A (en) * 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4999771A (en) 1987-08-31 1991-03-12 Control Data Corporation Communications network
US5297143A (en) * 1990-12-03 1994-03-22 Echelon Systems, Corp. Network communication protocol including a reliable multicasting technique
US5506964A (en) 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5408465A (en) 1993-06-21 1995-04-18 Hewlett-Packard Company Flexible scheme for admission control of multimedia streams on integrated networks
US5535341A (en) * 1994-02-24 1996-07-09 Intel Corporation Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5802295A (en) * 1994-09-12 1998-09-01 Canon Kabushiki Kaisha Information processing method and system therefor
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5699500A (en) 1995-06-01 1997-12-16 Ncr Corporation Reliable datagram service provider for fast messaging in a clustered environment
US5926101A (en) * 1995-11-16 1999-07-20 Philips Electronics North America Corporation Method and apparatus for routing messages in a network of nodes with minimal resources
US5790770A (en) * 1995-07-19 1998-08-04 Fujitsu Network Communications, Inc. Method and apparatus for reducing information loss in a communications network
US6047323A (en) 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
JP3120963B2 (ja) * 1995-12-14 2000-12-25 株式会社日立製作所 メッセージを転送する方法およびメッセージを転送するシステム
US5790544A (en) 1996-03-25 1998-08-04 International Business Machines Corporation ATM cell-to-frame reassembly method and apparatus for overrun avoidance
US5799146A (en) 1996-04-30 1998-08-25 International Business Machines Corporation Communications system involving groups of processors of a distributed computing environment
US5699501A (en) 1996-04-30 1997-12-16 International Business Machines Corporation System for group leader recovery in a distributed computing environment
US5778187A (en) 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5916307A (en) 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US6064672A (en) * 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for dynamic ordering support in a ringlet serial interconnect
US5781910A (en) 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US6070219A (en) * 1996-10-09 2000-05-30 Intel Corporation Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5968176A (en) * 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6026448A (en) 1997-08-27 2000-02-15 International Business Machines Corporation Method and means for exchanging messages, responses and data between different computer systems that require a plurality of communication paths between them
US6006254A (en) 1997-08-29 1999-12-21 Mitsubishi Electric Information Technology Center America, Inc. System for the reliable, fast, low-latency communication of object state updates over a computer network by combining lossy and lossless communications
US6279084B1 (en) * 1997-10-24 2001-08-21 Compaq Computer Corporation Shadow commands to optimize sequencing of requests in a switch-based multi-processor system
US6092220A (en) 1997-11-17 2000-07-18 International Business Machines Corporation Method and apparatus for ordered reliable multicast with asymmetric safety in a multiprocessing system
US6256740B1 (en) * 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6205150B1 (en) * 1998-05-28 2001-03-20 3Com Corporation Method of scheduling higher and lower priority data packets
US6392993B1 (en) * 1998-06-29 2002-05-21 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6094437A (en) * 1998-10-09 2000-07-25 Asc - Advanced Switching Communications Layer two tunneling protocol (L2TP) merging and management
US6738821B1 (en) 1999-01-26 2004-05-18 Adaptec, Inc. Ethernet storage protocol networks
US6192417B1 (en) * 1999-03-30 2001-02-20 International Business Machines Corporation Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039610A (ja) * 2004-02-09 2012-02-23 Nokia Corp 複数の受信先にマルチメディアメッセージを送信する方法およびシステム

Also Published As

Publication number Publication date
AU5289000A (en) 2000-12-12
AU5288800A (en) 2000-12-12
AU5159900A (en) 2000-12-12
WO2000072170A1 (en) 2000-11-30
WO2000072575A3 (en) 2001-03-01
WO2000072421A1 (en) 2000-11-30
WO2000072575A2 (en) 2000-11-30
WO2000072142A1 (en) 2000-11-30
AU5285200A (en) 2000-12-12
AU5284500A (en) 2000-12-12
WO2000072169A1 (en) 2000-11-30
WO2000072159A1 (en) 2000-11-30
WO2000072487A1 (en) 2000-11-30
WO2000072158A1 (en) 2000-11-30
AU5286400A (en) 2000-12-12
AU5292100A (en) 2000-12-12
US7346699B1 (en) 2008-03-18
AU5041900A (en) 2000-12-12

Similar Documents

Publication Publication Date Title
JP2003500962A (ja) 信頼性のあるマルチキャスト
US7904576B2 (en) Reliable datagram via independent source destination resources
US6545981B1 (en) System and method for implementing error detection and recovery in a system area network
Chang et al. Reliable broadcast protocols
Amir et al. The Totem single-ring ordering and membership protocol
JP4723102B2 (ja) トランザクション実行のためのプロトコル
EP1909468B1 (en) Method and apparatus for backing up TCP connection
Watson Timer-based mechanisms in reliable transport protocol connection management
Abdelzaher et al. RTCAST: Lightweight multicast for real-time process groups
EP0303830A2 (en) Multicast data distribution system
US8379645B2 (en) Link data transmission method, node and system
US8774203B2 (en) One-way message notification with out-of-order packet delivery
JP2002529010A (ja) 自動再送要求を行うデータ・ネットワークにおけるパケット破棄方法及びパケット破棄装置
EP2001152A2 (en) Reliable message transport network
US8428065B2 (en) Group communication system achieving efficient total order and state synchronization in a multi-tier environment
KR100240645B1 (ko) 멀티캐스트 통신의 패킷 오류 제어기 및 이를 이용한패킷 오류제어 방법
Baratz et al. Reliable link initialization procedures
JP2003288284A (ja) マルチプロセッサコンピュータアーキテクチャにおいてトランザクションを動的に再送する方法
Hayden et al. Ensemble reference manual
JP2005527898A (ja) チャネル・アダプタ障害に対する冗長性を提供する方法
US20070286197A1 (en) Interoperable transport protocol for internetwork routing
Livani SHARE: A transparent mechanism for reliable broadcast delivery in CAN
Livani SHARE: A transparent approach to fault-tolerant broadcast in CAN
Pinho et al. Reliable Communication in Distributed Computer-Controlled Systems
Jia et al. Design and analysis of an efficient and reliable atomic multicast protocol