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
Application number
JP2000614119A
Other languages
English (en)
Inventor
クロッツ,ボリス
バンフォード,ロジャー
Original Assignee
オラクル コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル コーポレーション filed Critical オラクル コーポレーション
Publication of JP2002543491A publication Critical patent/JP2002543491A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5055Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection
    • 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
    • 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
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Abstract

(57)【要約】 分散コンピューティング環境において作業を実行するための通信アーキテクチャは、作業要求をディレクタに送信するクライアントノード上のクライアントプロセスを含む。ディレクタは作業要求を調べて、その作業を実行するために必要となる1つ以上のリソースと、必要となるリソースを提供し得る1つ以上のサーバノードとを判断する。ディレクタは次いで、作業要求を要求されたリソースを提供できるサーバノード上のサーバプロセスに転送する。サーバプロセスに与えられた作業要求は、作業結果がサーバプロセスから直接作業要求を行なったクライアントプロセスに与えられるべきことを明記する。ディレクタは、分散コンピューティング環境においてサーバノードで利用可能および/またはサーバノードから提供されるサービスおよび/またはリソースを明記するリソースデータのテーブルを維持する。

Description

【発明の詳細な説明】
【0001】 発明の分野 この発明は分散コンピューティングに関し、より特定的には、分散コンピュー
ティング環境のための通信アーキテクチャに関する。
【0002】 発明の背景 分散コンピューティング環境においては、作業は多数のコンピューティング要
素で行なわれるが、このコンピューティング要素はしばしば「ノード」と呼ばれ
る。分散コンピューティングの文脈においては、「作業」という用語はデータの
どのような処理をも指す。ノードの一例は、1つ以上のプロセスまたはスレッド
を実行し得るコンピュータシステムである。分散コンピューティング環境におけ
るノードは典型的には、たとえばネットワークを介して通信結合されて、ノード
上のプロセスが他のノード上のリソースにアクセスすることを可能にする。ハー
ドウェアの文脈では、リソースは一般的には、プリンタ、ディスクドライブまた
はメモリなどの装置である。ソフトウェアの文脈では、リソースは一般的にデー
タ要素またはルーチンである。
【0003】 分散コンピューティングにおける重要な問題は、順序正しく効率的な態様で作
業を確実に完了させるために、異なったノードにあるプロセスの間にどのように
通信を提供するかということである。2つのそのような先行技術には、直接通信
アーキテクチャと管理通信アーキテクチャとが含まれる。
【0004】 直接通信アーキテクチャ 直接通信アーキテクチャによると、プロセスは他のノードのプロセスと直接通
信して、作業の実行を要求し、作業結果を獲得する。図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に結
合される。
【0005】 作業の実行を要求するプロセスを有するノードをここでは「クライアント」ノ
ードと称する。クライアントノード上の作業の実行を要求するプロセスはクライ
アントプロセスである。他のノードのプロセスにサービスを提供し、および/ま
たは他のノードのプロセスのために作業を実行するプロセスを有するノードを、
以下「サーバ」ノードと称する。クライアントプロセスにサービスを提供し、お
よび/またはクライアントプロセスのために作業を実行するサーバノードのプロ
セスは、サーバプロセスである。ノードは、クライアントプロセスと、実行する
サーバプロセスとの両方を有することもあるので、ここでは「クライアントノー
ド」および「サーバノード」という用語は先行技術の方策とこの発明の実施例と
の理解を助けるために用いる。
【0006】 分散コンピューティングシステム100においては、ノードN1およびN2は
クライアントノードであるのに対し、ノードN3−N5はサーバノードである。
クライアントノードN1の特定のクライアントプロセスが、サーバノードN3で
の作業の実行を要求する場合、その特定のクライアントプロセスは、コネクショ
ン102を介して直接ノードN3のサーバプロセスに要求を送る。要求はどのよ
うな形式であってもよく、たとえばリモートプロシジャコール(RPC)であっ
てもよい。サーバノードN3のプロセスは要求された作業を実行し、結果を直接
その特定のクライアントプロセスに提供する。作業はクライアントノードN2の
クライアントプロセスのために同様に、サーバノードN3−N5で実行される。
【0007】 直接通信アーキテクチャ方策によると、クライアントプロセスは、クライアン
トプロセスのために作業を実行し得るサーバプロセスに直接通信する。この方策
の不利点は、クライアントプロセスが、要求される作業をどのサーバプロセスが
行ない得るかをわかっていなければならないことである。どのサーバプロセスか
ら提供されるサービスが変化した場合にも、クライアントノードがその変化に気
づくようにしなければならない。同様に、新しいサービスが提供された場合でも
、クライアントプロセスが新しいサーバノードに気づくようにしなければならな
い。サーバプロセスによって提供されるサービスは、サーバプロセスによって実
行される動作が変化した場合、またはサーバプロセスが動作するリソースが変化
した場合に変化し得る。多数のクライアントプロセスとサーバノードとを備える
分散コンピューティングシステムにおいては、すべてのクライアントプロセスを
更新状態に保つために顕著な量のシステムリソースが必要となる。
【0008】 管理通信アーキテクチャ 管理通信アーキテクチャ方策によると、クライアントプロセスは作業要求をこ
こでは「ディレクタ」と称する管理プロセスに送る。ディレクタは作業要求を、
要求された作業を実行し得る適切なサーバプロセスに転送する。作業を実行した
後で、サーバプロセスは作業結果をディレクタに送り、これは作業結果を最初に
作業要求を行なったクライアントプロセスに転送する。
【0009】 図2は、管理通信アーキテクチャ方策を用いる分散コンピューティングシステ
ム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は次いで
作業結果を、作業を要求したクライアントプロセスに転送する。
【0010】 管理通信アーキテクチャ方策によると、ディレクタ202は、サーバノードN
3−N5によってもたらされたサービスの記録をとる。その結果、サーバノード
N3−N5によってもたらされるサービスに変化が生じた場合、ディレクタ20
2だけがそれを知る必要があり、クライアントノードN1およびN2のクライア
ントプロセスはこれを知る必要がない。これにより、サーバノードN3−N5に
よってもたらされるサービスにおける変化の記録をとるために要求されるシステ
ムリソースの量が、特に多数のサーバノードがある場合、減じられる。しかしな
がら、管理通信アーキテクチャ方策は、ディレクタ202に関連の付加的なメッ
セージトラフィックを管理するために、直接通信アーキテクチャよりもより多く
のシステムリソースを必要とする。たとえば、単一の作業要求のために、直接通
信アーキテクチャ方策は2つのメッセージを必要とするが、1つのメッセージは
クライアントプロセスからサーバプロセスへのものであり、1つのメッセージは
サーバプロセスからクライアントプロセスに返信されるものである。同じ作業要
求を処理するために、管理通信アーキテクチャは4つのメッセージを必要とする
が、1つはクライアントプロセスからディレクタへのものであり、1つはディレ
クタからサーバプロセスへのものであり、1つはサーバプロセスからディレクタ
に返信されるものであり、1つはディレクタからクライアントプロセスに返信さ
れるものである。
【0011】 分散コンピューティング環境で作業を実行するための必要性と、先行技術の通
信アーキテクチャにおける制限とに基づき、上述の方策における制限をなくす分
散コンピューティング環境のための通信アーキテクチャが強く望まれる。
【0012】 発明の要約 この発明の1つの局面によると、複数のノードを含む分散コンピューティング
システムでデータを処理するための方法が提供される。方法は、第1のノードの
第1のプロセスからの、第1の作業の実行に対する第1の作業要求の受取りに応
答して、第1の作業に基づいて、第1の作業が第2のノードで実行されるべきこ
とを判断するステップと、第1の作業要求を第2のノードの第2のプロセスに与
えるステップとを含む。第1の作業要求は、第1のプロセスが第2のプロセスか
ら直接第1の作業結果を受けるべきことを明記する。
【0013】 この発明の別の局面によると、複数のノードを含む分散コンピューティングシ
ステムでデータを処理するための方法が提供される。ディレクタは、第1のクラ
イアントノードの第1のクライアントプロセスから、第1のリモートプロシジャ
コールを受取る。第1のリモートプロシジャコールは、第1の作業の実行と、第
1の作業の結果を直接第1の作業プロセスに与えることとを要求する。ディレク
タは第1のリモートプロシジャコールを調べ、第1のサーバノードの第1のサー
バプロセスが第1の作業を行なうべきことを判断する。次いでディレクタは、第
1のサーバプロセスに第1のリモートプロシジャコールを与える。
【0014】 この発明の別の局面によると、作業を実行するための分散コンピューティング
システムは、複数のノードと、複数のノードに通信結合されたディレクタとを含
む。ディレクタは、第1のノードの第1のプロセスからの、第1の作業の実行に
対する第1の作業要求に応答して、第1の作業が、複数のノードのうちの第2の
ノードで行なわれるべきことを判断するよう構成される。ディレクタはさらに、
第1の作業が第2のノードの第2のプロセスによって実行され、かつ第1の作業
の第1の結果が第2のプロセスから直接第1のプロセスに与えられることを要求
するよう構成される。
【0015】 この発明の実施例は、限定するためではなく例示のために添付の図面の図に示
され、図面の同様の参照符号は同様の要素を示す。
【0016】 発明の詳しい説明 以下の記載において、説明の目的で、発明の十分な理解をもたらすために特定
の細部を述べる。しかしながら、この発明はこれらの特定の細部なしでも実行さ
れることを理解されたい。別の例においては、発明を不必要に不明瞭にすること
を避けるために周知の構造および装置をブロック図で示す。
【0017】 機能の概要 この発明の実施例によると、分散コンピューティング環境において作業を実行
するための通信アーキテクチャは、一般的に作業要求をディレクタに送るクライ
アントノードのクライアントプロセスを含む。ディレクタは作業要求を調べ、要
求される作業を実行するために必要となるリソースおよび/またはサービスを判
断する。ディレクタは次いで、作業要求を要求された作業を実行し得るサーバノ
ードのサーバプロセスに転送する。サーバプロセスに与えられた作業要求は、作
業結果が作業要求を行なったクライアントプロセスにサーバプロセスから直接与
えられるべきことを明記する。したがって、サーバプロセスはそれらの作業結果
を直接作業を要求したクライアントプロセスに与え、こうしてディレクタをバイ
パスする。この方策は、クライアントプロセスがサーバプロセスによって与えら
れるサービスに気づく必要性をなくす一方で、従来の管理通信アーキテクチャよ
りも比較的少ないシステムリソースしか必要としない。
【0018】 詳細な説明 図3は、この発明の実施例に従った作業を実行するための通信アーキテクチャ
を用いる分散コンピューティングシステム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を以下により詳細に説明する
【0019】 サーバノードN3−N5のサーバプロセスが要求された作業を実行した後で、
サーバノードN3−N5は、ディレクタ302をバイパスして作業結果を直接、
作業要求を行なったクライアントノードN1およびN2のクライアントプロセス
に与える。特定的には、サーバノードN3のサーバプロセスは、コネクション3
14および316のそれぞれを介してクライアントノードN1およびN2のクラ
イアントプロセスに作業結果を提供する。サーバノードN4のサーバプロセスは
、コネクション318および320のそれぞれを介してクライアントノードN1
およびN2のクライアントプロセスに作業結果を提供する。サーバノードN5の
サーバプロセスは、コネクション322および324のそれぞれを介してクライ
アントノードN1およびN2のクライアントプロセスに作業結果を提供する。
【0020】 分散コンピューティングシステムで作業を実行するための方策を、ここで図3
のブロック図および図4のフローチャート400の両方を参照して説明する。図
4を参照すると、ステップ402で開始した後に、ステップ404において、要
求する側、たとえばクライアントノードN1のクライアントプロセスは、コネク
ション304または306を通して作業要求をディレクタ302に送る。ステッ
プ406においては、ディレクタ302は作業要求を調べ、サーバノードN3−
N5のどれが要求された作業を行ない得るかを判断する。この発明の一実施例に
よると、ディレクタ302は、要求された作業を行なうために必要となるサービ
スを識別するために作業要求を調べるが、ここでサービスとは特定のリソースで
の動作である。ディレクタ302は次いで、要求されたサービスをサーバノード
N3−N5がサポートするサービスと比較し、サーバノードN3−N5のどれが
要求されたサービスをもたらし得るかを判断する。
【0021】 この発明の別の実施例によると、ディレクタ302は、サービスが必要とする
リソースへの排他的権利(すなわち、ロック)を保有するサーバノードN3−N
5の特定のサーバプロセスを判断することにより、要求されるサービスをサーバ
ノードN3−N5のどれがもたらし得るかを判断する。
【0022】 ステップ408においては、ディレクタ302は、要求された作業を実行し得
る1つ以上のサーバノードN3−N5のサーバプロセスに作業要求を送る。1つ
以上のサーバノードN3−N5のサーバプロセスに送られた作業要求は、作業結
果が作業の実行を要求したクライアントノードN1またはN2のクライアントプ
ロセスに直接送られるべきことを明記する。
【0023】 たとえば、クライアントノードN1のクライアントプロセスが特定の作業の実
行に対する特定の作業要求を、コネクション302を介してディレクタ302に
送ったと仮定する。ディレクタ302は、この特定の作業要求を調べ、サーバノ
ードN3のサーバプロセスがこの特定の作業を実行し得ると判断する。ディレク
タ302は、この特定の作業要求をサーバノードN3のサーバプロセスに送る。
サーバノードN3のサーバプロセスに送られたこの特定の作業要求は、この特定
の作業の結果はクライアントノードN1のクライアントプロセスに送られるべき
ことを明記する。
【0024】 クライアントノードN1のクライアントプロセスによって送られた特定の作業
要求は、クライアントノードN1のクライアントプロセスが特定の作業の結果を
受取るべきことを明記し得る。この発明の別の実施例によると、クライアントノ
ードN1からの特定の作業要求は、クライアントノードN1がその特定の作業の
結果を受取るべきことを明記しない。この状況においては、ディレクタ302が
どこで作業要求が発生したかを、すなわちクライアントノードN1で発生したこ
とを判断し、その特定の作業の結果がどこに送られるべきかを、すなわちクライ
アントノードN1のクライアントプロセスに送られるべきことを明記する新しい
特定の作業要求を生成する。
【0025】 要求された作業が、1つ以上のサーバノードでのリソースを必要とする場合、
作業要求は、作業が実行されるべきサーバノードの各々のサーバプロセスに送ら
れる。作業要求の各々は、作業要求が送られるべきクライアントノードを明記す
る。たとえば、クライアントノードN1からの特定の作業要求に対してディレク
タ302がサーバノードN3およびN4の両方がその特定の作業を実行するため
に必要であると判断したと仮定する。ディレクタ302は、サーバノードN3お
よびN4の両方のサーバプロセスに作業要求を与える。両方の作業要求が、クラ
イアントノードN1のクライアントプロセスがその特定の作業の結果を受けるべ
きことを明記する。
【0026】 ステップ410において、作業要求を受取ったサーバノードN3−N5で作業
が実行される。ステップ412において、作業結果は作業を実行したサーバノー
ドN3−N5のサーバプロセスから直接、コネクション314、316、318
、320、322または324上の作業を要求したクライアントノードN1また
はN2のクライアントプロセスに与えられる。たとえば、もしクライアントノー
ドN1のクライアントプロセスが作業を要求し、ディレクタ302が作業要求を
サーバノードN3のサーバプロセスに送っていれば、サーバノードN3のサーバ
プロセスは作業結果をコネクション314上のクライアントノードN1のクライ
アントプロセスに与える。もし作業要求をサーバノードN4およびN5のサーバ
プロセスに送っていれば、作業結果はコネクション318および322のそれぞ
れの上のクライアントノードN1に与えられる。プロセスはステップ414にお
いて完了する。
【0027】 ディレクタ ディレクタ302は、分散コンピューティングシステム300において、1つ
以上のクライアントノードN1およびN2、サーバノードN3−N5、または1
つ以上の他のノード(図示せず)において実現され得る。1つ以上のディレクタ
を分散コンピューティングシステムで用い得る。たとえば、多数のクライアント
ノードを有する分散コンピューティングシステムにおいていくつものディレクタ
を用いると、単一のディレクタが処理する作業要求の数を減じることによりシス
テム性能を向上させることができる。たとえば、30個のクライアントノードと
5個のサーバノードを有する分散コンピューティングシステムにおいては、3個
のディレクタを用い得る。ディレクタの各々は、10個のクライアントノードに
サービスし、5個のサーバノードのすべてに作業要求を提供する。
【0028】 上述のように、ディレクタ302がサーバノードN3−N5で実行するサーバ
プロセスによってもたらされるサービスの記録をとることにより、作業要求は正
しいサーバノードN3−N5に転送されることができる。この発明の一実施例に
従うと、ディレクタ302はサーバノードN3−N5と実行するサーバプロセス
との大域状態を維持する。次いでディレクタ302は、作業要求を処理するため
に必要となるリソースに対する排他的権利をどのサーバプロセスが保持するかを
判断する論理を実現する。
【0029】 図5は、この発明の実施例に従ったディレクタ302によって維持されるリソ
ースデータのテーブル500である。テーブル500は、分散コンピューティン
グシステム300におけるサーバノードN3−N5ごとのエントリ502、50
4、および506を含む。エントリ502、504および506の各々は、エン
トリ502、504および506が関連づけられるサーバノードを明記し(サー
バノードID)、かつ関連のサーバノードによってもたらされるおよび/または
そこで利用可能であるサービスおよび/またはリソースを明記する(サーバノー
ドサービスデータ)。たとえば、エントリ502はサーバノードN3と関連づけ
られ、サーバノードN3によって提供されるサービスを明記するデータ(データ
1)を含む。
【0030】 サーバノードN3−N5によってもたらされるサービスのいかなる変化も、テ
ーブル500に反映される。さらに、もし新しいサーバノード(図示せず)が分
散コンピューティングシステム300に追加されると、新しいサーバノードのた
めに新しいエントリがテーブル500に加えられる。同様に、もしサーバノード
N3−N5が分散コンピューティングシステム300から除去されると、除去さ
れたサーバノードN3−N5に関連のエントリ502、504、506がテーブ
ル500から除去される。
【0031】 実現化の機構 ここで説明される分散コンピューティングシステムにおいて作業を実行するた
めの通信アーキテクチャは、ディスクリートハードウェア回路、コンピュータソ
フトウェア、またはディスクリートハードウェア回路とコンピュータソフトウェ
アとの組合せにおいて実現化し得る。この発明に従ってここで説明される通信ア
ーキテクチャは、通信プロトコルの特定の種類に制限されるものではない。たと
えば、ノード間通信がリモートプロシジャコール(RPC)または離れたノード
で作業が実行されることを要求するための他のいかなるメッセージプロトコルに
よっても実現されてもよい。
【0032】 図6は、この発明の実施例を実現し得るコンピュータシステム600を示すブ
ロック図である。コンピュータシステム600は、バス602または情報を通信
するための他の通信機構と、情報を処理するためにバス602に結合されるプロ
セッサ604とを含む。コンピュータシステム600はまた、ランダムアクセス
メモリ(RAM)または他のダイナミック記憶装置などのメインメモリ606を
含み、これはバス602に結合されて、情報およびプロセッサ604によって実
行されるべき命令をストアする。メインメモリ606はまた、プロセッサ604
によって実行されるべき命令の実行の間に一時的変数または他の中間情報をスト
アするためにも用い得る。コンピュータシステム600はさらに、バス602に
結合されて静的情報およびプロセッサ604のための命令をストアするための読
出専用メモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクま
たは光ディスクなどの記憶装置610が提供されバス602に結合されて命令お
よび情報をストアする。
【0033】 コンピュータシステム600は、バス602を介して陰極線管(CRT)など
のディスプレイ612に結合され、コンピュータユーザに対して情報を表示し得
る。英数字キーおよび他のキーを含む入力装置614は、バス602に結合され
てプロセッサ604に情報およびコマンド選択を通信する。他の種類のユーザ入
力装置は、プロセッサ604に対して方向情報とコマンド選択とを通信し、かつ
ディスプレイ612上のカーソルの動きを制御するための、マウス、トラックボ
ール、またはカーソル方向キーなどのカーソル制御616である。この入力装置
は典型的には2つの軸、すなわち第1の軸(たとえばx)および第2の軸(たと
えばy)で2つの自由度を有し、装置が平面上の場所を明記することを可能にす
る。
【0034】 この発明は、分散コンピューティングシステムのための通信アーキテクチャを
実現するためのコンピュータシステム600の使用に関わる。この発明の一実施
例によると、分散コンピューティングシステムのための通信アーキテクチャは、
メインメモリ606内に含まれる1つ以上の命令の1つ以上のシーケンスをプロ
セッサ604が実行することに応答するコンピュータシステム600によって提
供される。そのような命令は、記憶装置610などの別のコンピュータ可読媒体
からメインメモリ606に読出され得る。メインメモリ606内に含まれる命令
シーケンスの実行は、ここで記載されるプロセスステップをプロセッサ604に
行なわせる。マルチプロセッシング構成における1つ以上のプロセッサを用いて
、メインメモリ606内に含まれる命令シーケンスを実行してもよい。代替的な
実施例においては、ソフトウェア命令の代わりに、またはこれと組合わせてハー
ドウェアに組み込まれた回路を用い、この発明を実現してもよい。よって、この
発明の実施例はハードウェア回路とソフトウェアとの特定の組合せに制限される
ものではない。
【0035】 ここで用いられる「コンピュータ可読媒体」という用語は、実行のためにプロ
セッサ604に命令を与えることに関わるいかなる媒体をも指す。そのような媒
体は、これに制限されるものではないが、不揮発性媒体、揮発性媒体、伝送媒体
を含む多くの形式を採り得る。不揮発性媒体はたとえば、記憶装置610などの
光学または磁気ディスクを含む。揮発性媒体は、たとえばメインメモリ606な
どのダイナミックメモリを含む。伝送媒体は、バス602を形成するワイヤを含
む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体は、電波および赤外
線データ通信の間に生成されるもののような音波または光波の形をもとり得る。
【0036】 コンピュータ可読媒体の一般的な形式は、たとえばフロッピー(R)ディスク
、フレキシブルディスク、ハードディスク、磁気テープ、または他のいかなる磁
気媒体、CD−ROM、他のいかなる光媒体、パンチカード、紙テープ、穿孔パ
ターンを有する他のいかなる物理的媒体、RAM、PROM、およびEPROM
、FLASH−EPROM、他のいかなるメモリチップまたはカートリッジ、以
下に説明する搬送波、またはコンピュータが読出すことができる他のいかなる媒
体をも含む。
【0037】 プロセッサが604実行する1つ以上の命令の1つ以上のシーケンスのプロセ
ッサ604への搬送において、さまざまな形式のコンピュータ可読媒体が関わり
得る。たとえば、命令は最初にリモートコンピュータの磁気ディスクで担持され
てもよい。リモートコンピュータは、そのダイナミックメモリに命令をローディ
ングし、その命令をモデムを用いて電話線を通して送信する。コンピュータシス
テム600にローカルなモデムは電話線上のデータを受取り、赤外線トランスミ
ッタを用いてデータを赤外線信号に変換することができる。赤外線検出器はバス
602に結合されて、赤外線信号で搬送されるデータを受取り、データをバス6
02に入れる。バス602はデータをメインメモリ606に運び、ここからプロ
セッサ604が検索して命令を実行する。メインメモリ606によって受取られ
た命令は、プロセッサ604による実行の前または後に任意で記憶装置610に
ストアされてもよい。
【0038】 コンピュータシステム600はまた、バス602に結合された通信インターフ
ェイス618を含む。通信インターフェイス618は、ローカルネットワーク6
22に接続されるネットワークリンク620に結合する双方向データ通信を提供
する。たとえば、通信インターフェイス618は統合サービスデジタルネットワ
ーク(ISDN)カードまたはモデムであって、対応の種類の電話線にデータ通
信接続を提供してもよい。別の例としては、通信インターフェイス618はロー
カルエリアネットワーク(LAN)カードであって、互換性のあるLANにデー
タ通信接続を提供してもよい。無線リンクもまた実現され得る。そのようないず
れの実現化においても、通信インターフェイス618は、さまざまな種類の情報
を表わすデジタルデータストリームを搬送する電気、電磁、または光信号を送受
信する。
【0039】 ネットワークリンク620は典型的には、1つ以上のネットワークを介して他
のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク620は
ローカルネットワーク622を介してホストコンピュータ624へ、またはイン
ターネットサービスプロバイダ(ISP)626によって動作されるデータ装備
に接続を提供し得る。ISP626は、データ通信サービスを、現在「インター
ネット」628と一般に呼ばれるワールドワイドパケットデータ通信ネットワー
クを介してデータ通信サービスを提供する。ローカルネットワーク622および
インターネット628の両方とも、デジタルデータストリームを搬送する電気、
電磁または光信号を用いる。デジタルデータをコンピュータシステム600との
間で搬送する、さまざまなネットワークを介する信号および、ネットワークリン
ク620上のおよび通信インターフェイスを介する信号は、情報を伝送するため
の搬送波の例示的な形式である。
【0040】 コンピュータシステム600は、ネットワーク、ネットワークリンク620お
よび通信インターフェイス618を介してプログラムコードを含むデータの受信
およびメッセージの送信を行ない得る。インターネットの例においては、サーバ
630はインターネット628、ISP626、ローカルネットワーク622お
よび通信インターフェイス618を介してアプリケーションプログラムのための
要求されたコードを転送し得る。この発明に従うと、そのようなダウンロードさ
れたアプリケーションの1つは、ここで記載されるような分散コンピューティン
グシステムのための通信アーキテクチャの実現化をもたらす。
【0041】 受信されるコードは受信されたままでプロセッサ604によって実行されるか
および/または、後で実行するために記憶装置610、または他の不揮発性記憶
装置内にストアされる。この態様で、コンピュータシステム600は搬送波の形
式でアプリケーションコードを獲得することができる。
【0042】 ここで説明された通信アーキテクチャは、分散コンピューティング環境のため
の先行技術の通信アーキテクチャに対していくつもの利点を提供する。第1に、
サーバノードに対して作業要求を転送するためにディレクタを用いると、クライ
アントノードによってどのサービスが提供されるのかをクライアントノードが知
る必要性をなくすことができる。その結果、クライアントノードはサーバノード
によってもたらされるサービスにおける変化を知らされる必要がない。さらに、
この方策は作業を実行し、かつ作業結果をクライアントプロセスに与えるために
管理通信アーキテクチャ方策よりも少ない数のメッセージ転送しか必要としない
が、これは作業結果がサーバノードから直接クライアントノードに与えられるた
めである。たとえば、作業要求を処理するために、管理通信アーキテクチャ方策
であれば4つのメッセージを必要とするところを、この発明の実施例は3つのメ
ッセージしか必要としない。特定的には、この3つのメッセージは、クライアン
トプロセスからディレクタへの1つと、ディレクタからサーバプロセスへの1つ
と、サーバプロセスからクライアントプロセスに返信される1つとを含む。
【0043】 以上の記載において、この発明は特定の実施例に関連して説明された。しかし
ながら、この発明の広い精神および範囲から逸脱することなくさまざまな修正お
よび変更を行ない得ることが明らかであろう。したがって、明細書と図面とは制
限的な意味ではなく例示的な意味で捉えられるべきである。
【図面の簡単な説明】
【図1】 作業を実行するために直接通信アーキテクチャを用いる従来の分
散コンピューティングシステムを示すブロック図である。
【図2】 作業を実行するために管理通信アーキテクチャを用いる従来の分
散コンピューティングシステムを示すブロック図である。
【図3】 この発明の実施例に従った、作業を実行するために通信アーキテ
クチャを用いる分散コンピューティングシステムを示すブロック図である。
【図4】 この発明の実施例に従った、分散コンピューティングにおいて作
業を実行するための方策を示すフローチャートである。
【図5】 この発明の実施例に従ったリソースデータテーブルである。
【図6】 この発明が実現される実施例のコンピュータシステムのブロック
図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成13年6月22日(2001.6.22)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードを含む分散コンピューティングシステムでデー
    タを処理するための方法であって、 複数のノードのうちの第1のノードの第1のプロセスからの第1の作業の実行
    に対する第1の作業要求の受取りに応答して、前記第1の作業に基づき、前記第
    1の作業は複数のノードのうちの第2のノードで行なわれるべきことを判断する
    ステップと、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップと
    を含み、前記第1の作業要求は、前記第1のプロセスが前記第2のプロセスから
    直接前記第1の作業の結果を受取るべきことを明記する、方法。
  2. 【請求項2】 前記第1のプロセスからの第2の作業の実行に対する第2の
    要求の受取りに応答して、前記第2の作業は複数のノードのうちの第3のノード
    で行なわれるべきことを判断するステップと、 前記第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含
    み、前記第2の要求は、前記第1のプロセスが前記第3のプロセスから直接前記
    第2の作業の結果を受取るべきことを明記する、請求項1に記載の方法。
  3. 【請求項3】 複数のノードのうちの第3のノードの第3のプロセスからの
    第2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業は第
    2のノードで実行されるべきことを判断するステップと、 前記第2の要求を前記第2のプロセスに与えるステップとを含み、前記第2の
    要求は、第3のプロセスは前記第2のプロセスから直接前記第2の作業の結果を
    受取るべきことを明記する、請求項1に記載の方法。
  4. 【請求項4】 複数のノードのうちの第3のノードの第3のプロセスから第
    2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業が行な
    われるべき第4のノードを複数のノードから判断するステップと、 前記第2の要求を第4のノードの第4のプロセスに与えるステップとを含み、
    前記第2の要求は、前記第3のプロセスが前記第4のプロセスから直接前記第2
    の作業の結果を受取るべきことを明記する、請求項1に記載の方法。
  5. 【請求項5】 前記第1の作業は、複数のノードのうちの第3のノードでも
    行なわれるべきことを判断するステップと、 第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含み、
    前記第2の要求は、前記第3のノードで行なわれた前記第1の作業の結果は前記
    第1のプロセスから直接前記第3のノードに与えられるべきことを明記する、請
    求項1に記載の方法。
  6. 【請求項6】 前記第1の作業が第2のノードで行なわれるべきことを判断
    するステップは、1つ以上のリソースが前記第1の作業を実行するために必要と
    なることを判断するステップと、 複数のノードのうちのどれが前記1つ以上のリソースで作業を行なうことが可
    能であるかを判断するステップとを含む、請求項1に記載の方法。
  7. 【請求項7】 前記第1の作業が前記複数のノードのうちの第2のノードで
    行なわれるべきことを判断するステップは、ディレクタが、前記第1の作業は前
    記複数のノードのうちの第2のノードで行なわれるべきことを判断するステップ
    を含み、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップは
    、前記ディレクタが前記第1の作業要求を前記第2のノードの第2のプロセスに
    与えるステップを含む、請求項1に記載の方法。
  8. 【請求項8】 前記第1の作業の完了時に、前記第2のプロセスが直接前記
    第1のプロセスに前記第1の作業の結果を与えるステップをさらに含む、請求項
    1に記載の方法。
  9. 【請求項9】 前記第1の作業要求は、リモートプロシジャコールである、
    請求項1に記載の方法。
  10. 【請求項10】 前記第1のプロセスが前記第1の作業の実行の結果を受取
    るべきことを明記する、更新された第1の作業要求を生成するステップをさらに
    含み、前記第1の作業要求を第2のプロセスに提供するステップは、第2のプロ
    セスに前記更新された第1の作業要求を与えるステップを含む、請求項1に記載
    の方法。
  11. 【請求項11】 複数のノードを含む分散コンピューティングシステムでデ
    ータを処理するための方法であって、 ディレクタが、複数のノードのうちの第1のクライアントノードの第1のクラ
    イアントプロセスから第1のリモートプロシジャコールを受取るステップを含み
    、前記第1のリモートプロシジャコールは、第1の作業が実行されるべきであり
    、かつ前記第1の作業の結果は直接第1のクライアントプロセスに与えられるべ
    きことを要求し、さらに 前記ディレクタが前記第1のリモートプロシジャコールを調べ、かつ前記第1
    の作業は複数のノードのうちの第1のサーバノードの第1のサーバプロセスで実
    行されるべきことを判断するステップと、 前記ディレクタが、前記第1のリモートプロシジャコールを前記第1のサーバ
    プロセスに与えるステップを含む、方法。
  12. 【請求項12】 前記ディレクタが、前記第1の作業を実行するために必要
    である1つ以上のリソースを判断するステップと、 前記ディレクタが、複数のノードのうちのどれが、第1の作業を実行するため
    に必要となる1つ以上のリソース上で要求される動作を実行するための許可を有
    するかを判断するステップとをさらに含む、請求項11に記載の方法。
  13. 【請求項13】 前記ディレクタが複数のノードで利用可能であるリソース
    を判断するステップは、前記ディレクタが複数のノードに関連するリソースデー
    タを調べるステップを含む、請求項12に記載の方法。
  14. 【請求項14】 前記ディレクタが、前記第1のクライアントプロセスから
    第2のリモートプロシジャコールを受取るステップをさらに含み、前記第2のリ
    モートプロシジャコールは、第2の作業が実行され、かつ前記第2の作業の結果
    は直接前記第1のクライアントプロセスに与えられるべきことを要求し、さらに 前記ディレクタが前記第2のリモートプロシジャコールを調べ、かつ複数のノ
    ードのうちの第2のサーバノードの第2のサーバプロセスが前記第2の作業を行
    なうべきことを判断するステップと、 前記ディレクタが前記第2のサーバプロセスに対して前記第2のリモートプロ
    シジャコールを与えるステップとを含む、請求項11に記載の方法。
  15. 【請求項15】 前記ディレクタが、複数のノードにおける第2のクライア
    ントノードの第2のクライアントプロセスから第2のリモートプロシジャコール
    を受取るステップをさらに含み、前記第2のリモートプロシジャコールは、第2
    の作業が実行され、かつ前記第2の作業の結果は直接前記第2のクライアントプ
    ロセスに与えられるべきことを要求し、さらに 前記ディレクタは、前記第2のリモートプロシジャコールを調べ、かつ複数の
    ノードのうちの第2のサーバノードの第2のサーバプロセスが前記第2の作業を
    実行すべきことを判断するステップと、 前記ディレクタが、前記第2のサーバプロセスに前記第2のリモートプロシジ
    ャコールを与えるステップとを含む、請求項11に記載の方法。
  16. 【請求項16】 作業を実行するための分散コンピューティングシステムで
    あって、 複数のノードと、 前記複数のノードに通信結合されるディレクタとを含み、前記ディレクタは、 前記複数のノードのうちの第1のノードの第1のプロセスからの、第1の作業
    の実行に対する第1の作業要求に応答して、前記第1の作業は複数のノードのう
    ちの第2のノードで行なわれるべきことを判断するよう構成され、さらに 前記第1の作業が第2のノードの第2のプロセスによって実行されることを要
    求するよう構成され、前記要求は、前記第1の作業の第1の結果が前記第2のプ
    ロセスから前記第1のプロセスに直接与えられることを明記する、分散コンピュ
    ーティングシステム。
  17. 【請求項17】 前記ディレクタはさらに、前記第1の作業要求を前記第2
    のプロセスに与えるよう構成される、請求項16に記載の分散コンピューティン
    グシステム。
  18. 【請求項18】 前記ディレクタはさらに、 前記第2のプロセスが前記第1の作業を実行しかつ前記第1の結果を直接前記
    第1のプロセスに与えるよう要求する第2の作業要求を生成し、 前記第2の作業要求を前記第2のプロセスに与えるよう構成される、請求項1
    6に記載の分散コンピューティングシステム。
  19. 【請求項19】 リソースに関連の複数のノードのアクセス権利を明記する
    リソースデータをさらに含む、請求項16に記載の分散コンピューティングシス
    テム。
  20. 【請求項20】 複数のノードを含む分散コンピューティングシステムでデ
    ータを処理するための1つ以上の命令の1つ以上のシーケンスを担持するコンピ
    ュータ可読媒体であって、前記1つ以上の命令の1つ以上のシーケンスは、1つ
    以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、 複数のノードのうちの第1のノードの第1のプロセスからの第1の作業の実行
    に対する第1の作業要求を受取りに応答して、前記第1の作業に基づき前記第1
    の作業が複数のノードのうちの第2のノードで行なわれるべきことを判断するス
    テップと、 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップと
    を行なわせ、前記第1の作業要求は、前記第1のプロセスが前記第2のプロセス
    から直接前記第1の作業の結果を受取ることを明記する、コンピュータ可読媒体
  21. 【請求項21】 前記第1のプロセスからの第2の作業の実行に対する第2
    の要求の受取りに応答して、前記第2の作業は、複数のノードのうちの第3のノ
    ードで実行されるべきことを判断するステップと、 前記第2の要求を前記第3のノードの第3のプロセスに与えるステップとをさ
    らに含み、前記第2の要求は、第1のプロセスが第3のプロセスから直接第2の
    要求の結果を受取るべきことを明記する、請求項20に記載のコンピュータ可読
    媒体。
  22. 【請求項22】 複数のノードのうちの第3のノードの第3のプロセスから
    の第2の作業の実行に対する第2の要求の受取りに応答して、前記第2の作業は
    前記第2のノードで実行されるべきことを判断するステップと、 前記第2の要求を前記第2のプロセスに与えるステップとを含み、前記第2の
    要求は、前記第3のプロセスが前記第2のプロセスから直接前記第2の作業の結
    果を受取るべきことを明記する、請求項20に記載のコンピュータ可読媒体。
  23. 【請求項23】 複数のノードのうちの第3のノードの第3のプロセスから
    の第2の作業の実行に対する第2の要求の受取りに応答して、第2の作業が実行
    されるべき第4のノードを複数のノードから判断するステップと、 前記第2の要求を前記第4のノードの第4のプロセスに与えるステップとを含
    み、前記第2の要求は、前記第3のプロセスが前記第4のプロセスから直接前記
    第2の作業の結果を受取るべきことを明記する、請求項20に記載のコンピュー
    タ可読媒体。
  24. 【請求項24】 第1の作業はまた、複数のノードのうちの第3のノードで
    も実行されるべきことを判断するステップと、 第2の要求を前記第3のノードの第3のプロセスに与えるステップとを含み、
    前記第2の要求は、前記第3のノードで実行される第1の作業の結果が前記第3
    のノードから直接第1のプロセスに与えられるべきことを明記する、請求項20
    に記載のコンピュータ可読媒体。
  25. 【請求項25】 前記第1の作業が第2のノードで行なわれるべきことを判
    断するステップは、 前記第1の作業を実行するために要求される1つ以上のリソースを判断するス
    テップと、 複数のノードのうちどれが、前記1つ以上のリソースに対して前記第1の作業
    を実行することが許可されているかを判断するステップとを含む、請求項20に
    記載のコンピュータ可読媒体。
  26. 【請求項26】 前記複数のノードのうちの第2のノードで第1の作業を実
    行すべきことを判断するステップは、ディレクタが、前記第1の作業は複数のノ
    ードのうちの第2のノードで実行すべきことを判断するステップを含み、さらに 前記第1の作業要求を前記第2のノードの第2のプロセスに与えるステップは
    、前記ディレクタが第1の作業要求を前記第2のノードの第2のプロセスに与え
    るステップをさらに含む、請求項20に記載のコンピュータ可読媒体。
  27. 【請求項27】 前記第1の作業の完了時に、前記第2のプロセスが前記第
    1の作業結果を直接前記第1のプロセスに与えるステップをさらに含む、請求項
    20に記載のコンピュータ可読媒体。
  28. 【請求項28】 前記第1の作業要求はリモートプロシジャコールである、
    請求項20に記載のコンピュータ可読媒体。
  29. 【請求項29】 前記第1のプロセスが前記第1の作業を実行した前記第1
    の結果を受取るべきことを明記する更新された第1の作業要求を生成するステッ
    プをさらに含み、前記第1の作業要求を第2のプロセスに与えるステップは、前
    記更新された第1の作業要求を第2のプロセスに与えるステップをさらに含む、
    請求項20に記載のコンピュータ可読媒体。
JP2000614119A 1999-04-23 2000-04-18 分散コンピューティング環境のための通信アーキテクチャ Pending JP2002543491A (ja)

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)

* Cited by examiner, † Cited by third party
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
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
US20070174395A1 (en) 2006-01-20 2007-07-26 Bostick James E Systems, methods, and media for communication with database client users
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ
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
US6216150B1 (en) * 1996-04-30 2001-04-10 International Business Machines Corporation Program product for an application programming interface unifying multiple mechanisms
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
CN1108047C (zh) * 1997-03-03 2003-05-07 萨尔布研究及发展私人有限公司 增强型蜂窝通信系统
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
EP0873024B1 (en) * 1997-04-14 2004-10-13 Alcatel Method for communicating between a service switching exchange of a telecommunication network and service control facility
EP0873025B1 (en) * 1997-04-14 2005-06-15 Alcatel Method for providing at least one service to users of a telecommunication network
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
US6366926B1 (en) * 1998-12-31 2002-04-02 Computer Associates Think, Inc. Method and apparatus for the dynamic filtering and routing of events
US6446136B1 (en) * 1998-12-31 2002-09-03 Computer Associates Think, Inc. System and method for dynamic correlation 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
EP1230597B1 (en) 2004-07-07
DE60012041D1 (de) 2004-08-12
HK1046322B (zh) 2004-12-10
WO2000065441A3 (en) 2001-02-15
AU4359700A (en) 2000-11-10
WO2000065441A2 (en) 2000-11-02
AU773557B2 (en) 2004-05-27
HK1046322A1 (en) 2003-01-03
CA2367800A1 (en) 2000-11-02
EP1230597A2 (en) 2002-08-14
ATE270784T1 (de) 2004-07-15
DE60012041T2 (de) 2005-07-07
CA2367800C (en) 2008-10-28
US6920475B1 (en) 2005-07-19

Similar Documents

Publication Publication Date Title
JP2002543491A (ja) 分散コンピューティング環境のための通信アーキテクチャ
US6738971B2 (en) Using a resource manager to coordinate the comitting of a distributed transaction
US6065040A (en) Computer system having agent retracting method and agent returning method
US6775700B2 (en) System and method for common information model object manager proxy interface and management
US6314114B1 (en) Distributed resource management
US6944666B2 (en) Mechanism for enabling customized session managers to interact with a network server
JP4729172B2 (ja) 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置
US5748897A (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5546594A (en) Cooperative distributed problem solver
JP4098233B2 (ja) マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少
JP2001522113A (ja) 分散ウェブアプリケーションサーバ
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
US20120173737A1 (en) Method and system for data processing
US7934218B2 (en) Interprocess communication management using a socket layer
US6934761B1 (en) User level web server cache control of in-kernel http cache
US7246120B2 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
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) 分散形システムにおける動的情報証明のための装置及び方法
JPH06301655A (ja) 分散処理システム
JP2021170193A (ja) プロセス内通信装置、プロセス内通信方法及びプロセス内通信プログラム
JPH1185548A (ja) 情報を送る方法、装置、およびコンピュータ・プログラム製品
JP2002251337A (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