JP2002529808A - 分散処理によって実行されるデータ処理要求を評価する方法及び装置 - Google Patents
分散処理によって実行されるデータ処理要求を評価する方法及び装置Info
- Publication number
- JP2002529808A JP2002529808A JP2000580080A JP2000580080A JP2002529808A JP 2002529808 A JP2002529808 A JP 2002529808A JP 2000580080 A JP2000580080 A JP 2000580080A JP 2000580080 A JP2000580080 A JP 2000580080A JP 2002529808 A JP2002529808 A JP 2002529808A
- Authority
- JP
- Japan
- Prior art keywords
- support
- data processing
- token
- message
- processes
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/458—Synchronisation, e.g. post-wait, barriers, locks
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
おいて、分散処理を用いてタスクを実行することに関する。本発明はタスクを実
行するための何らかの協働作業に対して有用な適用を見出すとは言え、1つの適
用の例は、データ管理システムにおけるデータベース照会の評価に対するもので
ある。
成されて格納され、これに続く多数のコンピュータユーザによる共用アクセスに
備える。データベースエンジンによって、それらのユーザは概念的にはリレーシ
ョナル、タブレット、階層的、或いは、他の形式で編成されるようなデータへの
照会を提出し、照会に応答して、アンサーセットとして知られる出力を受信する
ことが可能になる。次のことは照会の例である。ある会社の従業員登録があるこ
とを仮定してみよう。各従業員に対して、(他にもあるが数ある中には)その従
業員氏名、給料、及び年齢が格納されている。1つの可能性のある照会は、“給
料が20000ドル以上で、かつ、30歳未満の従業員全ての氏名を見出せ”と
いうものがある。
かかり、この問題が重大なことであるかもしれない。それ故に、データベース管
理システムはしばしば、単一コンピュータ或いはマルチプロセッサで動作するマ
ルチ処理を採用し、各照会要求をマルチ処理或いはプロセッサを用いて実行され
る相互関連したタスクへと分解することにより照会を実行する。言い換えると、
各処理或いはプロセッサはその照会実行のある部分を実行するのである。協働す
る全ての照会処理(即ち、照会オペーレータ)から生み出される照会の結果が集
められて結合されて要求されている照会応答/アンサーセットを生成する。
の分散処理システムにおける困難さは、内部接続されかつ協働する処理の全てが
、全体のタスクにおいて夫々が受け持っている部分の処理を完了したのがいつで
あるのかを知ることにある。図1に示された分散処理のシナリオの例を考えてみ
よう。ユーザ端末10はユーザインタフェース14を介してコンピュータシステ
ム12と通信を行う。データベース管理システムの環境において、コンピュータ
システム12はまた、データベース16と接続される。ユーザインタフェース1
4からの(データベース照会のような)タスクは分散実行のためにそのタスク(
或いはその一部)を図示されているサポート処理P1、P2、P3、及びP4に
対して受け渡す制御処理Cに対して提供される。各処理P1〜P4はそのタスク
のある部分(或いはそれ自身)を実行する。即ち、制御処理Cはそのタスクを定
義する、或いはさもなければそのタスクに関連したメッセージを第1の処理P1
に対して送信する。第1の処理P1はそのタスクの一部分を実行して、その部分
的に実行したタスクの結果を制御処理Cから受信したメッセージとともに、サポ
ート処理P2及びP3の両方に対して送信する。サポート処理P2とP3とはそ
のタスクの夫々が受け持つ部分を実行し、夫々の結果を夫々が処理P1から受信
した処理P1からの結果を含むメッセージとともにサポート処理に対して送信す
る。
る。これら2つのメッセージの1つは、チェーンC→P1→P2→Cからのもの
であり、もう1つはチェーンC→P1→P3→P4からのものである。この点に
おける問題は、制御処理Cがタスクを実行するのに関与した全てのエージェント
処理からの全てのメッセージを受信したのがいつであるのかを判断することであ
る。この問題は、制御処理が第1のサポート処理P1については知っているもの
の、タスクの完了に寄与した全てのサポート処理の身元や正体(アイデンティテ
ィ)については必ずしも知る訳ではないという事実によって複雑にされる。その
結果、制御処理Cはいくつの処理のメッセージを予期すべきなのかさえも分から
ないのである。
御処理Cに対して夫々の身元や正体を通知し、制御処理Cからのメッセージを各
サポート処理Pi(即ち、図1ではP1−P4)に対して送信して、各サポート処
理がタスクの各部分の実行を完了したときに制御処理Cと通信するように要求す
ることである。そのとき、各サポート処理Piは、夫々が受け持っているタスク
の部分の実行を完了したときに別のメッセージを制御処理Cに対して送信する。
この解決策の欠点は、タスクのある部分を実行するのに関与するであろう全ての
サポート処理の身元や正体がCによって前もって知られていることを要求してい
る点にある。この要求はそれを満たすことが必ずしも簡単なことではなく、また
、望ましい訳でもない。この可能性のある解決策の別の重大な欠点は、制御処理
Cとサポート処理との間のオーバヘッドタイプの信号発信全てが時間のかかるも
のであり、非効率的であることである。
ある。
複数の処理を用いてタスクの分散処理を実行することである。
散処理から受信されるメッセージから、そのタスクの実行が完了したときを、そ
の制御処理と各サポート処理間の特別な信号処理なく、判断することができるこ
とである。
サポート処理の数或いは身元や正体を知る必要すらない効率的な分散処理技術を
提供することである。
サポート処理との間で制御メッセージを送受信するよりもむしろ、各処理は本質
的なタスクのメッセージとともにサポート処理に対して転送するある種の識別情
報を含む。最終的には、これらのメッセージは識別情報とともに制御処理に到達
する。それから、制御処理では受信した識別情報から、そのタスクに関与した全
ての処理からの全てのメッセージが受信されたかどうかを推測する。もし、制御
処理が全てのメッセージが受信されたと推測するなら、タスクは完了する。
のデータ処理タスクを実行するのに関与する処理間で、受け渡しがなされる。こ
れら処理各々はそのタスクに関連したある機能を実行し、−−その処理によって
実行される機能によって変形されるが−−そのメッセージとともに“エンドトー
クン(end token)”を関与する別の処理に受け渡す。制御処理は、関与する処
理からの分散処理結果とともに受信したエンドトークンを用いてデータ処理タス
クは終了したことを判断する。各エンドトークンは、ユニークな識別子と対応す
る処理によって転送されるメッセージの複製の数とを含んでおり、制御処理によ
って用いられカウント値のアレイを生成する。カウント値は、対応する処理によ
って転送されるメッセージ複製の数に基づいて、各ユニークなエンドトークンに
対して設けられる。全てのカウント値がデクリメントされてゼロになったとき、
制御処理は全ての関与する処理からのメッセージが到着し、処理は完了したと判
断する。
利点をもっている。しかしながら、本発明はデータベース管理や照会の評価に対
してのみ限定されるものではなく、処理が協働して全体としての目標を達成する
どんな応用分野にも有用なものとして用いられる。その処理は同じコンピュータ
で或いは別々のコンピュータで実施されても良い。単一コンピュータの場合、そ
の処理は、例えば、コンピュータのオペレーティングシステムのメッセージパッ
シング機能を用いて通信を行っても良い。マルチコンピュータの場合、各コンピ
ュータは、共用メッセージ、LAN(ローカルエリアネットワーク)、インター
ネットなどのような適当な伝送媒体によって通信を行っても良い。
理フロー、テクニックなどの具体的な詳細が本発明の完全な理解を備えるために
説明される。しかしながら、当業者であれば、本発明はこれら具体的な詳細から
は離れた他の実施形態において実施されても良いことが明らかである。他の例で
は、公知の方法、システム、及び機器の詳細な説明は、本発明の説明を不必要な
詳細であいまいにしないようにするために省略されている。
が採用されてタスクを協働して実行する図1に示されたような単一コンピュータ
に基づくシステムで実施されても良い。それらの処理はコンピュータのオペレー
ティングシステムのソフトウェアを用いて交信を行う。加えて、本発明はマルチ
プロセッサ環境にも適用できる。マルチプロセッサ環境の一例が図2に示されて
おり、そこでは参照番号20、22、24、及び26で識別される多数のノード
(1〜4)が、イーサネット(登録商標)、インターネットなどのようなネット ワーク30を介して接続されている。ノード1〜4各々は要求されたデータ処理 タスクのある一部を実行するデータプロセッサを含む。そのノードデータプロセ ッサは適当な通信プロトコルを用いてネットワーク30によって通信を行う。図 3は、マルチプロセッサ構成の別の例を示しており、そこでは、参照番号32、 34、及び36に夫々対応しているCPU1、2、……、Nがデータバス38に よって共用メモリ40に接続されている。しかしながら、これらの適用例は、決 して限定的な意味ではない。なぜなら、本発明は、メッセージ、パケットなどを 互いに指示された非循環的な方法で送信する一式の“もの”があるどんな状態に おいても採用されるからである。
散処理によって完了したかどうかを判断する工程の例を概説している。説明を簡
単にするためだけあり、決して発明を限定的にするものではないが、本発明は1
つ以上のコンピュータ或いは他の種類の電子的データ処理回路を用いて実施され
る“処理(process)”によって説明される。まず、タスクが複数の処理により
分散処理さもなければ協働処理のための制御処理(C)に割当てられる(ブロッ
ク52)。
処理タスクの実行においてアシストを行う1つ以上のサポート処理Piに送られ
る(ブロック54)。各サポート処理PiはCからそのメッセージ自身の複製を
受信して、そのメッセージに関連したある処理機能を実行する。処理後、各サポ
ートプロセッサは受信されたメッセージをその処理結果とともに別のサポート処
理へと転送する。この例では、処理間で受け渡されるメッセージは同じであるが
、異なるメッセージが処理間で受け渡されても良い。
行されたデータ処理結果を伴うメッセージとともに、ある種類の識別情報(例え
ば、これ以後説明されるトークンなど)を含む(ブロック56)。制御処理Cは
サポート処理から受信されるメッセージから収集されるその識別情報を用いて、
割当てられたタスクを実行するのに関与する全てのサポート処理Piによって実
行される全ての処理が完了したかどうかを判断する(ブロック58)。転送され
たメッセージと処理結果とを伴う識別情報を含むことによって、サポート処理と
制御処理との間で別々の制御タイプのメッセージを送信して処理することに関連
した付加的なオーバヘッドや遅延がなくなる。その識別情報は、また、制御処理
Cに対して別々に信号発信して関与する処理の身元や正体及び/或いはその数を
指定する必要もなくしている。
5A〜5C、6、7、及び8と関連して説明する。この非限定的な例では、含ま
れる情報は各転送されたメッセージにアタッチされるエンドトークンセットSで
ある。エンドトークンセットSは、そのメッセージに関連した1つ以上のエンド
トークンeiを含み、i=1,2,3,……である。各エンドトークンeiは、ユ
ニークなトークン識別子(e.id)と対応する処理から他のサポート処理への出力
“分岐”の数(e.n)とから成り立っている(ブロック62)。始めに、制御処
理Cは各出力分岐へのエンドトークンセットSをもつメッセージを1つ以上のサ
ポート処理に送信する。この時点において、エンドトークンセットは制御処理C
によって生成されるエンドトークンセットだけを含む(ブロック64)。
0)と名づけられた各サポート処理で受信されるメッセージを処理する手順を図
示している。ブロック72では現在の処理Piから他のサポート処理への出力分
岐の数に関して決定がなされる。もし、ただ1つの出力分岐しかないなら、現在
の処理Piは、元々は現在の処理Piによって受信されるトークンセットSと現在
の処理Piによって処理されるメッセージとともにメッセージMを、その単一の
出力分岐に送信する(ブロック74)。しかしながら、現在の処理Piから1つ
以上の出力分岐があるなら、現在の処理Piは新しいユニークなトークン識別子e
.idとともに現在の処理Piからの出力分岐の数e.nとを定義して、新しいエンド
トークンe=<e.id+e.n>を生成する(ブロック76)。現在の処理Piはデー
タ処理タスクのその部分を実行する(ブロック77)。現在の処理Piは、それ
から、メッセージMと、現在の処理Piによって生成される処理結果と、現在の
処理のエンドトークンeiと現在の処理Piによって受信されたエンドトークンセ
ットSi-1との数学的な結合に等しいエンドトークンセットSiとを、現在の処理
Piからの出力分岐のただ1つに対して送信する(ブロック78)。加えて、現
在の処理Piは、受信されたメッセージMと、現在の処理Piによって生成された
処理結果と、ただエンドトークンeiを含むエンドトークンセットSiとを、現在
の処理Piからの他の全ての出力分岐に対して送信する(ブロック80)。
を正しく実行するために、メッセージMとともに現在の処理Piによって受信さ
れたトークンセットSi-1と、エンドトークンeiとの両方を受信する。この実施
形態の例では、評価の処理は本質的にはエンドトークンの計数処理である。各エ
ンドトークン識別子(e.id)に対して、要求されるタスクが全ての関与するサポ
ートプロセッサによって実行完了する前に到達するエンドトークンの期待される
数に対応して制御処理Cによって管理されるCOUNTアレイにカウンタが設け
られる。もし、全セットのエンドトークン(即ち、eiとSi-1の結合)が1つ以
上の出力分岐に対して送信されることなるなら、制御処理Cは複製されたエンド
トークンを受信し、これにより、誤ってトークンのカウントを増やすことになる
。
るメッセージ処理”ルーチンを図示している(ブロック19)。上述のように、
制御処理Cは、各e.idについてエンドトークンの残りの数をカウントするアレイ
カウンタCOUNTを生成する。メッセージが制御処理においてサポート処理P i から受信されるとき、制御処理Cは受信メッセージにアタッチされているエン
ドトークンセットSから1つのエンドトークンを除去し処理ループの終了を保証
する(ブロック92)。ブロック94では、対応するカウンタが既にエンドトー
クンセットSにおけるエンドトークンe.idに対してCOUNTアレイに設けられ
ているかどうかの決定がなされる。もし、設けられているのであれば、COUN
Tアレイにおける対応するカウンタ、即ち、COUNT(e.id)が1つだけデク
リメントされる(ブロック96)。もし、設けられていないのであれば、制御処
理Cはe.idに対応するカウンタをカウントアレイに挿入し、e.n-1に等しいCO
UNT(e.id)を設定する。ブロック100では、エンドトークンセットSに残
りのトークンがあるかどうかの判断を行う。もし、トークンが残っていれば、制
御はブロック92に戻る。そうでなければ、ブロック102では、COUNTア
レイにおける設けられたエンドトークンカウンタ値全てがゼロであるかどうかの
判定を行う。もし、ゼロでなければ、制御処理Cはサポート処理からのさらに多
くのメッセージを待ち合わせる(ブロック104)。もし、全てのエンドトーク
ンカウンタ値がゼロであれば、全ての必要なメッセージは到着しており、タスク
処理は終了する(ブロック106)。
例のシナリオで実施される。図6は単純なシナリオの例を図示しており、そのシ
ナリオでは、メッセージMは各処理から1つの出力分岐に対してだけ送信される
ので、種々の処理間の伝送中にはエンドトークンセットS={ei}には何も起
こらない。それ故に、制御処理CにおけるCOUNTアレイは1つのメッセージ
が受信されるまでは空である。その1つのメッセージがeiに対応するたった1
つのエンドトークンを含むのであるから、その対応するカウンタはe1.nの値をも
つ。出力分岐の数e1.nは1に等しいのであるから、制御処理はCOUNTアレイ
におけるCOUNT(e1.id)についての始めの値をゼロに等しい(e1.n-1)に
設定する(ブロック98)。COUNTアレイにおける全てのカウンタ値がゼロ
であるから、制御処理Cは全てのメッセージが受信され、タスクが完了したこと
を理解する。
な例が図7に示されている。まず、CからP1へと転送されるメッセージの1つ
の複製に対応するただ1つの出力分岐しかないのであるから、エンドトークンe 1 が、制御処理Cによって生成される。ここで、e1.n=1である。(そのエンド
トークン識別子は特定の処理を識別するものではないことを銘記されたい。)処
理P1において、メッセージMが、1つは処理P2へと、もう1つは処理P3へと
分岐するものであるが、2つの出力分岐へと送信される。これら両方の分岐にお
けるメッセージMは現在の処理P1を識別する同じエンドトークンe2と、処理P 1 からの出力分岐の数e2.n=2とを含む。しかしながら、エンドトークンe1は、
図5Bのブロック76に関して、上述のように、処理P1によって転送されたメ
ッセージの1つでのみ送信される。処理P2とP3とはただ1つの出力分岐をもつ
のであるから、それらの処理は新しいエンドトークンをアタッチするのではなく
、むしろ、単に受信されたエンドトークンセットS、即ち、{e1e2}或いは{
e2}をメッセージとともに転送する。
トークンは如何なる順序でも到着する。もし、それらが{e2}、{e1e2}の
順序で到着するなら、制御処理Cはe2.idをCOUNTアレイに挿入し、この例
では1に等しいe2.n-1に等しいCOUNT(e2.id)のカウント値を設定する
。次のトークンセット{e1e2}が到着するとき、制御処理CはCOUNT(e 1 .id)=e1.n-1のカウンタ値、つまり0を設定する。既に説明したように、C
OUNTe2.idは現在のところ1であるので、受信エンドトークンセット{e1
e2}におけるエンドトークンe2はCOUNT(e2.id)をゼロにデクリメント
する。COUNTアレイにおける全てのカウンタがゼロの値をもつので、制御処
理Cはさらに受信するメッセージがなく、タスクが完了したと判断する。もし、
エンドトークンセットが反対の順番で到着するなら、即ち、{e1e2}、{e2
}の順序であれば、同じような結果が得られる。
を図示している。しかしながら、類似の手順で同じようにうまくゆく。制御処理
Cはメッセージを処理P1に送信し、処理P1はメッセージの複製をサポート処理
P2,P3,及びP4に送信する。制御処理Cからの初期メッセージは、セット{
e1}においてただ1つのエンドトークンを含む。処理P1は、その時、処理P1
からの3つの出力分岐があるので、e2.n=3である新しいエンドトークンe2を
生成する。これら分岐の1つ、即ち、処理P2への分岐において、そのセットの
エンドトークンは拡張されてエンドトークンe2を含み、S={e1e2}となる
。しかしながら、他の2つの出力分岐は新しいエンドトークン{e2}だけをも
つエンドトークンセットを含む。
出力する。それ故に、エンドトークンe3は処理P2によって生成され、e3.n=
2であれば、これら2つの分岐に対して送信されるメッセージにアタッチされる
。そのエンドトークンはまた、受信されるエンドトークンセットに挿入されてサ
ポート処理P5だけに受け渡される{e1e2e3}を生成する。処理P5とP6との両
方は、これらの処理が処理P2から受信するエンドトークンセットを変化させな
いで通過させる。なぜなら、これらの処理は夫々、ただ1つの出力分岐をもって
いるからである。P4もまた、ちょうど1つの出力分岐をもつだけなので、受信
したエンドトークンを通過させるだけである。処理P2,P4,P5,及びP6につ
いて説明した同様のエンドトークンの取り扱いが、処理P3,P7,P8,及びP9 によって実行される。
のエンドトークンセットとともに受信するであろう。即ち、(a)-{e1e2e3},(b)-
{e2e4},(c)-{e2},(d)-{e3},及び(e)-{e4}。これらのエンドトークンセットは
どんな順番で制御処理Cに到着しても良い。以下に示す表1は到着の1つの順番
を示し、以下に示す表2は到着の逆転した順番を示している。
れ図示された具体的な実施形態によって限定されるものではないことを認識する
であろう。示され説明されたものとは別に、異なるフォーマット、実施形態、及
び適用とともに、多くの態様、変形例、及び同等の構成がまた本発明を実施する
ために用いられても良い。それ故に、本発明はその好適な実施形態に関連して説
明されたが、この開示は本発明のただ例示的かつ代表的なものであるに過ぎず、
本発明の十分で実施可能な開示を提供するためだけのものであることを理解すべ
きである。従って、本発明はここに添付された請求の範囲の精神と範囲だけによ
って限定されることが意図されている。
を通して同じ部分について参照するようにされた添付図面において図示されたよ
うな好適な実施形態の例についての説明から明らかにされる。その図面にはスケ
ールは必ずしも必要ではなく、その代わりに本発明の原理を図示することに強調
が置かれている。
クを基幹とした分散データ処理システムを示す。
され共用メモリを用いて通信を行う、マルチプロセッサデータ処理システムの別
の構成である。
たフローチャート図である。
手順を図示したフローチャート図である。
的な実施形態の例を用いて実施される本発明の動作の例を示す図である。
かかり、この問題が重大なことであるかもしれない。それ故に、データベース管
理システムはしばしば、単一コンピュータ或いはマルチプロセッサで動作するマ
ルチ処理を採用し、各照会要求をマルチ処理或いはプロセッサを用いて実行され
る相互関連したタスクへと分解することにより照会を実行する。言い換えると、
各処理或いはプロセッサはその照会実行のある部分を実行するのである。マルチ
処理/プロセッサシステムは一般に知られている。例えば、モリカワ(Morikawa
)に特許された(富士通(Fujitsu)に譲渡された)米国特許第5,668,7
14号は、各プロセッサが特定の処理に割当てられた複数のプロセッサを有する
マルチプロセッサ装置について説明している。不必要、或いは、過度なプロセッ
サはその割当てから1つの処理へと解放され、もしその処理に割当てられたプロ
セッサの数が不十分であれば、1つ以上のアイドル中のプロセッサがその処理へ
と割当てられる。協働する全ての照会処理(即ち、照会オペーレータ)から生み
出される照会の結果が集められて結合されて要求されている照会応答/アンサー
セットを生成する。
Claims (30)
- 【請求項1】 データ処理要求を評価する方法であって、 前記データ処理要求を制御処理に対して提供し、 前記データ処理要求に応じて、前記制御処理から第1の指示子を含む情報を出
力し、 第1のサポート処理において、前記制御処理情報を処理し、それから、前記第
1の指示子と第2の指示子とを含む情報を出力し、 第2のサポート処理において、前記第1のサポート処理情報を処理し、 前記制御処理において、サポート処理からの情報を受信し、前記第1及び第2
の指示子を用いて前記要求に従う処理が完了したかどうかを決定することを特徴
とする方法。 - 【請求項2】 前記受信する工程は、さらに、前記第1及び第2のサポート処
理の両方において、前記要求に従う処理が完了したかどうかを判断することを含
むことを特徴とする請求項1に記載の方法。 - 【請求項3】 前記第1のサポート処理はその処理結果を前記第2のサポート
処理に送信することを特徴とする請求項1に記載の方法。 - 【請求項4】 前記第1のサポート処理は第3のサポート処理に対して前記第
2の指示子だけを含む情報を出力することを特徴とする請求項1に記載の方法。 - 【請求項5】 前記サポート処理によって送信された前記情報は前記データ処
理タスクに関係したメッセージを含み、前記第1及び第2のサポート処理各々は
前記メッセージで提供された前記要求の一部を実行することを特徴とする請求項
1に記載の方法。 - 【請求項6】 前記第1及び第2の処理各々は、前記メッセージとともに前記
要求のその一部実行されたものの結果を転送することを特徴とする請求項5に記
載の方法。 - 【請求項7】 各指示子は、前記対応する処理に関連したトークン識別子と、
前記対応するサポート処理によって転送されたメッセージの複製の数とを含むト
ークンであることを特徴とする請求項5に記載の方法。 - 【請求項8】 前記制御処理は前記メッセージを複数のサポート処理に転送し
、前記複数のサポート処理各々は前記メッセージとともに対応する指示子を受信
することを特徴とする請求項1に記載の方法。 - 【請求項9】 前記第1のサポート処理は前記情報を、その1つが前記第2の
サポート処理である複数のサポート処理に転送し、前記複数の処理各々は前記第
1のサポート処理に対応する指示子を受信し、前記複数の処理の1つはまた、前
記制御処理に対応する指示子を受信することを特徴とする請求項1に記載の方法
。 - 【請求項10】 前記データ処理要求はデータベースの照会であり、前記第1
及び第2のサポート処理は照会処理であることを特徴とする請求項1に記載の方
法。 - 【請求項11】 前記サポート処理はオペレーティングシステムソフトウェア
のメッセージパッシング機能を用いて通信することを特徴とする請求項1に記載
の方法。 - 【請求項12】 前記処理は、ネットワークによって通信を行う離れた場所に
位置したノードに分散されていることを特徴とする請求項1に記載の方法。 - 【請求項13】 前記処理はデータバスを介して共有メモリに接続されたデー
タプロセッサに分散されていることを特徴とする請求項1に記載の方法。 - 【請求項14】 情報が前記第1及び第2のサポート処理によって処理された
後、前記情報は前記第1及び第2のサポート処理には戻らないことを特徴とする
請求項1に記載の方法。 - 【請求項15】 装置で実行可能なデータ処理タスクを処理する方法であって
、 前記データ処理タスクに関係したメッセージを、前記データ処理タスクを実行
するのに関与し、各々が前記データ処理タスクに関係した処理を実行し、前記メ
ッセージとともにトークンを前記別のものに受け渡す複数の処理間で受け渡し、 前記処理の1つ以上に関連した1つ以上のトークンに基づいて、前記データ処
理タスクが終了したことを判断する制御過程とを有することを特徴とする方法。 - 【請求項16】 前記制御過程は、前記複数の処理から受け渡される前記1つ
以上のトークンが前記制御過程によって受信されるとき、前記データ処理タスク
が終了したと判断することを特徴とする請求項15に記載の方法。 - 【請求項17】 前記複数の処理各々は、前記データ処理タスクのある部分を
実行し、前記1つ以上のトークンとメッセージとともに、前記データ処理タスク
の前記該当部分の結果を受け渡すことを特徴とする請求項15に記載の方法。 - 【請求項18】 第1の処理と第2の処理とをさらに有し、 前記第1の処理は、前記第1の処理に関連した第1のトークンを生成し、前記
第1のトークンを前記受け渡されるメッセージとともに第2の処理にアタッチし
、そして、前記第2の処理は、前記第2の処理に対応する第2のトークンをアタ
ッチすることなく、前記第1のトークンを別の処理に受け渡すことを特徴とする
請求項15に記載の方法。 - 【請求項19】 各トークンは、前記トークンが関連した処理によって受け渡
される処理の数に対応した番号を含み、各トークンはまた識別子を含むことを特
徴とする請求項15に記載の方法。 - 【請求項20】 協働データ処理のための分散データ処理システムであって、 各々がデータ処理機能の一部を実行し、トークンと前記実行された処理の結果
とを別の処理へと転送する複数のサポート処理と、 サポート処理から転送された前記処理結果と前記トークンとを受信し、前記受
信したトークンから前記データ処理機能がいつ完了したのかを判断する調整処理
とを有することを特徴とする分散データ処理システム。 - 【請求項21】 前記サポート処理と前記調整処理とは、単一データプロセッ
サを用いて実行され、前記処理は前記データプロセッサによって実行されるオペ
レーティングシステムのメッセージパッシング部を用いて通信を行うことを特徴
とする請求項20に記載の分散データ処理システム。 - 【請求項22】 前記分散データ処理システムはデータベースシステムであり
、前記データ処理機能はデータベース照会であることを特徴とする請求項20に
記載の分散データ処理システム。 - 【請求項23】 前記サポート処理と前記調整処理とは夫々、ネットワークに
よって接続されたデータプロセッサに対応することを特徴とする請求項20に記
載の分散データ処理システム。 - 【請求項24】 前記サポート処理と前記調整処理とは夫々、共有メモリを介
して通信を行うデータプロセッサに対応することを特徴とする請求項20に記載
の分散データ処理システム。 - 【請求項25】 前記調整処理は、前記複数のサポート処理のいづれかに関連
したトークン全てが前記制御処理によって受信されるとき、前記データ処理機能
が終了したと判断することを特徴とする請求項20に記載の分散データ処理シス
テム。 - 【請求項26】 各トークンは処理に関連した識別子と、前記トークンが関連
する処理によって受け渡される処理の数に対応する番号とを含むことを特徴とす
る請求項20に記載の分散データ処理システム。 - 【請求項27】 各処理は別の処理にトークンのセットを転送し、1つ以上の
処理があれば前記トークンのセットにトークンを追加することを特徴とする請求
項20に記載の分散データ処理システム。 - 【請求項28】 少なくとも1つの処理はメッセージを第1のサポート処理と
第2のサポートエイジェント処理とに送信し、前記第1のサポート処理は前記メ
ッセージとともに2つのトークンを受信し、前記第2のサポート処理は前記メッ
セージとともに1つのトークンを受信することを特徴とする請求項20に記載の
分散データ処理システム。 - 【請求項29】 各トークンは、識別子とサポート処理に受け渡される前記メ
ッセージの複製の数とを含むことを特徴とする請求項28に記載の分散データ処
理システム。 - 【請求項30】 関連した処理に対応する各トークンは、対応するトークンが
処理から受信されるとき、前記調整処理によってデクリメントされる対応するト
ークンカウンタを生成するのに用いられることを特徴とする請求項20に記載の
分散データ処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/185,079 US6604122B1 (en) | 1998-11-03 | 1998-11-03 | Method and apparatus for evaluating a data processing request performed by distributed processes |
US09/185,079 | 1998-11-03 | ||
PCT/SE1999/001950 WO2000026765A2 (en) | 1998-11-03 | 1999-10-29 | Method and apparatus for evaluating a data processing request performed by distributed processes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002529808A true JP2002529808A (ja) | 2002-09-10 |
JP2002529808A5 JP2002529808A5 (ja) | 2006-12-14 |
Family
ID=22679489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000580080A Pending JP2002529808A (ja) | 1998-11-03 | 1999-10-29 | 分散処理によって実行されるデータ処理要求を評価する方法及び装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6604122B1 (ja) |
EP (1) | EP1127310B1 (ja) |
JP (1) | JP2002529808A (ja) |
KR (1) | KR20010085985A (ja) |
AU (1) | AU1514800A (ja) |
BR (1) | BR9914991A (ja) |
CA (1) | CA2349706C (ja) |
DE (1) | DE69922832T2 (ja) |
WO (1) | WO2000026765A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006520963A (ja) * | 2003-03-18 | 2006-09-14 | クゥアルコム・インコーポレイテッド | 直接推定を用いた三角形レンダリング |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010703B2 (en) | 2000-03-30 | 2011-08-30 | Prashtama Wireless Llc | Data conversion services and associated distributed processing system |
US20090216641A1 (en) | 2000-03-30 | 2009-08-27 | Niration Network Group, L.L.C. | Methods and Systems for Indexing Content |
US20010027467A1 (en) * | 2000-03-30 | 2001-10-04 | Anderson David P. | Massively distributed database system and associated method |
USRE42153E1 (en) | 2000-03-30 | 2011-02-15 | Hubbard Edward A | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US20010039497A1 (en) * | 2000-03-30 | 2001-11-08 | Hubbard Edward A. | System and method for monitizing network connected user bases utilizing distributed processing systems |
US7406511B2 (en) * | 2002-08-26 | 2008-07-29 | International Business Machines Corporation | System and method for processing transactions in a multisystem database environment |
GB0422007D0 (en) * | 2004-10-05 | 2004-11-03 | Ibm | Method and system for identifying a complete response to a request |
WO2008118613A1 (en) * | 2007-03-01 | 2008-10-02 | Microsoft Corporation | Executing tasks through multiple processors consistently with dynamic assignments |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US5297255A (en) | 1987-07-28 | 1994-03-22 | Hitachi, Ltd. | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism |
CA2078315A1 (en) | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
US5459860A (en) * | 1992-10-05 | 1995-10-17 | International Business Machines Corporation | Computerized system and process for managing a distributed database system |
JPH0784973A (ja) | 1993-09-16 | 1995-03-31 | Fujitsu Ltd | マルチ処理プロセッサ制御装置および制御方法 |
US6330582B1 (en) * | 1994-03-21 | 2001-12-11 | International Business Machines Corporation | Apparatus and method enabling a client to control transaction message traffic between server and client processes |
US5826265A (en) * | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
-
1998
- 1998-11-03 US US09/185,079 patent/US6604122B1/en not_active Expired - Lifetime
-
1999
- 1999-10-29 CA CA002349706A patent/CA2349706C/en not_active Expired - Lifetime
- 1999-10-29 AU AU15148/00A patent/AU1514800A/en not_active Abandoned
- 1999-10-29 WO PCT/SE1999/001950 patent/WO2000026765A2/en active IP Right Grant
- 1999-10-29 JP JP2000580080A patent/JP2002529808A/ja active Pending
- 1999-10-29 KR KR1020017005459A patent/KR20010085985A/ko not_active Application Discontinuation
- 1999-10-29 DE DE69922832T patent/DE69922832T2/de not_active Expired - Lifetime
- 1999-10-29 BR BR9914991-5A patent/BR9914991A/pt not_active Application Discontinuation
- 1999-10-29 EP EP99957447A patent/EP1127310B1/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006520963A (ja) * | 2003-03-18 | 2006-09-14 | クゥアルコム・インコーポレイテッド | 直接推定を用いた三角形レンダリング |
US7800631B2 (en) | 2003-03-18 | 2010-09-21 | Qualcomm Incorporated | Triangle rendering using direct evaluation |
US7800632B2 (en) | 2003-03-18 | 2010-09-21 | Qualcomm Incorporated | Triangle rendering using direct evaluation |
Also Published As
Publication number | Publication date |
---|---|
WO2000026765A3 (en) | 2000-10-05 |
CA2349706C (en) | 2009-05-26 |
BR9914991A (pt) | 2001-07-24 |
DE69922832T2 (de) | 2005-12-15 |
DE69922832D1 (de) | 2005-01-27 |
US6604122B1 (en) | 2003-08-05 |
AU1514800A (en) | 2000-05-22 |
WO2000026765A2 (en) | 2000-05-11 |
CA2349706A1 (en) | 2000-05-11 |
EP1127310B1 (en) | 2004-12-22 |
EP1127310A2 (en) | 2001-08-29 |
KR20010085985A (ko) | 2001-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0169455B1 (en) | Non-unique names for broadcast messages | |
US5195181A (en) | Message processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors | |
US6738971B2 (en) | Using a resource manager to coordinate the comitting of a distributed transaction | |
JP2575800B2 (ja) | 資源を探し出す方法 | |
EP0205946B1 (en) | Flexible data transmission for message based protocols | |
EP0127772B1 (en) | Method and apparatus for processing messages in a computing system | |
JPS6170654A (ja) | 分散処理システムにおける資源管理方式 | |
JP2002511959A (ja) | クライアントサーバデータ処理システムのための通信システム | |
JPH0535903B2 (ja) | ||
JP2000029907A (ja) | メッセ―ジ・ブロ―カ・デ―タ処理装置、方法及びコンピュ―タ・プログラム製品 | |
US7934218B2 (en) | Interprocess communication management using a socket layer | |
JP2002529808A (ja) | 分散処理によって実行されるデータ処理要求を評価する方法及び装置 | |
JPH0213040A (ja) | ネットワークシステムにおけるアドレス情報登録/検索方式 | |
US20030018606A1 (en) | Revocation of tokens without communication between the token holders and the token server | |
US6799219B1 (en) | Method and apparatus for avoiding starvation in computer network | |
US5488703A (en) | System for establishing and performing multiple conversations simultaneously between transaction programs through logical units | |
GB2336920A (en) | Relational message broker adds value to published information | |
JP3058010B2 (ja) | プロセッサ間通信方法及び装置 | |
JPS63137356A (ja) | 計算機ネツトワ−クにおける資源情報の分散管理方法 | |
JP3374628B2 (ja) | トークンパス方式データ転送システム | |
JPS63167938A (ja) | 信号処理装置及び信号処理方法 | |
JP3236158B2 (ja) | 複数ホストシステムのネットワーク処理方式 | |
JP2003515814A (ja) | 分散処理システムにおける相互プロセス通信 | |
JPH06259388A (ja) | 分散システムの分散トランザクションコミット制御方法 | |
CN112150286A (zh) | 基于区块链的交易处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061023 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090306 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090603 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090610 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091102 |