JP3693311B2 - 分散処理システム - Google Patents
分散処理システム Download PDFInfo
- Publication number
- JP3693311B2 JP3693311B2 JP27909696A JP27909696A JP3693311B2 JP 3693311 B2 JP3693311 B2 JP 3693311B2 JP 27909696 A JP27909696 A JP 27909696A JP 27909696 A JP27909696 A JP 27909696A JP 3693311 B2 JP3693311 B2 JP 3693311B2
- Authority
- JP
- Japan
- Prior art keywords
- trader
- service
- service type
- user
- user program
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、分散処理システムにおいて、特定の条件に合致するサービス提供者の位置を検索するサービス検索方法に関し、特に動的にサービス型を管理するトレーダを生成あるいは変更することができ、かつトレーダの位置検索によるユーザプログラムの処理時間オーバーヘッドを削減することが可能な分散処理システムのサービス検索方法に関する。
【0002】
【従来の技術】
従来より、分散処理システムにおいて、サービスの利用者が特定のサービスを受けるためには、そのサービスの位置を検索する必要がある。そのために、サービスの利用者が種々の条件を設定して、それらの条件に合致したサービスの位置を多くのサービスの中から検索しなければならなかった。このような検索を行う手段を提供する機能をトレーディング機能と呼び、トレーディング機能を提供するサーバをトレーダと呼ぶ。トレーダに格納されているサービスは、検索の効率化等の理由からサービスの型や位置的な局所性等、格納しているサービスの属性からグループ化される。このグループをトレーディングコンテキストと呼ぶ。
このトレーディングコンテキスト毎に独立したトレーダを作成する方式を採用すれば、1トレーダに格納する情報量を少なくすることができるとともに、トレーダ自体の内部にコンテキスト構造を定義する必要がなく、トレーダ内部の構造を簡易化することができるという利点があった。
しかし、従来では、このような方式を採用した場合、所望のサービスを検索する前にそのサービスが属するトレーディングコンテキストを格納しているトレーダの位置を検索する処理が必要となっていた。
【0003】
【発明が解決しようとする課題】
このように、分散処理システムにおいて、利用者がサービスを利用する際には、プログラム作成時に既に必要なサービス型が特定されている場合があるので、そのような場合にはサービス型とトレーダとを対応させることによってプログラム作成時点でトレーダを特定することが可能であり、トレーダの位置検索によるオーバーヘッドを削減することができる。
しかしながら、プログラム作成後にトレーダのデータ分割等によりトレーディングコンテキストが変更された場合には、プログラム自体を変更する必要があった。このように、プログラム自体を変更することは、サービス利用者にとって多くの作業を強制させられることになる。このため、これまでは、プログラム作成時点でトレーダが特定可能であっても、従来通り、オーバーヘッドとなるトレーダの位置検索処理を行わざるを得なかった。
そこで本発明の目的は、このような従来の課題を解決し、プログラム作成後にトレーディングコンテキストが変更された場合に、トレーディングコンテキストの変更をユーザプログラムが知らなくても、簡単にトレーダの位置を取得することができ、トレーダの位置検索による処理時間オーバーヘッドを削減することが可能な分散処理システムのサービス検索方法を提供することにある。
【0004】
【課題を解決するための手段】
上記目的を達成するため、本発明による分散処理システムでは、サービス型と、該当するサービス型を管理しているトレーダ位置との対応関係の間に中間情報を定義し、ユーザプログラムがソースレベルでサービス型を明示してサービス検索要求を行った場合には、コンパイラによるコンパイル時に該当サービス型を管理しているトレーダへのアクセスを中間情報に対するアクセスに変換した形態で、ユーザプログラムのロードモジュールを作成する。そして、中間情報とトレーダ位置との対応表を、各ユーザ共通の領域に保存して、ユーザプログラムのロードモジュール実行に伴う検索要求発生時に、該当する対応関係を参照して中間情報からトレーダ位置情報の取得を高速に行う。また、該当するサービス型を格納しているトレーダが変更された場合には、前述の中間情報とトレーダ位置対応表のトレーダ位置の部分のみを変更することにより、ユーザプログラムのロードモジュールを変更することなく、新しいトレーダを利用することができるようにしている。これにより、ユーザプログラムがサービス型を明示してトレーダに検索要求を行う場合、トレーダの検索処理に相当する処理をコンパイル時に解決することができるので、検索実行時のトレーダの検索処理時間を削減することができる。
【0005】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図1は、本発明の一実施例を示すロードモジュール作成手順を示す説明図である。
図1において、1はユーザソースプログラム、2はコンパイラ、3は各サービス型毎のトレーダ擬似ルーチン、4はユーザプログラムのオブジェクトコード、5はユーザプログラムのロードモジュールである。
コンパイラ2は、ユーザソースプログラム1において明示的にサービス型を指定したトレーダ検索要求を検出した場合、該当するサービス型に対応するトレーダ擬似ルーチン3を結合する。トレーダ擬似ルーチン3とは、該当するサービス型に対応する中間情報をロードしてトレーダの位置を取得し、該当トレーダに対してサービス検索要求を行うルーチンである。
このように、本実施例においては、コンパイラ2によるコンパイル時に、該当するサービス型を管理しているトレーダへのアクセスを、中間情報(ここでは共有空間のアドレス)へのアクセスに変換した形でユーザプログラムのロードモジュール5を作成する。つまり、中間情報をロードしてトレーダの位置を取得したトレーダ擬似ルーチン3をユーザプログラム4に結合することにより、ロードモジュール5を作成している。
【0006】
図2は、本発明における実行時の構成要素と処理の流れを説明する図である。図2では、ユーザプログラムの実行中にトレーダ検索要求が発生した場合の動作が示されている。ここでは、複数のユーザプログラムのロードモジュールがそれぞれの個別空間上に配置され、中間情報とトレーダ位置対応表を共有空間上で共有して、中間情報を共有空間のアドレス9としている。
図2において、3〜5は図1と同一のものを表わしている。6はトレーダ位置対応表、7はトレーダ位置対応表6に対する排他的アクセス権を管理する1ビットのセマフォア、8はトレーディングサービス全体、81はユーザプログラムのオブジェクトコード4が必要としている型のサービスの位置を格納しているトレーダX、82はトレーダX(81)以外のトレーダ、83はトレーダ管理部、9はユーザプログラムのオブジェクトコード4が必要としているサービス型に対する中間情報として使用される共有空間内アドレス、10はユーザプログラムのロードモジュール5に割付けられている個別空間、11は他のユーザプログラムのロードモジュール5に割付けられた個別空間、12はトレーダを利用する全てのユーザプログラムによって共有される共有空間である。
図2における共有空間12に存在するトレーダ位置対応表6は、中間情報とトレーダ位置の対応関係を格納している。同じく共有空間12に存在するセマフォア7は、トレーダ位置対応表6のエントリ書き換え処理中に、ユーザプログラムからのリードを禁止する機能を持つ。トレーディングサービス全体8は、各サービス型毎に独立した多くのトレーダ81,82を含んでいる。
【0007】
本実施例では、実行時にトレーダに対する検索要求が発生した場合、次のような動作を行う。
(a)ユーザプログラム4からサービス型を明記したサービス検索要求が発生された時点では、該当サービス型に対応するトレーダ擬似ルーチン3へのサブルーチンコールが発生する。
(b)トレーダ擬似ルーチン3は、トレーダ位置対応表6へのアクセス権を取得するために、セマフォア7を取得する。
(c)トレーダ擬似ルーチン3は、該当サービス型に対応するトレーダ位置対応表6中のアドレス9のデータをリードし、トレーダX(81)の位置を取得する。
(d)トレーダ擬似ルーチン3は、セマフォア7を解放する。
(e)トレーダ擬似ルーチン3は、トレーダX(81)に直接サービス検索要求を行い、レスポンス、つまり検索されたサービスの位置を得る。
(f)トレーダ擬似ルーチン3は、取得したレスポンス、つまり検索されたサービスの位置を戻り値に設定して、ユーザプログラム4にリターンする。
【0008】
図3は、本発明において、トレーダがサポートしているサービス型を変更する手順を説明したシーケンスチャートである。
図3において、83はトレーダ管理部、81は現在のトレーダ(サポートしているサービス型はA,B型)、84は新たに生成されたトレーダ(サポートしているサービス型はB型のみ)、6はトレーダ位置対応表、7はセマフォアである。
ここでは、トレーダX(81)がサービス型Aとサービス型Bを提供している場合に、新たにサービス型Bを提供するトレーダY(84)を生成し、トレーダX(81)はサービス型Aのみを提供するように構成を変更する場合の例を説明する。なお、トレーダ管理部83は、トレーダを生成する機能を有する。
トレーダX(81)およびトレーダY(84)は、トレーダ管理部83からの要求によって、サービスの中止あるいは開始を行う。また、トレーダ管理部83からの要求により、任意のデータを他のトレーダに転送する機能を有する。
【0009】
図4は、図3のシーケンスチャートにおいて書き換えられるトレーダ位置対応表の内容を示す図である。
図4において、アドレス1はサービス型Aに対応する中間情報、アドレス2はサービス型Bに対応する中間情報である。すなわち、初期状態のトレーダX(81)はサービス型Aとサービス型Bの両方を提供しているので、アドレス1,2にはともにトレーダX(81)の位置が格納されている。
次に書換後では、トレーダX(81)はA型のみを提供し、新設されたトレーダY(84)がB型のみを提供しているので、アドレス1にはトレーダX(81)が格納され、アドレス2にはトレーダY(84)が格納されている。
【0010】
図4を参照して、図3のシーケンス動作を説明する。
(A)初期状態のトレーダ位置対応表6のエントリは、図4上図の通りになっている。
(B)トレーダ管理部83は、現在トレーダX(81)で管理されているサービス型BをトレーダY(84)で管理するように変更することを、トレーダ位置対応表6に通知する(トレーダX分割通知)。
(C)トレーダ位置対応表6は、セマフォア7を取得する(取得)。
(D)トレーダ位置対応表6は、エントリの内容を図4上図から図4下図のように書き換えた後、完了通知をトレーダ管理部83に行う(書換終了通知)。
(E)トレーダ管理部83は、サービスの中止をトレーダX(81)に要求し(サービス中止要求)、サービス中止を確認した後に、トレーダX(81)のサービスが中止されたことをトレーダ位置対応表6に通知し(サービス中止通知)、トレーダ位置対応表6はこの通知を受領した後、セマフォア7を解放する(解放)。
(F)トレーダ管理部83は、新たにトレーダY(84)を生成し(トレーダY生成)、サーバス型Bに関する情報をトレーダX(81)からトレーダY(84)に転送する(データ分割処理)。
(G)トレーダ管理部83は、トレーダX(81)、トレーダY(84)に対してサービス開始を要求する(サービス開始要求)。
【0011】
このように、本実施例においては、ユーザプログラムが利用しようとしているトレーダ検索処理をコンパイル時点で解決しているので、実行時にはメモリリードによりトレーダの位置を取得することが可能となる。従って、動的にサービス型を管理するトレーダを生成したり、トレーダの管理するサービス型を変更することが可能になる。その結果、プログラム作成後にトレーダの分割等によりトレーディングコンテキストが変更された場合でも、プログラム自体を変更することなく直ちにトレーダの位置をリードすることが可能である。
【0012】
【発明の効果】
以上説明したように、本発明によれば、ユーザプログラムとしては実行時にオーバーヘッドとなるトレーダ検索処理を削減することができるとともに、トレーダ管理部としては動的にサービス型を管理するトレーダを生成したり、変更することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すロードモジュール作成手順の概略説明図である。
【図2】本発明における実行時の構成要素と、処理の流れを示す機能ブロック図である。
【図3】本発明において、トレーダがサポートしているサービス型を変更する場合の手順を示すシーケンスチャートである。
【図4】図3におけるシーケンスチャートで、書き換えられるトレーダ位置対応表の内容を示す図である。
【符号の説明】
1…ユーザソースプログラム、2…コンパイラ、
3…各サービス型毎のトレーダ擬似ルーチン、
4…ユーザプログラムのオブジェクトコード、
5…ユーザプログラムのロードモジュール、6…トレーダ位置対応表、
7…セマフオア、8…トレーディングサービス全体、81…トレーダX、
82…トレーダX以外のトレーダ、83…トレーダ管理部、
9…共有空間内アドレス、10…ロードモジュールに割付けられた個別空間、
11…他のユーザプログラムに割付けられた個別空間、12…共有空間。
Claims (1)
- ユーザプログラムからのサービス検索要求により要求条件に合致するサービス提供者の位置を検索するトレーディングサービスが、複数の独立したトレーダにより実現されている分散処理システムであって、
前記分散処理システムは、
任意のユーザプログラムから参照可能なメモリ領域に設けられ、サービス型毎に異なる参照アドレスにトレーダ位置を格納したトレーダ位置対応表と、
ユーザプログラムのロードモジュールとを備え、
前記ユーザプログラムのロードモジュールは、前記ユーザプログラムからのサービス型を明記したサービス検索要求時にサブルーチンコールされると、前記トレーダ位置対応表のアクセス権を取得するステップと、前記サービス型に対応するアドレスで前記トレーダ位置対応表を検索してトレーダ位置を求めるステップと、前記求められたトレーダに対してユーザプログラムから指定されたサービス提供者の位置の検索を要求するステップと、その結果であるサービス提供者の位置をユーザプログラムに返すステップとからなる一連の処理を実行させるオブジェクトコードであるトレーダ擬似ルーチンを有し、
前記トレーダ擬似ルーチンは、ユーザソースプログラムからロードモジュールを生成するコンパイラが、前記ユーザソースプログラムにおいて明示的にサービス型を指定したトレーダへのサービス検索要求を検出した場合に、サービス型毎に設けられた複数のトレーダ擬似ルーチンの中から、前記コンパイラにより前記指定されたサービス型に対応するものとして選択され、前記コンパイラにより前記ユーザソースプログラムのオブジェクトコードと結合されたものであり、
前記トレーダ位置対応表は、サービス型を格納しているトレーダが、前記コンパイラによるロードモジュール作成後に変更された場合には、トレーダ位置のみが変更される
ことを特徴とする分散処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27909696A JP3693311B2 (ja) | 1996-10-22 | 1996-10-22 | 分散処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27909696A JP3693311B2 (ja) | 1996-10-22 | 1996-10-22 | 分散処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10124467A JPH10124467A (ja) | 1998-05-15 |
JP3693311B2 true JP3693311B2 (ja) | 2005-09-07 |
Family
ID=17606367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27909696A Expired - Lifetime JP3693311B2 (ja) | 1996-10-22 | 1996-10-22 | 分散処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3693311B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4720135B2 (ja) * | 2004-09-24 | 2011-07-13 | 富士ゼロックス株式会社 | 共同作業空間形成装置およびプログラム |
-
1996
- 1996-10-22 JP JP27909696A patent/JP3693311B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10124467A (ja) | 1998-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5835775A (en) | Method and apparatus for executing a family generic processor specific application | |
US5581765A (en) | System for combining a global object identifier with a local object address in a single object pointer | |
JP5897816B2 (ja) | 依存性グラフのパラメータのスコーピング | |
US6052528A (en) | Process for managing the multiple inheritance of persistent and shared objects | |
JPH0588907A (ja) | 分散環境下におけるコンパイル方式 | |
JPH04268927A (ja) | メモリ管理方法 | |
JPH05204656A (ja) | スレッド固有データ保持方法 | |
CN105808323A (zh) | 一种虚拟机创建方法及系统 | |
CN1140500A (zh) | 分布式数据库系统 | |
EP0889405A1 (en) | Software debugging method | |
US6212533B1 (en) | Hyper-media document management system having navigation mechanism | |
JP3693311B2 (ja) | 分散処理システム | |
CN113626071A (zh) | 函数注册方法、系统、电子设备及存储介质 | |
CN111966744B (zh) | 工作流部署方法、装置、计算机设备和存储介质 | |
JP3019915B2 (ja) | 手続き呼出し方法 | |
JP3018992B2 (ja) | オブジェクト指向言語の実行処理方式 | |
KR20000003162A (ko) | 효율적인 플래시 메모리 운용 방법 | |
JP3293821B2 (ja) | 動的リンクシステム | |
JP2626450B2 (ja) | バッキングストア使用量算定装置 | |
JPH1040118A (ja) | クライアント/サーバシステム及びクライアント端末装置 | |
JPH03255533A (ja) | プログラミング言語処理システムにおけるシンボル管理方式 | |
JPH0520082A (ja) | オブジエクト指向言語の実行システム | |
JPH0474236A (ja) | 分散ファイルシステム | |
JPH0327439A (ja) | プログラムの共有モジュール管理方式 | |
JPS62171033A (ja) | サブル−チン管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090701 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120701 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130701 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |