JP2002223214A - クラスタ・コンピュータ環境において順序付きメッセージのためのスライディング送信ウィンドウを用いてコンピュータ・システム間の通信を行う装置および方法 - Google Patents

クラスタ・コンピュータ環境において順序付きメッセージのためのスライディング送信ウィンドウを用いてコンピュータ・システム間の通信を行う装置および方法

Info

Publication number
JP2002223214A
JP2002223214A JP2001336277A JP2001336277A JP2002223214A JP 2002223214 A JP2002223214 A JP 2002223214A JP 2001336277 A JP2001336277 A JP 2001336277A JP 2001336277 A JP2001336277 A JP 2001336277A JP 2002223214 A JP2002223214 A JP 2002223214A
Authority
JP
Japan
Prior art keywords
message
cluster
ordered
computer system
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001336277A
Other languages
English (en)
Other versions
JP3689361B2 (ja
Inventor
Timothy R Block
ティモシー・ロイ・ブロック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002223214A publication Critical patent/JP2002223214A/ja
Application granted granted Critical
Publication of JP3689361B2 publication Critical patent/JP3689361B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

(57)【要約】 【課題】 クラスタ内の他のコンピュータ・システムと
通信するためにスライディング送信ウィンドウを用いる
装置および方法を提供する。 【解決手段】 クラスタ・コンピュータ・システムは、
特定のタスク上で働くグループのメンバになり得る、1
以上のネットワークによって相互に接続された複数のコ
ンピュータ・システム(またはノード)を有する。各ノ
ードは、クラスタ・エンジン,スライディング送信ウィ
ンドウを含むクラスタ通信機構,およびメッセージを処
理する1以上のサービス・タスクを含む。スライディン
グ送信ウィンドウは、ノードが、各々のメッセージに対
する個々の確認応答を待つことなしに複数のメッセージ
を発信することを可能にする。スライディング送信ウィ
ンドウは、また、複数のメッセージを受信したノード
が、複数の受信メッセージに対して単一の確認メッセー
ジを送信することを可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広くデータ処理に
関し、特に、ネットワーク上のコンピュータ間のタスク
の共用に関する。
【0002】
【従来の技術】コンピュータ時代の始まり以後、コンピ
ュータ・システムは、工学設計,マシンおよびプロセス
・コントロール,そして情報記憶およびアクセスを含む
人間の活動の多くの分野において必要不可欠になった。
コンピュータの初期において、銀行のような企業,産業
界,および政府機関は、彼らの要求を満たす単一のコン
ピュータを購入していた。しかし、1950年代の初頭
までには、多くの企業が複数のコンピュータを有し、1
つのコンピュータから他のコンピュータへデータを移す
必要性が明白となった。このときから、コンピュータが
共働することを可能にするためにコンピュータ・ネット
ワークが開発され始めた。
【0003】ネットワーク・コンピュータは、どの単一
コンピュータも実行できないタスクを実行することがで
きる。加えて、ネットワークは、低コスト・パーソナル
・コンピュータ・システムが、より大規模のシステムに
接続して、このような低コスト・システムが単独では実
行できないタスクを実行することを可能にする。米国内
の大部分の企業は、現在、1以上のコンピュータ・ネッ
トワークを有する。ネットワークのトポロジおよびサイ
ズは、ネットワーク化されるコンピュータ・システムお
よびシステム管理者の設計に従って変化し得る。実際
に、企業が複数のコンピュータ・ネットワークを有する
ことは非常に一般的なことである。多くの巨大企業は、
企業内の大多数のコンピュータを相互に効果的に接続す
るローカル・エリア・ネットワーク(LAN)および広
域ネットワーク(WAN)の複雑な混合を有する。
【0004】ネットワーク上で共につながれた複数のコ
ンピュータに関して、ネットワーク・コンピュータを用
いて、タスクの異なる部分をネットワーク上の異なるコ
ンピュータに委託し、それらが続いて各自の個々の部分
を並列に処理できることによってタスクを完了すること
ができるということが速やかに明白となった。ネットワ
ーク上の共用コンピューティングに対する1つの具体的
な構成において、タスクの異なる部分に対して並列に働
くことができるネットワーク上のコンピュータ・システ
ムのグループを定義するためにコンピュータ“クラス
タ”の概念が用いられてきた。加えて、コンピュータ・
クラスタは、きわめて信頼性が高いサービスを伴う“単
一システム・イメージ”を提供する。クラスタ内の複数
のシステムは、ユーザにとって1つのコンピュータ・シ
ステムのように見え得る、そして、ユーザが必要とする
サービスおよびリソースは、たとえクラスタ内のコンピ
ュータ・システムのうちの1つが故障し、あるいはメン
テナンスのためにダウンされていても常に利用できる。
【0005】クラスタ内のコンピュータが共働してタス
クを実行するための1つの方法は、順序付きメッセージ
の概念を用いる。順序付きメッセージ・システムにおい
て、各々のメッセージは、典型的にIPマルチキャスト
を用いて全てのノードへ伝達され、メッセージの順序
は、全てのノードが同じ順序で一定の発信元からのメッ
セージを認識するように強制される。先行技術クラスタ
・コンピュータ環境において、各々のメッセージは、続
けて次のメッセージを処理するよりも前に各ノードによ
って処理される。すなわち、順序付きメッセージを使用
するクラスタ・コンピュータ環境において通信を行う先
行技術は、単一メッセージを備える送信ウィンドウを有
し、これは、1つの固定された送信ウィンドウ・サイズ
である。
【0006】
【発明が解決しようとする課題】“スライディング送信
ウィンドウ”の概念は、伝送制御プロトコル(TCP)
二地点間メッセージと関連して技術上既知である。スラ
イディング送信ウィンドウは、複数のメッセージが、次
のメッセージを送信するよりも前に各々のメッセージに
対する個々の確認応答を待つことなしに送信されること
を可能にする。スライディング送信ウィンドウは、TC
Pを用いる二地点間通信として知られているが、スライ
ディング送信ウィンドウは、それが現在まで解決されて
いない特定の問題を生じさせるので、クラスタ・コンピ
ュータ環境において使用されなかった。特に、IPはメ
ッセージの順序を強制していないので、個々のノードに
対するマルチキャストである順序付きメッセージを、全
てのノード上で同じ順序で処理するという要件は、先行
技術TCPスライディング送信ウィンドウを用いて実現
できない。こういう理由で、クラスタ・コンピュータ環
境におけるIPマルチキャスト通信は、スライディング
送信ウィンドウの使用によって利益を得られなかった。
クラスタ・コンピュータ環境において使用可能なスライ
ディング送信ウィンドウを提供するメカニズムおよび方
法がなければ、クラスタ・コンピュータ・システムの性
能は、現行の1つの固定された送信ウィンドウ・サイズ
によって制限され続けることになる。
【0007】
【課題を解決するための手段】好適な実施の形態によれ
ば、クラスタ・コンピュータ・システムは、特定のタス
ク上で働くグループのメンバになり得る、1以上のネッ
トワークによって相互に接続された複数のコンピュータ
・システム(またはノード)を含む。各々のノードは、
クラスタ・エンジン,スライディング送信ウィンドウを
有するクラスタ通信機構,およびメッセージを処理する
1以上のサービス・タスクを含む。スライディング送信
ウィンドウは、ノードが、各メッセージに対する個々の
確認応答を待つことなしに複数のメッセージを発信する
ことを可能にする。スライディング送信ウィンドウは、
また、複数のメッセージを受信したノードが、複数の受
信メッセージに対して単一の確認メッセージを送信する
ことを可能にする。クラスタ内の他のコンピュータ・シ
ステムと通信するためにスライディング送信ウィンドウ
を用いることにより、クラスタ内の通信トラフィックは
著しく削減され、それによってクラスタの全体性能を高
める。加えて、同時に送信された複数のメッセージ間の
待ち時間は、非常に効果的に短縮される。
【0008】本発明の上述および他の特徴および利点
は、添付の図面において例示される下記の本発明の好適
な実施の形態のより詳細な説明から明らかにすることが
できる。
【0009】
【発明の実施の形態】本発明の好適な実施の形態を、同
一の指示が同一の要素を示す添付の図面と関連して以下
に説明する。
【0010】本発明は、ネットワーク上で接続されたコ
ンピュータ上でタスクの一部を共用することによって達
成される。ネットワーク概念に精通していない読者のた
めに、後述の簡潔な概要は、読者が本発明を理解するの
に役立ち得る背景情報を提供する。
【0011】1.概要 ネットワーク・コンピュータ・システム コンピュータをネットワーク上で相互に接続すること
は、ある種のネットワーキング・ソフトウェアを必要と
する。長年にわたって、ネットワーキング・ソフトウェ
アの能力および複雑さは著しく増大した。ネットワーキ
ング・ソフトウェアは、典型的に、ネットワーク上のコ
ンピュータ間で情報を交換するためのプロトコルを定義
する。多くの異なるネットワーク・プロトコルが技術上
知られている。商業的に入手可能なネットワーキング・
ソフトウェアの代表例は、Novell Netwar
eおよびWindows(R) NTであり、各々がコ
ンピュータ間で情報を交換するための異なるプロトコル
を実装する。
【0012】近年非常にポピュラーになった1つの重要
なコンピュータ・ネットワークは、インターネットであ
る。インターネットは、コンピュータおよびネットワー
クの急増から発展し、コンピュータ・システムの複雑な
ワールドワイド・ネットワークへ進化した。インターネ
ットを用いて、ユーザは、単一のワークステーションか
ら世界中のコンピュータにアクセスできる。TCP/I
P(伝送制御プロトコル/インターネット・プロトコ
ル)は、インターネットを介した2つのコンピュータ間
の二地点間通信のために今日広く使われているネットワ
ーク・プロトコルの代表例である。加えて、TCP/I
Pの使用は、また、企業内部のさらに多くのローカル・
エリア・ネットワーク(LAN)およびイントラネット
に迅速に広がっている。
【0013】ユーザ・データグラム・プロトコル(UD
P)は、既知のネットワーク・プロトコルの他の例であ
る。UDPは、TCPと関連したオーバーヘッドを多く
は備えないだけでなく、TCPの信頼性を備えない。T
CPにおいて、2つのコンピュータ・システムは、当該
2者の間に“コネクション”を設定することによって二
地点間で通信する。受信側のノードが、送信側のノード
によって送信されたメッセージを受信することができな
い場合には、送信側のノードは、受信側のノードがメッ
セージを確認しなかったということを認識し、メッセー
ジを再送することになる。他方、UDPは、“コネクシ
ョン”を扱わず、メッセージの受信を確認するための設
計された方法を備えない。その結果、送信側のコンピュ
ータ・システムは、メッセージが受信されたか否かを識
別する方法を備えない。UDPは、コンピュータ・クラ
スタ内のIPマルチキャスト環境において首尾よく用い
られてきた、しかし、重要なシステム・レベル・コード
に、UDPによって送信され受信されたメッセージを管
理して信頼性が高い通信を保証することを要求する。要
するに、UDPを用いることによってTCPのオーバー
ヘッドの一部を除去することにより、より低いレベルの
実装がシステム・レベル・コードのプログラマにとって
利用可能となり、それによってコンピュータ・クラスタ
のための低レベル通信プロトコルの実装に、より高い柔
軟性を与える。
【0014】コンピュータ・クラスタ 先行技術は、コンピュータ・システムのグループに問題
の異なる部分上で働かせることの利点を認めている。コ
ンピュータの“クラスタ”の概念は、発展して、より大
きいタスクの一部を共用できるネットワーク・コンピュ
ータの事前定義されたグループを包含した。クラスタの
1つの具体的な実装は、クラスタ内のコンピュータ間で
通信を行うために順序付きメッセージを用いる。順序付
きメッセージ・システムにおいて、各メッセージは、全
てのノードに伝達され、メッセージの順序は、全てのノ
ードが同じ順序でメッセージを認識するように強制され
る。複数のコンピュータへ順序付きメッセージを同時に
ブロードキャストする1つの既知の方法は、IPマルチ
キャストを使用する。
【0015】図1を参照すると、5つのコンピュータ・
システム(またはノード)110からなる単純クラスタ
100が示される。これらのノード間の接続は、論理接
続を表し、物理接続は、クラスタ内のノードが相互に論
理的に通信可能である限りは好適な実施の形態の範囲内
で変化し得る。クラスタ内部で、共働してタスクを成し
とげるノードの論理グループに相当する1以上の“グル
ープ”が定義可能である。グループ内の各ノードは、そ
のグループの“メンバ”といわれる。図2に示されるよ
うに、先行技術クラスタ内の各ノード210は、システ
ム・レベル・コード290およびカーネル292を有す
るオペレーティング・システムを含む。
【0016】カーネル292は、コンピュータ・システ
ム・ハードウェアと直接対話する低レベル・オペレーテ
ィング・システム・コードを表す。一番下の層は、IP
/物理層280であり、これは物理的な通信媒体を通じ
て通信するオペレーティング・システム・ソフトウェア
の層である。IP/物理層280の上にUDP層270
があり、これはコンピュータ・システム間でメッセージ
を交換するためのネットワーク・プロトコルを提供す
る。クラスタ・トポロジ・サービス262およびクラス
タ通信260は、UDP層270の上に存在する。クラ
スタ・トポロジ・サービス262は、クラスタの現行ト
ポロジ・ビューを保持し、必要に応じてクラスタにメン
バを追加し、あるいはクラスタからメンバを削除するこ
とによってクラスタのトポロジを変更するためのサポー
トを提供する。クラスタ通信260は、クラスタ内の各
コンピュータ・システムからの順序付きメッセージの伝
送および受信のサポートを提供する機構である。クラス
タ通信機構260は、単一ソースへのおよび単一ソース
からのメッセージの順序を保証する。しかし、それぞれ
に異なるコンピュータ・システムへのあるいはそれぞれ
に異なるコンピュータ・システムからのメッセージ間の
順序は保証しない。クラスタ・エンジン250(CLU
Eとしても知られている)は、クラスタ通信機構260
によって他のノードからメッセージを受信し、全てのソ
ースからの全てのメッセージの総合的な順序を保証す
る。CLUE250は、クラスタ内のノード間の順序付
きメッセージを強制するソフトウェア・プロセスであ
る。CLUE250が、グループに向けられたそのメン
バからのメッセージを受信するとき、CLUE250
は、利用可能である場合にIPマルチキャストを典型的
に使用するクラスタ通信機構を介して、グループの全て
の登録済みメンバに対してメッセージを送信する。CL
UEコードの一部は厳密にはカーネル292の一部とみ
なされ、一方CLUEの他の部分は厳密にはシステム・
レベル・コード290とみなされ、これが、クラスタ・
エンジン250が各々の一部を含むということが図2に
示される理由であるということを留意されたい。
【0017】クラスタ制御層240およびクラスタ・グ
ループ・マネージャ242が、CLUE層250の上に
位置する。クラスタ制御240は、ノードに対するクラ
スタ化の構成および活動化を管理し、典型的に、クラス
タ環境の管理に適切である様々なクラスタ初期化および
ノード管理オペレーションをサポートする。クラスタ・
グループ・マネージャ242は、全クラスタのグループ
・メンバーシップ状況情報のコピーを同期的に保持する
一方、クラスタ・ライブラリ関数230は、クラスタに
他のサポート・サービスを提供する。クラスタ化API
コンポーネント220は、ジョブ/アプリケーション2
14(例えば図2に示されるジョブ/app214Aお
よびジョブ/app214B)を介して基礎クラスタ化
機能に外部インターフェースを提供する。クラスタ・マ
ネージャ212は、それによってユーザがクラスタ通信
パラメータの変更を開始できるユーザ・インターフェー
スを提供する。
【0018】クラスタ通信機構260の先行技術実施例
が図3に示される。サイズが1つの固定送信ウィンドウ
310は、送信されるべきメッセージを含む送信キュー
320,どのメッセージが現在作動されているか指示す
る現行メッセージ属性330およびどのノードが現行メ
ッセージを確認したかに関する情報を含むACKインジ
ケータ340と連係して使用される。
【0019】2.詳細な説明 本発明の好適な実施の形態による装置および方法は、ク
ラスタ・コンピュータ環境におけるスライディング送信
ウィンドウを提供する。スライディング送信ウィンドウ
は、複数のメッセージが、各メッセージに対する個々の
応答を待つことなしに送信されることを可能にする。そ
の代わりに、複数のメッセージの受信を確認する単一の
確認メッセージを送信可能である。クラスタ内のコンピ
ュータ・システム間の通信のためのスライディング送信
ウィンドウの使用は、ネットワーク・トラフィックに大
きな削減をもたらし、それによってクラスタの性能を高
める。
【0020】図4を参照すると、好適な実施の形態に従
うクラスタ通信機構460は、グループの全てのメンバ
による各メッセージの受信を個別に確認することなし
に、クラスタ内のグループのメンバに複数のメッセージ
を送信することを可能にするスライディング送信ウィン
ドウ410を含む。送信キュー320は、好ましくは、
図3の先行技術実施例におけるのと同一であり、しかし
ながら、代替の実施もまた可能である。現行メッセージ
・キュー430および保留ACKキュー440は、先行
技術におけるそれらの同等物330および340と個々
に比べて機能が拡張され(すなわち、単一のデータ属性
からキューあるいはベクトル(2次元の)・エンティテ
ィへ)、複数のメッセージを処理する。
【0021】図4のスライディング送信ウィンドウ41
0の例が図5において図示される。この例に関して、図
5の510において示されるように、送信ウィンドウは
最初にゼロである(メッセージがない)ということが仮
定される。5つのメッセージm1〜m5は、520にお
いて示されるように、これらのメッセージのうちのどれ
に対してもACKを受信することなしに、順々に発信さ
れるということが仮定される。スライディング送信ウィ
ンドウは、520において示されるように、それが幅が
5つのメッセージm1〜m5になるまで、一度に一つの
メッセージを拡大する。次に、m1およびm2に対する
ACKが受信され、これが、530において示されるよ
うに、スライディング送信ウィンドウを3つのメッセー
ジm3〜m5の幅へ縮小させるということが仮定され
る。2つのそれ以外のメッセージm6およびm7が続い
て送信され、これが、スライディング送信ウィンドウの
サイズを5つのメッセージm3〜m7へ拡大させるとい
うことが仮定される(540)。続いて、これらのメッ
セージの全てに対するACKが受信され、これが、55
0において示されるように、スライディング送信ウィン
ドウをゼロへスライドさせ、560において示されるよ
うにゼロのサイズへ縮小させるということが仮定され
る。図5は、なぜ送信ウィンドウが“スライディング”
送信ウィンドウと称されるか説明する。そのサイズは、
保留中のメッセージの総数および、確認されたメッセー
ジの数に従って変化する(あるいは上下する)。
【0022】図6を参照すると、コンピュータ・システ
ム600は、拡張IBM iシリーズ・コンピュータ・
システムであり、好適な実施の形態に従って相互にネッ
トワーク化可能な1つの適切なタイプのノード110
(図1)を表す。当業者は、本発明のメカニズムおよび
装置が、他のコンピュータ・システムと共にネットワー
ク化可能ないかなるコンピュータ・システムに対しても
等しく適用されるということを理解できる。図6に示さ
れるように、コンピュータ・システム600は、主記憶
装置620,大容量記憶インターフェース630,端末
インターフェース640およびネットワーク・インター
フェース650に接続されたプロセッサ610を含む。
これらのシステム・コンポーネントは、システム・バス
660の使用を通して相互接続される。大容量記憶イン
ターフェース630は、大容量記憶装置(例えば、直接
アクセス記憶装置655)をコンピュータ・システム6
00へ接続するために使用される。直接アクセス記憶装
置655の1つの具体的な例は、フロッピー(R)・デ
ィスケット695へデータを格納し、フロッピー(R)
・ディスケット695からデータを読み取ることができ
るフロッピー(R)・ディスク・ドライブである。
【0023】主記憶装置620は、データ622および
オペレーティング・システム624を含む。データ62
2は、コンピュータ・システム600内のあらゆるプロ
グラムへの入力あるいはあらゆるプログラムからの出力
に使えるあらゆるデータを表す。オペレーティング・シ
ステム624は、OS/400として産業界で知られて
いるマルチタスク・オペレーティング・システムであ
る。しかしながら、当業者は、本発明の趣旨および範囲
は、どの1つのオペレーティング・システムにも限定さ
れないということを理解できる。オペレーティング・シ
ステム624は、OSシステム・レベル・コード690
およびカーネル692を含む。システム・レベル・コー
ド690は、図2におけるOSシステム・レベル・コー
ド290と同一または同種であってもよく、あるいは好
適な実施の形態の範囲内で完全に異なってもよいという
ことを留意されたい。OSカーネル692は、クラスタ
内の他のノードと通信するために使用されるスライディ
ング送信ウィンドウ410を含むクラスタ通信機構46
0を有する。OSカーネル692は、IPマルチキャス
トによってグループの他のメンバと通信するためにクラ
スタ通信機構460によって使用されるIP/物理層
(図2の280と同様)の一部であるIPマルチキャス
ト・サポート626を付加的に含む。好適な実施の形態
は、あらゆる組み合わせにおいてコンピュータ・ネット
ワーク上の二地点間通信およびマルチキャスト通信の双
方に明らかに及ぶということを留意されたい。
【0024】コンピュータ・システム600は、コンピ
ュータ・システム600のプログラムが、まるでそれら
が複数のより小容量のストレージ・エンティティ例えば
主記憶装置620およびDASDデバイス655に対す
るアクセスの代わりに、大容量の単一のストレージ・エ
ンティティに対するアクセスのみを有するかのように機
能することを可能にする、周知の仮想アドレッシング機
構を使用する。したがって、データ622およびオペレ
ーティング・システム624は、主記憶装置620に存
在するように示されているが、当業者は、これらのアイ
テムが、必ずしも同時に主記憶装置620に全て完全に
含まれる必要はないということを理解できる。用語“メ
モリ”は、コンピュータ・システム600の全体の仮想
メモリを一般的に指示するためにこの中で使用されると
いうことも留意されたい。
【0025】プロセッサ610は、1以上のマイクロプ
ロセッサおよび/または集積回路から構成可能である。
プロセッサ610は、主記憶装置620に格納されたプ
ログラム命令を実行する。主記憶装置620は、プロセ
ッサ610がアクセスできるプログラムおよびデータを
格納する。コンピュータ・システム600が始動すると
き、プロセッサ610は、オペレーティング・システム
624を構成するプログラム命令を最初に実行する。オ
ペレーティング・システム624は、コンピュータ・シ
ステム600のリソースを管理する高性能のプログラム
である。これらのリソースの一部は、プロセッサ61
0,主記憶装置620,大容量記憶インターフェース6
30,端末インターフェース640,ネットワーク・イ
ンターフェース650およびシステム・バス660であ
る。単一のプロセッサおよび単一のシステム・バスのみ
を含むコンピュータ・システム600を示したが、当業
者は、複数のプロセッサおよび/または複数のバスを有
するコンピュータ・システムを用いて本発明を実施可能
であるということを理解できる。
【0026】端末インターフェース640は、1以上の
端末装置665をコンピュータ・システム600へ直接
接続するために使用される。非インテリジェント(すな
わち、ダム)端末装置あるいは完全プログラマブル・ワ
ークステーションであり得るこれらの端末装置665が
使用され、システム・アドミニストレータおよびユーザ
がコンピュータ・システム600と通信することを可能
にする。しかしながら、端末インターフェース640が
1以上の端末装置665との通信をサポートするために
与えられる場合には、ユーザとの全ての必要な対話およ
び他のプロセスは、端末インターフェース640によっ
て発生可能であるので、コンピュータ・システム600
は、必ずしも端末装置665を必要としないということ
を留意されたい。
【0027】ネットワーク・インターフェース650
は、他のコンピュータ・システムおよび/またはワーク
ステーション(例えば図6の675)をネットワーク6
70を越えてコンピュータ・システム600へ接続する
ために使用される。ネットワーク670は、ネットワー
ク670上のコンピュータ・システム600および他の
コンピュータ・システム間の論理接続を表す。本発明
は、ネットワーク接続670が今日のアナログおよび/
またはディジタル手法を用いて成されるか、それとも将
来のネットワーク・メカニズムによって成されるかにか
かわらず、たとえどのようにしてコンピュータ・システ
ム600が他のコンピュータ・システムおよび/または
ワークステーションと接続されていても等しく適用され
得る。加えて、多くの異なるネットワーク・プロトコル
がネットワークを実装するために使用可能である。これ
らのプロトコルは、コンピュータがネットワーク670
を越えて通信することを可能にする特殊コンピュータ・
プログラムである。TCP(伝送制御プロトコル)は適
切なネットワーク・プロトコルの一例である。
【0028】ここで、完全に機能的なコンピュータ・シ
ステムの状況において本発明を説明してきた、そして説
明し続けることになるが、当業者は、様々な形式のプロ
グラム・プロダクトとして本発明を配布できるというこ
と、および、配布を実際に実行するために使用される信
号伝達媒体の特定のタイプにかかわらず本発明を等しく
適用できるということを理解し得るということを留意さ
れたい。適切な信号伝達媒体の例は、記録可能なタイプ
の媒体、例えばフロッピー(R)・ディスク(例えば図
6の695)およびCD ROM、そして伝送タイプの
媒体例えばディジタルおよびアナログ通信リンクを含
む。
【0029】図7を参照すると、3つのノード600A
(ノードA),600B(ノードB)および600C
(ノードC)が全て、ローカル・エリア・ネットワーク
(LAN)上で相互に接続されているネットワーク構成
例700が示される。これは、技術上知られているコン
ピュータ・クラスタの最も一般的なネットワーク構成で
ある。図8は、図7のネットワークに対する先行技術の
もとでのネットワーク・トラフィックを説明する。ノー
ドA内の送信キュー420は、それらが送信キュー42
0へ書き込まれたのと同じ順序でノードBおよびCへ送
信される必要がある3つの順序付きメッセージを有する
ということが仮定される。m1が送信キュー420に最
初に受信され、m2およびm3がそれに続くということ
が仮定される。まず、ステップ810において、ノード
AがノードBにm1を伝達する。次に、ステップ812
において、ノードAがノードCにm1を伝達する。ノー
ドAは、m2を送信する前に、確認メッセージ(ここで
はACKと称される)がm1を受信した各ノードから受
信されるまで待機しなければならない。それゆえ、ノー
ドAは、ステップ820においてm1に対するACKが
ノードBから受信され、ステップ822においてm1に
対するACKがノードCから受信されるまで待機する。
グループの全ての他のメンバが対応するACKを用いて
m1に応答したので、ノードAは、ノードB(ステップ
830)およびノードC(ステップ832)に対してm
2を発信可能である。ノードAは、ノードB(ステップ
840)およびノードC(ステップ842)の双方から
ACKが受信されるまで再び待機しなければならない。
いったんm2に対する全てのACKが受信されると、ノ
ードAは、ノードB(ステップ850)およびノードC
(ステップ852)に対してm3を発信できる。ノード
Aは、ノードB(ステップ860)およびノードC(ス
テップ862)からACKが受信されるまで再び待機す
る。図8は、ノード(例えばノードA)は、次のメッセ
ージを発信するよりも前にグループの各メンバからのA
CKを待たなければならないということを図示する。こ
れは、メッセージの処理が、受信されたのと同じ順序で
実行されるということを保証するために行われる。しか
しながら、次のメッセージを発信するよりも前に各メッ
セージに対するACKを待つことは、全ての発信メッセ
ージを直列化することによる障害をもたらす。発信メッ
セージのこの直列化は、次のメッセージへ移るよりも前
に各ACKを待つことによるシステム性能の不利益をも
たらす。
【0030】図7におけるのと同一のネットワーク構成
に関して図9を概説することにより、好適な実施の形態
の概念を図7および8の例と容易に対比し対照すること
ができる。好適な実施の形態において、ノードが、各個
別のメッセージに対する確認信号を待つことなしに複数
の順序付きメッセージを発信することを可能にするスラ
イディング送信ウィンドウが用いられる。したがって、
図9のノードAは、ステップ910においてノードBに
対してm1を発信し、ステップ912においてノードC
に対してm1を発信する。ノードAは、続いて、ノード
BおよびCからのm1に対するACKを待つことなし
に、ステップ920および922においてm2を、ステ
ップ930および932においてm3を発信することが
できる。ノードBおよびCの各々は、続いて、図8の先
行技術において示されるようなノードBからの3つの別
個のACKおよびノードCからの3つの別個のACKを
必要としないで、メッセージm1,m2およびm3の全
てを同時に確認する単一のACKを送信することができ
る。好適な実施の形態の利点は、従って2倍である。第
1に、ノードAは、各メッセージに対する各ノードから
の個別のACKを待つことなしにメッセージを発信し続
け、それによってクラスタに対するワーク・パイプライ
ンをより完全に保つことができる。第2に、m1,m2
およびm3を受信したノードは、複数のメッセージを同
時に確認する単一のACKを用いて応答し、それによっ
てクラスタ・コンピュータ環境において必要とされるA
CKの数を著しく削減することができる。送信側のノー
ドが、次のメッセージを発信するよりも前に各メッセー
ジに対する個別の確認応答を待つことなしに複数のメッ
セージを発信することを可能にすることにより、そして
受信側が、単一の確認応答を用いて複数のメッセージを
確認することを可能にすることにより、好適な実施の形
態に従うクラスタ・コンピュータ・システムの性能が著
しく増大する。
【0031】図9の通信は、ノードAとノードBおよび
Cとの間の二地点間通信として示されるということを留
意されたい。しかしながら、IPマルチキャストを用い
てノード間で通信を行うことは、同様に、好適な実施の
形態の範囲内である。この図において、図9のステップ
910および912は、IPマルチキャストを用いてB
およびCの双方に対してm1をブロードキャストする単
一のステップに併合可能である。同様に、ステップ92
0および922は、単一のIPマルチキャスト・ステッ
プに置き換え可能であり、ステップ930および932
は、単一のIPマルチキャスト・ステップに置き換え可
能である。好適な実施の形態は、二地点間通信,マルチ
キャスト通信,およびこれら2つのあらゆる適切な組み
合わせに明らかに及ぶ。
【0032】図10を参照すると、方法1010は、メ
ッセージがノードの送信キュー内にある(ステップ10
20)ときに、好適な実施の形態に従う1つの例示的な
方法において実行されるステップを示す。メッセージ
が、特定の受信側へ送信される(ステップ1030)。
メッセージは、グループ内の全てのノードに対するマル
チキャスト・メッセージであってもよく、あるいは、各
受信側ノードに直接伝達される二地点間メッセージであ
ってもよい。受信側のノードは、グループ内のノードと
別個であってもよく、特定のソースからのメッセージの
順序を保存しながら、マルチキャストおよび二地点間通
信を混合することを可能とするということを留意された
い。特定の受信側は、続いて、メッセージを処理する
(ステップ1040)。メッセージが即時応答(または
ACK)を指定する場合(ステップ1050=YES)
には、受信側がメッセージを処理するとすぐに各受信側
によってACKが送信される(ステップ1060)。一
方、メッセージが即時応答を指定しない場合(ステップ
1050=NO)には、メッセージに対するACKは遅
延され、後続のメッセージに対する1以上のACKと共
にグループ化される(ステップ1070)。このよう
に、受信側は、ACKを一緒にして、複数のメッセージ
が確認されているということを指定する単一のACKに
グループ化することができる。
【0033】他のノードに対するブロードキャストであ
る各メッセージは、図11において例として示されるヘ
ッダ1100のように、様々な情報を有するヘッダを含
む。ヘッダ1100は、メッセージを送信したクラスタ
通信機構のバージョン番号を識別するバージョン・フィ
ールド1110,メッセージのタイプを識別するタイプ
・フィールド1112,メッセージに関する情報を提供
する様々なフラグを有するフラグ・フィールド111
4,およびメッセージの長さを識別する長さフィールド
1116を含む。ソースIDフィールド1120は、ど
のノードがメッセージを送信したか識別し、一方、宛先
IDフィールド1130は、どのノードがメッセージを
受信すべきかを識別する。ソースIPフィールド114
0は、送信側のインターネット・プロトコル(IP)・
アドレスを指定し、一方、宛先IPフィールド1150
は、宛先ノードのIPアドレスを指定する。コネクショ
ン番号フィールド1160は、2つのノード間あるいは
ノードとサブネット(例えばそのサブネット上のノード
のグループ)間のコネクションに対応する番号を含む。
シーケンス番号フィールド1170および1180は、
送信された特定のメッセージに対するシーケンス番号を
指示する順次的な番号を指示する。ネクスト・フィール
ド1190は、seq1フィールド1170内の値を反
映する現在は未使用のフィールドである。
【0034】図11のフラグ・フィールド1114は、
図12に示される遅延ACKフラグ1200を含む。遅
延ACKフラグは、ACKメッセージが即時に送信され
る必要があるか否かを指示するために使用される。遅延
ACKフラグがセットされている場合には、受信側は待
機し、後の時点においてこのメッセージを含む個々のメ
ッセージに対するACKを合わせてグループ化すること
ができる。遅延ACKフラグがクリアされている場合に
は、受信側は、即時に確認応答を行う必要がある。即時
に確認応答を行うとは、メッセージが処理された後にA
CKを送信することを単に意味し、このACKは、つま
り、このメッセージに加えてあらかじめ処理された1以
上のメッセージに対するグループACKであり得るとい
うことを留意されたい。遅延ACKフラグの意義は、A
CKがこのメッセージのみに対する単一のACKである
にせよ、あるいはこのメッセージおよび1以上のより早
期のメッセージに対するACKであるにせよ、送信側が
次のメッセージを発信可能となる前に、このメッセージ
に対するACKが送信側によって必要とされるというこ
とである。
【0035】図13を参照すると、ネットワーク構成例
が、好適な実施の形態の概念をさらに説明するために示
される。この構成において、ノードAはLAN1上のノ
ードであり、ノードBおよびDはLAN2上のノードで
あり、ノードCはLAN3上のノードである。LAN
1,LAN2およびLAN3は、全て広域ネットワーク
WAN1によって互いに接続されている。図13のネッ
トワーク構成は、図7の単純LAN構成よりも複雑であ
り、以下に説明される好適な実施の形態の顕著な特色の
一部を説明するのに役立つ。
【0036】図14は、図13に示されるノードAの機
能の一部を説明する。ノードAは、送信キュー420,
LAN2に対するシーケンス番号を追跡するオブジェク
ト1410,およびLAN3に対するシーケンス番号を
追跡するオブジェクト1440を含む。送信キュー42
0は、4つのメッセージm1〜m4を含む。この例に関
して、m1,m2およびm4は、ノードA,B,Cおよ
びDであると定義されるグループXに基づくメッセージ
であるということが仮定される。m3は、ノードBに対
する二地点間メッセージであるということも仮定され
る。図13のノードA,B,CおよびD間の対話は図1
5に示される。
【0037】図15の詳細を説明する前に、図15の基
礎にある概念を説明する必要がある。ノードAは、メッ
セージが紛失し再送が必要であるとみなされるよりも前
にACKを受信することが許容される最大時間にセット
されているメッセージ・タイマを含むということが仮定
される。ノードAは、また、最終メッセージ宛先レジス
タを含み、最終メッセージ宛先を、現行メッセージ宛先
あるいは次のメッセージ宛先と比較することができる。
ノードB,CおよびDは、各々、遅延ACKタイマを含
むということも仮定される。各ノードの遅延ACKタイ
マは、必要以上に多くの時間が経過する場合に、ACK
が最終的に送信されることを確保するために使用され
る。ノードがメッセージを受信するとき、ノードは自身
の遅延ACKタイマを始動させる。ノードがメッセージ
に確認応答するよりも前に遅延ACKタイマが終了する
場合には、ノードはACKタイマ終了に応答してメッセ
ージに確認応答することとなる。
【0038】図15のステップ1において、ノードA内
の最終メッセージ宛先レジスタがセットされ、次のメッ
セージ(m1)が、最終メッセージの保管されている宛
先と比較される。この例に関して、最終メッセージ(m
1より前の)はグループXに対するものであったと仮定
される。最終メッセージ宛先は、次のメッセージm2に
対する宛先と同じであるので、遅延ACKフラグがセッ
トされる。メッセージ・タイマが始動され(ステップ
2)、m1が送信される(ステップ3)。図14を再び
参照すると、この例に関して、LAN2(1410)に
対するseq1(1420)およびseq2(143
0)は、いずれも1であり、LAN3(1440)に対
するseq1(1450)およびseq2(1460)
は、いずれも50である。これらの数字、1および50
は、任意であり、異なる値を割当ててLAN2とLAN
3とに対するシーケンス番号を区別することを可能にす
る。
【0039】m1を発信することは、m1ヘッダ(図1
1を参照)内にseq1=1およびseq2=1を備
え、1(真)にセットされた遅延ACKフラグを備えて
ノードBに対してm1を送信することによって行われ
る。メッセージm1は、続いて、同じ方法でノードDに
対して送信される。メッセージm1は、続いて、seq
1=50およびseq2=50を備え、1にセットされ
た遅延ACKフラグを備えてノードCに対して送信され
る。ノードB,CおよびDの各々がm1を受信すると
き、それらは、それら各自の遅延ACKタイマを始動さ
せ(ステップ1′)、それら各自のCLUEにm1を渡
す(ステップ2′)。同じ値であるシーケンス番号se
q1およびseq2の双方を有する全てのメッセージ
は、これが新しい送信ウィンドウの最初のメッセージで
あるという信号を受信側ノードへ送り、それが、全ての
先のメッセージが送信され、未処理のメッセージが1つ
もなく確認応答されたということを指示するということ
を留意されたい。
【0040】次に、ノードAは、次のメッセージm3の
宛先を検査し、それが現行メッセージm2の宛先と一致
するか否か確かめる。メッセージm3は、ノードAおよ
びノードB間の二地点間メッセージであり、一方、メッ
セージm2は、グループX内の全てのノード、すなわち
B,CおよびDに対するものである。これらのメッセー
ジの宛先は一致しないので、遅延ACKフラグはゼロ
(偽)にセットされ、m2が送信される。ノードBおよ
びDに対するメッセージm2は、seq2を2にインク
リメントし、スライディング送信ウィンドウが2つのメ
ッセージ、m1およびm2に増加したということを指示
する。一方、遅延ACKフラグは、メッセージm2にお
いてクリアされ、それは、ノードB,CおよびDに、次
のメッセージを発信するよりも前にスライディング送信
ウィンドウ内の全てのメッセージに確認応答することを
要求するということを留意されたい。ノードB,Cおよ
びDは、m2に対する遅延ACKフラグがクリアされて
いることを確かめ、これは、それら各自に未処理のメッ
セージに確認応答することを要求する。まず、遅延AC
Kタイマがクリアされ(ステップ3′)、m2が各自の
CLUEに渡され(ステップ4′)、どのメッセージが
確認応答されているのか指示するACKメッセージのシ
ーケンス番号を用いることによってm1およびm2の双
方を確認する単一のACKメッセージが、ノードB,C
およびDの各々からリターンされる。このようにして、
ノードBおよびDはseq1=1およびseq2=2を
用いて確認応答し、一方ノードCは、seq1=50お
よびseq2=51を用いて確認応答する。全ての未処
理のメッセージに対するACKが受信されたので、この
時点で、ノードAはメッセージの送信を再開することが
できる。
【0041】ノードAは、次に、その送信キューを検査
し、m3がこの特定の時点において送信キュー内の最終
メッセージであるということを調べる(ステップ6)。
これに応答して、ノードAは、自身のメッセージ・タイ
マをリスタートし、メッセージ宛先をリセットする(ス
テップ7)。メッセージm3が続いて発信される。m3
は、ノードAからノードBへの二地点間メッセージであ
るということを留意されたい。シーケンス番号は、3に
インクリメントされ、遅延ACKフラグが真にセットさ
れ、m3が続いて送信される(ステップ8)。これに応
答して、ノードBは自身の遅延ACKタイマを始動させ
(ステップ6′)、ノードBは自身のCLUEにm3を
渡す(ステップ7′)。
【0042】続いて、メッセージm4が送信キュー内に
到達すると仮定する。メッセージm4の宛先(グループ
X)は、最終メッセージm3の宛先(ノードB)と一致
せず(ステップ9)、したがって続行するよりも前に、
ノードAからノードBへの先の二地点間メッセージは確
認応答される必要がある。ACK要求メッセージは、シ
ーケンス番号seq1およびseq2をメッセージある
いは確認応答されるべきメッセージの値にセットし、ヌ
ル・メッセージ・フラグを真にセットすることによって
送信される(ステップ10)。ノードは、ヌル・メッセ
ージ・フラグを未処理のメッセージに即時に確認応答す
べきコマンドと解釈する。その結果、ノードBは自身の
遅延ACKタイマをリセットし(ステップ8′)、ノー
ドBはm3に対する要求ACKを渡す(ステップ
9′)。好適な実施の形態は、ノードに全てのメッセー
ジを受信して実行することを強制することとなり、ネッ
トワーク帯域幅とCPUリソースとを使用する全てのメ
ッセージの受信を、全てのノードが要求されるわけでは
ないという点で特有である。かわりに、メッセージは、
宛先が変わるときに保留メッセージに対するACKを強
制するヌル・メッセージを用いて、自身の意図された受
身側へのみ送信される。
【0043】この時点において、メッセージ・タイマが
リスタートされ、メッセージ宛先がリセットされる(ス
テップ11)。続いてメッセージm4が発信される(ス
テップ12)。ノードBおよびDに対するシーケンス番
号はいずれも4であり、一方ノードCに対するシーケン
ス番号は52であるということを留意されたい。ノード
Bは、これまでのメッセージの全てを確認しているの
で、ノードBは、次のメッセージのシーケンス番号が4
であると予期する。一方、ノードDは、ノードAからノ
ードBへの二地点間メッセージm3を確認しなかったの
で、ノードDは、次のメッセージのシーケンス番号が3
であると予期することに留意されたい。好適な実施の形
態に従うシステムのアーキテクチャは、予期された番号
よりも大きいシーケンス番号を受信するノードは、送信
側が全ての必要なACKを確認し、ノードは、それが受
信しなかったメッセージを受信するよう要求されていな
かったということを指示するseq1=seq2をセッ
トした送信側を単に信用するように定義される。したが
って、ノードDが4のシーケンス番号seq1およびs
eq2を有するメッセージm4を確認するとき、ノード
Dは、先のメッセージはノードDに向けられていなかっ
たということを信用し、したがってm3の欠落を気にせ
ずにm4の処理に移る。
【0044】ノードAは、送信すべきメッセージをそれ
以上有さないと仮定され、したがって、図15に示され
るように、最終的にノードB,CおよびD上の遅延AC
Kタイマは、全て終了し(ステップ10′)、これらの
ノードの各々に、適切なシーケンス番号を用いてm4に
対するACKを渡させることとなる(ステップ1
1′)。続いてメッセージ・タイマがリセットされ、メ
ッセージ宛先がリセットされ(ステップ13)、続い
て、ノードAは次のメッセージを待つ。
【0045】図13〜15の具体例は、実施例の具体的
な詳細を含む。この実施例は、好適な実施の形態の顕著
な特色の一部を説明するために示されており、限定と解
釈されるべきではない。好適な実施の形態は、順序付き
メッセージを使用するクラスタ・コンピュータ環境にお
けるスライディング送信ウィンドウを提供するあらゆる
メカニズムおよび方法に明らかに及ぶ。
【0046】好適な実施の形態と関連して説明される本
発明は、先行技術よりも著しく優れた改良をここに提供
する。これにより、スライディング送信ウィンドウを、
マルチキャスト・メッセージ可能なクラスタ・コンピュ
ータ環境において用いることができ、これは、以前は行
うことができなかった。スライディング送信ウィンドウ
を与えることにより、送信側は、次のメッセージを送信
するよりも前にメッセージに対するACKを待つ必要が
ない。さらに、受信側は遅れて単一の確認メッセージを
用いていくつかのメッセージの確認を送信側へ返すこと
ができる。このように、クラスタはよりビジーなメッセ
ージ処理を維持し、ネットワーク・トラフィックは著し
く削減され、それによってシステムの性能が高められ
る。
【0047】当業者は、本発明の範囲内で多くの変形が
実行可能であるということを理解できる。それゆえ本発
明の好適な実施の形態と関連して本発明を詳細に示し説
明してきたが、当業者は、本発明の趣旨および範囲から
外れることなしに、形態および詳細についてのこれらの
および他の変更をその中に行うことが可能であるという
ことを理解できる。
【0048】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)装置であって、少なくとも1つのプロセッサ、前
記少なくとも1つのプロセッサに接続されたメモリ、少
なくとも1つの他のコンピュータ・システムに接続され
たネットワークへ前記装置を接続するネットワーク・イ
ンターフェース、前記メモリに存在し前記少なくとも1
つのプロセッサによって実行されるクラスタ通信機構、
前記クラスタ通信機構は、次の順序付きメッセージを発
信するよりも前に少なくとも1つの他のコンピュータ・
システムからの確認メッセージを待つことなしに、前記
少なくとも1つの他のコンピュータ・システムへ少なく
とも1つの順序付きメッセージを伝達するスライディン
グ送信ウィンドウを有する、を備える装置。 (2)各順序付きメッセージは、前記順序付きメッセー
ジに対する確認メッセージを遅らせて少なくとも1つの
後続の確認メッセージと共にグループ化できるか否か指
示する情報を有するヘッダを含む上記(1)に記載の装
置。 (3)前記確認メッセージは、1から複数の順序付きメ
ッセージを確認する上記(2)に記載の装置。 (4)コンピュータ・システムのクラスタを備えるネッ
トワーク・コンピュータ・システムであって、前記コン
ピュータ・システムの各々は、各コンピュータ・システ
ムを、前記クラスタ内の他のコンピュータ・システムへ
ネットワークを介して接続するネットワーク・インター
フェース、メモリ、前記メモリに存在するクラスタ通信
機構、前記クラスタ通信機構は、次の順序付きメッセー
ジを発信するよりも前に少なくとも1つの他のコンピュ
ータ・システムからの確認応答を待つことなしに、前記
少なくとも1つの他のコンピュータ・システムへ少なく
とも1つの順序付きメッセージを伝達するスライディン
グ送信ウィンドウを有する、を含むネットワーク・コン
ピュータ・システム。 (5)各順序付きメッセージは、前記順序付きメッセー
ジに対する確認メッセージを遅らせて少なくとも1つの
後続の確認メッセージと共にグループ化できるか否か指
示する情報を有するヘッダを含む上記(4)に記載のネ
ットワーク・コンピュータ・システム。 (6)クラスタ・コンピュータ環境においてタスクを処
理するコンピュータ実装方法であって、前記方法は、次
の順序付きメッセージを発信するよりも前に、順序付き
メッセージを受信した前記クラスタ内の各コンピュータ
・システムからの確認応答を待つことなしに前記クラス
タ内の少なくとも1つの他のコンピュータ・システムへ
少なくとも1つの順序付きメッセージを伝達するスライ
ディング送信ウィンドウを有する、前記クラスタ内の第
1のコンピュータ・システム上で実行するクラスタ通信
機構を与えるステップと、前記クラスタ通信機構が、前
記クラスタ内の少なくとも1つの他のコンピュータ・シ
ステムへ第1の順序付きメッセージを送信するステップ
と、前記クラスタ通信機構が、前記クラスタ内の前記少
なくとも1つの他のコンピュータ・システムからの前記
第1の順序付きメッセージに対する応答を待つことなし
に、第2の順序付きメッセージを送信するステップとを
含む方法。 (7)前記クラスタ内の前記少なくとも1つの他のコン
ピュータ・システムが、前記第1および第2の順序付き
メッセージの双方を確認する単一の確認メッセージを前
記クラスタ通信機構へ送信することによって前記第1お
よび第2の順序付きメッセージに応答するステップをさ
らに含む上記(6)に記載の方法。 (8)前記第1および第2の順序付きメッセージは、各
々、前記第1および第2の順序付きメッセージに対する
確認メッセージを遅らせて少なくとも1つの後続の確認
メッセージと共にグループ化できるか否か指示する情報
を有するヘッダを含む上記(6)に記載の方法。 (9)プログラム・プロダクトであって、(A)次の順
序付きメッセージを発信するよりも前に、少なくとも1
つの他のコンピュータ・システムからの確認応答を待つ
ことなしにクラスタ内の少なくとも1つの他のコンピュ
ータ・システムへ少なくとも1つの順序付きメッセージ
を伝達するスライディング送信ウィンドウを有するクラ
スタ通信機構(A1)を含むコンピュータ・プログラ
ム、(B)前記コンピュータ・プログラムを伝達するコ
ンピュータ読み取り可能信号伝達媒体、を備えるプログ
ラム・プロダクト。 (10)前記信号伝達媒体は、記録可能媒体よりなる上
記(9)に記載のプログラム・プロダクト。 (11)前記信号伝達媒体は、伝送媒体よりなる上記
(9)に記載のプログラム・プロダクト。 (12)各順序付きメッセージは、前記順序付きメッセ
ージに対する確認メッセージを遅らせて少なくとも1つ
の後続の確認メッセージと共にグループ化できるか否か
指示する情報を有するヘッダを含む上記(9)に記載の
プログラム・プロダクト。
【図面の簡単な説明】
【図1】ネットワーク上で相互通信できるコンピュータ
・システムのブロック図である。
【図2】クラスタ・コンピュータ環境におけるマルチキ
ャスト通信をサポートする先行技術ノード上で実行され
るプログラムのブロック図である。
【図3】図2に示されるクラスタ通信機構260のブロ
ック図である。
【図4】好適な実施の形態に従うクラスタ通信機構のブ
ロック図である。
【図5】好適な実施の形態のスライディング送信ウィン
ドウの背景にある概念を示す図である。
【図6】クラスタ内のノードとして使用できる好適な実
施の形態に従うコンピュータ・システムのブロック図で
ある。
【図7】クラスタ内でローカル・エリア・ネットワーク
(LAN)によって相互接続される3つの異なるコンピ
ュータ・システムを示すブロック図である。
【図8】図7のノード間の先行技術対話を示す図であ
る。
【図9】好適な実施の形態に従う図7のノード間の対話
を示す図である。
【図10】好適な実施の形態に従ってスライディング送
信ウィンドウを実装する方法のフロー図である。
【図11】好適な実施の形態に従ってメッセージ・ヘッ
ダに含まれる情報を示すブロック図である。
【図12】遅延ACKフラグが図12におけるヘッダの
フラグ部分1114の一部であることを示すブロック図
である。
【図13】異なるローカル・エリア・ネットワーク(L
AN)上に位置する4つのノード間のハイブリッド・ネ
ットワーク接続例を示すブロック図である。
【図14】図13および15に示されるノードAの機能
を示すブロック図である。
【図15】好適な実施の形態に従う図13のノード間の
対話を示す図である。
【符号の説明】
100 クラスタ 110,210 ノード 212 クラスタ・マネージャ 214 ジョブ/アプリケーション 220 クラスタ化APIコンポーネント 230 クラスタ・ライブラリ関数 240 クラスタ制御層 242 クラスタ・グループ・マネージャ 250 クラスタ・エンジン 260,460 クラスタ通信機構 262 クラスタ・トポロジ・サービス 270 UDP層 280 IP/物理層 290,690 システム・レベル・コード 292,692 カーネル 310 固定送信ウィンドウ 320 送信キュー 330 現行メッセージ属性 340 ACKインジケータ 410 スライディング送信ウィンドウ 430 現行メッセージ・キュー 440 保留ACKキュー 600,675 コンピュータ・システム 600A,600B,600C ノード 610 プロセッサ 620 主記憶装置 622 データ 624 オペレーティング・システム 626 IPマルチキャスト・サポート 630 大容量記憶インターフェース 640 端末インターフェース 650 ネットワーク・インターフェース 655 DASD 660 システム・バス 665 端末装置 670 ネットワーク 695 フロッピー(R)・ディスケット 700 ネットワーク構成例 1100 ヘッダ 1110 バージョン・フィールド 1112 タイプ・フィールド 1114 フラグ・フィールド 1116 長さフィールド 1120 ソースIDフィールド 1130 宛先IDフィールド 1140 ソースIPフィールド 1150 宛先IPフィールド 1160 コネクション番号フィールド 1170,1180 シーケンス番号フィールド 1190 ネクスト・フィールド 1200 遅延ACKフラグ 1410,1440 オブジェクト
フロントページの続き (72)発明者 ティモシー・ロイ・ブロック アメリカ合衆国 55901 ミネソタ州 ロ チェスター エイヴォン レーン エヌダ ブリュ 4516 Fターム(参考) 5B045 BB56 GG01 5B098 AA10 GA04 GD02 GD14 5K033 AA01 AA02 BA04 CA06 CB01 CB04 CB06 CB13 CC01 DB16 5K034 AA02 AA07 EE10 HH01 HH02 HH08 MM18

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】装置であって、 少なくとも1つのプロセッサ、 前記少なくとも1つのプロセッサに接続されたメモリ、 少なくとも1つの他のコンピュータ・システムに接続さ
    れたネットワークへ前記装置を接続するネットワーク・
    インターフェース、前記メモリに存在し前記少なくとも
    1つのプロセッサによって実行されるクラ スタ通信機構、前記クラスタ通信機構は、次の順序付き
    メッセージを発信するよりも前に少なくとも1つの他の
    コンピュータ・システムからの確認メッセージを待つこ
    となしに、前記少なくとも1つの他のコンピュータ・シ
    ステムへ少なくとも1つの順序付きメッセージを伝達す
    るスライディング送信ウィンドウを有する、 を備える装置。
  2. 【請求項2】各順序付きメッセージは、前記順序付きメ
    ッセージに対する確認メッセージを遅らせて少なくとも
    1つの後続の確認メッセージと共にグループ化できるか
    否か指示する情報を有するヘッダを含む請求項1に記載
    の装置。
  3. 【請求項3】前記確認メッセージは、1から複数の順序
    付きメッセージを確認する請求項2に記載の装置。
  4. 【請求項4】コンピュータ・システムのクラスタを備え
    るネットワーク・コンピュータ・システムであって、 前記コンピュータ・システムの各々は、 各コンピュータ・システムを、前記クラスタ内の他のコ
    ンピュータ・システムへネットワークを介して接続する
    ネットワーク・インターフェース、 メモリ、 前記メモリに存在するクラスタ通信機構、前記クラスタ
    通信機構は、次の順序付きメッセージを発信するよりも
    前に少なくとも1つの他のコンピュータ・システムから
    の確認応答を待つことなしに、前記少なくとも1つの他
    のコンピュータ・システムへ少なくとも1つの順序付き
    メッセージを伝達するスライディング送信ウィンドウを
    有する、 を含むネットワーク・コンピュータ・システム。
  5. 【請求項5】各順序付きメッセージは、前記順序付きメ
    ッセージに対する確認メッセージを遅らせて少なくとも
    1つの後続の確認メッセージと共にグループ化できるか
    否か指示する情報を有するヘッダを含む請求項4に記載
    のネットワーク・コンピュータ・システム。
  6. 【請求項6】クラスタ・コンピュータ環境においてタス
    クを処理するコンピュータ実装方法であって、前記方法
    は、 次の順序付きメッセージを発信するよりも前に、順序付
    きメッセージを受信した前記クラスタ内の各コンピュー
    タ・システムからの確認応答を待つことなしに前記クラ
    スタ内の少なくとも1つの他のコンピュータ・システム
    へ少なくとも1つの順序付きメッセージを伝達するスラ
    イディング送信ウィンドウを有する、前記クラスタ内の
    第1のコンピュータ・システム上で実行するクラスタ通
    信機構を与えるステップと、 前記クラスタ通信機構が、前記クラスタ内の少なくとも
    1つの他のコンピュータ・システムへ第1の順序付きメ
    ッセージを送信するステップと、 前記クラスタ通信機構が、前記クラスタ内の前記少なく
    とも1つの他のコンピュータ・システムからの前記第1
    の順序付きメッセージに対する応答を待つことなしに、
    第2の順序付きメッセージを送信するステップとを含む
    方法。
  7. 【請求項7】前記クラスタ内の前記少なくとも1つの他
    のコンピュータ・システムが、前記第1および第2の順
    序付きメッセージの双方を確認する単一の確認メッセー
    ジを前記クラスタ通信機構へ送信することによって前記
    第1および第2の順序付きメッセージに応答するステッ
    プをさらに含む請求項6に記載の方法。
  8. 【請求項8】前記第1および第2の順序付きメッセージ
    は、各々、前記第1および第2の順序付きメッセージに
    対する確認メッセージを遅らせて少なくとも1つの後続
    の確認メッセージと共にグループ化できるか否か指示す
    る情報を有するヘッダを含む請求項6に記載の方法。
  9. 【請求項9】プログラム・プロダクトであって、 (A)次の順序付きメッセージを発信するよりも前に、
    少なくとも1つの他のコンピュータ・システムからの確
    認応答を待つことなしにクラスタ内の少なくとも1つの
    他のコンピュータ・システムへ少なくとも1つの順序付
    きメッセージを伝達するスライディング送信ウィンドウ
    を有するクラスタ通信機構(A1)を含むコンピュータ
    ・プログラム、 (B)前記コンピュータ・プログラムを伝達するコンピ
    ュータ読み取り可能信号伝達媒体、 を備えるプログラム・プロダクト。
  10. 【請求項10】前記信号伝達媒体は、記録可能媒体より
    なる請求項9に記載のプログラム・プロダクト。
  11. 【請求項11】前記信号伝達媒体は、伝送媒体よりなる
    請求項9に記載のプログラム・プロダクト。
  12. 【請求項12】各順序付きメッセージは、前記順序付き
    メッセージに対する確認メッセージを遅らせて少なくと
    も1つの後続の確認メッセージと共にグループ化できる
    か否か指示する情報を有するヘッダを含む請求項9に記
    載のプログラム・プロダクト。
JP2001336277A 2000-11-22 2001-11-01 コンピュータ・システム、ネットワーク・コンピュータ・システムおよびクラスタ・コンピュータ環境においてタスクを処理するコンピュータ実装方法 Expired - Fee Related JP3689361B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/718924 2000-11-22
US09/718,924 US7185099B1 (en) 2000-11-22 2000-11-22 Apparatus and method for communicating between computer systems using a sliding send window for ordered messages in a clustered computing environment

Publications (2)

Publication Number Publication Date
JP2002223214A true JP2002223214A (ja) 2002-08-09
JP3689361B2 JP3689361B2 (ja) 2005-08-31

Family

ID=24888112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001336277A Expired - Fee Related JP3689361B2 (ja) 2000-11-22 2001-11-01 コンピュータ・システム、ネットワーク・コンピュータ・システムおよびクラスタ・コンピュータ環境においてタスクを処理するコンピュータ実装方法

Country Status (4)

Country Link
US (1) US7185099B1 (ja)
JP (1) JP3689361B2 (ja)
KR (1) KR100436471B1 (ja)
TW (1) TW533358B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004064333A1 (ja) * 2003-01-10 2004-07-29 Sharp Kabushiki Kaisha 通信装置、ネットワークシステム、通信管理方法、要求信号、応答信号、プログラム、および、プログラムを記録した記録媒体
JP2006178961A (ja) * 2004-12-10 2006-07-06 Microsoft Corp 要求−応答トランスポートプロトコルによる高信頼一方向メッセージング
JP2007148748A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2009217765A (ja) * 2008-03-13 2009-09-24 Hitachi Ltd 複数宛先への同期送信方法、その実施システム及び処理プログラム
JP2010124490A (ja) * 2003-02-03 2010-06-03 Sony Corp 通信方法及び通信装置、並びにコンピュータプログラム
KR101528804B1 (ko) * 2013-08-30 2015-06-16 에스케이텔레콤 주식회사 복수의 메시지를 처리하기 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체
JP2020127218A (ja) * 2015-09-21 2020-08-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) フィードバック送信のタイミングを制御するための方法および装置
JP2022014444A (ja) * 2020-07-06 2022-01-19 豊疆智能(深▲セン▼)有限公司 端末、サーバ、モノのインターネットのデータ伝送方法及びデータ伝送システム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246356B1 (en) * 2003-01-29 2007-07-17 Adobe Systems Incorporated Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server
US7287256B1 (en) 2003-03-28 2007-10-23 Adobe Systems Incorporated Shared persistent objects
US7095739B2 (en) * 2003-11-25 2006-08-22 Cisco Technology, Inc. Reliable multicast communication
US20050122977A1 (en) * 2003-12-05 2005-06-09 Microsoft Corporation Efficient download mechanism for devices with limited local storage
JP4852009B2 (ja) * 2007-08-09 2012-01-11 富士通株式会社 電子機器
US8997115B2 (en) * 2007-08-31 2015-03-31 International Business Machines Corporation Method for data delivery in a network
US8625475B2 (en) * 2007-09-24 2014-01-07 Qualcomm Incorporated Responding to an interactive multicast message within a wireless communication system
JP5045472B2 (ja) * 2008-02-07 2012-10-10 富士通株式会社 メール管理装置、メール管理方法およびメール管理プログラム
EP2234333B1 (en) * 2009-03-23 2015-07-15 Corvil Limited System and method for estimation of round trip times within a tcp based data network
US8594006B2 (en) * 2010-01-27 2013-11-26 Qualcomm Incorporated Setting up a multicast group communication session within a wireless communications system
US8576711B1 (en) * 2010-09-28 2013-11-05 Google Inc. System and method for reducing latency via client side dynamic acknowledgements
US10742259B1 (en) 2018-03-26 2020-08-11 Lynq Technologies, Inc. Generating a frequency hopping arrangement for a communication session involving a group of devices

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709365A (en) 1983-10-31 1987-11-24 Beale International Technology Limited Data transmission system and method
US5146590A (en) 1989-01-13 1992-09-08 International Business Machines Corporation Method for sorting using approximate key distribution in a distributed system
US5179699A (en) 1989-01-13 1993-01-12 International Business Machines Corporation Partitioning of sorted lists for multiprocessors sort and merge
FI87290C (fi) 1991-01-17 1992-12-10 Kone Oy Foerfarande foer bestaemning av meddelandeidentifierare i ett foer hissar avsett datanaet
US5528605A (en) * 1991-10-29 1996-06-18 Digital Equipment Corporation Delayed acknowledgement in an asymmetric timer based LAN communications protocol
JPH05204811A (ja) 1992-01-23 1993-08-13 Nec Corp 管理情報通信システム
JP3415914B2 (ja) 1993-10-12 2003-06-09 富士通株式会社 並列マージソート処理方法
US5729687A (en) 1993-12-20 1998-03-17 Intel Corporation System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information
JP3177117B2 (ja) 1994-05-11 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 複数のノード内の制御コードを更新する方法および装置
US5973724A (en) 1995-02-24 1999-10-26 Apple Computer, Inc. Merging multiple teleconferences
US5787249A (en) 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
US6216150B1 (en) 1996-04-30 2001-04-10 International Business Machines Corporation Program product for an application programming interface unifying multiple mechanisms
US5704032A (en) 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
US5805786A (en) 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5883939A (en) 1996-08-29 1999-03-16 Cornell Research Foundation, Inc. Distributed architecture for an intelligent networking coprocessor
US6038216A (en) * 1996-11-01 2000-03-14 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6108699A (en) 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
US6553404B2 (en) * 1997-08-08 2003-04-22 Prn Corporation Digital system
US6049833A (en) 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6115749A (en) * 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US5999712A (en) 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6065062A (en) 1997-12-10 2000-05-16 Cisco Systems, Inc. Backup peer pool for a routed computer network
US6545981B1 (en) * 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6360330B1 (en) 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
CA2237264A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Receiver based congestion control
US6343320B1 (en) 1998-06-09 2002-01-29 Compaq Information Technologies Group, L.P. Automatic state consolidation for network participating devices
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
US6381215B1 (en) 1998-06-29 2002-04-30 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
US6496481B1 (en) * 1998-07-16 2002-12-17 Industrial Technology Research Institute Data transfer method for wire real-time communications
JP3615057B2 (ja) 1998-07-17 2005-01-26 株式会社東芝 ラベルスイッチングパス設定方法及びノード装置
US6338092B1 (en) * 1998-09-24 2002-01-08 International Business Machines Corporation Method, system and computer program for replicating data in a distributed computed environment
US6367029B1 (en) 1998-11-03 2002-04-02 Sun Microsystems, Inc. File server system tolerant to software and hardware failures
US6427148B1 (en) 1998-11-09 2002-07-30 Compaq Computer Corporation Method and apparatus for parallel sorting using parallel selection/partitioning
JP2000156706A (ja) 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> データ送受信方法並びにデータ送信プログラムを記憶した媒体及びデータ受信プログラムを記憶した媒体
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
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
JP2000196677A (ja) 1998-12-28 2000-07-14 Fujitsu Ltd ネットワ―クシステムに用いられる中継装置
US6363495B1 (en) 1999-01-19 2002-03-26 International Business Machines Corporation Method and apparatus for partition resolution in clustered computer systems
US6507863B2 (en) 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
US6317867B1 (en) 1999-01-29 2001-11-13 International Business Machines Corporation Method and system for clustering instructions within executable code for compression
US6564372B1 (en) 1999-02-17 2003-05-13 Elbrus International Limited Critical path optimization-unzipping
US6757698B2 (en) 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6425014B1 (en) 1999-09-22 2002-07-23 International Business Machines Corporation Methods, systems and computer program products for providing network connection information in a cluster of data processing systems
US6408310B1 (en) 1999-10-08 2002-06-18 Unisys Corporation System and method for expediting transfer of sectioned audit files from a primary host to a secondary host
US6625639B1 (en) * 1999-10-20 2003-09-23 International Business Machines Corporation Apparatus and method for processing a task in a clustered computing environment
US6460039B1 (en) 1999-12-09 2002-10-01 International Business Machines Corporation Middleware support for primary component in a partitionable cluster environment
US6847984B1 (en) 1999-12-16 2005-01-25 Livevault Corporation Systems and methods for backing up data files
US6574668B1 (en) * 2000-01-25 2003-06-03 Cirrus Logic, Inc. Retransmission scheme in wireless computer networks
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US20030041138A1 (en) 2000-05-02 2003-02-27 Sun Microsystems, Inc. Cluster membership monitor
US6973473B1 (en) * 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US6578032B1 (en) 2000-06-28 2003-06-10 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US6839752B1 (en) * 2000-10-27 2005-01-04 International Business Machines Corporation Group data sharing during membership change in clustered computer system

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004064333A1 (ja) * 2003-01-10 2004-07-29 Sharp Kabushiki Kaisha 通信装置、ネットワークシステム、通信管理方法、要求信号、応答信号、プログラム、および、プログラムを記録した記録媒体
US8619806B2 (en) 2003-02-03 2013-12-31 Sony Corporation Communication method and communication device as well as computer program
JP2010124490A (ja) * 2003-02-03 2010-06-03 Sony Corp 通信方法及び通信装置、並びにコンピュータプログラム
US8249093B2 (en) 2003-02-03 2012-08-21 Sony Corporation Communication method and communication device as well as computer program
JP2006178961A (ja) * 2004-12-10 2006-07-06 Microsoft Corp 要求−応答トランスポートプロトコルによる高信頼一方向メッセージング
JP2007148748A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2009217765A (ja) * 2008-03-13 2009-09-24 Hitachi Ltd 複数宛先への同期送信方法、その実施システム及び処理プログラム
KR101528804B1 (ko) * 2013-08-30 2015-06-16 에스케이텔레콤 주식회사 복수의 메시지를 처리하기 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체
JP2020127218A (ja) * 2015-09-21 2020-08-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) フィードバック送信のタイミングを制御するための方法および装置
US11070326B2 (en) 2015-09-21 2021-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for controlling timing of feedback transmissions
JP7000490B2 (ja) 2015-09-21 2022-01-19 テレフオンアクチーボラゲット エルエム エリクソン(パブル) フィードバック送信のタイミングを制御するための方法および装置
US11711175B2 (en) 2015-09-21 2023-07-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for controlling timing of feedback transmissions
JP2022014444A (ja) * 2020-07-06 2022-01-19 豊疆智能(深▲セン▼)有限公司 端末、サーバ、モノのインターネットのデータ伝送方法及びデータ伝送システム
US11664929B2 (en) 2020-07-06 2023-05-30 Fj Dynamics Co., Ltd. Terminal, server, internet of things data transmission method, and data transmission system
JP7320564B2 (ja) 2020-07-06 2023-08-03 豊疆智能(深▲セン▼)有限公司 端末、サーバ、モノのインターネットのデータ伝送方法及びデータ伝送システム

Also Published As

Publication number Publication date
US7185099B1 (en) 2007-02-27
KR20020040552A (ko) 2002-05-30
JP3689361B2 (ja) 2005-08-31
KR100436471B1 (ko) 2004-06-22
TW533358B (en) 2003-05-21

Similar Documents

Publication Publication Date Title
JP3689361B2 (ja) コンピュータ・システム、ネットワーク・コンピュータ・システムおよびクラスタ・コンピュータ環境においてタスクを処理するコンピュータ実装方法
US7444405B2 (en) Method and apparatus for implementing a MAC address pool for assignment to a virtual interface aggregate
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
JP4012545B2 (ja) リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート
US5699500A (en) Reliable datagram service provider for fast messaging in a clustered environment
US6823512B1 (en) Apparatus and method for providing and processing prioritized messages in an ordered message clustered computing environment
US8201190B2 (en) Sharing a network I/O adapter between logical partitions
KR101006260B1 (ko) 네트워크 프로토콜 처리의 오프로드에서 메모리 관리를 지원하기 위한 장치 및 방법
US5526358A (en) Node management in scalable distributed computing enviroment
JP3384686B2 (ja) 通信ネットワークから情報を受信するための方法および装置
US8086747B2 (en) Group-to-group communication over a single connection
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US6934768B1 (en) Dynamic modification of fragmentation size cluster communication parameter in clustered computer system
JP2008507201A (ja) ネットワーク・プロトコル処理のオフロードにおいて接続確立をサポートする装置および方法
JP2008033952A (ja) 共通作業キュー環境における最適格サーバ
EP1589424A2 (en) Vertical perimeter framework for providing application services in multi-CPU environments
US7240088B2 (en) Node self-start in a decentralized cluster
US7039680B2 (en) Apparatus and method for timeout-free waiting for an ordered message in a clustered computing environment
US7962656B1 (en) Command encoding of data to enable high-level functions in computer networks
JPH06266643A (ja) サーバプログラム管理方法
CN117041147B (zh) 智能网卡设备、主机设备和方法及系统
CN110928702B (zh) 多进程消息通讯系统
Hughes LAN gateway designs for multicast communication
CN110928703A (zh) 多进程通讯注册方法和装置
Ni et al. REUSE: A Reliable Unified Service Environment for Distributed Systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees