JP2002543491A - 分散コンピューティング環境のための通信アーキテクチャ - Google Patents
分散コンピューティング環境のための通信アーキテクチャInfo
- Publication number
- JP2002543491A JP2002543491A JP2000614119A JP2000614119A JP2002543491A JP 2002543491 A JP2002543491 A JP 2002543491A JP 2000614119 A JP2000614119 A JP 2000614119A JP 2000614119 A JP2000614119 A JP 2000614119A JP 2002543491 A JP2002543491 A JP 2002543491A
- Authority
- JP
- Japan
- Prior art keywords
- node
- work
- nodes
- request
- director
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
Description
ティング環境のための通信アーキテクチャに関する。
素で行なわれるが、このコンピューティング要素はしばしば「ノード」と呼ばれ
る。分散コンピューティングの文脈においては、「作業」という用語はデータの
どのような処理をも指す。ノードの一例は、1つ以上のプロセスまたはスレッド
を実行し得るコンピュータシステムである。分散コンピューティング環境におけ
るノードは典型的には、たとえばネットワークを介して通信結合されて、ノード
上のプロセスが他のノード上のリソースにアクセスすることを可能にする。ハー
ドウェアの文脈では、リソースは一般的には、プリンタ、ディスクドライブまた
はメモリなどの装置である。ソフトウェアの文脈では、リソースは一般的にデー
タ要素またはルーチンである。
業を確実に完了させるために、異なったノードにあるプロセスの間にどのように
通信を提供するかということである。2つのそのような先行技術には、直接通信
アーキテクチャと管理通信アーキテクチャとが含まれる。
信して、作業の実行を要求し、作業結果を獲得する。図1は、直接通信アーキテ
クチャ方策を用いる分散コンピューティングシステム100を示す。分散コンピ
ューティングシステム100はノードN1−N5を含む。ノードN1およびN2
は各々、コネクションを介してノードN3−N5に通信結合され、それによりノ
ードN1およびN2とノードN3−N5との間のデータの交換がもたらされる。
特定的には、ノードN1はコネクション102を介してノードN3に、コネクシ
ョン104を介してノードN4に、コネクション106を介してノードN5に結
合される。ノードN2は、コネクション108を介してノードN3に、コネクシ
ョン110を介してノードN4に、コネクション112を介してノードN5に結
合される。
ードと称する。クライアントノード上の作業の実行を要求するプロセスはクライ
アントプロセスである。他のノードのプロセスにサービスを提供し、および/ま
たは他のノードのプロセスのために作業を実行するプロセスを有するノードを、
以下「サーバ」ノードと称する。クライアントプロセスにサービスを提供し、お
よび/またはクライアントプロセスのために作業を実行するサーバノードのプロ
セスは、サーバプロセスである。ノードは、クライアントプロセスと、実行する
サーバプロセスとの両方を有することもあるので、ここでは「クライアントノー
ド」および「サーバノード」という用語は先行技術の方策とこの発明の実施例と
の理解を助けるために用いる。
クライアントノードであるのに対し、ノードN3−N5はサーバノードである。
クライアントノードN1の特定のクライアントプロセスが、サーバノードN3で
の作業の実行を要求する場合、その特定のクライアントプロセスは、コネクショ
ン102を介して直接ノードN3のサーバプロセスに要求を送る。要求はどのよ
うな形式であってもよく、たとえばリモートプロシジャコール(RPC)であっ
てもよい。サーバノードN3のプロセスは要求された作業を実行し、結果を直接
その特定のクライアントプロセスに提供する。作業はクライアントノードN2の
クライアントプロセスのために同様に、サーバノードN3−N5で実行される。
トプロセスのために作業を実行し得るサーバプロセスに直接通信する。この方策
の不利点は、クライアントプロセスが、要求される作業をどのサーバプロセスが
行ない得るかをわかっていなければならないことである。どのサーバプロセスか
ら提供されるサービスが変化した場合にも、クライアントノードがその変化に気
づくようにしなければならない。同様に、新しいサービスが提供された場合でも
、クライアントプロセスが新しいサーバノードに気づくようにしなければならな
い。サーバプロセスによって提供されるサービスは、サーバプロセスによって実
行される動作が変化した場合、またはサーバプロセスが動作するリソースが変化
した場合に変化し得る。多数のクライアントプロセスとサーバノードとを備える
分散コンピューティングシステムにおいては、すべてのクライアントプロセスを
更新状態に保つために顕著な量のシステムリソースが必要となる。
こでは「ディレクタ」と称する管理プロセスに送る。ディレクタは作業要求を、
要求された作業を実行し得る適切なサーバプロセスに転送する。作業を実行した
後で、サーバプロセスは作業結果をディレクタに送り、これは作業結果を最初に
作業要求を行なったクライアントプロセスに転送する。
ム200を示す。分散コンピューティングシステム200は、クライアントノー
ドN1およびN2と、サーバノードN3−N5とを含む。クライアントノードN
1およびN2は各々、コネクション204と206とをそれぞれ介してディレク
タ202に通信結合される。クライアントノードN1およびN2のクライアント
プロセスは、コネクション204および206を介して作業要求をディレクタ2
02に提示する。ディレクタ202は、サーバノードN3−N5のうちのいずれ
が要求された作業を行ない得るかを判断し、作業要求をそれぞれコネクション2
08、210および212を介してサーバノードN3−N5の適切なサーバプロ
セスに送る。その適切なサーバプロセスが要求された作業を実行した後で、サー
バプロセスは作業結果をディレクタ202に与える。ディレクタ202は次いで
作業結果を、作業を要求したクライアントプロセスに転送する。
3−N5によってもたらされたサービスの記録をとる。その結果、サーバノード
N3−N5によってもたらされるサービスに変化が生じた場合、ディレクタ20
2だけがそれを知る必要があり、クライアントノードN1およびN2のクライア
ントプロセスはこれを知る必要がない。これにより、サーバノードN3−N5に
よってもたらされるサービスにおける変化の記録をとるために要求されるシステ
ムリソースの量が、特に多数のサーバノードがある場合、減じられる。しかしな
がら、管理通信アーキテクチャ方策は、ディレクタ202に関連の付加的なメッ
セージトラフィックを管理するために、直接通信アーキテクチャよりもより多く
のシステムリソースを必要とする。たとえば、単一の作業要求のために、直接通
信アーキテクチャ方策は2つのメッセージを必要とするが、1つのメッセージは
クライアントプロセスからサーバプロセスへのものであり、1つのメッセージは
サーバプロセスからクライアントプロセスに返信されるものである。同じ作業要
求を処理するために、管理通信アーキテクチャは4つのメッセージを必要とする
が、1つはクライアントプロセスからディレクタへのものであり、1つはディレ
クタからサーバプロセスへのものであり、1つはサーバプロセスからディレクタ
に返信されるものであり、1つはディレクタからクライアントプロセスに返信さ
れるものである。
信アーキテクチャにおける制限とに基づき、上述の方策における制限をなくす分
散コンピューティング環境のための通信アーキテクチャが強く望まれる。
システムでデータを処理するための方法が提供される。方法は、第1のノードの
第1のプロセスからの、第1の作業の実行に対する第1の作業要求の受取りに応
答して、第1の作業に基づいて、第1の作業が第2のノードで実行されるべきこ
とを判断するステップと、第1の作業要求を第2のノードの第2のプロセスに与
えるステップとを含む。第1の作業要求は、第1のプロセスが第2のプロセスか
ら直接第1の作業結果を受けるべきことを明記する。
ステムでデータを処理するための方法が提供される。ディレクタは、第1のクラ
イアントノードの第1のクライアントプロセスから、第1のリモートプロシジャ
コールを受取る。第1のリモートプロシジャコールは、第1の作業の実行と、第
1の作業の結果を直接第1の作業プロセスに与えることとを要求する。ディレク
タは第1のリモートプロシジャコールを調べ、第1のサーバノードの第1のサー
バプロセスが第1の作業を行なうべきことを判断する。次いでディレクタは、第
1のサーバプロセスに第1のリモートプロシジャコールを与える。
システムは、複数のノードと、複数のノードに通信結合されたディレクタとを含
む。ディレクタは、第1のノードの第1のプロセスからの、第1の作業の実行に
対する第1の作業要求に応答して、第1の作業が、複数のノードのうちの第2の
ノードで行なわれるべきことを判断するよう構成される。ディレクタはさらに、
第1の作業が第2のノードの第2のプロセスによって実行され、かつ第1の作業
の第1の結果が第2のプロセスから直接第1のプロセスに与えられることを要求
するよう構成される。
され、図面の同様の参照符号は同様の要素を示す。
の細部を述べる。しかしながら、この発明はこれらの特定の細部なしでも実行さ
れることを理解されたい。別の例においては、発明を不必要に不明瞭にすること
を避けるために周知の構造および装置をブロック図で示す。
するための通信アーキテクチャは、一般的に作業要求をディレクタに送るクライ
アントノードのクライアントプロセスを含む。ディレクタは作業要求を調べ、要
求される作業を実行するために必要となるリソースおよび/またはサービスを判
断する。ディレクタは次いで、作業要求を要求された作業を実行し得るサーバノ
ードのサーバプロセスに転送する。サーバプロセスに与えられた作業要求は、作
業結果が作業要求を行なったクライアントプロセスにサーバプロセスから直接与
えられるべきことを明記する。したがって、サーバプロセスはそれらの作業結果
を直接作業を要求したクライアントプロセスに与え、こうしてディレクタをバイ
パスする。この方策は、クライアントプロセスがサーバプロセスによって与えら
れるサービスに気づく必要性をなくす一方で、従来の管理通信アーキテクチャよ
りも比較的少ないシステムリソースしか必要としない。
を用いる分散コンピューティングシステム300を示す。分散コンピューティン
グシステム300は、クライアントノードN1およびN2と、サーバノードN3
−N5とを含む。クライアントノードN1およびN2は各々、コネクション30
4および306を介してそれぞれディレクタ302に通信結合される。クライア
ントノードN1およびN2のクライアントプロセスはコネクション304および
306を介してディレクタ302に作業要求を提示する。ディレクタ302は、
サーバノードN3−N5のうちのどれが要求された作業を実行し得るかを判断し
、作業要求をコネクション308、310および312のそれぞれ上の1つ以上
のサーバノードN3−N5のサーバプロセスに転送する。ディレクタ302は次
いで、作業要求を特定のサーバプロセスに転送する。作業要求は、要求された作
業を実行した結果がどこに、すなわちクライアントノードN1またはN2のいず
れに送られるべきかを明記する。ディレクタ302を以下により詳細に説明する
。
サーバノードN3−N5は、ディレクタ302をバイパスして作業結果を直接、
作業要求を行なったクライアントノードN1およびN2のクライアントプロセス
に与える。特定的には、サーバノードN3のサーバプロセスは、コネクション3
14および316のそれぞれを介してクライアントノードN1およびN2のクラ
イアントプロセスに作業結果を提供する。サーバノードN4のサーバプロセスは
、コネクション318および320のそれぞれを介してクライアントノードN1
およびN2のクライアントプロセスに作業結果を提供する。サーバノードN5の
サーバプロセスは、コネクション322および324のそれぞれを介してクライ
アントノードN1およびN2のクライアントプロセスに作業結果を提供する。
のブロック図および図4のフローチャート400の両方を参照して説明する。図
4を参照すると、ステップ402で開始した後に、ステップ404において、要
求する側、たとえばクライアントノードN1のクライアントプロセスは、コネク
ション304または306を通して作業要求をディレクタ302に送る。ステッ
プ406においては、ディレクタ302は作業要求を調べ、サーバノードN3−
N5のどれが要求された作業を行ない得るかを判断する。この発明の一実施例に
よると、ディレクタ302は、要求された作業を行なうために必要となるサービ
スを識別するために作業要求を調べるが、ここでサービスとは特定のリソースで
の動作である。ディレクタ302は次いで、要求されたサービスをサーバノード
N3−N5がサポートするサービスと比較し、サーバノードN3−N5のどれが
要求されたサービスをもたらし得るかを判断する。
リソースへの排他的権利(すなわち、ロック)を保有するサーバノードN3−N
5の特定のサーバプロセスを判断することにより、要求されるサービスをサーバ
ノードN3−N5のどれがもたらし得るかを判断する。
る1つ以上のサーバノードN3−N5のサーバプロセスに作業要求を送る。1つ
以上のサーバノードN3−N5のサーバプロセスに送られた作業要求は、作業結
果が作業の実行を要求したクライアントノードN1またはN2のクライアントプ
ロセスに直接送られるべきことを明記する。
行に対する特定の作業要求を、コネクション302を介してディレクタ302に
送ったと仮定する。ディレクタ302は、この特定の作業要求を調べ、サーバノ
ードN3のサーバプロセスがこの特定の作業を実行し得ると判断する。ディレク
タ302は、この特定の作業要求をサーバノードN3のサーバプロセスに送る。
サーバノードN3のサーバプロセスに送られたこの特定の作業要求は、この特定
の作業の結果はクライアントノードN1のクライアントプロセスに送られるべき
ことを明記する。
要求は、クライアントノードN1のクライアントプロセスが特定の作業の結果を
受取るべきことを明記し得る。この発明の別の実施例によると、クライアントノ
ードN1からの特定の作業要求は、クライアントノードN1がその特定の作業の
結果を受取るべきことを明記しない。この状況においては、ディレクタ302が
どこで作業要求が発生したかを、すなわちクライアントノードN1で発生したこ
とを判断し、その特定の作業の結果がどこに送られるべきかを、すなわちクライ
アントノードN1のクライアントプロセスに送られるべきことを明記する新しい
特定の作業要求を生成する。
作業要求は、作業が実行されるべきサーバノードの各々のサーバプロセスに送ら
れる。作業要求の各々は、作業要求が送られるべきクライアントノードを明記す
る。たとえば、クライアントノードN1からの特定の作業要求に対してディレク
タ302がサーバノードN3およびN4の両方がその特定の作業を実行するため
に必要であると判断したと仮定する。ディレクタ302は、サーバノードN3お
よびN4の両方のサーバプロセスに作業要求を与える。両方の作業要求が、クラ
イアントノードN1のクライアントプロセスがその特定の作業の結果を受けるべ
きことを明記する。
が実行される。ステップ412において、作業結果は作業を実行したサーバノー
ドN3−N5のサーバプロセスから直接、コネクション314、316、318
、320、322または324上の作業を要求したクライアントノードN1また
はN2のクライアントプロセスに与えられる。たとえば、もしクライアントノー
ドN1のクライアントプロセスが作業を要求し、ディレクタ302が作業要求を
サーバノードN3のサーバプロセスに送っていれば、サーバノードN3のサーバ
プロセスは作業結果をコネクション314上のクライアントノードN1のクライ
アントプロセスに与える。もし作業要求をサーバノードN4およびN5のサーバ
プロセスに送っていれば、作業結果はコネクション318および322のそれぞ
れの上のクライアントノードN1に与えられる。プロセスはステップ414にお
いて完了する。
以上のクライアントノードN1およびN2、サーバノードN3−N5、または1
つ以上の他のノード(図示せず)において実現され得る。1つ以上のディレクタ
を分散コンピューティングシステムで用い得る。たとえば、多数のクライアント
ノードを有する分散コンピューティングシステムにおいていくつものディレクタ
を用いると、単一のディレクタが処理する作業要求の数を減じることによりシス
テム性能を向上させることができる。たとえば、30個のクライアントノードと
5個のサーバノードを有する分散コンピューティングシステムにおいては、3個
のディレクタを用い得る。ディレクタの各々は、10個のクライアントノードに
サービスし、5個のサーバノードのすべてに作業要求を提供する。
プロセスによってもたらされるサービスの記録をとることにより、作業要求は正
しいサーバノードN3−N5に転送されることができる。この発明の一実施例に
従うと、ディレクタ302はサーバノードN3−N5と実行するサーバプロセス
との大域状態を維持する。次いでディレクタ302は、作業要求を処理するため
に必要となるリソースに対する排他的権利をどのサーバプロセスが保持するかを
判断する論理を実現する。
ースデータのテーブル500である。テーブル500は、分散コンピューティン
グシステム300におけるサーバノードN3−N5ごとのエントリ502、50
4、および506を含む。エントリ502、504および506の各々は、エン
トリ502、504および506が関連づけられるサーバノードを明記し(サー
バノードID)、かつ関連のサーバノードによってもたらされるおよび/または
そこで利用可能であるサービスおよび/またはリソースを明記する(サーバノー
ドサービスデータ)。たとえば、エントリ502はサーバノードN3と関連づけ
られ、サーバノードN3によって提供されるサービスを明記するデータ(データ
1)を含む。
ーブル500に反映される。さらに、もし新しいサーバノード(図示せず)が分
散コンピューティングシステム300に追加されると、新しいサーバノードのた
めに新しいエントリがテーブル500に加えられる。同様に、もしサーバノード
N3−N5が分散コンピューティングシステム300から除去されると、除去さ
れたサーバノードN3−N5に関連のエントリ502、504、506がテーブ
ル500から除去される。
めの通信アーキテクチャは、ディスクリートハードウェア回路、コンピュータソ
フトウェア、またはディスクリートハードウェア回路とコンピュータソフトウェ
アとの組合せにおいて実現化し得る。この発明に従ってここで説明される通信ア
ーキテクチャは、通信プロトコルの特定の種類に制限されるものではない。たと
えば、ノード間通信がリモートプロシジャコール(RPC)または離れたノード
で作業が実行されることを要求するための他のいかなるメッセージプロトコルに
よっても実現されてもよい。
ロック図である。コンピュータシステム600は、バス602または情報を通信
するための他の通信機構と、情報を処理するためにバス602に結合されるプロ
セッサ604とを含む。コンピュータシステム600はまた、ランダムアクセス
メモリ(RAM)または他のダイナミック記憶装置などのメインメモリ606を
含み、これはバス602に結合されて、情報およびプロセッサ604によって実
行されるべき命令をストアする。メインメモリ606はまた、プロセッサ604
によって実行されるべき命令の実行の間に一時的変数または他の中間情報をスト
アするためにも用い得る。コンピュータシステム600はさらに、バス602に
結合されて静的情報およびプロセッサ604のための命令をストアするための読
出専用メモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクま
たは光ディスクなどの記憶装置610が提供されバス602に結合されて命令お
よび情報をストアする。
のディスプレイ612に結合され、コンピュータユーザに対して情報を表示し得
る。英数字キーおよび他のキーを含む入力装置614は、バス602に結合され
てプロセッサ604に情報およびコマンド選択を通信する。他の種類のユーザ入
力装置は、プロセッサ604に対して方向情報とコマンド選択とを通信し、かつ
ディスプレイ612上のカーソルの動きを制御するための、マウス、トラックボ
ール、またはカーソル方向キーなどのカーソル制御616である。この入力装置
は典型的には2つの軸、すなわち第1の軸(たとえばx)および第2の軸(たと
えばy)で2つの自由度を有し、装置が平面上の場所を明記することを可能にす
る。
実現するためのコンピュータシステム600の使用に関わる。この発明の一実施
例によると、分散コンピューティングシステムのための通信アーキテクチャは、
メインメモリ606内に含まれる1つ以上の命令の1つ以上のシーケンスをプロ
セッサ604が実行することに応答するコンピュータシステム600によって提
供される。そのような命令は、記憶装置610などの別のコンピュータ可読媒体
からメインメモリ606に読出され得る。メインメモリ606内に含まれる命令
シーケンスの実行は、ここで記載されるプロセスステップをプロセッサ604に
行なわせる。マルチプロセッシング構成における1つ以上のプロセッサを用いて
、メインメモリ606内に含まれる命令シーケンスを実行してもよい。代替的な
実施例においては、ソフトウェア命令の代わりに、またはこれと組合わせてハー
ドウェアに組み込まれた回路を用い、この発明を実現してもよい。よって、この
発明の実施例はハードウェア回路とソフトウェアとの特定の組合せに制限される
ものではない。
セッサ604に命令を与えることに関わるいかなる媒体をも指す。そのような媒
体は、これに制限されるものではないが、不揮発性媒体、揮発性媒体、伝送媒体
を含む多くの形式を採り得る。不揮発性媒体はたとえば、記憶装置610などの
光学または磁気ディスクを含む。揮発性媒体は、たとえばメインメモリ606な
どのダイナミックメモリを含む。伝送媒体は、バス602を形成するワイヤを含
む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体は、電波および赤外
線データ通信の間に生成されるもののような音波または光波の形をもとり得る。
、フレキシブルディスク、ハードディスク、磁気テープ、または他のいかなる磁
気媒体、CD−ROM、他のいかなる光媒体、パンチカード、紙テープ、穿孔パ
ターンを有する他のいかなる物理的媒体、RAM、PROM、およびEPROM
、FLASH−EPROM、他のいかなるメモリチップまたはカートリッジ、以
下に説明する搬送波、またはコンピュータが読出すことができる他のいかなる媒
体をも含む。
ッサ604への搬送において、さまざまな形式のコンピュータ可読媒体が関わり
得る。たとえば、命令は最初にリモートコンピュータの磁気ディスクで担持され
てもよい。リモートコンピュータは、そのダイナミックメモリに命令をローディ
ングし、その命令をモデムを用いて電話線を通して送信する。コンピュータシス
テム600にローカルなモデムは電話線上のデータを受取り、赤外線トランスミ
ッタを用いてデータを赤外線信号に変換することができる。赤外線検出器はバス
602に結合されて、赤外線信号で搬送されるデータを受取り、データをバス6
02に入れる。バス602はデータをメインメモリ606に運び、ここからプロ
セッサ604が検索して命令を実行する。メインメモリ606によって受取られ
た命令は、プロセッサ604による実行の前または後に任意で記憶装置610に
ストアされてもよい。
ェイス618を含む。通信インターフェイス618は、ローカルネットワーク6
22に接続されるネットワークリンク620に結合する双方向データ通信を提供
する。たとえば、通信インターフェイス618は統合サービスデジタルネットワ
ーク(ISDN)カードまたはモデムであって、対応の種類の電話線にデータ通
信接続を提供してもよい。別の例としては、通信インターフェイス618はロー
カルエリアネットワーク(LAN)カードであって、互換性のあるLANにデー
タ通信接続を提供してもよい。無線リンクもまた実現され得る。そのようないず
れの実現化においても、通信インターフェイス618は、さまざまな種類の情報
を表わすデジタルデータストリームを搬送する電気、電磁、または光信号を送受
信する。
のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク620は
ローカルネットワーク622を介してホストコンピュータ624へ、またはイン
ターネットサービスプロバイダ(ISP)626によって動作されるデータ装備
に接続を提供し得る。ISP626は、データ通信サービスを、現在「インター
ネット」628と一般に呼ばれるワールドワイドパケットデータ通信ネットワー
クを介してデータ通信サービスを提供する。ローカルネットワーク622および
インターネット628の両方とも、デジタルデータストリームを搬送する電気、
電磁または光信号を用いる。デジタルデータをコンピュータシステム600との
間で搬送する、さまざまなネットワークを介する信号および、ネットワークリン
ク620上のおよび通信インターフェイスを介する信号は、情報を伝送するため
の搬送波の例示的な形式である。
よび通信インターフェイス618を介してプログラムコードを含むデータの受信
およびメッセージの送信を行ない得る。インターネットの例においては、サーバ
630はインターネット628、ISP626、ローカルネットワーク622お
よび通信インターフェイス618を介してアプリケーションプログラムのための
要求されたコードを転送し得る。この発明に従うと、そのようなダウンロードさ
れたアプリケーションの1つは、ここで記載されるような分散コンピューティン
グシステムのための通信アーキテクチャの実現化をもたらす。
および/または、後で実行するために記憶装置610、または他の不揮発性記憶
装置内にストアされる。この態様で、コンピュータシステム600は搬送波の形
式でアプリケーションコードを獲得することができる。
の先行技術の通信アーキテクチャに対していくつもの利点を提供する。第1に、
サーバノードに対して作業要求を転送するためにディレクタを用いると、クライ
アントノードによってどのサービスが提供されるのかをクライアントノードが知
る必要性をなくすことができる。その結果、クライアントノードはサーバノード
によってもたらされるサービスにおける変化を知らされる必要がない。さらに、
この方策は作業を実行し、かつ作業結果をクライアントプロセスに与えるために
管理通信アーキテクチャ方策よりも少ない数のメッセージ転送しか必要としない
が、これは作業結果がサーバノードから直接クライアントノードに与えられるた
めである。たとえば、作業要求を処理するために、管理通信アーキテクチャ方策
であれば4つのメッセージを必要とするところを、この発明の実施例は3つのメ
ッセージしか必要としない。特定的には、この3つのメッセージは、クライアン
トプロセスからディレクタへの1つと、ディレクタからサーバプロセスへの1つ
と、サーバプロセスからクライアントプロセスに返信される1つとを含む。
ながら、この発明の広い精神および範囲から逸脱することなくさまざまな修正お
よび変更を行ない得ることが明らかであろう。したがって、明細書と図面とは制
限的な意味ではなく例示的な意味で捉えられるべきである。
散コンピューティングシステムを示すブロック図である。
散コンピューティングシステムを示すブロック図である。
クチャを用いる分散コンピューティングシステムを示すブロック図である。
業を実行するための方策を示すフローチャートである。
図である。
Claims (29)
- 【請求項1】 複数のノードを含む分散コンピューティングシステムでデー
タを処理するための方法であって、 複数のノードのうちの第1のノードの第1のプロセスからの第1の作業の実行
に対する第1の作業要求の受取りに応答して、前記第1の作業に基づき、前記第
1の作業は複数のノードのうちの第2のノードで行なわれるべきことを判断する
ステップと、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップと
を含み、前記第1の作業要求は、前記第1のプロセスが前記第2のプロセスから
直接前記第1の作業の結果を受取るべきことを明記する、方法。 - 【請求項2】 前記第1のプロセスからの第2の作業の実行に対する第2の
要求の受取りに応答して、前記第2の作業は複数のノードのうちの第3のノード
で行なわれるべきことを判断するステップと、 前記第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含
み、前記第2の要求は、前記第1のプロセスが前記第3のプロセスから直接前記
第2の作業の結果を受取るべきことを明記する、請求項1に記載の方法。 - 【請求項3】 複数のノードのうちの第3のノードの第3のプロセスからの
第2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業は第
2のノードで実行されるべきことを判断するステップと、 前記第2の要求を前記第2のプロセスに与えるステップとを含み、前記第2の
要求は、第3のプロセスは前記第2のプロセスから直接前記第2の作業の結果を
受取るべきことを明記する、請求項1に記載の方法。 - 【請求項4】 複数のノードのうちの第3のノードの第3のプロセスから第
2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業が行な
われるべき第4のノードを複数のノードから判断するステップと、 前記第2の要求を第4のノードの第4のプロセスに与えるステップとを含み、
前記第2の要求は、前記第3のプロセスが前記第4のプロセスから直接前記第2
の作業の結果を受取るべきことを明記する、請求項1に記載の方法。 - 【請求項5】 前記第1の作業は、複数のノードのうちの第3のノードでも
行なわれるべきことを判断するステップと、 第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含み、
前記第2の要求は、前記第3のノードで行なわれた前記第1の作業の結果は前記
第1のプロセスから直接前記第3のノードに与えられるべきことを明記する、請
求項1に記載の方法。 - 【請求項6】 前記第1の作業が第2のノードで行なわれるべきことを判断
するステップは、1つ以上のリソースが前記第1の作業を実行するために必要と
なることを判断するステップと、 複数のノードのうちのどれが前記1つ以上のリソースで作業を行なうことが可
能であるかを判断するステップとを含む、請求項1に記載の方法。 - 【請求項7】 前記第1の作業が前記複数のノードのうちの第2のノードで
行なわれるべきことを判断するステップは、ディレクタが、前記第1の作業は前
記複数のノードのうちの第2のノードで行なわれるべきことを判断するステップ
を含み、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップは
、前記ディレクタが前記第1の作業要求を前記第2のノードの第2のプロセスに
与えるステップを含む、請求項1に記載の方法。 - 【請求項8】 前記第1の作業の完了時に、前記第2のプロセスが直接前記
第1のプロセスに前記第1の作業の結果を与えるステップをさらに含む、請求項
1に記載の方法。 - 【請求項9】 前記第1の作業要求は、リモートプロシジャコールである、
請求項1に記載の方法。 - 【請求項10】 前記第1のプロセスが前記第1の作業の実行の結果を受取
るべきことを明記する、更新された第1の作業要求を生成するステップをさらに
含み、前記第1の作業要求を第2のプロセスに提供するステップは、第2のプロ
セスに前記更新された第1の作業要求を与えるステップを含む、請求項1に記載
の方法。 - 【請求項11】 複数のノードを含む分散コンピューティングシステムでデ
ータを処理するための方法であって、 ディレクタが、複数のノードのうちの第1のクライアントノードの第1のクラ
イアントプロセスから第1のリモートプロシジャコールを受取るステップを含み
、前記第1のリモートプロシジャコールは、第1の作業が実行されるべきであり
、かつ前記第1の作業の結果は直接第1のクライアントプロセスに与えられるべ
きことを要求し、さらに 前記ディレクタが前記第1のリモートプロシジャコールを調べ、かつ前記第1
の作業は複数のノードのうちの第1のサーバノードの第1のサーバプロセスで実
行されるべきことを判断するステップと、 前記ディレクタが、前記第1のリモートプロシジャコールを前記第1のサーバ
プロセスに与えるステップを含む、方法。 - 【請求項12】 前記ディレクタが、前記第1の作業を実行するために必要
である1つ以上のリソースを判断するステップと、 前記ディレクタが、複数のノードのうちのどれが、第1の作業を実行するため
に必要となる1つ以上のリソース上で要求される動作を実行するための許可を有
するかを判断するステップとをさらに含む、請求項11に記載の方法。 - 【請求項13】 前記ディレクタが複数のノードで利用可能であるリソース
を判断するステップは、前記ディレクタが複数のノードに関連するリソースデー
タを調べるステップを含む、請求項12に記載の方法。 - 【請求項14】 前記ディレクタが、前記第1のクライアントプロセスから
第2のリモートプロシジャコールを受取るステップをさらに含み、前記第2のリ
モートプロシジャコールは、第2の作業が実行され、かつ前記第2の作業の結果
は直接前記第1のクライアントプロセスに与えられるべきことを要求し、さらに 前記ディレクタが前記第2のリモートプロシジャコールを調べ、かつ複数のノ
ードのうちの第2のサーバノードの第2のサーバプロセスが前記第2の作業を行
なうべきことを判断するステップと、 前記ディレクタが前記第2のサーバプロセスに対して前記第2のリモートプロ
シジャコールを与えるステップとを含む、請求項11に記載の方法。 - 【請求項15】 前記ディレクタが、複数のノードにおける第2のクライア
ントノードの第2のクライアントプロセスから第2のリモートプロシジャコール
を受取るステップをさらに含み、前記第2のリモートプロシジャコールは、第2
の作業が実行され、かつ前記第2の作業の結果は直接前記第2のクライアントプ
ロセスに与えられるべきことを要求し、さらに 前記ディレクタは、前記第2のリモートプロシジャコールを調べ、かつ複数の
ノードのうちの第2のサーバノードの第2のサーバプロセスが前記第2の作業を
実行すべきことを判断するステップと、 前記ディレクタが、前記第2のサーバプロセスに前記第2のリモートプロシジ
ャコールを与えるステップとを含む、請求項11に記載の方法。 - 【請求項16】 作業を実行するための分散コンピューティングシステムで
あって、 複数のノードと、 前記複数のノードに通信結合されるディレクタとを含み、前記ディレクタは、 前記複数のノードのうちの第1のノードの第1のプロセスからの、第1の作業
の実行に対する第1の作業要求に応答して、前記第1の作業は複数のノードのう
ちの第2のノードで行なわれるべきことを判断するよう構成され、さらに 前記第1の作業が第2のノードの第2のプロセスによって実行されることを要
求するよう構成され、前記要求は、前記第1の作業の第1の結果が前記第2のプ
ロセスから前記第1のプロセスに直接与えられることを明記する、分散コンピュ
ーティングシステム。 - 【請求項17】 前記ディレクタはさらに、前記第1の作業要求を前記第2
のプロセスに与えるよう構成される、請求項16に記載の分散コンピューティン
グシステム。 - 【請求項18】 前記ディレクタはさらに、 前記第2のプロセスが前記第1の作業を実行しかつ前記第1の結果を直接前記
第1のプロセスに与えるよう要求する第2の作業要求を生成し、 前記第2の作業要求を前記第2のプロセスに与えるよう構成される、請求項1
6に記載の分散コンピューティングシステム。 - 【請求項19】 リソースに関連の複数のノードのアクセス権利を明記する
リソースデータをさらに含む、請求項16に記載の分散コンピューティングシス
テム。 - 【請求項20】 複数のノードを含む分散コンピューティングシステムでデ
ータを処理するための1つ以上の命令の1つ以上のシーケンスを担持するコンピ
ュータ可読媒体であって、前記1つ以上の命令の1つ以上のシーケンスは、1つ
以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、 複数のノードのうちの第1のノードの第1のプロセスからの第1の作業の実行
に対する第1の作業要求を受取りに応答して、前記第1の作業に基づき前記第1
の作業が複数のノードのうちの第2のノードで行なわれるべきことを判断するス
テップと、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップと
を行なわせ、前記第1の作業要求は、前記第1のプロセスが前記第2のプロセス
から直接前記第1の作業の結果を受取ることを明記する、コンピュータ可読媒体
。 - 【請求項21】 前記第1のプロセスからの第2の作業の実行に対する第2
の要求の受取りに応答して、前記第2の作業は、複数のノードのうちの第3のノ
ードで実行されるべきことを判断するステップと、 前記第2の要求を前記第3のノードの第3のプロセスに与えるステップとをさ
らに含み、前記第2の要求は、第1のプロセスが第3のプロセスから直接第2の
要求の結果を受取るべきことを明記する、請求項20に記載のコンピュータ可読
媒体。 - 【請求項22】 複数のノードのうちの第3のノードの第3のプロセスから
の第2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業は
前記第2のノードで実行されるべきことを判断するステップと、 前記第2の要求を前記第2のプロセスに与えるステップとを含み、前記第2の
要求は、前記第3のプロセスが前記第2のプロセスから直接前記第2の作業の結
果を受取るべきことを明記する、請求項20に記載のコンピュータ可読媒体。 - 【請求項23】 複数のノードのうちの第3のノードの第3のプロセスから
の第2の作業の実行に対する第2の要求の受取りに応答して、第2の作業が実行
されるべき第4のノードを複数のノードから判断するステップと、 前記第2の要求を前記第4のノードの第4のプロセスに与えるステップとを含
み、前記第2の要求は、前記第3のプロセスが前記第4のプロセスから直接前記
第2の作業の結果を受取るべきことを明記する、請求項20に記載のコンピュー
タ可読媒体。 - 【請求項24】 第1の作業はまた、複数のノードのうちの第3のノードで
も実行されるべきことを判断するステップと、 第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含み、
前記第2の要求は、前記第3のノードで実行される第1の作業の結果が前記第3
のノードから直接第1のプロセスに与えられるべきことを明記する、請求項20
に記載のコンピュータ可読媒体。 - 【請求項25】 前記第1の作業が第2のノードで行なわれるべきことを判
断するステップは、 前記第1の作業を実行するために要求される1つ以上のリソースを判断するス
テップと、 複数のノードのうちどれが、前記1つ以上のリソースに対して前記第1の作業
を実行することが許可されているかを判断するステップとを含む、請求項20に
記載のコンピュータ可読媒体。 - 【請求項26】 前記複数のノードのうちの第2のノードで第1の作業を実
行すべきことを判断するステップは、ディレクタが、前記第1の作業は複数のノ
ードのうちの第2のノードで実行すべきことを判断するステップを含み、さらに 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップは
、前記ディレクタが第1の作業要求を前記第2のノードの第2のプロセスに与え
るステップをさらに含む、請求項20に記載のコンピュータ可読媒体。 - 【請求項27】 前記第1の作業の完了時に、前記第2のプロセスが前記第
1の作業結果を直接前記第1のプロセスに与えるステップをさらに含む、請求項
20に記載のコンピュータ可読媒体。 - 【請求項28】 前記第1の作業要求はリモートプロシジャコールである、
請求項20に記載のコンピュータ可読媒体。 - 【請求項29】 前記第1のプロセスが前記第1の作業を実行した前記第1
の結果を受取るべきことを明記する更新された第1の作業要求を生成するステッ
プをさらに含み、前記第1の作業要求を第2のプロセスに与えるステップは、前
記更新された第1の作業要求を第2のプロセスに与えるステップをさらに含む、
請求項20に記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/298,603 US6920475B1 (en) | 1999-04-23 | 1999-04-23 | Communication architecture for distributed computing environment |
US09/298,603 | 1999-04-23 | ||
PCT/US2000/010426 WO2000065441A2 (en) | 1999-04-23 | 2000-04-18 | Communication architecture for distributed computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002543491A true JP2002543491A (ja) | 2002-12-17 |
Family
ID=23151229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000614119A Pending JP2002543491A (ja) | 1999-04-23 | 2000-04-18 | 分散コンピューティング環境のための通信アーキテクチャ |
Country Status (9)
Country | Link |
---|---|
US (1) | US6920475B1 (ja) |
EP (1) | EP1230597B1 (ja) |
JP (1) | JP2002543491A (ja) |
AT (1) | ATE270784T1 (ja) |
AU (1) | AU773557B2 (ja) |
CA (1) | CA2367800C (ja) |
DE (1) | DE60012041T2 (ja) |
HK (1) | HK1046322B (ja) |
WO (1) | WO2000065441A2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609126B1 (en) | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
JP2003044297A (ja) * | 2000-11-20 | 2003-02-14 | Humming Heads Inc | コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム |
US20040068729A1 (en) * | 2001-02-14 | 2004-04-08 | Oren Simon | Non-hierarchical collaborative computing platform |
JP4612961B2 (ja) * | 2001-03-14 | 2011-01-12 | 株式会社日本総合研究所 | 分散処理方法および分散処理システム |
EP1274011B1 (en) * | 2001-07-06 | 2017-05-03 | Alcatel Lucent | A method and system for routing and logging a request |
DE10156036A1 (de) | 2001-11-15 | 2003-06-05 | Evotec Ag | Verfahren und Vorrichtung zur Datenverarbeitung |
US7334039B1 (en) | 2002-02-01 | 2008-02-19 | Oracle International Corporation | Techniques for generating rules for a dynamic rule-based system that responds to requests for a resource on a network |
US7243138B1 (en) * | 2002-02-01 | 2007-07-10 | Oracle International Corporation | Techniques for dynamic rule-based response to a request for a resource on a network |
US7606181B1 (en) | 2003-06-30 | 2009-10-20 | Nortel Networks Limited | Apparatus, method, and computer program for processing audio information of a communication session |
US7765302B2 (en) * | 2003-06-30 | 2010-07-27 | Nortel Networks Limited | Distributed call server supporting communication sessions in a communication system and method |
US8819128B2 (en) * | 2003-09-30 | 2014-08-26 | Apple Inc. | Apparatus, method, and computer program for providing instant messages related to a conference call |
US8645575B1 (en) | 2004-03-31 | 2014-02-04 | Apple Inc. | Apparatus, method, and computer program for performing text-to-speech conversion of instant messages during a conference call |
US8996619B1 (en) | 2004-03-31 | 2015-03-31 | Apple Inc. | Apparatus, method, and computer program for controlling a target device using instant messages |
US20070174395A1 (en) * | 2006-01-20 | 2007-07-26 | Bostick James E | Systems, methods, and media for communication with database client users |
US20070174477A1 (en) | 2006-01-20 | 2007-07-26 | Bostick James E | Communication profiles for integrated database messaging system |
US20070174417A1 (en) | 2006-01-20 | 2007-07-26 | Bostick James E | Integrated two-way communications between database client users and administrators |
US20070226226A1 (en) * | 2006-03-23 | 2007-09-27 | Elta Systems Ltd. | Method and system for distributing processing of computerized tasks |
US7949711B2 (en) * | 2007-01-24 | 2011-05-24 | Chang Ypaul L | Method, system, and program for integrating disjoined but related network components into collaborative communities |
US20100158232A1 (en) * | 2008-12-23 | 2010-06-24 | Nortel Networks Limited | Accessing recorded conference content |
US9280381B1 (en) * | 2012-03-30 | 2016-03-08 | Emc Corporation | Execution framework for a distributed file system |
US10102028B2 (en) * | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US10938946B2 (en) * | 2019-01-14 | 2021-03-02 | Amdocs Development Limited | Handshake of application execution between edge nodes |
EP3805965B1 (de) * | 2019-10-08 | 2023-06-14 | Camelot ITLAB GmbH | Verfahren zum validieren von vertrauenswürdigen daten in einem computersystem |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08255168A (ja) * | 1995-03-17 | 1996-10-01 | Oki Electric Ind Co Ltd | 分散データベースの検索管理方法及び分散データベースの検索管理構造及び統合管理データベース |
JP2552759B2 (ja) * | 1990-08-31 | 1996-11-13 | 富士通株式会社 | マルチプロセッサによるデータベース処理装置 |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742677A (en) * | 1995-04-03 | 1998-04-21 | Scientific-Atlanta, Inc. | Information terminal having reconfigurable memory |
US4320502A (en) * | 1978-02-22 | 1982-03-16 | International Business Machines Corp. | Distributed priority resolution system |
US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
JPH04251338A (ja) * | 1990-10-10 | 1992-09-07 | Fuji Xerox Co Ltd | プロセス間通信の制御方式 |
US5684807A (en) * | 1991-04-02 | 1997-11-04 | Carnegie Mellon University | Adaptive distributed system and method for fault tolerance |
US5321808A (en) * | 1992-03-20 | 1994-06-14 | Hewlett-Packard Company | Dual process display server |
IL105990A (en) * | 1993-06-11 | 1997-04-15 | Uri Segev And Benjamin Machnes | Infra-red communication system |
US6327607B1 (en) * | 1994-08-26 | 2001-12-04 | Theseus Research, Inc. | Invocation architecture for generally concurrent process resolution |
US5745687A (en) * | 1994-09-30 | 1998-04-28 | Hewlett-Packard Co | System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
SE9404294D0 (sv) * | 1994-12-09 | 1994-12-09 | Ellemtel Utvecklings Ab | sätt och anordning vid telekommunikation |
US5617568A (en) * | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
EP0735472A3 (en) * | 1995-03-31 | 2000-01-19 | Sun Microsystems, Inc. | Method and apparatus for conspiracy among objects |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5745683A (en) * | 1995-07-05 | 1998-04-28 | Sun Microsystems, Inc. | System and method for allowing disparate naming service providers to dynamically join a naming federation |
US5644720A (en) * | 1995-07-31 | 1997-07-01 | West Publishing Company | Interprocess communications interface for managing transaction requests |
US5742812A (en) * | 1995-08-28 | 1998-04-21 | International Business Machines Corporation | Parallel network communications protocol using token passing |
JPH0962558A (ja) * | 1995-08-29 | 1997-03-07 | Fuji Xerox Co Ltd | データベース管理システム及び方法 |
JPH0981519A (ja) * | 1995-09-08 | 1997-03-28 | Kiyadeitsukusu:Kk | ネットワーク上の認証方法 |
US5682534A (en) * | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5790541A (en) * | 1996-04-01 | 1998-08-04 | Motorola, Inc. | Apparatus, method, system and system method for distributed routing in a multipoint communication system |
US5761696A (en) * | 1996-04-02 | 1998-06-02 | International Business Machines Corporation | Parallel database serving mechanism for a single-level-store computer system |
JP3370526B2 (ja) * | 1996-04-24 | 2003-01-27 | 富士通株式会社 | 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ |
US6216150B1 (en) * | 1996-04-30 | 2001-04-10 | International Business Machines Corporation | Program product for an application programming interface unifying multiple mechanisms |
US6052712A (en) * | 1996-04-30 | 2000-04-18 | International Business Machines Corporation | System for barrier synchronization wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each subsequent phase |
US5896506A (en) * | 1996-05-31 | 1999-04-20 | International Business Machines Corporation | Distributed storage management system having a cache server and method therefor |
US5835724A (en) * | 1996-07-03 | 1998-11-10 | Electronic Data Systems Corporation | System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client |
US5774660A (en) | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5915252A (en) * | 1996-09-30 | 1999-06-22 | International Business Machines Corporation | Object oriented framework mechanism for data transfer between a data source and a data target |
US6088769A (en) * | 1996-10-01 | 2000-07-11 | International Business Machines Corporation | Multiprocessor cache coherence directed by combined local and global tables |
US6230193B1 (en) * | 1996-10-31 | 2001-05-08 | 3Com Corporation | Method and apparatus supporting network communications |
US6112243A (en) * | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US6067561A (en) * | 1997-02-07 | 2000-05-23 | Hughes Electronics Corporation | Electronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel |
NZ337727A (en) * | 1997-03-03 | 2001-05-25 | Salbu Res & Dev Pty Ltd | Cellular communication system with mobile and base stations having non-overlapping zones of coverage |
US6470389B1 (en) | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US6192389B1 (en) * | 1997-03-28 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system |
US6408342B1 (en) * | 1997-03-28 | 2002-06-18 | Keith E. Moore | Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment |
EP0873025B1 (en) * | 1997-04-14 | 2005-06-15 | Alcatel | Method for providing at least one service to users of a telecommunication network |
ATE279838T1 (de) * | 1997-04-14 | 2004-10-15 | Cit Alcatel | Nachrichtenverfahren zwischen einer dienstvermittlungsstelle und einer dienstkontrolleinrichtung in einem fernmeldenetz |
US6014702A (en) * | 1997-06-04 | 2000-01-11 | International Business Machines Corporation | Host information access via distributed programmed objects |
US6151639A (en) * | 1997-06-19 | 2000-11-21 | Sun Microsystems, Inc. | System and method for remote object invocation |
US5884313A (en) * | 1997-06-30 | 1999-03-16 | Sun Microsystems, Inc. | System and method for efficient remote disk I/O |
US5887134A (en) * | 1997-06-30 | 1999-03-23 | Sun Microsystems | System and method for preserving message order while employing both programmed I/O and DMA operations |
JPH1131082A (ja) | 1997-07-11 | 1999-02-02 | Teijin Seiki Co Ltd | オペレーティングシステムおよびオペレーティングシステムを記録した媒体 |
US6006258A (en) * | 1997-09-12 | 1999-12-21 | Sun Microsystems, Inc. | Source address directed message delivery |
US6112281A (en) * | 1997-10-07 | 2000-08-29 | Oracle Corporation | I/O forwarding in a cache coherent shared disk computer system |
US6360262B1 (en) * | 1997-11-24 | 2002-03-19 | International Business Machines Corporation | Mapping web server objects to TCP/IP ports |
US5950203A (en) * | 1997-12-31 | 1999-09-07 | Mercury Computer Systems, Inc. | Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system |
GB2333168B (en) * | 1998-01-07 | 2002-09-18 | Ibm | Apparatus,method and computer program product for client/server computing with reduced cross-process calls |
US6038565A (en) * | 1998-01-16 | 2000-03-14 | International Business Machines Corporation | Object oriented data format mapping mechanism |
JP3966598B2 (ja) * | 1998-03-04 | 2007-08-29 | 富士通株式会社 | サーバ選択システム |
US6374286B1 (en) * | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6580715B1 (en) * | 1998-05-04 | 2003-06-17 | Hewlett-Packard Development Company, L.P. | Load balancing switch protocols |
US6457049B2 (en) * | 1998-06-08 | 2002-09-24 | Telxon Corporation | Enterprise wide software management system for integrating a plurality of heterogenous software systems to support clients and subclients communication by using a midware interface |
US6826756B1 (en) * | 1998-06-30 | 2004-11-30 | Symbol Technologies, Inc. | Automatic transfer of data from an input device to a software application |
US6438744B2 (en) * | 1998-07-15 | 2002-08-20 | Microsoft Corporation | Dynamic mapping of component interfaces |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6615245B1 (en) * | 1998-09-08 | 2003-09-02 | Mcfall Michael E. | System and method for enabling a hierarchal collaboration of devices across a communication channel |
US6145084A (en) * | 1998-10-08 | 2000-11-07 | Net I Trust | Adaptive communication system enabling dissimilar devices to exchange information over a network |
US6493750B1 (en) * | 1998-10-30 | 2002-12-10 | Agilent Technologies, Inc. | Command forwarding: a method for optimizing I/O latency and throughput in fibre channel client/server/target mass storage architectures |
JP3550503B2 (ja) * | 1998-11-10 | 2004-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信を可能とするための方法及び通信システム |
US6728748B1 (en) * | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6446136B1 (en) * | 1998-12-31 | 2002-09-03 | Computer Associates Think, Inc. | System and method for dynamic correlation of events |
US6366926B1 (en) * | 1998-12-31 | 2002-04-02 | Computer Associates Think, Inc. | Method and apparatus for the dynamic filtering and routing of events |
US6212640B1 (en) * | 1999-03-25 | 2001-04-03 | Sun Microsystems, Inc. | Resources sharing on the internet via the HTTP |
US6243737B1 (en) * | 1999-04-09 | 2001-06-05 | Translink Software, Inc. | Method and apparatus for providing direct transaction access to information residing on a host system |
US6412034B1 (en) * | 1999-04-16 | 2002-06-25 | Oracle Corporation | Transaction-based locking approach |
EP1049307A1 (en) * | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
US6567857B1 (en) * | 1999-07-29 | 2003-05-20 | Sun Microsystems, Inc. | Method and apparatus for dynamic proxy insertion in network traffic flow |
US6535916B1 (en) * | 1999-10-28 | 2003-03-18 | International Business Machines Corporation | Systems, methods and computer program products for linking transactions by multiple web site servers to web site visitors |
US6728788B1 (en) * | 1999-12-16 | 2004-04-27 | International Business Machines Corporation | Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client |
-
1999
- 1999-04-23 US US09/298,603 patent/US6920475B1/en not_active Expired - Lifetime
-
2000
- 2000-04-18 WO PCT/US2000/010426 patent/WO2000065441A2/en active IP Right Grant
- 2000-04-18 JP JP2000614119A patent/JP2002543491A/ja active Pending
- 2000-04-18 CA CA002367800A patent/CA2367800C/en not_active Expired - Lifetime
- 2000-04-18 AU AU43597/00A patent/AU773557B2/en not_active Expired
- 2000-04-18 EP EP00923481A patent/EP1230597B1/en not_active Expired - Lifetime
- 2000-04-18 DE DE60012041T patent/DE60012041T2/de not_active Expired - Lifetime
- 2000-04-18 AT AT00923481T patent/ATE270784T1/de not_active IP Right Cessation
-
2002
- 2002-10-16 HK HK02107523.9A patent/HK1046322B/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2552759B2 (ja) * | 1990-08-31 | 1996-11-13 | 富士通株式会社 | マルチプロセッサによるデータベース処理装置 |
JPH08255168A (ja) * | 1995-03-17 | 1996-10-01 | Oki Electric Ind Co Ltd | 分散データベースの検索管理方法及び分散データベースの検索管理構造及び統合管理データベース |
Also Published As
Publication number | Publication date |
---|---|
DE60012041T2 (de) | 2005-07-07 |
AU4359700A (en) | 2000-11-10 |
CA2367800C (en) | 2008-10-28 |
ATE270784T1 (de) | 2004-07-15 |
US6920475B1 (en) | 2005-07-19 |
EP1230597B1 (en) | 2004-07-07 |
WO2000065441A3 (en) | 2001-02-15 |
CA2367800A1 (en) | 2000-11-02 |
HK1046322B (zh) | 2004-12-10 |
EP1230597A2 (en) | 2002-08-14 |
HK1046322A1 (en) | 2003-01-03 |
AU773557B2 (en) | 2004-05-27 |
WO2000065441A2 (en) | 2000-11-02 |
DE60012041D1 (de) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002543491A (ja) | 分散コンピューティング環境のための通信アーキテクチャ | |
US6065040A (en) | Computer system having agent retracting method and agent returning method | |
JP3853592B2 (ja) | 分散ウェブアプリケーションサーバ | |
US6412034B1 (en) | Transaction-based locking approach | |
US6314114B1 (en) | Distributed resource management | |
US6944666B2 (en) | Mechanism for enabling customized session managers to interact with a network server | |
JP4729172B2 (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
US20020194242A1 (en) | Using a resource manager to coordinate the committing of a distributed transaction | |
US5546594A (en) | Cooperative distributed problem solver | |
JP4098233B2 (ja) | マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少 | |
US20020144009A1 (en) | System and method for common information model object manager proxy interface and management | |
JPH10301871A (ja) | 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法 | |
US7934218B2 (en) | Interprocess communication management using a socket layer | |
US20120173737A1 (en) | Method and system for data processing | |
JPH11312151A (ja) | 高速な分散オブジェクトリクエストブローカ | |
US6934761B1 (en) | User level web server cache control of in-kernel http cache | |
US7130898B2 (en) | Mechanism for facilitating invocation of a service | |
US6370590B1 (en) | Method and apparatus for providing inter-application program communication using a common view | |
US20040002922A1 (en) | Managing the size and accessibility of a name service | |
CN112181681A (zh) | 一种远程调用方法、装置、计算机设备及存储介质 | |
JP2002505491A (ja) | 分散形システムにおける動的情報証明のための装置及び方法 | |
US20030212587A1 (en) | Apparatus and methods for coordinating Web services using role based interpretation of coordination plans | |
JPH06301655A (ja) | 分散処理システム | |
JP2021170193A (ja) | プロセス内通信装置、プロセス内通信方法及びプロセス内通信プログラム | |
JP2002505478A (ja) | 分散形システムにおけるイベント通知のためのオブジェクトの据置き復元及び遠隔ローディング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040204 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050811 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060414 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061222 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070105 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070413 |