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
Application number
JP2000580080A
Other languages
English (en)
Other versions
JP2002529808A5 (ja
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 JP2002529808A publication Critical patent/JP2002529808A/ja
Publication of JP2002529808A5 publication Critical patent/JP2002529808A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, 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

(57)【要約】 【解決手段】 データベース処理要求が分散処理によって実行される。そのタスクに関与する分散処理各々は、あるデータ処理機能を実行し、他の処理への実質的なタスクメッセージを伴う処理識別情報を含む。最終的に、その識別情報とともにメッセージが制御処理に到達し、その識別情報から制御処理はタスクに関与した全ての処理からの全てのメッセージがそのタスクの各受け持ち部分の実行を完了したかどうかを推測する。もし、完了したことを推測するなら、タスクは完了する。

Description

【発明の詳細な説明】
【0001】 発 明 の 分 野 本発明は、単一データプロセッサの環境、或いは、マルチプロセッサの環境に
おいて、分散処理を用いてタスクを実行することに関する。本発明はタスクを実
行するための何らかの協働作業に対して有用な適用を見出すとは言え、1つの適
用の例は、データ管理システムにおけるデータベース照会の評価に対するもので
ある。
【0002】 発 明 の 背 景 と 要 約 データベース管理において、データベースは電子的に読み出し可能な形式で編
成されて格納され、これに続く多数のコンピュータユーザによる共用アクセスに
備える。データベースエンジンによって、それらのユーザは概念的にはリレーシ
ョナル、タブレット、階層的、或いは、他の形式で編成されるようなデータへの
照会を提出し、照会に応答して、アンサーセットとして知られる出力を受信する
ことが可能になる。次のことは照会の例である。ある会社の従業員登録があるこ
とを仮定してみよう。各従業員に対して、(他にもあるが数ある中には)その従
業員氏名、給料、及び年齢が格納されている。1つの可能性のある照会は、“給
料が20000ドル以上で、かつ、30歳未満の従業員全ての氏名を見出せ”と
いうものがある。
【0003】 種々の状況下で、アンサーセットはこれが生成されるのにかなり多くの時間が
かかり、この問題が重大なことであるかもしれない。それ故に、データベース管
理システムはしばしば、単一コンピュータ或いはマルチプロセッサで動作するマ
ルチ処理を採用し、各照会要求をマルチ処理或いはプロセッサを用いて実行され
る相互関連したタスクへと分解することにより照会を実行する。言い換えると、
各処理或いはプロセッサはその照会実行のある部分を実行するのである。協働す
る全ての照会処理(即ち、照会オペーレータ)から生み出される照会の結果が集
められて結合されて要求されている照会応答/アンサーセットを生成する。
【0004】 具体的には分散された照会処理実行における、そして、一般的にはどんな種類
の分散処理システムにおける困難さは、内部接続されかつ協働する処理の全てが
、全体のタスクにおいて夫々が受け持っている部分の処理を完了したのがいつで
あるのかを知ることにある。図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からの結果を含むメッセージとともにサポート処理に対して送信す
る。
【0005】 完全に実行が終了したタスクは2つのメッセージの形式で制御処理Cに到達す
る。これら2つのメッセージの1つは、チェーンC→P1→P2→Cからのもの
であり、もう1つはチェーンC→P1→P3→P4からのものである。この点に
おける問題は、制御処理Cがタスクを実行するのに関与した全てのエージェント
処理からの全てのメッセージを受信したのがいつであるのかを判断することであ
る。この問題は、制御処理が第1のサポート処理P1については知っているもの
の、タスクの完了に寄与した全てのサポート処理の身元や正体(アイデンティテ
ィ)については必ずしも知る訳ではないという事実によって複雑にされる。その
結果、制御処理Cはいくつの処理のメッセージを予期すべきなのかさえも分から
ないのである。
【0006】 この問題に対する1つの可能性のある解決策は、全てのサポート処理Piが制
御処理Cに対して夫々の身元や正体を通知し、制御処理Cからのメッセージを各
サポート処理Pi(即ち、図1ではP1−P4)に対して送信して、各サポート処
理がタスクの各部分の実行を完了したときに制御処理Cと通信するように要求す
ることである。そのとき、各サポート処理Piは、夫々が受け持っているタスク
の部分の実行を完了したときに別のメッセージを制御処理Cに対して送信する。
この解決策の欠点は、タスクのある部分を実行するのに関与するであろう全ての
サポート処理の身元や正体がCによって前もって知られていることを要求してい
る点にある。この要求はそれを満たすことが必ずしも簡単なことではなく、また
、望ましい訳でもない。この可能性のある解決策の別の重大な欠点は、制御処理
Cとサポート処理との間のオーバヘッドタイプの信号発信全てが時間のかかるも
のであり、非効率的であることである。
【0007】 本発明の目的は、タスクの効率的な分散処理をタイムリな方法で備えることで
ある。
【0008】 本発明の目的は、種々の処理間でのオーバヘッドとなる信号交信の必要なく、
複数の処理を用いてタスクの分散処理を実行することである。
【0009】 本発明の目的は、分散処理環境における制御処理がタスクの一部を実行する分
散処理から受信されるメッセージから、そのタスクの実行が完了したときを、そ
の制御処理と各サポート処理間の特別な信号処理なく、判断することができるこ
とである。
【0010】 本発明のさらに別の目的は、制御処理がタスクの分散実行に関与するであろう
サポート処理の数或いは身元や正体を知る必要すらない効率的な分散処理技術を
提供することである。
【0011】 本発明はこれらの問題を解決し、これらまた別の目的を満たす。制御処理と各
サポート処理との間で制御メッセージを送受信するよりもむしろ、各処理は本質
的なタスクのメッセージとともにサポート処理に対して転送するある種の識別情
報を含む。最終的には、これらのメッセージは識別情報とともに制御処理に到達
する。それから、制御処理では受信した識別情報から、そのタスクに関与した全
ての処理からの全てのメッセージが受信されたかどうかを推測する。もし、制御
処理が全てのメッセージが受信されたと推測するなら、タスクは完了する。
【0012】 1つの実施形態の例では、データ処理タスクに関連するメッセージとして、そ
のデータ処理タスクを実行するのに関与する処理間で、受け渡しがなされる。こ
れら処理各々はそのタスクに関連したある機能を実行し、−−その処理によって
実行される機能によって変形されるが−−そのメッセージとともに“エンドトー
クン(end token)”を関与する別の処理に受け渡す。制御処理は、関与する処
理からの分散処理結果とともに受信したエンドトークンを用いてデータ処理タス
クは終了したことを判断する。各エンドトークンは、ユニークな識別子と対応す
る処理によって転送されるメッセージの複製の数とを含んでおり、制御処理によ
って用いられカウント値のアレイを生成する。カウント値は、対応する処理によ
って転送されるメッセージ複製の数に基づいて、各ユニークなエンドトークンに
対して設けられる。全てのカウント値がデクリメントされてゼロになったとき、
制御処理は全ての関与する処理からのメッセージが到着し、処理は完了したと判
断する。
【0013】 本発明はデータベース管理への応用、特に、データベース照会の評価に対して
利点をもっている。しかしながら、本発明はデータベース管理や照会の評価に対
してのみ限定されるものではなく、処理が協働して全体としての目標を達成する
どんな応用分野にも有用なものとして用いられる。その処理は同じコンピュータ
で或いは別々のコンピュータで実施されても良い。単一コンピュータの場合、そ
の処理は、例えば、コンピュータのオペレーティングシステムのメッセージパッ
シング機能を用いて通信を行っても良い。マルチコンピュータの場合、各コンピ
ュータは、共用メッセージ、LAN(ローカルエリアネットワーク)、インター
ネットなどのような適当な伝送媒体によって通信を行っても良い。
【0014】 発 明 の 詳 細 な 説 明 次の記述では、限定ではなく説明の目的のため、例えば、特定の実施形態、処
理フロー、テクニックなどの具体的な詳細が本発明の完全な理解を備えるために
説明される。しかしながら、当業者であれば、本発明はこれら具体的な詳細から
は離れた他の実施形態において実施されても良いことが明らかである。他の例で
は、公知の方法、システム、及び機器の詳細な説明は、本発明の説明を不必要な
詳細であいまいにしないようにするために省略されている。
【0015】 本発明は種々の環境下で実施される。例えば、本発明は分散ソフトウェア処理
が採用されてタスクを協働して実行する図1に示されたような単一コンピュータ
に基づくシステムで実施されても良い。それらの処理はコンピュータのオペレー
ティングシステムのソフトウェアを用いて交信を行う。加えて、本発明はマルチ
プロセッサ環境にも適用できる。マルチプロセッサ環境の一例が図2に示されて
おり、そこでは参照番号20、22、24、及び26で識別される多数のノード
(1〜4)が、イーサネット(登録商標)、インターネットなどのようなネット ワーク30を介して接続されている。ノード1〜4各々は要求されたデータ処理 タスクのある一部を実行するデータプロセッサを含む。そのノードデータプロセ ッサは適当な通信プロトコルを用いてネットワーク30によって通信を行う。図 3は、マルチプロセッサ構成の別の例を示しており、そこでは、参照番号32、 34、及び36に夫々対応しているCPU1、2、……、Nがデータバス38に よって共用メモリ40に接続されている。しかしながら、これらの適用例は、決 して限定的な意味ではない。なぜなら、本発明は、メッセージ、パケットなどを 互いに指示された非循環的な方法で送信する一式の“もの”があるどんな状態に おいても採用されるからである。
【0016】 図4はデータ処理要求が要求評価手順(ブロック50)で説明されたような分
散処理によって完了したかどうかを判断する工程の例を概説している。説明を簡
単にするためだけあり、決して発明を限定的にするものではないが、本発明は1
つ以上のコンピュータ或いは他の種類の電子的データ処理回路を用いて実施され
る“処理(process)”によって説明される。まず、タスクが複数の処理により
分散処理さもなければ協働処理のための制御処理(C)に割当てられる(ブロッ
ク52)。
【0017】 実行されるタスクに関連したメッセージが制御処理Cから、要求されたデータ
処理タスクの実行においてアシストを行う1つ以上のサポート処理Piに送られ
る(ブロック54)。各サポート処理PiはCからそのメッセージ自身の複製を
受信して、そのメッセージに関連したある処理機能を実行する。処理後、各サポ
ートプロセッサは受信されたメッセージをその処理結果とともに別のサポート処
理へと転送する。この例では、処理間で受け渡されるメッセージは同じであるが
、異なるメッセージが処理間で受け渡されても良い。
【0018】 サポート処理Piは、その処理によって(割当てられたタスクに関連して)実
行されたデータ処理結果を伴うメッセージとともに、ある種類の識別情報(例え
ば、これ以後説明されるトークンなど)を含む(ブロック56)。制御処理Cは
サポート処理から受信されるメッセージから収集されるその識別情報を用いて、
割当てられたタスクを実行するのに関与する全てのサポート処理Piによって実
行される全ての処理が完了したかどうかを判断する(ブロック58)。転送され
たメッセージと処理結果とを伴う識別情報を含むことによって、サポート処理と
制御処理との間で別々の制御タイプのメッセージを送信して処理することに関連
した付加的なオーバヘッドや遅延がなくなる。その識別情報は、また、制御処理
Cに対して別々に信号発信して関与する処理の身元や正体及び/或いはその数を
指定する必要もなくしている。
【0019】 本発明の具体例(即ち、本発明を限定することではない)の実施について、図
5A〜5C、6、7、及び8と関連して説明する。この非限定的な例では、含ま
れる情報は各転送されたメッセージにアタッチされるエンドトークンセットSで
ある。エンドトークンセットSは、そのメッセージに関連した1つ以上のエンド
トークンeiを含み、i=1,2,3,……である。各エンドトークンeiは、ユ
ニークなトークン識別子(e.id)と対応する処理から他のサポート処理への出力
“分岐”の数(e.n)とから成り立っている(ブロック62)。始めに、制御処
理Cは各出力分岐へのエンドトークンセットSをもつメッセージを1つ以上のサ
ポート処理に送信する。この時点において、エンドトークンセットは制御処理C
によって生成されるエンドトークンセットだけを含む(ブロック64)。
【0020】 図5Bはフローチャート形式で“Piにおける処理メッセージ”(ブロック7
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とを、現在の処理
iからの出力分岐のただ1つに対して送信する(ブロック78)。加えて、現
在の処理Piは、受信されたメッセージMと、現在の処理Piによって生成された
処理結果と、ただエンドトークンeiを含むエンドトークンセットSiとを、現在
の処理Piからの他の全ての出力分岐に対して送信する(ブロック80)。
【0021】 従って、複数の出力分岐のただ1つだけが、制御処理において実行される評価
を正しく実行するために、メッセージMとともに現在の処理Piによって受信さ
れたトークンセットSi-1と、エンドトークンeiとの両方を受信する。この実施
形態の例では、評価の処理は本質的にはエンドトークンの計数処理である。各エ
ンドトークン識別子(e.id)に対して、要求されるタスクが全ての関与するサポ
ートプロセッサによって実行完了する前に到達するエンドトークンの期待される
数に対応して制御処理Cによって管理されるCOUNTアレイにカウンタが設け
られる。もし、全セットのエンドトークン(即ち、eiとSi-1の結合)が1つ以
上の出力分岐に対して送信されることなるなら、制御処理Cは複製されたエンド
トークンを受信し、これにより、誤ってトークンのカウントを増やすことになる
【0022】 図5Cにおけるフローチャートは、制御処理Cにおいて実行される“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)。
【0023】 図5A〜5Cで概説された手順が、図6、7、および8に示されている3つの
例のシナリオで実施される。図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は全てのメッセージが受信され、タスクが完了したこと
を理解する。
【0024】 メッセージMの2つの複製がサポート処理P1によって出力されるもっと複雑
な例が図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、即ち、{e12}或いは{
2}をメッセージとともに転送する。
【0025】 制御処理Cにおいてメッセージを受信することに関して、次のセットのエンド
トークンは如何なる順序でも到着する。もし、それらが{e2}、{e12}の
順序で到着するなら、制御処理Cはe2.idをCOUNTアレイに挿入し、この例
では1に等しいe2.n-1に等しいCOUNT(e2.id)のカウント値を設定する
。次のトークンセット{e12}が到着するとき、制御処理CはCOUNT(e 1 .id)=e1.n-1のカウンタ値、つまり0を設定する。既に説明したように、C
OUNTe2.idは現在のところ1であるので、受信エンドトークンセット{e1
2}におけるエンドトークンe2はCOUNT(e2.id)をゼロにデクリメント
する。COUNTアレイにおける全てのカウンタがゼロの値をもつので、制御処
理Cはさらに受信するメッセージがなく、タスクが完了したと判断する。もし、
エンドトークンセットが反対の順番で到着するなら、即ち、{e12}、{e2
}の順序であれば、同じような結果が得られる。
【0026】 図8は複数の出力分岐をもつ多数のサポート処理があるというさらに複雑な例
を図示している。しかしながら、類似の手順で同じようにうまくゆく。制御処理
Cはメッセージを処理P1に送信し、処理P1はメッセージの複製をサポート処理
2,P3,及びP4に送信する。制御処理Cからの初期メッセージは、セット{
1}においてただ1つのエンドトークンを含む。処理P1は、その時、処理P1
からの3つの出力分岐があるので、e2.n=3である新しいエンドトークンe2
生成する。これら分岐の1つ、即ち、処理P2への分岐において、そのセットの
エンドトークンは拡張されてエンドトークンe2を含み、S={e12}となる
。しかしながら、他の2つの出力分岐は新しいエンドトークン{e2}だけをも
つエンドトークンセットを含む。
【0027】 処理P2はそのメッセージを処理P5とP6とによって受信された2つの分岐に
出力する。それ故に、エンドトークンe3は処理P2によって生成され、e3.n=
2であれば、これら2つの分岐に対して送信されるメッセージにアタッチされる
。そのエンドトークンはまた、受信されるエンドトークンセットに挿入されてサ
ポート処理P5だけに受け渡される{e123}を生成する。処理P5とP6との両
方は、これらの処理が処理P2から受信するエンドトークンセットを変化させな
いで通過させる。なぜなら、これらの処理は夫々、ただ1つの出力分岐をもって
いるからである。P4もまた、ちょうど1つの出力分岐をもつだけなので、受信
したエンドトークンを通過させるだけである。処理P2,P4,P5,及びP6につ
いて説明した同様のエンドトークンの取り扱いが、処理P3,P7,P8,及びP9 によって実行される。
【0028】 制御処理Cは最終的にはメッセージを次のものに対応してアタッチされた種々
のエンドトークンセットとともに受信するであろう。即ち、(a)-{e1e2e3},(b)-
{e2e4},(c)-{e2},(d)-{e3},及び(e)-{e4}。これらのエンドトークンセットは
どんな順番で制御処理Cに到着しても良い。以下に示す表1は到着の1つの順番
を示し、以下に示す表2は到着の逆転した順番を示している。
【0029】
【表1】
【0030】
【表2】 本発明は特定の実施形態に関連て説明したが、当業者であれば本発明は説明さ
れ図示された具体的な実施形態によって限定されるものではないことを認識する
であろう。示され説明されたものとは別に、異なるフォーマット、実施形態、及
び適用とともに、多くの態様、変形例、及び同等の構成がまた本発明を実施する
ために用いられても良い。それ故に、本発明はその好適な実施形態に関連して説
明されたが、この開示は本発明のただ例示的かつ代表的なものであるに過ぎず、
本発明の十分で実施可能な開示を提供するためだけのものであることを理解すべ
きである。従って、本発明はここに添付された請求の範囲の精神と範囲だけによ
って限定されることが意図されている。
【図面の簡単な説明】
本発明の前述した、また他の目的、特徴、及び利点は、参照記号が種々の観点
を通して同じ部分について参照するようにされた添付図面において図示されたよ
うな好適な実施形態の例についての説明から明らかにされる。その図面にはスケ
ールは必ずしも必要ではなく、その代わりに本発明の原理を図示することに強調
が置かれている。
【図1】 データ処理タスクを実行するのに用いられる分散処理を示す図である。
【図2】 データ処理タスクを実行するのに用いられるマルチプロセッサで、ネットワー
クを基幹とした分散データ処理システムを示す。
【図3】 データ処理タスクを実行するのに用いられる、プロセッサがデータバスで接続
され共用メモリを用いて通信を行う、マルチプロセッサデータ処理システムの別
の構成である。
【図4】 本発明の実施形態の例に従ったデータ処理要求の実行を評価する手順を図示し
たフローチャート図である。
【図5A】、
【図5B】、
【図5C】 本発明の別の具体的な実施形態の例において、本発明を実施するための種々の
手順を図示したフローチャート図である。
【図6】、
【図7】、
【図8】 徐々により複雑となる分散処理の様々な場面において、図5A〜図5Cの具体
的な実施形態の例を用いて実施される本発明の動作の例を示す図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年11月9日(2000.11.9)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正内容】
【0003】 種々の状況下で、アンサーセットはこれが生成されるのにかなり多くの時間が
かかり、この問題が重大なことであるかもしれない。それ故に、データベース管
理システムはしばしば、単一コンピュータ或いはマルチプロセッサで動作するマ
ルチ処理を採用し、各照会要求をマルチ処理或いはプロセッサを用いて実行され
る相互関連したタスクへと分解することにより照会を実行する。言い換えると、
各処理或いはプロセッサはその照会実行のある部分を実行するのである。マルチ
処理/プロセッサシステムは一般に知られている。例えば、モリカワ(Morikawa
)に特許された(富士通(Fujitsu)に譲渡された)米国特許第5,668,7
14号は、各プロセッサが特定の処理に割当てられた複数のプロセッサを有する
マルチプロセッサ装置について説明している。不必要、或いは、過度なプロセッ
サはその割当てから1つの処理へと解放され、もしその処理に割当てられたプロ
セッサの数が不十分であれば、1つ以上のアイドル中のプロセッサがその処理へ
と割当てられる。協働する全ての照会処理(即ち、照会オペーレータ)から生み
出される照会の結果が集められて結合されて要求されている照会応答/アンサー
セットを生成する。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 データ処理要求を評価する方法であって、 前記データ処理要求を制御処理に対して提供し、 前記データ処理要求に応じて、前記制御処理から第1の指示子を含む情報を出
    力し、 第1のサポート処理において、前記制御処理情報を処理し、それから、前記第
    1の指示子と第2の指示子とを含む情報を出力し、 第2のサポート処理において、前記第1のサポート処理情報を処理し、 前記制御処理において、サポート処理からの情報を受信し、前記第1及び第2
    の指示子を用いて前記要求に従う処理が完了したかどうかを決定することを特徴
    とする方法。
  2. 【請求項2】 前記受信する工程は、さらに、前記第1及び第2のサポート処
    理の両方において、前記要求に従う処理が完了したかどうかを判断することを含
    むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記第1のサポート処理はその処理結果を前記第2のサポート
    処理に送信することを特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記第1のサポート処理は第3のサポート処理に対して前記第
    2の指示子だけを含む情報を出力することを特徴とする請求項1に記載の方法。
  5. 【請求項5】 前記サポート処理によって送信された前記情報は前記データ処
    理タスクに関係したメッセージを含み、前記第1及び第2のサポート処理各々は
    前記メッセージで提供された前記要求の一部を実行することを特徴とする請求項
    1に記載の方法。
  6. 【請求項6】 前記第1及び第2の処理各々は、前記メッセージとともに前記
    要求のその一部実行されたものの結果を転送することを特徴とする請求項5に記
    載の方法。
  7. 【請求項7】 各指示子は、前記対応する処理に関連したトークン識別子と、
    前記対応するサポート処理によって転送されたメッセージの複製の数とを含むト
    ークンであることを特徴とする請求項5に記載の方法。
  8. 【請求項8】 前記制御処理は前記メッセージを複数のサポート処理に転送し
    、前記複数のサポート処理各々は前記メッセージとともに対応する指示子を受信
    することを特徴とする請求項1に記載の方法。
  9. 【請求項9】 前記第1のサポート処理は前記情報を、その1つが前記第2の
    サポート処理である複数のサポート処理に転送し、前記複数の処理各々は前記第
    1のサポート処理に対応する指示子を受信し、前記複数の処理の1つはまた、前
    記制御処理に対応する指示子を受信することを特徴とする請求項1に記載の方法
  10. 【請求項10】 前記データ処理要求はデータベースの照会であり、前記第1
    及び第2のサポート処理は照会処理であることを特徴とする請求項1に記載の方
    法。
  11. 【請求項11】 前記サポート処理はオペレーティングシステムソフトウェア
    のメッセージパッシング機能を用いて通信することを特徴とする請求項1に記載
    の方法。
  12. 【請求項12】 前記処理は、ネットワークによって通信を行う離れた場所に
    位置したノードに分散されていることを特徴とする請求項1に記載の方法。
  13. 【請求項13】 前記処理はデータバスを介して共有メモリに接続されたデー
    タプロセッサに分散されていることを特徴とする請求項1に記載の方法。
  14. 【請求項14】 情報が前記第1及び第2のサポート処理によって処理された
    後、前記情報は前記第1及び第2のサポート処理には戻らないことを特徴とする
    請求項1に記載の方法。
  15. 【請求項15】 装置で実行可能なデータ処理タスクを処理する方法であって
    、 前記データ処理タスクに関係したメッセージを、前記データ処理タスクを実行
    するのに関与し、各々が前記データ処理タスクに関係した処理を実行し、前記メ
    ッセージとともにトークンを前記別のものに受け渡す複数の処理間で受け渡し、 前記処理の1つ以上に関連した1つ以上のトークンに基づいて、前記データ処
    理タスクが終了したことを判断する制御過程とを有することを特徴とする方法。
  16. 【請求項16】 前記制御過程は、前記複数の処理から受け渡される前記1つ
    以上のトークンが前記制御過程によって受信されるとき、前記データ処理タスク
    が終了したと判断することを特徴とする請求項15に記載の方法。
  17. 【請求項17】 前記複数の処理各々は、前記データ処理タスクのある部分を
    実行し、前記1つ以上のトークンとメッセージとともに、前記データ処理タスク
    の前記該当部分の結果を受け渡すことを特徴とする請求項15に記載の方法。
  18. 【請求項18】 第1の処理と第2の処理とをさらに有し、 前記第1の処理は、前記第1の処理に関連した第1のトークンを生成し、前記
    第1のトークンを前記受け渡されるメッセージとともに第2の処理にアタッチし
    、そして、前記第2の処理は、前記第2の処理に対応する第2のトークンをアタ
    ッチすることなく、前記第1のトークンを別の処理に受け渡すことを特徴とする
    請求項15に記載の方法。
  19. 【請求項19】 各トークンは、前記トークンが関連した処理によって受け渡
    される処理の数に対応した番号を含み、各トークンはまた識別子を含むことを特
    徴とする請求項15に記載の方法。
  20. 【請求項20】 協働データ処理のための分散データ処理システムであって、 各々がデータ処理機能の一部を実行し、トークンと前記実行された処理の結果
    とを別の処理へと転送する複数のサポート処理と、 サポート処理から転送された前記処理結果と前記トークンとを受信し、前記受
    信したトークンから前記データ処理機能がいつ完了したのかを判断する調整処理
    とを有することを特徴とする分散データ処理システム。
  21. 【請求項21】 前記サポート処理と前記調整処理とは、単一データプロセッ
    サを用いて実行され、前記処理は前記データプロセッサによって実行されるオペ
    レーティングシステムのメッセージパッシング部を用いて通信を行うことを特徴
    とする請求項20に記載の分散データ処理システム。
  22. 【請求項22】 前記分散データ処理システムはデータベースシステムであり
    、前記データ処理機能はデータベース照会であることを特徴とする請求項20に
    記載の分散データ処理システム。
  23. 【請求項23】 前記サポート処理と前記調整処理とは夫々、ネットワークに
    よって接続されたデータプロセッサに対応することを特徴とする請求項20に記
    載の分散データ処理システム。
  24. 【請求項24】 前記サポート処理と前記調整処理とは夫々、共有メモリを介
    して通信を行うデータプロセッサに対応することを特徴とする請求項20に記載
    の分散データ処理システム。
  25. 【請求項25】 前記調整処理は、前記複数のサポート処理のいづれかに関連
    したトークン全てが前記制御処理によって受信されるとき、前記データ処理機能
    が終了したと判断することを特徴とする請求項20に記載の分散データ処理シス
    テム。
  26. 【請求項26】 各トークンは処理に関連した識別子と、前記トークンが関連
    する処理によって受け渡される処理の数に対応する番号とを含むことを特徴とす
    る請求項20に記載の分散データ処理システム。
  27. 【請求項27】 各処理は別の処理にトークンのセットを転送し、1つ以上の
    処理があれば前記トークンのセットにトークンを追加することを特徴とする請求
    項20に記載の分散データ処理システム。
  28. 【請求項28】 少なくとも1つの処理はメッセージを第1のサポート処理と
    第2のサポートエイジェント処理とに送信し、前記第1のサポート処理は前記メ
    ッセージとともに2つのトークンを受信し、前記第2のサポート処理は前記メッ
    セージとともに1つのトークンを受信することを特徴とする請求項20に記載の
    分散データ処理システム。
  29. 【請求項29】 各トークンは、識別子とサポート処理に受け渡される前記メ
    ッセージの複製の数とを含むことを特徴とする請求項28に記載の分散データ処
    理システム。
  30. 【請求項30】 関連した処理に対応する各トークンは、対応するトークンが
    処理から受信されるとき、前記調整処理によってデクリメントされる対応するト
    ークンカウンタを生成するのに用いられることを特徴とする請求項20に記載の
    分散データ処理システム。
JP2000580080A 1998-11-03 1999-10-29 分散処理によって実行されるデータ処理要求を評価する方法及び装置 Pending JP2002529808A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520963A (ja) * 2003-03-18 2006-09-14 クゥアルコム・インコーポレイテッド 直接推定を用いた三角形レンダリング

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090216641A1 (en) 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US20010039497A1 (en) * 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
US8010703B2 (en) 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
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
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)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520963A (ja) * 2003-03-18 2006-09-14 クゥアルコム・インコーポレイテッド 直接推定を用いた三角形レンダリング
US7800632B2 (en) 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation
US7800631B2 (en) 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation

Also Published As

Publication number Publication date
US6604122B1 (en) 2003-08-05
EP1127310A2 (en) 2001-08-29
DE69922832D1 (de) 2005-01-27
DE69922832T2 (de) 2005-12-15
CA2349706C (en) 2009-05-26
CA2349706A1 (en) 2000-05-11
EP1127310B1 (en) 2004-12-22
BR9914991A (pt) 2001-07-24
KR20010085985A (ko) 2001-09-07
WO2000026765A3 (en) 2000-10-05
WO2000026765A2 (en) 2000-05-11
AU1514800A (en) 2000-05-22

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
US6510429B1 (en) Message broker apparatus, method and computer program product
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
JP2002529808A (ja) 分散処理によって実行されるデータ処理要求を評価する方法及び装置
JPH0213040A (ja) ネットワークシステムにおけるアドレス情報登録/検索方式
US20030018606A1 (en) Revocation of tokens without communication between the token holders and the token server
CN116016546A (zh) 一种在cdn中批量预热资源文件的方法及系统
JP3685110B2 (ja) ファイル転送システム、装置、方法、及びファイル転送プログラムを記録した記録媒体
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
US6925582B2 (en) Forwarding of diagnostic messages in a group
JP3058010B2 (ja) プロセッサ間通信方法及び装置
JPS63137356A (ja) 計算機ネツトワ−クにおける資源情報の分散管理方法
JP3374628B2 (ja) トークンパス方式データ転送システム
JPH0621925A (ja) 多重化伝送路通信制御方式
JP3236158B2 (ja) 複数ホストシステムのネットワーク処理方式
JP2003515814A (ja) 分散処理システムにおける相互プロセス通信
JPS59161952A (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