JP2002073578A - 分散オブジェクトシステム - Google Patents

分散オブジェクトシステム

Info

Publication number
JP2002073578A
JP2002073578A JP2000268946A JP2000268946A JP2002073578A JP 2002073578 A JP2002073578 A JP 2002073578A JP 2000268946 A JP2000268946 A JP 2000268946A JP 2000268946 A JP2000268946 A JP 2000268946A JP 2002073578 A JP2002073578 A JP 2002073578A
Authority
JP
Japan
Prior art keywords
request
server
client
client computer
proxy
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
JP2000268946A
Other languages
English (en)
Inventor
Takehiro Koyakata
丈裕 古舘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2000268946A priority Critical patent/JP2002073578A/ja
Publication of JP2002073578A publication Critical patent/JP2002073578A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 特定のオブジェクトまたは特定のグループに
含まれるオブジェクトだけをリクエストの対象として転
送し、ネットワーク負荷の増大等を防止でき、また可能
な限り的を絞った処理結果を得られるようにすること。 【解決手段】 クライアントコンピュータから発行され
たリクエストを中継するプロクシコンピュータを備え、
該プロクシコンピュータ内には、クライアントコンピュ
ータから発行されたリクエストの種類と転送すべきサー
バオブジェクトの対応関係を予め定義した転送先リスト
と、クライアントコンピュータから発行されたリクエス
トの種類に応じて前記転送先リストに示されたサーバオ
ブジェクトに対しリクエストを転送するリクエスト転送
手段と、サーバオブジェクトから返送された結果を元の
クライアントコンピュータに転送する結果転送手段とを
備えることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散オブジェクト
環境においてアプリケーションシステムを実現する分散
オブジェクトシステムに関わり、特にサーバコンピュー
タ上のオブジェクトをグループ分けし、特定のグループ
のオブジェクトに対してクライアントコンピュータから
のリクエストを転送するようにした分散オブジェクトシ
ステムに関するものである。
【0002】
【従来の技術】ソフトウェア開発におけるオブジェクト
指向技術の発展とネットワークの普及に伴い、ORB
(Object Request Broker)と呼ばれるミドルウェアを
介することによって、ネットワークをまたがって通信処
理を行うソフトウェアの開発を容易化する分散オブジェ
クト技術が進展してきた。ORBを用いた分散オブジェ
クト環境では、従来のクライアントアプリケーションや
サーバアプリケーションはそれぞれオブジェクトとして
実現され、互いにリクエストとその応答をやり取りする
事によってアプリケーション処理を実現する。クライア
ントコンピュータがリクエストを発行すると、そのリク
エストはORBを介して目的のサーバオブジェクトに送
られる。サーバコンピュータ内のサーバオブジェクトが
そのリクエストを処理した後、もし必要ならばその応答
がやはりORBを介してクライアントコンピュータに戻
される。
【0003】分散オブジェクト環境については、OMG
(Object Management Group)が策定した標準仕様であ
るCORBA(Common Object Request Broker Archite
cture)により、分散オブジェクトのインタフェースで
の定義方法や、分散オブジェクト間でリクエストをやり
取りする際のプロトコルが確立され、既にCORBAに
従ったORB製品が多数出回っている。また、CORB
A準拠以外の方式として、Microsoft社によるDCOM
や、Sun Microsystems社によるJava RMI等が発
表されておりそれぞれ製品化されている。
【0004】これらのORBを用いた分散オブジェクト
環境では、リクエストの名前やその引数に関する情報は
インタフェースとして定義される。ORBは、それぞれ
のリクエストのインタフェース定義を保持し、クライア
ントから発行されたリクエストの種類に応じて、そのリ
クエストに対応したサービスを提供しているサーバオブ
ジェクトにリクエストを送ることができる。クライアン
トコンピュータから発行されたリクエストの転送先のサ
ーバオブジェクトを決定する方法としては2通りある。
【0005】1つは静的起動と呼ばれる方法であり、リ
クエストを送るサーバオブジェクトを実装時に予め決め
ておく方法である。この方法は実現方法が単純で処理速
度も速いのに対し柔軟性に欠け、サーバオブジェクトの
名前を変更したりするとクライアントコンピュータでは
再コンパイルが必要になる。もう1つは動的起動と呼ば
れる方法であり、サーバオブジェクトが受け付けるリク
エストの情報を保持しておき、発行されたリクエストの
内容に応じてサービスを提供するサーバオブジェクトを
動的に決定する方法である。この方法は実現方法が複雑
になるが、サーバオブジェクト側のシステム構成を柔軟
に運用することが可能になる。クライアントコンピュー
タが発行したリクエストは、前記のどちらかの方法で特
定されたサーバオブジェクトに渡され、そのサーバオブ
ジェクトがリクエストを処理して応答を返すことによっ
てアプリケーション処理が遂行される。
【0006】
【発明が解決しようとする課題】ところで、分散オブジ
ェクト環境におけるアプリケーションの中には複数のサ
ーバオブジェクトに対してリクエストを発行するものも
ある。例えば複数のドキュメント管理サーバオブジェク
トによってドキュメントの検索サービスを実行する分散
ドキュメント管理システムがある。このシステムには、
同じインタフェースを提供する複数のドキュメント管理
サーバオブジェクトが存在し、それぞれが独自に管理す
る複数のドキュメントを保持している。各ドキュメント
管理サーバオブジェクトは検索サービスを提供し、自分
が管理するドキュメントの中からリクエスト中に示され
た条件を満たすドキュメントを選択して返す。クライア
ントコンピュータは複数のドキュメント管理サーバオブ
ジェクトに対して検索リクエストを発行し、それぞれの
サーバから得られた結果をマージして表示する。
【0007】このようなシステムでは、動的起動を用い
ることで、リクエストの種別に応じて1つのサーバオブ
ジェクトを選択するか、またはそのリクエストを処理可
能な全てのサーバオブジェクトにリクエストを送ること
ができる。
【0008】しかし、従来の技術では、サーバオブジェ
クトの選択はリクエストの内容とサーバオブジェクトが
提供するサービスのインタフェースが一致しているかど
うかによってのみ行われており、きめ細かな設定はでき
なかった。すなわち、システム上に存在する全てのサー
バオブジェクトの中から、実際にリクエストを送るサー
バオブジェクトを任意の基準で選択するといったような
きめ細かな機能が提供されていなかった。
【0009】例えば、ドキュメント管理サーバオブジェ
クトが保持するドキュメントに分野による偏りがあるこ
とが分っていて、特定の分野のドキュメントだけが欲し
いような場合は、その分野のドキュメントを保持するサ
ーバオブジェクトにだけリクエストが送られることが望
ましい。しかし、従来の技術にあっては、特定の分野の
ドキュメントを保持するサーバオブジェクトにだけリク
エストを転送することができず、同じインタフェースの
全てのドキュメント管理サーバオブジェクトにリクエス
トを送ることになる。この結果、無駄なトラフィックの
発生によるネットワークの負荷の増大と同時に、重要で
ない検索結果あるいは目的としない検索結果がクライア
ントコンピュータに大量に送り返されてしまい、真に必
要な情報が埋もれてしまうという弊害が生じる可能性が
ある。
【0010】逆に、インタフェースの一致したサーバオ
ブジェクトの中から、実際の処理を受け持つオブジェク
トをただ1つだけ選択してしまうと、重要なドキュメン
トが検索結果から洩れてしまう危険性がある。これは、
従来の技術では、複数のサーバオブジェクトを目的に応
じて柔軟にグループ分けし、特定のグループに含まれる
オブジェクトだけをリクエストの対象とするような仕組
みが無かったことに起因する。
【0011】本発明の目的は、特定のオブジェクトまた
は特定のグループに含まれるオブジェクトだけをリクエ
ストの対象として転送し、ネットワーク負荷の増大等を
防止でき、また可能な限り的を絞った処理結果を得るこ
とができる分散オブジェクトシステムを提供することに
ある。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、クライアントコンピュータと複数のサ
ーバコンピュータとを備え、クライアントコンピュータ
のクライアントオブジェクトから発行したリクエストを
少なくとも1つのサーバコンピュータのサーバオブジェ
クトに転送し、該サーバオブジェクトによる処理結果を
リクエスト発行元のクライアントオブジェクトに返送す
る分散オブジェクトシステムにおいて、クライアントコ
ンピュータから発行されたリクエストを中継するプロク
シコンピュータを備え、該プロクシコンピュータ内に
は、クライアントコンピュータから発行されたリクエス
トの種類と転送すべきサーバオブジェクトの対応関係を
予め定義した転送先リストと、クライアントコンピュー
タから発行されたリクエストの種類に応じて前記転送先
リストに示されたサーバオブジェクトに対しリクエスト
を転送するリクエスト転送手段と、サーバオブジェクト
から返送された結果を元のクライアントコンピュータに
転送する結果転送手段とを備えることを特徴とする。
【0013】また、前記転送先リスト中のサーバオブジ
ェクトは、複数のグループにグルーピングされているこ
とを特徴とする。さらに、前記リクエスト転送手段は、
クライアントコンピュータから発行するリクエストに付
加された引数の内容を用いて転送先のサーバオブジェク
トまたはそのグループを決定する手段を有することを特
徴とする。
【0014】クライアントコンピュータが複数存在する
場合、グループ分けの情報を個々のクライアントコンピ
ュータで保持し、クライアントプログラムの中でサーバ
オブジェクトの選択とリクエスト発行を行うのでは、ク
ライアントプログラムの肥大化の原因となってしまう。
これを避けるためには、プロクシオブジェクトがサーバ
オブジェクトを選択する処理プロセスを有し、クライア
ントコンピュータからのリクエストを転送する必要があ
る。しかし、その場合プロクシオブジェクトは、どのグ
ループを選択するかの指定を含んだ情報を、クライアン
トコンピュータからのリクエストと一緒に受け取る必要
がある。そのため、前記のように、個々のリクエストに
対して、元のリクエストと同名でかつ引数を追加したイ
ンタフェースを定義し、追加した引数の内容を用いて転
送先のサーバオブジェクトまたはそのグループを決定す
る手段を有することを特徴とする。
【0015】
【発明の実施の形態】以下、本発明の一実施形態につい
て図面を用いて説明する。図1は、本発明を適用した分
散オブジェクトシステムの実施の形態を示す構成図であ
る。なお、以下ではクライアントコンピュータはクライ
アント、サーバコンピュータはサーバと略記して説明す
る。
【0016】この実施形態のシステムは、リクエストを
発行するクライアント101、リクエストを受け付けて
その内容に応じたサービスを提供する複数のサーバ10
2,103,104、リクエストを中継する役割を持つ
プロクシ105、ORBのサービスを提供するコントロ
ーラ106、そしてこれらを接続するネットワーク10
7から構成される。
【0017】クライアント101は、CPU1011、
メモリ1012、ネットワーク107に接続するための
通信ポート1013、ORBサービスを利用するための
ORBランタイムライブラリ1014、アプリケーショ
ン処理を実行するためにリクエストを発行するクライア
ントオブジェクトのクライアントプログラム1015か
ら構成される。
【0018】サーバ102も同様に、CPU1021、
メモリ1022、通信ポート1023、ORBランタイ
ムライブラリ1026を備えるが、クライアントプログ
ラムではなく、リクエストを受け付けて処理するサーバ
オブジェクトとして機能するサーバプログラム(1)1
024を代わりに有する。またリクエストに応答するた
めに必要なデータを格納したデータベース(1)102
5を備える。サーバ103およびサーバ104も同様の
構成であり、それぞれがサーバプログラム(2)103
4、(3)1044とデータベース(2)1035、
(3)1045を備えている。各サーバプログラム10
24,1034,1044はそれぞれ異なるプログラム
であっても良いし、データベース1025,1035,
1045もそれぞれ異なるものであって良い。
【0019】プロクシ105も同様に、CPU105
1、メモリ1052、通信ポート1053、ORBラン
タイムライブラリ1054を備えるが、クライアント1
01やサーバ102〜104とは異なり、リクエストを
転送する機能を有するプロクシオブジェクトとしてのプ
ロクシプログラム1055およびリクエストを転送する
サーバ情報を記述したリクエスト転送先リスト1056
を備えている。
【0020】コントローラ106は、リクエストをやり
取りするためのORBの基本的なサービスを提供する装
置であり、他の装置(クライアントやサーバ)と同様
に、CPU1061、メモリ1062、通信ポート10
63を備え、さらにORBシステム全体を制御するOR
Bコアプログラム1064と、システム全体に存在する
全てのサーバオブジェクトの情報を管理するインプリメ
ンテーションリポジトリ1065と、各サーバが受け付
けるリクエストの形式を規定するインタフェース情報を
管理するインタフェースリポジトリ1066を備えてい
る。
【0021】本実施形態では、各サーバ102〜104
はデータベース(1)1025〜(3)1045に複数
のドキュメントを保持し、リクエストの応答としてそれ
らのドキュメントに対応したオブジェクトを生成する。
【0022】図2に、ドキュメントオブジェクトとその
検索サービスを提供するサーバのインタフェース定義を
示す。本実施形態では、インタフェース定義の記法はO
MGIDLに従う。図2(a)の例では、ドキュメントの
インタフェース定義201にはタイトル「title」と本
文「text」が含まれている。1つのインタフェース定義
に対して複数のオブジェクトが存在しても良い。個々の
ドキュメントは、プログラムからはそれぞれ異なるオブ
ジェクトリファレンスを持ったDocumentオブジェクトと
して識別される。オブジェクトリファレンスとは、個々
のオブジェクトを一意に識別するためにORBシステム
が付与する識別子である。
【0023】サーバオブジェクトは、サーバプログラム
(1)1024、(2)1034、(3)1044によ
って実現される分散オブジェクトである。サーバオブジ
ェクトが受け付けるリクエストの種類は、図2(b)に
示すようなインタフェース定義202によって規定され
る。この例では、DocServerという名前でサーバオブジ
ェクトを定義し、Documentオブジェクトの検索サービス
を実現する操作としてfindを定義している。このインタ
フェース定義202では、find操作は引数として文字列
conditionを受け取り、結果としてDocumentオブジェク
トのリストであるDocListを返すように規定している。
【0024】通常の分散オブジェクト環境では、クライ
アント101は、コントローラ106が保持する種々の
ORBサービスを利用しながら、個々のサーバ102,
103,104に対してそれぞれ別個にリクエストを発
行する。従来においては、システム上に存在する全ての
サーバオブジェクトのうち、特定の複数のサーバオブジ
ェクトを選択する方法は提供されていなかった。そのた
め、サーバオブジェクトの選択処理はクライアントプロ
グラム1015中に実装せざるを得なかった。クライア
ント101の設計者は、静的起動を用いるとシステムの
柔軟性が失われ、動的起動を用いるとプログラムが複雑
になり肥大化してしまうというジレンマに陥っていた。
【0025】そこで、本実施形態では、通常の分散オブ
ジェクト環境上にリクエスト転送用のプロクシ105を
設置し、クライアント101が発行したリクエストを一
旦プロクシ105が受理し、それを然るべきサーバオブ
ジェクトに転送するようにした。
【0026】図3は、通常の分散オブジェクト環境での
リクエストのやり取りを表すシーケンス図である。図の
上部に並んでいる矩形301〜305はオブジェクトを
表し、下方に伸びている直線は時間軸を表す。クライア
ントプログラム1015を構成するクライアントオブジ
ェクト301は、最初にリクエストを送るべきサーバオ
ブジェクトを決定する(ステップ306)。サーバオブ
ジェクトを指示するための情報は、静的起動の場合は予
めクライアントプログラム(1015)中に書き込まれ
ており、動的起動の場合はサーバオブジェクトを選定す
る処理をここで行う。クライアントオブジェクト301
はその情報をもって、コントローラ106内のコントロ
ールオブジェクト302に対してサーバオブジェクトの
オブジェクトリファレンスを取得するよう依頼する(ス
テップ307)。通常はコントローラ106上にあるイ
ンプリメンテーションリポジトリ1065とインタフェ
ースリポジトリ1066に含まれている情報を基に、O
RBが提供するネーミングサービスを利用することによ
って、サーバオブジェクトの名前からリファレンスを求
める。コントロールオブジェクト302は、与えられた
名前をもつサーバオブジェクトのリファレンスを返す
(ステップ308)。リクエストを送りたいサーバオブ
ジェクトが303,304,305といった具合に複数
存在する場合、クライアントオブジェクト301は同様
の手続きをその個数だけ繰り返す。次に、クライアント
オブジェクト301は取得したリファレンスが示すそれ
ぞれのサーバオブジェクト303,304,305に対
してfindリクエストを発行し(ステップ309,31
1,313)、それぞれの結果(ステップ310,31
2,314)を得る。
【0027】図4は、プロクシ105を導入した場合の
シーケンス図である。クライアントオブジェクト401
は、リクエストを処理するサーバオブジェクトのリファ
レンスを気にせずにプロクシプログラムを構成するプロ
クシオブジェクト402にfindリクエストを送る(ステ
ップ407)。ただし、このfindリクエストにはサーバ
オブジェクトのグループを特定するための情報を付加し
てある。この付加情報の形式は図5にて後述する。リク
エストを受け取ったプロクシオブジェクト402は、ス
テップ407の付加情報を元にリクエストを転送するサ
ーバオブジェクトを決定する(ステップ408)。この
決定の際に、プロクシオブジェクト402は自身が保持
するリクエスト転送先リスト1056を参照してサーバ
オブジェクトの名前を得る。リクエスト転送先リスト1
056の形式は図6にて後述する。
【0028】プロクシオブジェクト402は、コントロ
ールオブジェクト403に対してサーバオブジェクトの
名前からオブジェクトリファレンスの取得を依頼する
(ステップ409)。コントロールオブジェクト403
は、図3の場合と同様に該当するオブジェクトリファレ
ンスを返す(ステップ410)。続いてプロクシオブジ
ェクト402は各サーバオブジェクト404,405,
406に対してリクエストを送り(ステップ411,4
13,415)、処理結果を取得する(ステップ41
2,414,416)。最後に、プロクシオブジェクト
402は取得した結果をクライアントオブジェクト40
1に渡す(ステップ417)。
【0029】クライアントオブジェクト401からプロ
クシオブジェクト402に対する付加情報は、本実施形
態ではプロクシオブジェクト402に対するリクエスト
の引数として渡す。すなわち、サーバオブジェクト40
4〜406のインタフェース定義と同名で引数を追加し
たインタフェース定義をプロクシ105上に作成してお
く。クライアントオブジェクト401は、サーバオブジ
ェクト404〜406にリクエストを送る代わりに、同
じ名前でサーバを特定するための情報を追加したリクエ
ストをプロクシオブジェクト402に送る。
【0030】図5にプロクシオブジェクト402のイン
タフェース定義501を示す。サーバ上のDocServerの
代わりに、クライアントオブジェクト401はプロクシ
105上のDocServerProxyに対してfindリクエストを送
る。このfindリクエストは、DocServerのfindリクエス
トと比べて、extra_dataという引数が追加されている。
DocServerProxyオブジェクトは、この引数とリクエスト
転送先リスト1056からDocServerオブジェクトを特
定し、DocServerに定義されているfindリクエストを送
る。
【0031】図6は、リクエスト転送先リスト1056
の一例である。このリクエスト転送先リスト1056は
DocServerインタフェースに対するプロクシの情報を持
つ。この例ではいくつかのサーバオブジェクトに対し
て、”DB_papers”602、”free_news”603、”pa
y_news”604、”TR99”605、そして”default”
606の4種類のグルーピング情報を与えている。それ
ぞれのグルーピング情報の中にはコメントやリクエスト
を転送すべきサーバオブジェクトの名前607〜611
が記述されている。
【0032】図7は、プロクシオブジェクト402が図
6のリクエスト転送先リスト1056を利用し、リクエ
ストの転送先を決定する処理のフローチャートである。
プロクシオブジェクト402は、最初に、クライアント
オブジェクト401から送られてきたリクエストの名前
からインタフェース名と同一の転送先リスト1056を
見つける(ステップ701)。次に、リクエストに含ま
れているextra_dataという引数が空であるかどうかを調
べ(ステップ702)、もし空であればステップ706
へ進み、デフォルトのグループを転送先グループとす
る。extra_dataに内容が含まれている場合、その内容が
転送先リストを示すものであるかどうか調べる(ステッ
プ703)。ここでは、extra_dataの内容が”group:x
xxxx”の形式であれば、xxxxxの部分が転送先グループ
名を表しているものと解釈する。もし、異なる形式であ
ればステップ706へ進み、デフォルトのグループとす
る。グループ名が指定された場合は、その名前が転送先
リスト1056中の各グループ情報(図6の602,6
03,604,605)のどれかと一致するかどうか調
べ(ステップ704)、もし一致するグループがあれ
ば、それを転送先グループとする(ステップ705)。
一致するグループが無い場合は、デフォルトのグループ
を転送先グループとする(ステップ706)。次に、プ
ロクシオブジェクト402は転送先グループとしたグル
ープ情報に記述された項目の中に”obj_name:”の項が
あるかどうかを調べ(ステップ707)、もしあった場
合はその項に記述された名前を元にオブジェクトリファ
レンスを取得し、リクエストを転送する(ステップ70
8)。これをobj_nameの項が無くなるまで繰り返し、無
くなった時点で終了する。
【0033】ここで、クライアントオブジェクト401
がサーバオブジェクト404〜406ではなくプロクシ
オブジェクト402にリクエストを送るようにするため
には、2つの方法がある。1つは、クライアントプログ
ラム1015を、最初にプロクシオブジェクト402に
リクエストを送るように変更することである。しかし、
クライアントプログラム1015の変更が難しい場合
は、クライアントプログラム1015からサーバオブジ
ェクト404〜406へ向けて発行されたリクエスト
を、ORB上でフックしてリクエスト送信先をプロクシ
オブジェクト402に変更する方法をとればよい。この
ようにすることによって、クライアントプログラム10
15やサーバオブジェクト404〜406に変更を加え
ずに本発明を実現することが可能である。
【0034】
【発明の効果】以上のように、本発明によれば、分散オ
ブジェクト環境において、クライアントからのリクエス
トを中継するプロクシを設け、このプロクシ上のリクエ
スト転送先リストをリクエストの引数によって参照し、
複数のサーバオブジェクトの中から実際にリクエストを
送るべき特定のサーバオブジェクトまたは特定のグルー
プのサーバオブジェクトを選択し、その選択したサーバ
オブジェクトにリクエストを転送するように構成したた
め、特定のオブジェクトまたは特定のグループに含まれ
るオブジェクトだけをリクエストの対象として可能な限
り的を絞った処理結果を得ることができる。また、クラ
イアントプログラムの肥大化を防ぐことができる。ま
た、リクエストを送る必要の無いサーバオブジェクトへ
のリクエスト発行を抑制することで、ネットワークの負
荷を低減し、不要なサーバオブジェクトからの応答の処
理に要する時間を省くことができる。特に、情報収集型
のサーバオブジェクトの場合は、不要なサーバオブジェ
クトから情報によって真に必要な情報が埋もれてしまう
事を防ぐ事ができる。
【図面の簡単な説明】
【図1】本発明に係わる分散オブジェクトシステムの実
施形態を示したシステム構成図である。
【図2】実施形態におけるサーバオブジェクトおよびド
キュメントのインタフェース定義の例を示す図である。
【図3】本発明を適用しない場合の一般的な分散オブジ
ェクト環境におけるクライアント、ORBコントロー
ル、サーバオブジェクト間でやり取りされるリクエスト
とその応答に関するシーケンス図である。
【図4】本発明を適用した場合のクライアント、プロク
シ、ORBコントロール、サーバオブジェクト間でやり
取りされるリクエストとその応答に関するシーケンス図
である。
【図5】実施形態におけるサーバオブジェクトに対して
プロクシ上で定義するインタフェース定義の例を示す図
である。
【図6】実施形態において、プロクシが保有するリクエ
スト転送先リストの一例を示す図である。
【図7】実施形態において、リクエスト転送先リストに
基づいてプロクシ上で実際にリクエストを送るべきサー
バオブジェクトを決定する処理のフローチャートであ
る。
【符号の説明】
101…クライアント、102,103,104…サー
バ、105…プロクシ、106…コントローラ、107
…ネットワーク、201…Documentオブジェクトのイン
タフェース定義、202…DocServerサーバオブジェク
トのインタフェース定義、301…クライアントオブジ
ェクト、302…コントロールオブジェクト、303…
サーバオブジェクト(1)、304…サーバオブジェク
ト(2)、305…サーバオブジェクト(3)、401
…クライアントオブジェクト、402…プロクシオブジ
ェクト、501…プロクシ上でDocServerへのリクエス
トを処理するためのインタフェース定義、1011…C
PU、1012…メモリ、1013…通信ポート、10
14…ORBランタイムライブラリ、1015…クライ
アントプログラム、1024,1034,1044…サ
ーバプログラム、1025,1035,1045…デー
タベース、1055…プロクシプログラム、1056…
リクエスト転送先リスト、1064…ORBコアプログ
ラム、1065…インプリメンテーションリポジトリ、
1066…インタフェースリポジトリ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 クライアントコンピュータと複数のサー
    バコンピュータとを備え、クライアントコンピュータの
    クライアントオブジェクトから発行したリクエストを少
    なくとも1つのサーバコンピュータのサーバオブジェク
    トに転送し、該サーバオブジェクトによる処理結果をリ
    クエスト発行元のクライアントオブジェクトに返送する
    分散オブジェクトシステムにおいて、 クライアントコンピュータから発行されたリクエストを
    中継するプロクシコンピュータを備え、 該プロクシコンピュータ内には、クライアントコンピュ
    ータから発行されたリクエストの種類と転送すべきサー
    バオブジェクトの対応関係を予め定義した転送先リスト
    と、クライアントコンピュータから発行されたリクエス
    トの種類に応じて前記転送先リストに示されたサーバオ
    ブジェクトに対しリクエストを転送するリクエスト転送
    手段と、サーバオブジェクトから返送された結果を元の
    クライアントに転送する結果転送手段とを備えることを
    特徴とする分散オブジェクトシステム。
  2. 【請求項2】 前記転送先リスト中のサーバオブジェク
    トは、複数のグループにグルーピングされていることを
    特徴とする請求項1に記載の分散オブジェクトシステ
    ム。
  3. 【請求項3】 前記リクエスト転送手段は、クライアン
    トコンピュータから発行するリクエストに付加された引
    数の内容を用いて転送先のサーバオブジェクトまたはそ
    のグループを決定する手段を有することを特徴とする請
    求項1または2に記載の分散オブジェクトシステム。
JP2000268946A 2000-09-05 2000-09-05 分散オブジェクトシステム Pending JP2002073578A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000268946A JP2002073578A (ja) 2000-09-05 2000-09-05 分散オブジェクトシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000268946A JP2002073578A (ja) 2000-09-05 2000-09-05 分散オブジェクトシステム

Publications (1)

Publication Number Publication Date
JP2002073578A true JP2002073578A (ja) 2002-03-12

Family

ID=18755645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000268946A Pending JP2002073578A (ja) 2000-09-05 2000-09-05 分散オブジェクトシステム

Country Status (1)

Country Link
JP (1) JP2002073578A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515720A (ja) * 2003-12-22 2007-06-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 異なる実行環境にわたる交換のための方法およびシステム
JP2008226127A (ja) * 2007-03-15 2008-09-25 Toshiba Corp 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法
US8281325B2 (en) 2004-11-11 2012-10-02 Japan Science And Technology Agency Computing system including user program system executing user program and library program system, executing library programs to be used in user program, computing method, user program system, library program system, and storage medium containing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515720A (ja) * 2003-12-22 2007-06-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 異なる実行環境にわたる交換のための方法およびシステム
US8281325B2 (en) 2004-11-11 2012-10-02 Japan Science And Technology Agency Computing system including user program system executing user program and library program system, executing library programs to be used in user program, computing method, user program system, library program system, and storage medium containing program
JP2008226127A (ja) * 2007-03-15 2008-09-25 Toshiba Corp 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法

Similar Documents

Publication Publication Date Title
EP0876648B1 (en) Method and apparatus for dynamically brokering object messages among object models
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US6356933B2 (en) Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6845505B1 (en) Web request broker controlling multiple processes
US6839897B2 (en) Stub search loading system and method, server apparatus, client apparatus, and computer-readable recording medium
US20080177883A1 (en) Web server for managing session and method thereof
US7665096B2 (en) DDS-assisted CORBA discovery
US7689430B2 (en) Access to web services
JP5188284B2 (ja) サービス接続システム及びサービス接続方法
US6708171B1 (en) Network proxy
JPH05289871A (ja) アプリケーション結合方法
JP2001522114A (ja) 分散を意識させない態様で分散ソフトウェア開発を容易にするための方法およびシステム
US20030055862A1 (en) Methods, systems, and articles of manufacture for managing systems using operation objects
US6832223B1 (en) Method and system for facilitating access to a lookup service
US7934218B2 (en) Interprocess communication management using a socket layer
US6701323B2 (en) Object management system and method for distributed object system
JP4504609B2 (ja) 高性能クライアントサーバ通信システム
US7685258B2 (en) Disconnectible applications
JP2002073578A (ja) 分散オブジェクトシステム
WO1999044134A1 (en) Method and system for facilitating access to a lookup service
KR100556716B1 (ko) 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템
JP2001337935A (ja) 分散オブジェクト環境におけるアプリケーションのラッピング方法、その通信管理装置及び記録媒体
JP2001282561A (ja) 分散オブジェクト管理方法、そのプログラムを記憶した記憶媒体及び分散システム
JP2007257063A (ja) ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム
JPH07121468A (ja) サーバー選択装置