JPH11212913A - クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェース - Google Patents
クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェースInfo
- Publication number
- JPH11212913A JPH11212913A JP10013673A JP1367398A JPH11212913A JP H11212913 A JPH11212913 A JP H11212913A JP 10013673 A JP10013673 A JP 10013673A JP 1367398 A JP1367398 A JP 1367398A JP H11212913 A JPH11212913 A JP H11212913A
- Authority
- JP
- Japan
- Prior art keywords
- service
- server
- client
- interface
- request
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【課題】 ネットワーク上に複数のサーバが散在してい
るクライアント/サーバ環境において、クライアントが
サーバの存在するノードを意識することなしにサーバを
利用できるようにする。 【解決手段】 サーバが散在する通信ネットワーク上
に、クライアントとサーバ間の通信を代行するサービス
エージェントが設けられる。このサービスエージェント
は、サーバの場所を知っており、クライアントの発した
サービス要求を受け、これに応答してサーバと通信する
ことにより、サーバにサービス処理を実行させ、サーバ
よりサービス処理結果を受け、そして、そのサービス処
理結果をクライアントに返却する。クライアントは、単
純にサービス要求を発するだけであり、サーバの場所に
ついて一切関知しない。
るクライアント/サーバ環境において、クライアントが
サーバの存在するノードを意識することなしにサーバを
利用できるようにする。 【解決手段】 サーバが散在する通信ネットワーク上
に、クライアントとサーバ間の通信を代行するサービス
エージェントが設けられる。このサービスエージェント
は、サーバの場所を知っており、クライアントの発した
サービス要求を受け、これに応答してサーバと通信する
ことにより、サーバにサービス処理を実行させ、サーバ
よりサービス処理結果を受け、そして、そのサービス処
理結果をクライアントに返却する。クライアントは、単
純にサービス要求を発するだけであり、サーバの場所に
ついて一切関知しない。
Description
【0001】
【発明の技術分野】本発明は、一般に、クライアント/
サーバ環境におけるクライアントとサーバ間のオブジェ
クト(つまりプロセス)間通信システムに関わり、特
に、分散サーバ型のクライアント/サーバ環境(以下、
分散環境という)におけるオブジェクト間通信システム
の改良に関する。
サーバ環境におけるクライアントとサーバ間のオブジェ
クト(つまりプロセス)間通信システムに関わり、特
に、分散サーバ型のクライアント/サーバ環境(以下、
分散環境という)におけるオブジェクト間通信システム
の改良に関する。
【0002】
【従来の技術】従来、クライアント/サーバ環境におけ
るオブジェクト間通信では、ソケットを用いたり、RP
Cを用いるなど、さまざまな手法が行われている。従来
用いられているオブジェクト間通信用のコンポーネント
又は手法は、ソケットにせよ、RPCにせよ、元来は単
一マシン上でのローカルなファイルアクセスや関数呼び
出しをクライアント/サーバ環境に適用したものであ
る。この従来のオブジェクト間通信では、クライアント
は必ず、相手のサーバオブジェクトの存在するノードを
意識して通信を行う必要がある。
るオブジェクト間通信では、ソケットを用いたり、RP
Cを用いるなど、さまざまな手法が行われている。従来
用いられているオブジェクト間通信用のコンポーネント
又は手法は、ソケットにせよ、RPCにせよ、元来は単
一マシン上でのローカルなファイルアクセスや関数呼び
出しをクライアント/サーバ環境に適用したものであ
る。この従来のオブジェクト間通信では、クライアント
は必ず、相手のサーバオブジェクトの存在するノードを
意識して通信を行う必要がある。
【0003】
【発明が解決しようとする課題】サーバオブジェクトが
複数のノードに分散している分散環境においては、従来
のオブジェクト間通信を採用すると、クライアントの通
信プログラムが複雑になって構築困難になるという問題
がある。すなわち、分散環境の利点はサーバの負荷分散
機能(例えば、或るサーバの障害時や高負荷時には、別
のサーバが代わってサービスを行うなど)などにある。
しかし、そうした機能をサポートするようプログラムを
記述しようとすると、複数のノードを同時に考慮せざる
を得ないため、その対処ロジックの記述や環境定義など
が必然的に複雑になってしまう。さらに、サーバの変更
や増設に対して柔軟に対応することが難しい。
複数のノードに分散している分散環境においては、従来
のオブジェクト間通信を採用すると、クライアントの通
信プログラムが複雑になって構築困難になるという問題
がある。すなわち、分散環境の利点はサーバの負荷分散
機能(例えば、或るサーバの障害時や高負荷時には、別
のサーバが代わってサービスを行うなど)などにある。
しかし、そうした機能をサポートするようプログラムを
記述しようとすると、複数のノードを同時に考慮せざる
を得ないため、その対処ロジックの記述や環境定義など
が必然的に複雑になってしまう。さらに、サーバの変更
や増設に対して柔軟に対応することが難しい。
【0004】また、従来の例えばRPCによるオブジェ
クト間通信は、元来の関数呼び出しをクライアント/サ
ーバ環境に適用したものであるが、呼び出し元のクライ
アントオブジェクトは、RPCコールを発した後、サー
バオブジェクトの処理が完了するまで待たされる(つま
り、同期処理を行う)。その理由は、RPCで非同期処
理を行うことは不可能ではないが、そうするとロジック
が非常に複雑になってしまうからである。更に、特にR
PCでは、通信そのものにも無視できない長さの時間が
かかるので、クライアントはRPCコールを発する度
に、コールを送る通信時間とサーバでの処理時間と処理
結果が返される通信時間とを含む長い間、待たされるこ
とになる。
クト間通信は、元来の関数呼び出しをクライアント/サ
ーバ環境に適用したものであるが、呼び出し元のクライ
アントオブジェクトは、RPCコールを発した後、サー
バオブジェクトの処理が完了するまで待たされる(つま
り、同期処理を行う)。その理由は、RPCで非同期処
理を行うことは不可能ではないが、そうするとロジック
が非常に複雑になってしまうからである。更に、特にR
PCでは、通信そのものにも無視できない長さの時間が
かかるので、クライアントはRPCコールを発する度
に、コールを送る通信時間とサーバでの処理時間と処理
結果が返される通信時間とを含む長い間、待たされるこ
とになる。
【0005】従って、本発明の目的は、分散環境におい
て、クライアントがサーバの存在するノードを意識する
ことなしにオブジェクト間通信を行えるようにすること
にある。
て、クライアントがサーバの存在するノードを意識する
ことなしにオブジェクト間通信を行えるようにすること
にある。
【0006】本発明の別の目的は、分散環境において、
クライアントの要求した処理をサーバが行っている間に
クライアントは別の処理を行うことができるようにする
こと、つまりオブジェクト間非同期協調処理を可能にす
ることにある。
クライアントの要求した処理をサーバが行っている間に
クライアントは別の処理を行うことができるようにする
こと、つまりオブジェクト間非同期協調処理を可能にす
ることにある。
【0007】
【課題を解決するための手段】本発明に従えば、クライ
アントとサーバが散在する通信ネットワーク上に、クラ
イアントとサーバ間の通信を代行するサービスエージェ
ントが設けられる。このサービスエージェントは、サー
バの場所を知っており、クライアントの発したサービス
要求を受け、これに応答してサーバと通信することによ
り、サーバにサービス処理を実行させ、サーバよりサー
ビス処理結果を受け、そして、そのサービス処理結果を
クライアントに返却する。そのため、クライアントは、
サーバとの通信という問題からは開放され、サーバの場
所を意識する必要がなくなる。従って、クライアントの
プログラム構築は非常に容易になり、また、サーバの変
更や増設にも柔軟に対応できるようになる。
アントとサーバが散在する通信ネットワーク上に、クラ
イアントとサーバ間の通信を代行するサービスエージェ
ントが設けられる。このサービスエージェントは、サー
バの場所を知っており、クライアントの発したサービス
要求を受け、これに応答してサーバと通信することによ
り、サーバにサービス処理を実行させ、サーバよりサー
ビス処理結果を受け、そして、そのサービス処理結果を
クライアントに返却する。そのため、クライアントは、
サーバとの通信という問題からは開放され、サーバの場
所を意識する必要がなくなる。従って、クライアントの
プログラム構築は非常に容易になり、また、サーバの変
更や増設にも柔軟に対応できるようになる。
【0008】分散環境では、サービスエージェントは、
サーバの各々の場所とステータスとサービス名とを管理
していることが望まし。それにより、クライアントから
サービス要求を受けたとき、そのサービス要求に応え得
るサーバを選択して、その選択したサーバにサービス処
理の実行を要求することができる。
サーバの各々の場所とステータスとサービス名とを管理
していることが望まし。それにより、クライアントから
サービス要求を受けたとき、そのサービス要求に応え得
るサーバを選択して、その選択したサーバにサービス処
理の実行を要求することができる。
【0009】また、サービスエージェントがクライアン
トにサービス処理結果を返すとき、コールバックを使っ
てクライアントを呼び出すように構成することが望まし
い。それにより、クライアントは、サービスエージェン
トにサービス要求を発した後、サービス処理結果が来る
まで待っている必要がなくなる。つまり、オブジェクト
間の非同期協調動作が可能となる。同じ観点から、サー
ビスエージェントがサーバにサービス処理の実行を要求
するときも、コールバックを使ってサーバを呼び出すよ
うに構成することが望ましい。
トにサービス処理結果を返すとき、コールバックを使っ
てクライアントを呼び出すように構成することが望まし
い。それにより、クライアントは、サービスエージェン
トにサービス要求を発した後、サービス処理結果が来る
まで待っている必要がなくなる。つまり、オブジェクト
間の非同期協調動作が可能となる。同じ観点から、サー
ビスエージェントがサーバにサービス処理の実行を要求
するときも、コールバックを使ってサーバを呼び出すよ
うに構成することが望ましい。
【0010】サービスエージェントは、例えば次のよう
な構成とすることができる。まず、クライアントと同じ
ノードに、クライアントからサービス要求を受けたり、
サービス処理結果をクライアントに返したりするための
クライアントインタフェースが設けられる。また、サー
バと同じノードに、サーバにサービス処理の実行を要求
したり、サービス処理結果をサーバから受けたりるため
のサーバインタフェースが設けられる。さらに、所定の
ノードに、サーバの場所とステータスとサービス名と示
したサービス情報を保有しているサービスマネージャが
設けられる。そして、クライアントインタフェース、サ
ービスマネージャ及びサーバインタフェースが互いに交
信しつつ、全体として、上述したサービスエージェント
の機能を実現するように動作する。
な構成とすることができる。まず、クライアントと同じ
ノードに、クライアントからサービス要求を受けたり、
サービス処理結果をクライアントに返したりするための
クライアントインタフェースが設けられる。また、サー
バと同じノードに、サーバにサービス処理の実行を要求
したり、サービス処理結果をサーバから受けたりるため
のサーバインタフェースが設けられる。さらに、所定の
ノードに、サーバの場所とステータスとサービス名と示
したサービス情報を保有しているサービスマネージャが
設けられる。そして、クライアントインタフェース、サ
ービスマネージャ及びサーバインタフェースが互いに交
信しつつ、全体として、上述したサービスエージェント
の機能を実現するように動作する。
【0011】クライアントインタフェース、サービスマ
ネージャ及びサーバインタフェースの具体的な動作は、
例えば次のようなものである。まず、クライアントイン
タフェースが、クライアントからのサービス要求に応答
して、サービスマネージャに情報照会依頼を送る。サー
ビスマネージャは、その情報照会依頼に応答して、サー
ビス情報を参照してサービス要求に応え得るサーバを選
択し、この選択されたサーバの場所をクライアントイン
タフェースに通知する。クライアントインタフェース
は、サービスマネージャから通知された場所へ宛てて、
サービス要求を送る。サーバインタフェースは、クライ
アントインタフェースからのサービス要求を受けて、サ
ーバにサービス処理の実行を要求する。サーバでのサー
ビス処理が終わると、サーバインタフェースは、サーバ
からサービス処理結果を受けとり、これをクライアント
インタフェースへ返送する。クライアントインタフェー
スは、サービス処理結果を受けてこれを前記クライアン
トへ渡す。
ネージャ及びサーバインタフェースの具体的な動作は、
例えば次のようなものである。まず、クライアントイン
タフェースが、クライアントからのサービス要求に応答
して、サービスマネージャに情報照会依頼を送る。サー
ビスマネージャは、その情報照会依頼に応答して、サー
ビス情報を参照してサービス要求に応え得るサーバを選
択し、この選択されたサーバの場所をクライアントイン
タフェースに通知する。クライアントインタフェース
は、サービスマネージャから通知された場所へ宛てて、
サービス要求を送る。サーバインタフェースは、クライ
アントインタフェースからのサービス要求を受けて、サ
ーバにサービス処理の実行を要求する。サーバでのサー
ビス処理が終わると、サーバインタフェースは、サーバ
からサービス処理結果を受けとり、これをクライアント
インタフェースへ返送する。クライアントインタフェー
スは、サービス処理結果を受けてこれを前記クライアン
トへ渡す。
【0012】望ましくは、サーバインタフェースは、サ
ーバのサービス名と場所とステータスとを随時にサービ
スマネージャに通知し、サービスマネージャは、その通
知に従ってサービス情報を更新する。これにより、サー
ビス情報は自動的にサーバの現状に沿ったものになる。
ーバのサービス名と場所とステータスとを随時にサービ
スマネージャに通知し、サービスマネージャは、その通
知に従ってサービス情報を更新する。これにより、サー
ビス情報は自動的にサーバの現状に沿ったものになる。
【0013】同じネットワーク上に複数のサービスエー
ジェントを設けてもよい。この場合、各サービスエージ
ェントは異なるサーバ(又はサーバ群)を管理させ、各
サービスエージェントは、クライアントからのサービス
要求に応えられるサーバが自己の傘下に存在しない場合
に、別のサービスエージェントに問い合わせて、サービ
ス要求に応えられるサーバを教えてもらうように構成す
ることができる。このようにすると、サーバの数が膨大
であるような場合に、サービスエージェントの負荷を分
散できるという利点がある。また、例えば世界中に多数
のサーバが散らばっているような場合に、個々の地域毎
にサービスエージェントを配して各地域内のサーバを管
理させることにより、クライアントの場所に近い地域の
サーバを優先的に利用しつつも、必要に応じて世界中の
サーバにもアクセスできるという利点が得られる。
ジェントを設けてもよい。この場合、各サービスエージ
ェントは異なるサーバ(又はサーバ群)を管理させ、各
サービスエージェントは、クライアントからのサービス
要求に応えられるサーバが自己の傘下に存在しない場合
に、別のサービスエージェントに問い合わせて、サービ
ス要求に応えられるサーバを教えてもらうように構成す
ることができる。このようにすると、サーバの数が膨大
であるような場合に、サービスエージェントの負荷を分
散できるという利点がある。また、例えば世界中に多数
のサーバが散らばっているような場合に、個々の地域毎
にサービスエージェントを配して各地域内のサーバを管
理させることにより、クライアントの場所に近い地域の
サーバを優先的に利用しつつも、必要に応じて世界中の
サーバにもアクセスできるという利点が得られる。
【0014】上述したサービスマネージャ、クライアン
トインタフェース又はサーバインタフェースとしてネッ
トワーク上のノード(コンピュータ)を機能させるため
のプログラムは、各種のディスク型ストレージ、半導体
メモリ、通信ネットワークなどの様々な媒体を通じてコ
ンピュータにインストール又はロードすることができ
る。
トインタフェース又はサーバインタフェースとしてネッ
トワーク上のノード(コンピュータ)を機能させるため
のプログラムは、各種のディスク型ストレージ、半導体
メモリ、通信ネットワークなどの様々な媒体を通じてコ
ンピュータにインストール又はロードすることができ
る。
【0015】
【発明の実施の形態】図1は、本発明に従うクライアン
ト/サーバ環境におけるオブジェクト間通信システムの
一実施形態のシステム構成を示す。
ト/サーバ環境におけるオブジェクト間通信システムの
一実施形態のシステム構成を示す。
【0016】ネットワーク上に、少なくとも1つのクラ
イアントオブジェクト(以下、単にクライアントとい
う)1と、「サービスエージェント」と呼ばれる1セッ
ト又は複数セットのオブジェクトセット3、7と、複数
のサーバオブジェクト(以下、単にサーバという)5
A、5B、5C、…(これを纏めてサーバ群5ともい
う)、別の1群以上のサーバ群9などが散在している。
クライアント1は、原則として1つの特定のサービスエ
ージェント3の傘下におかれている。サーバ群5も、原
則として1つの特定のサービスエージェント3の傘下に
おかれ、同様に、別のサーバ群9も、原則として1つの
別の特定のサービスエージェント7に傘下におかれてい
る。ネットワークにおける各オブジェクトの場所は、ネ
ットワーク上のノードを示すノード名と、ノード内のオ
ブジェクト(プロセス)を示すプロセス名とにより特定
される。
イアントオブジェクト(以下、単にクライアントとい
う)1と、「サービスエージェント」と呼ばれる1セッ
ト又は複数セットのオブジェクトセット3、7と、複数
のサーバオブジェクト(以下、単にサーバという)5
A、5B、5C、…(これを纏めてサーバ群5ともい
う)、別の1群以上のサーバ群9などが散在している。
クライアント1は、原則として1つの特定のサービスエ
ージェント3の傘下におかれている。サーバ群5も、原
則として1つの特定のサービスエージェント3の傘下に
おかれ、同様に、別のサーバ群9も、原則として1つの
別の特定のサービスエージェント7に傘下におかれてい
る。ネットワークにおける各オブジェクトの場所は、ネ
ットワーク上のノードを示すノード名と、ノード内のオ
ブジェクト(プロセス)を示すプロセス名とにより特定
される。
【0017】なお、図1では1つのクライアント1しか
図示してないが、実際には、多くの他のクライアントも
同じネットワーク上に存在しているのが普通である。し
かし、1つのクライアント1に関する説明は他のクライ
アントにも同様にあてはまるので、他のクライアントに
ついての図示および説明は省略する。
図示してないが、実際には、多くの他のクライアントも
同じネットワーク上に存在しているのが普通である。し
かし、1つのクライアント1に関する説明は他のクライ
アントにも同様にあてはまるので、他のクライアントに
ついての図示および説明は省略する。
【0018】サービスエージェント3は、傘下の各サー
バ5A、5B、5C、…のサービス名、場所及びステー
タスを知ってそれを管理している。別のサービスエージ
ェント7も、傘下のサーバ群9に属する各サーバのサー
ビス名、場所及びステータスを同様に管理している。一
方、クライアント1は、ネットワーク上に散在するサー
バ5A、5B、5C、…、9の個数、場所(ノード名、
プロセス名)、ステータス(アイドル、処理中、故障な
どの現在状態)及び提供するサービス名ついて全く関知
しない。
バ5A、5B、5C、…のサービス名、場所及びステー
タスを知ってそれを管理している。別のサービスエージ
ェント7も、傘下のサーバ群9に属する各サーバのサー
ビス名、場所及びステータスを同様に管理している。一
方、クライアント1は、ネットワーク上に散在するサー
バ5A、5B、5C、…、9の個数、場所(ノード名、
プロセス名)、ステータス(アイドル、処理中、故障な
どの現在状態)及び提供するサービス名ついて全く関知
しない。
【0019】各オブジェクトの動作の概要は次の通りで
ある。
ある。
【0020】各サーバ5A、5B、5C、…は、自己を
傘下におさめるサービスエージェント3に対し、サービ
ス開始時に自己のサービス名及び場所(ノード名とプロ
セス名)を知らせる(通信C1)。サービスエージェン
ト3は、各サーバ5A、5B、5C、…から通知された
サービス名及び場所を記憶し、また、各サーバ5A、5
B、5C、…のステータスも以後監視する。同様に、別
のサーバ群9に属する各サーバもサービスエージェント
7に自己のサービス名及び場所を通知し(通信C2)、
それをサービスエージェント7が同様に管理する。
傘下におさめるサービスエージェント3に対し、サービ
ス開始時に自己のサービス名及び場所(ノード名とプロ
セス名)を知らせる(通信C1)。サービスエージェン
ト3は、各サーバ5A、5B、5C、…から通知された
サービス名及び場所を記憶し、また、各サーバ5A、5
B、5C、…のステータスも以後監視する。同様に、別
のサーバ群9に属する各サーバもサービスエージェント
7に自己のサービス名及び場所を通知し(通信C2)、
それをサービスエージェント7が同様に管理する。
【0021】クライアント1は、サービス名を指定した
サービス要求をサービスエージェント3に送る(通信C
3)。サービスエージェント3は、サービス要求に応じ
られるサーバをサーバ群5内から探し、そのサーバ(例
えばサーバ5Bとする)にサービス要求を送る(通信C
4)。サーバ5Bは、要求されたサービスの処理を実行
し、その処理結果をサービスエージェント3に返送する
(通信C5)。サービスエージェント3は、その処理結
果をクライアント1に送る(通信C6)。なお、この通
信C6では、サービスエージェント3は、予めクライア
ント1から教えられているコールバック(CB)を用い
てクライアント1を呼んで処理結果を渡す。
サービス要求をサービスエージェント3に送る(通信C
3)。サービスエージェント3は、サービス要求に応じ
られるサーバをサーバ群5内から探し、そのサーバ(例
えばサーバ5Bとする)にサービス要求を送る(通信C
4)。サーバ5Bは、要求されたサービスの処理を実行
し、その処理結果をサービスエージェント3に返送する
(通信C5)。サービスエージェント3は、その処理結
果をクライアント1に送る(通信C6)。なお、この通
信C6では、サービスエージェント3は、予めクライア
ント1から教えられているコールバック(CB)を用い
てクライアント1を呼んで処理結果を渡す。
【0022】ところで、サービスエージェント3は、ク
ライアント1からのサービス要求に応じられるサーバが
サーバ群5内に無い場合、その旨をクライアント1に通
知することもできるが、その代わりに、別のサービスエ
ージェント7にサーバを照会することもできる(通信C
7)。別のサービスエージェント7は、傘下のサーバ群
9から要求に応じられるサーバを探し、そのサーバの場
所をサービスエージェント3に通知する(通信C8)。
サービスエージェント3は、その通知されたサーバにサ
ービス要求を送り(通信C9)、その結果を受信し(通
信C10)、それをクラアント1に送る(通信C6)。
ライアント1からのサービス要求に応じられるサーバが
サーバ群5内に無い場合、その旨をクライアント1に通
知することもできるが、その代わりに、別のサービスエ
ージェント7にサーバを照会することもできる(通信C
7)。別のサービスエージェント7は、傘下のサーバ群
9から要求に応じられるサーバを探し、そのサーバの場
所をサービスエージェント3に通知する(通信C8)。
サービスエージェント3は、その通知されたサーバにサ
ービス要求を送り(通信C9)、その結果を受信し(通
信C10)、それをクラアント1に送る(通信C6)。
【0023】以上のように、サービスエージェント3が
クライアント1とサーバ5A、5B、5C、…間の通信
を仲介することにより、クライアント1は、サーバとの
通信に必要な情報(例えばサーバの個数や場所など)に
関知することなしに、所望のサービス名を指定するだけ
でそのサービスの提供を受けることができる。つまり、
クライアント1はサーバとの通信という問題から解放さ
れるのである。このことにより、クライアント1のプロ
グラム構築は、サーバの事情を考慮せずにすむため、非
常に容易になる。
クライアント1とサーバ5A、5B、5C、…間の通信
を仲介することにより、クライアント1は、サーバとの
通信に必要な情報(例えばサーバの個数や場所など)に
関知することなしに、所望のサービス名を指定するだけ
でそのサービスの提供を受けることができる。つまり、
クライアント1はサーバとの通信という問題から解放さ
れるのである。このことにより、クライアント1のプロ
グラム構築は、サーバの事情を考慮せずにすむため、非
常に容易になる。
【0024】また、サービスエージェント3は、通信C
6でクライアント1に処理結果を返すとき、所定のCB
を用いてクライアント1を呼び出す。そのためクライア
ント1は、要求を送る通信C3から結果を受ける通信C
6までの間ずっと待っている必要はなく、通信C3が終
わり次第別の処理に移行することができる。つまり、オ
ブジェクト間の非同期協調動作が可能である。
6でクライアント1に処理結果を返すとき、所定のCB
を用いてクライアント1を呼び出す。そのためクライア
ント1は、要求を送る通信C3から結果を受ける通信C
6までの間ずっと待っている必要はなく、通信C3が終
わり次第別の処理に移行することができる。つまり、オ
ブジェクト間の非同期協調動作が可能である。
【0025】図2は、サービスエージェント3の構成と
働きをより詳細に示している。
働きをより詳細に示している。
【0026】サービスエージェント3は、サービスエー
ジェントのデーモンプロセスとして提供されるサービス
マネージャ31と、サービスマネージャ31内に唯一存
在するサービステーブル33と、クライアント1及びサ
ーバ5A、5B、…の各々に組み込まれ又は付属したサ
ービス・アプリケーションインタフェース(サービスA
PI)35、37A、37B、37C、…とを含む。サ
ービスマネージャ31は、サービスAPI35、37
A、37B、…が知っている特定場所のノードにおかれ
る。各サービスAPI35、37A、37B、…は、当
然、それぞれが組み込まれ又は付属したクライアント1
及びサーバ5A、5B、5C、…と同じノードにおかれ
る。
ジェントのデーモンプロセスとして提供されるサービス
マネージャ31と、サービスマネージャ31内に唯一存
在するサービステーブル33と、クライアント1及びサ
ーバ5A、5B、…の各々に組み込まれ又は付属したサ
ービス・アプリケーションインタフェース(サービスA
PI)35、37A、37B、37C、…とを含む。サ
ービスマネージャ31は、サービスAPI35、37
A、37B、…が知っている特定場所のノードにおかれ
る。各サービスAPI35、37A、37B、…は、当
然、それぞれが組み込まれ又は付属したクライアント1
及びサーバ5A、5B、5C、…と同じノードにおかれ
る。
【0027】サービスマネージャ31の主たる機能は、
傘下の全てのサーバ5A、5B、…のサービス名、ノー
ド名、プロセス名及びステータス(以下、これらを総称
してサービス情報という)をサービステーブル33上で
管理し、クライアント1からのサービス要求を受ける
と、サービステーブル33を参照して傘下のサーバ群5
内から、そのサービス要求に応えられるサーバを傘下の
サーバ群5から探すことである。
傘下の全てのサーバ5A、5B、…のサービス名、ノー
ド名、プロセス名及びステータス(以下、これらを総称
してサービス情報という)をサービステーブル33上で
管理し、クライアント1からのサービス要求を受ける
と、サービステーブル33を参照して傘下のサーバ群5
内から、そのサービス要求に応えられるサーバを傘下の
サーバ群5から探すことである。
【0028】各サービスAPI35、37A、37B、
…の主たる機能は、対応するクライアント1及びサーバ
5A、5B、5C、…のために、サービスマネージャ3
1との通信や他のサーバ又はクライアントとの通信を代
行することである。
…の主たる機能は、対応するクライアント1及びサーバ
5A、5B、5C、…のために、サービスマネージャ3
1との通信や他のサーバ又はクライアントとの通信を代
行することである。
【0029】図3及び図4は、図2に示した各オブジェ
クトの動作の流れを示す。また、図5は、サービステー
ブル31の内容例を示す。以下、図2〜図5を参照し
て、各部の動作を説明する。
クトの動作の流れを示す。また、図5は、サービステー
ブル31の内容例を示す。以下、図2〜図5を参照し
て、各部の動作を説明する。
【0030】各サーバ5A、5B、…は、各々の起動時
などに、各々のサービスAPI37A、37B、…に対
しサービス提供宣言を送る(通信C21)。このサービ
ス提供宣言には、それぞれのサーバのサービス処理を識
別するためのサービス名と、所定の提供CBの指定とが
含まれる。ここで、提供CBとは、各サーバ5A、5
B、…内のサービス処理の実行主体であり、これを呼ぶ
ことにより、各サーバ5A、5B、…にサービス処理を
実行させることができる。サービス提供宣言が各サービ
スAPI37A、37B、…に受け付けられると、その
旨の確認応答が各サーバ5A、5B、…に返される。
などに、各々のサービスAPI37A、37B、…に対
しサービス提供宣言を送る(通信C21)。このサービ
ス提供宣言には、それぞれのサーバのサービス処理を識
別するためのサービス名と、所定の提供CBの指定とが
含まれる。ここで、提供CBとは、各サーバ5A、5
B、…内のサービス処理の実行主体であり、これを呼ぶ
ことにより、各サーバ5A、5B、…にサービス処理を
実行させることができる。サービス提供宣言が各サービ
スAPI37A、37B、…に受け付けられると、その
旨の確認応答が各サーバ5A、5B、…に返される。
【0031】各サービスAPI37A、37B、…は、
各サーバ5A、5B、…からの上記サービス提供宣言に
応答して、サービスマネージャ31に対し、各サーバの
サービス名、ノード名およびプロセス名を含んだサービ
ス提供宣言を送る(通信C22)。
各サーバ5A、5B、…からの上記サービス提供宣言に
応答して、サービスマネージャ31に対し、各サーバの
サービス名、ノード名およびプロセス名を含んだサービ
ス提供宣言を送る(通信C22)。
【0032】サービスマネージャ31は、各サービスA
PI37A、37B、…からサービス提供宣言を受ける
と、サービステーブル33に、宣言に含まれているサー
ビス名、ノード名およびプロセス名を登録する(ステッ
プS1)。この登録時、サービスマネージャ31は、サ
ーバの状態を示すテーブル33上のステータスを「アイ
ドル」に設定する。従って、サービステーブル33に
は、図5に例示するように、既に起動した全てのサーバ
5A、5B、…のサービス名、ノード名、プロセス名お
よびステータスが記録されることになる。
PI37A、37B、…からサービス提供宣言を受ける
と、サービステーブル33に、宣言に含まれているサー
ビス名、ノード名およびプロセス名を登録する(ステッ
プS1)。この登録時、サービスマネージャ31は、サ
ーバの状態を示すテーブル33上のステータスを「アイ
ドル」に設定する。従って、サービステーブル33に
は、図5に例示するように、既に起動した全てのサーバ
5A、5B、…のサービス名、ノード名、プロセス名お
よびステータスが記録されることになる。
【0033】クライアント1は、自己のサービスAPI
35に対しサービス要求を送る(通信C23)。このサ
ービス要求には、要求するサービスを識別するためのサ
ービス名と、所定の応答CBの指定とが含まれる。ここ
で、応答CBとは、クライアント1内のサービス処理結
果を受信する主体であり、これを呼ぶことによりクライ
アント1にサービス処理結果を受け取らせることができ
る。サービス要求がサービスAPI35に受け付けられ
ると、その旨の確認応答がサービスAPI35からクラ
イアント1に返される。この確認応答を受けた後は、サ
ービス処理の結果が来ればサービスAPI35が応答C
Bを呼んでくれるので、クライアント1はサービス処理
の結果を待つことなく、別の処理に移行することができ
る。
35に対しサービス要求を送る(通信C23)。このサ
ービス要求には、要求するサービスを識別するためのサ
ービス名と、所定の応答CBの指定とが含まれる。ここ
で、応答CBとは、クライアント1内のサービス処理結
果を受信する主体であり、これを呼ぶことによりクライ
アント1にサービス処理結果を受け取らせることができ
る。サービス要求がサービスAPI35に受け付けられ
ると、その旨の確認応答がサービスAPI35からクラ
イアント1に返される。この確認応答を受けた後は、サ
ービス処理の結果が来ればサービスAPI35が応答C
Bを呼んでくれるので、クライアント1はサービス処理
の結果を待つことなく、別の処理に移行することができ
る。
【0034】サービスAPI35は、クライアント1か
らサービス要求を受けると、サービス名をキーとして、
サービス情報の照会をサービスマネージャ31に対して
行う(通信C24)。
らサービス要求を受けると、サービス名をキーとして、
サービス情報の照会をサービスマネージャ31に対して
行う(通信C24)。
【0035】サービスマネージャ31は、サービステー
ブル33を参照して、そのサービス名を現在提供するこ
とができるサーバを探す(ステップS2)。具体的に
は、テーブル33上のサービス名が照会にかかるサービ
ス名と一致し、かつ、テーブル33上のステータスが
「アイドル」であるサーバを探す。この条件を満たすサ
ーバが見つかれば、サービスマネージャ31は、そのサ
ーバの場所を示すノード名とプロセス名をテーブル33
から読み出し、照会元のサービスAPI35に返送する
(通信25)。
ブル33を参照して、そのサービス名を現在提供するこ
とができるサーバを探す(ステップS2)。具体的に
は、テーブル33上のサービス名が照会にかかるサービ
ス名と一致し、かつ、テーブル33上のステータスが
「アイドル」であるサーバを探す。この条件を満たすサ
ーバが見つかれば、サービスマネージャ31は、そのサ
ーバの場所を示すノード名とプロセス名をテーブル33
から読み出し、照会元のサービスAPI35に返送する
(通信25)。
【0036】サービスAPI35は、サービスマネージ
ャ31から受け取ったノード名とプロセス名とを宛先に
して(例えば、サーバ3Aとする)、クライアント1の
要求したサービス名を含んだサービス要求を送信する
(通信C26)。
ャ31から受け取ったノード名とプロセス名とを宛先に
して(例えば、サーバ3Aとする)、クライアント1の
要求したサービス名を含んだサービス要求を送信する
(通信C26)。
【0037】サーバ3AのサービスAPI37Aは、サ
ービス要求を受信すると、予めサーバ3Aから指定され
ている提供CBを呼ぶ(通信C27)。これにより、サ
ーバ3Aのサービス処理が開始される。サービス処理が
開始されると、サービスAPI37Aは、ステータスを
「処理中」に変更する旨のステータス変更通知をサービ
スマネージャ31に送る(通信C28)。このステータ
ス変更通知には、サーバ3Aのノード名及びプロセス名
が含まれている。サービスマネージャ31は、そのステ
ータス変更通知を受けると、そのノード名及びプロセス
名に該当するサービステーブル33上のステータスを
「アイドル」から「処理中」に変更する(ステップS
3)。
ービス要求を受信すると、予めサーバ3Aから指定され
ている提供CBを呼ぶ(通信C27)。これにより、サ
ーバ3Aのサービス処理が開始される。サービス処理が
開始されると、サービスAPI37Aは、ステータスを
「処理中」に変更する旨のステータス変更通知をサービ
スマネージャ31に送る(通信C28)。このステータ
ス変更通知には、サーバ3Aのノード名及びプロセス名
が含まれている。サービスマネージャ31は、そのステ
ータス変更通知を受けると、そのノード名及びプロセス
名に該当するサービステーブル33上のステータスを
「アイドル」から「処理中」に変更する(ステップS
3)。
【0038】サービス処理が終わって提供CBが終了す
ると、サーバ3Aは提供CBの終了宣言をサービスAP
I37Aに送る(通信C29)。この終了宣言には、実
行したサービス処理の結果(例えば、データベース検索
を行った場合の検索結果など)が含まれている。
ると、サーバ3Aは提供CBの終了宣言をサービスAP
I37Aに送る(通信C29)。この終了宣言には、実
行したサービス処理の結果(例えば、データベース検索
を行った場合の検索結果など)が含まれている。
【0039】サービスAPI37Aは、提供CB終了宣
言を受けると、ステータスを「アイドル」に変更する旨
のステータス変更通知をサービスマネージャ31に送る
(通信C30)。サービスマネージャ31は、その通知
を受けて、サービステーブル33上の該当するステータ
スを「処理中」から「アイドル」に変更する(ステップ
S4)。
言を受けると、ステータスを「アイドル」に変更する旨
のステータス変更通知をサービスマネージャ31に送る
(通信C30)。サービスマネージャ31は、その通知
を受けて、サービステーブル33上の該当するステータ
スを「処理中」から「アイドル」に変更する(ステップ
S4)。
【0040】提供CB終了宣言を受けたサービスAPI
37Aは、さらに、サービス処理結果をサービス要求元
のクライアント1に宛てて返送する(通信C31)。ク
ライアント1のサービスAPI35は、そのサービス処
理結果を受信すると、応答CBを呼ぶ(通信C32)。
これにより、クライアント1は、サービス処理結果を受
け取る。
37Aは、さらに、サービス処理結果をサービス要求元
のクライアント1に宛てて返送する(通信C31)。ク
ライアント1のサービスAPI35は、そのサービス処
理結果を受信すると、応答CBを呼ぶ(通信C32)。
これにより、クライアント1は、サービス処理結果を受
け取る。
【0041】ところで、サービスマネージャ31は、ク
ライアント1のサービスAPI35からサービス情報照
会を受けたとき(通信C24)、条件を満たすサーバが
サービステーブル33から見つからなかった場合、図2
に示すように、別のサービスエージェントのサービスマ
ネージャに対して、同内容のサービス情報照会を送るこ
とができる(通信C33)。すると、その別のサービス
マネージャは、自己のサービステーブルから条件を満た
すサーバを探して、そのノード名とプロセス名を照会元
のサービスマネージャ31に返送する(通信C34)。
サービスマネージャ31は、そのノード名とプロセス名
とをクライアント1のサービスAPI35に送り(通信
25)、サービスAPI35はそのノード名とプロセス
名を宛先にしてサービス要求を発し(通信C35)、そ
してその結果を受けることができる(通信C36)。
ライアント1のサービスAPI35からサービス情報照
会を受けたとき(通信C24)、条件を満たすサーバが
サービステーブル33から見つからなかった場合、図2
に示すように、別のサービスエージェントのサービスマ
ネージャに対して、同内容のサービス情報照会を送るこ
とができる(通信C33)。すると、その別のサービス
マネージャは、自己のサービステーブルから条件を満た
すサーバを探して、そのノード名とプロセス名を照会元
のサービスマネージャ31に返送する(通信C34)。
サービスマネージャ31は、そのノード名とプロセス名
とをクライアント1のサービスAPI35に送り(通信
25)、サービスAPI35はそのノード名とプロセス
名を宛先にしてサービス要求を発し(通信C35)、そ
してその結果を受けることができる(通信C36)。
【0042】以上のような具体的な構成及び動作によ
り、図1を参照して既に説明した通りの、クライアント
1はサーバを意識する必要が無い、オブジェクト間の非
同期協調動作が可能である、という利点が得られる。
り、図1を参照して既に説明した通りの、クライアント
1はサーバを意識する必要が無い、オブジェクト間の非
同期協調動作が可能である、という利点が得られる。
【0043】図6は、オブジェクト間非同期協調動作が
可能であることによって得られる一つの具体的な利点の
例を示している。
可能であることによって得られる一つの具体的な利点の
例を示している。
【0044】例えば、次のようなケースを想定する。す
なわち、クライアント1は、特定の計算をなるべく速く
行うことを欲している。その特定の計算を行う方法には
アルゴリズムAとBの2種類があり、いずれの方法がよ
り速いかは、入力データの値に依存する。アルゴリズム
A又はBを実装したサーバ5A、5B、5C、…がネッ
トワーク上に散在しており、それぞれのアルゴリズムに
ついて図示のように多重にサーバが存在している。
なわち、クライアント1は、特定の計算をなるべく速く
行うことを欲している。その特定の計算を行う方法には
アルゴリズムAとBの2種類があり、いずれの方法がよ
り速いかは、入力データの値に依存する。アルゴリズム
A又はBを実装したサーバ5A、5B、5C、…がネッ
トワーク上に散在しており、それぞれのアルゴリズムに
ついて図示のように多重にサーバが存在している。
【0045】このようなケースでは、クライアント1は
サービスエージェント3に対し、「アルゴリズムAによ
る計算要求」と「アルゴリズムBによる計算要求」とい
う2つのサービス要求をたて続けに発することができる
(通信C41、C42)。非同期処理が可能であるか
ら、一方の計算が完了する前に、他方の計算要求を発す
ることができるからである。
サービスエージェント3に対し、「アルゴリズムAによ
る計算要求」と「アルゴリズムBによる計算要求」とい
う2つのサービス要求をたて続けに発することができる
(通信C41、C42)。非同期処理が可能であるか
ら、一方の計算が完了する前に、他方の計算要求を発す
ることができるからである。
【0046】すると、サービスエージェント3は、即座
に、アルゴリズムA、Bの各々についてステータスがア
イドルのサーバ(例えば、サーバ5Aとサーバ5Cとす
る)を見つけ、それらに対し、その特定の計算を依頼す
る(通信C43、C44)。サーバ5Aとサーバ5Cは
アルゴリズムAとBでそれぞれ計算を行い、いずれか早
く計算を完了した方(例えばサーバ5A)が先に、計算
結果を返す(通信C45)。従って、クライアント1
は、労せずして、速いほうの計算結果を受け取ることが
できる(通信C46)。
に、アルゴリズムA、Bの各々についてステータスがア
イドルのサーバ(例えば、サーバ5Aとサーバ5Cとす
る)を見つけ、それらに対し、その特定の計算を依頼す
る(通信C43、C44)。サーバ5Aとサーバ5Cは
アルゴリズムAとBでそれぞれ計算を行い、いずれか早
く計算を完了した方(例えばサーバ5A)が先に、計算
結果を返す(通信C45)。従って、クライアント1
は、労せずして、速いほうの計算結果を受け取ることが
できる(通信C46)。
【0047】以上、本発明の一実施形態を説明したが、
この実施形態は本発明を説明するための例示に過ぎず、
上に説明した構成や動作とは異なる別の態様でも本発明
は実施することが可能である。
この実施形態は本発明を説明するための例示に過ぎず、
上に説明した構成や動作とは異なる別の態様でも本発明
は実施することが可能である。
【0048】例えば、上記実施形態では個々のクライア
ントおよび個々のサーバは、1つのサービスエージェン
トの傘下におかれており、その1つのサービスエージェ
ントとのみ通信している。しかし、必ずしもそうである
必要はなく、或るクライアント又は或るサーバが、2つ
以上のサービスエージェントの傘下におかれていてもよ
い。その場合、そのクライアントのサービスAPI又は
そのサーバのサービスAPIは、自分が傘下にある2つ
以上のサービスエージェントのサービスマネージャの場
所を知っている必要がある。こうすることにより、サー
ビスマネージャの負荷分散を図ることが可能である。ま
た、例えば、或るサービスエージェントは或る特定種類
のサービスを提供するサーバ群を傘下におさめ、別のサ
ービスエージェントはまた別の特定種類のサービスを提
供するサーバ群を傘下におさめているような場合、双方
のサービスを受けたい1つのクライアントが、その2つ
のサービスエージェントの傘下に入って、ほしいサービ
スに応じてサービスエージェントを使い分けるといった
構成も可能である。
ントおよび個々のサーバは、1つのサービスエージェン
トの傘下におかれており、その1つのサービスエージェ
ントとのみ通信している。しかし、必ずしもそうである
必要はなく、或るクライアント又は或るサーバが、2つ
以上のサービスエージェントの傘下におかれていてもよ
い。その場合、そのクライアントのサービスAPI又は
そのサーバのサービスAPIは、自分が傘下にある2つ
以上のサービスエージェントのサービスマネージャの場
所を知っている必要がある。こうすることにより、サー
ビスマネージャの負荷分散を図ることが可能である。ま
た、例えば、或るサービスエージェントは或る特定種類
のサービスを提供するサーバ群を傘下におさめ、別のサ
ービスエージェントはまた別の特定種類のサービスを提
供するサーバ群を傘下におさめているような場合、双方
のサービスを受けたい1つのクライアントが、その2つ
のサービスエージェントの傘下に入って、ほしいサービ
スに応じてサービスエージェントを使い分けるといった
構成も可能である。
【0049】また、上記実施形態の説明では、クライア
ントやサーバのサービスAPIを、サービスエージェン
トの一部という位置づけで説明したが、これは一つの説
明の方法又は概念化の方法に過ぎないものであって、別
の説明も可能である。例えば、各クライアントや各サー
バのサービスAPIを、サービスエージェントの一部で
はなく、各クライアントや各サーバの一部という位置づ
けで理解することもできるし、或いは、サービスエージ
ェント、クライアント及びサーバのいずれにも属さない
独立したオブジェクトとして理解することも可能であ
る。従って、本発明の特許請求の範囲の解釈に際して
は、一つの説明方法又は概念化方法にとらわれずに、柔
軟にこれを解釈しなければならない。
ントやサーバのサービスAPIを、サービスエージェン
トの一部という位置づけで説明したが、これは一つの説
明の方法又は概念化の方法に過ぎないものであって、別
の説明も可能である。例えば、各クライアントや各サー
バのサービスAPIを、サービスエージェントの一部で
はなく、各クライアントや各サーバの一部という位置づ
けで理解することもできるし、或いは、サービスエージ
ェント、クライアント及びサーバのいずれにも属さない
独立したオブジェクトとして理解することも可能であ
る。従って、本発明の特許請求の範囲の解釈に際して
は、一つの説明方法又は概念化方法にとらわれずに、柔
軟にこれを解釈しなければならない。
【図1】本発明の一実施形態の構成を示すブロック図。
【図2】同実施形態のより具体的な構成を示すブロック
図。
図。
【図3】同実施形態の動作を示すシーケンス図。
【図4】同実施形態の動作を示すシーケンス図。
【図5】サービステーブルの例を示す図。
【図6】オブジェクト間非同期協調動作による一つの利
点を説明する図。
点を説明する図。
1 クライアント(クライアントオブジェクト) 3、7 サービスエージェント 5、9 サーバ群 5A、5B、5C サーバ(サーバオブジェクト) 31 サービスマネージャ 33 サービステーブル 35、37A、37B サービスアプリケーションイン
タフェース
タフェース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 英明 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 増木 亮介 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 内川 淳 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内 (72)発明者 市来 伸彦 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内
Claims (29)
- 【請求項1】 通信ネットワークと、 前記ネットワーク上に存在する、サービス要求を発する
ためのクライアントと、 前記通信ネットワーク上に存在する、サービス処理を実
行するためのサーバと、 前記通信ネットワーク上に存在するものであって、前記
サーバの場所を知っており、前記クライアントの発した
サービス要求に応答して、前記サーバと通信することに
より、前記サーバに前記サービス処理を実行させ且つ前
記サーバよりサービス処理結果を受け、そして、前記ク
ライアントに前記サービス処理結果を返却するためのサ
ービスエージェントとを備えたクライアント/サーバ環
境におけるオブジェクト間通信システム。 - 【請求項2】 複数の前記サーバが前記ネットワーク上
に散在しており、 前記サービスエージェントは、前記サーバの各々の場所
とステータスとサービス名とを示すサービス情報を保有
しており、前記クライアントからの前記サービス要求に
応答して、前記サービス情報を参照して前記サービス要
求に応え得るサーバを選択し、選択されたサーバと通信
する請求項1記載のシステム。 - 【請求項3】 前記クライアントが、前記サービス処理
結果を受けるための応答コールバックを有し、 前記サービスエージェントが、前記クライアントに前記
サービス処理結果を返すとき前記応答コールバックを呼
ぶ請求項1記載のシステム。 - 【請求項4】 前記サーバが、前記サービス処理を実行
するための所定の提供コールバックを有し、 前記サービスエージェントが、前記サーバに前記サービ
ス処理の実行を要求するとき前記提供コールバックを呼
ぶ請求項1及び3のいずれか1項記載のシステム。 - 【請求項5】 前記サービスエージェントが、 前記クライアントから前記サービス要求を受け且つ前記
サービス処理結果を前記クライアントに返すための、前
記クライアントと同じノードに配置されたクライアント
インタフェースと、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有している、所定のノードに配置されたサ
ービスマネージャと、 前記サーバに前記サービス処理の実行要求を送り且つ前
記サービス処理結果を前記サーバから受けるための、前
記サーバと同じノードに配置されたサーバインタフェー
スとを有しており、 前記クライアントインタフェース、サービスマネージャ
及びサーバインタフェースが前記通信ネットワークを通
じて交信する請求項1記載のシステム。 - 【請求項6】 前記クライアントインタフェースは、前
記クライアントからの前記サービス要求に応答して、前
記サービスマネージャに情報照会依頼を送り、 前記サービスマネージャは、前記情報照会依頼に応答し
て、前記サービス情報を参照して前記サービス要求に応
え得るサーバを選択し、この選択されたサーバの場所を
前記クライアントインタフェースに通知し、 前記クライアントインタフェースは、前記サービスマネ
ージャから通知された場所へ宛てて前記サービス要求を
送り、 前記サーバインタフェースは、前記クライアントインタ
フェースからの前記サービス要求を受けて、前記サーバ
にサービス処理の実行を要求し、そして、前記サーバか
ら前記サービス処理結果を受けて、前記サービス処理結
果を前記サービス要求の発信元へ宛てて返送し、 前記クライアントインタフェースは、前記サーバインタ
フェースからの前記サービス処理結果を受けて、これを
前記クライアントへ渡す請求項5記載のシステム。 - 【請求項7】 前記サーバインタフェースは、前記サー
バのサービス名と場所とステータスとを前記サービスマ
ネージャに通知し、 前記サービスマネージャは、前記サーバインタフェース
からの通知に応答して、前記サービス情報を更新する請
求項5記載のシステム。 - 【請求項8】 前記クライアントが、前記サービス処理
結果を受けるための応答コールバックを有し、 前記クライアントインタフェースが、前記クライアント
に前記サービス処理結果を返すとき前記応答コールバッ
クを呼ぶ請求項5記載のシステム。 - 【請求項9】 前記サーバが、前記サービス処理を実行
するための所定の提供コールバックを有し、 前記サーバインタフェースが、前記サーバに前記サービ
ス処理の実行を要求するとき前記提供コールバックを呼
ぶ請求項5及び8のいずれか1項記載のシステム。 - 【請求項10】 前記通信ネットワーク上に存在する別
のサーバと、 前記通信ネットワーク上に存在する、前記別のサーバの
場所を知っている別のサービスエージェントとをさらに
備え、 前記サービスエージェントは、前記別のサービスエージ
ェントから前記別のサーバの場所を通知されることによ
り、前記別のサーバと通信して、前記別のサーバにサー
ビス処理の実行を要求し且つ前記別のサーバからサービ
ス処理結果を受け、このサービス処理結果を前記クライ
アントへ返却することが可能である請求項1記載のシス
テム。 - 【請求項11】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在す
る通信ネットワーク上に存在し、 前記サーバの場所を知っており、前記クライアントの発
したサービス要求に応答して、前記サーバと通信するこ
とにより、前記サーバに前記サービス処理を実行させ且
つ前記サーバよりサービス処理結果を受け、そして、前
記クライアントに前記サービス処理結果を返却する、ク
ライアント/サーバ環境におけるオブジェクト間通信の
ためのサービスエージェント。 - 【請求項12】 前記ネットワーク上に散在する複数の
前記サーバの各々の場所とステータスとサービス名とを
示すサービス情報を保有しており、前記クライアントか
らの前記サービス要求に応答して、前記サービス情報を
参照して前記サービス要求に応え得るサーバを選択し、
選択されたサーバと通信する請求項11記載のサービス
エージェント。 - 【請求項13】 前記クライアントに前記サービス処理
結果を返すとき、前記クライアントが有している前記サ
ービス処理結果を受けるための所定の応答コールバック
を呼ぶ請求項11記載のサービスエージェント。 - 【請求項14】 前記サーバに前記サービス処理の実行
を要求するとき、前記サーバが有している前記サービス
処理を実行するための所定の提供コールバックを呼ぶ請
求項11及び13のいずれか1項記載のサービスエージ
ェント。 - 【請求項15】 前記クライアントから前記サービス要
求を受け且つ前記サービス処理結果を前記クライアント
に返すための、前記クライアントと同じノードに配置さ
れたクライアントインタフェースと、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有している、所定のノードに配置されたサ
ービスマネージャと、 前記サーバに前記サービス処理の実行要求を送り且つ前
記サービス処理結果を前記サーバから受けるための、前
記サーバと同じノードに配置されたサーバインタフェー
スとを有しており、 前記クライアントインタフェース、サービスマネージャ
及びサーバインタフェースが前記通信ネットワークを通
じて交信する請求項11記載のサービスエージェント。 - 【請求項16】 前記クライアントインタフェースは、
前記クライアントからの前記サービス要求に応答して、
前記サービスマネージャに情報照会を依頼し、 前記サービスマネージャは、前記情報照会に応答して、
前記サービス情報を参照して前記サービス要求に応え得
るサーバを選択し、この選択されたサーバの場所を前記
クライアントインタフェースに通知し、 前記クライアントインタフェースは、前記サービスマネ
ージャから通知された場所へ宛てて前記サービス要求を
送り、 前記サーバインタフェースは、前記クライアントインタ
フェースからの前記サービス要求を受けて、前記サーバ
にサービス処理の実行を要求し、そして、前記サーバか
ら前記サービス処理結果を受けて、前記サービス処理結
果を前記サービス要求の発信元へ宛てて返送し、 前記クライアントインタフェースは、前記サーバインタ
フェースからの前記サービス処理結果を受けて、これを
前記クライアントへ渡す請求項15記載のサービスエー
ジェント。 - 【請求項17】 前記サーバインタフェースは、前記サ
ーバのサービス名と場所とステータスとを前記サービス
マネージャに通知し、 前記サービスマネージャは、前記サーバインタフェース
からの通知に応答して、前記サービス情報を更新する請
求項15記載のサービスエージェント。 - 【請求項18】 前記通信ネットワーク上に存在する別
のサービスエージェントから前記通信ネットワーク上の
別のサーバの場所を通知されることにより、前記別のサ
ーバと通信して、前記別のサーバにサービス処理の実行
を要求し且つ前記別のサーバからサービス処理結果を受
け、このサービス処理結果を前記クライアントへ返却す
ることが可能である請求項11記載のサービスエージェ
ント。 - 【請求項19】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在し
ている通信ネットワーク上の所定のノードに配置され、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有し、 前記クライアント側からの情報照会に応答して、前記サ
ービス情報を参照して前記クライアントの前記サービス
要求に応え得るサーバを選択し、この選択されたサーバ
の場所を前記クライアント側へ通知する、クライアント
/サーバ環境におけるオブジェクト間通信のためのサー
ビスマネージャ。 - 【請求項20】 前記サーバ側から、前記サーバのサー
ビス名と場所とステータスを通知されて、前記サービス
情報を更新する請求項19記載のサービスマネージャ。 - 【請求項21】 前記クライアント側からの前記依頼に
応答して、前記通信ネットワーク上に存在する別のサー
ビスマネージャに対し前記サービス要求に応え得る別の
サーバの場所を照会し、前記別のサービスマネージャか
ら通知された前記別のサーバの場所を前記クライアント
側に通知することが可能である請求項19記載のサービ
スマネージャ。 - 【請求項22】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在し
ている通信ネットワーク上の或るノードを、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有し、 前記クライアント側からの照会に応答して、前記サービ
ス情報を参照して前記クライアントの前記サービス要求
に応え得るサーバを選択し、この選択されたサーバの場
所を前記クライアント側へ通知する、クライアント/サ
ーバ環境におけるオブジェクト間通信のためのサービス
マネージャとして機能させるためのコンピュータプログ
ラムを担持したコンピュータ読み取り可能な記録媒体。 - 【請求項23】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記クライアントと同じノードに配置さ
れ、 前記クライアントの発した前記サービス要求に応答し
て、前記情報照会を前記サービスマネージャに送り、 前記サービスマネージャから前記選択されたサーバの場
所の通知を受けて、通知された場所へ宛てて前記サービ
ス要求を送り、前記サーバ側から前記サービス処理結果
を受けて、これを前記クライアントへ渡す、クライアン
ト/サーバ環境におけるオブジェクト間通信のためのク
ライアントインタフェース。 - 【請求項24】 前記クライアントに前記サービス処理
結果を返すとき、前記クライアントが有している前記サ
ービス処理結果を受けるための所定の応答コールバック
を呼ぶ請求項23記載のクライアントインタフェース。 - 【請求項25】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記クライアントと同じノードを、 前記クライアントの発した前記サービス要求に応答し
て、前記情報照会を前記サービスマネージャに送り、 前記サービスマネージャから前記選択されたサーバの場
所の通知を受けて、通知された場所へ宛てて前記サービ
ス要求を送り、前記サーバ側から前記サービス処理結果
を受けて、これを前記クライアントへ渡す、クライアン
ト/サーバ環境におけるオブジェクト間通信のためのク
ライアントインタフェースとして機能させるためのコン
ピュータプログラムを担持したコンピュータ読み取り可
能な記録媒体。 - 【請求項26】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記サーバと同じノードに配置され、 前記クライアント側から送られる前記サービス要求を受
けて、前記サーバにサービス処理の実行を要求し、 前記サーバから前記サービス処理結果を受けて、前記サ
ービス処理結果を前記クライアント側へ返送する、クラ
イアント/サーバ環境におけるオブジェクト間通信のた
めのサーバインタフェース。 - 【請求項27】 前記サーバに前記サービス処理の実行
を要求するとき、前記サーバが有している前記サービス
処理を実行するための所定の提供コールバックを呼ぶ請
求項26記載のサーバインタフェース。 - 【請求項28】 前記サーバのサービス名と場所とステ
ータスを前記サービスマネージャに通知する請求項26
記載のサーバインタフェース。 - 【請求項29】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記サーバと同じノードを、 前記クライアント側から送られる前記サービス要求を受
けて、前記サーバにサービス処理の実行を要求し、 前記サーバから前記サービス処理結果を受けて、前記サ
ービス処理結果を前記クライアント側へ返送する、クラ
イアント/サーバ環境におけるオブジェクト間通信のた
めのサーバインタフェースとして機能させるためのコン
ピュータプログラムを担持したコンピュータ読み取り可
能な記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10013673A JPH11212913A (ja) | 1998-01-27 | 1998-01-27 | クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェース |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10013673A JPH11212913A (ja) | 1998-01-27 | 1998-01-27 | クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェース |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11212913A true JPH11212913A (ja) | 1999-08-06 |
Family
ID=11839721
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10013673A Pending JPH11212913A (ja) | 1998-01-27 | 1998-01-27 | クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェース |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11212913A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008102909A (ja) * | 2000-03-09 | 2008-05-01 | Hitachi Ltd | 情報サービス提供方法 |
| JP2013090072A (ja) * | 2011-10-17 | 2013-05-13 | Hitachi Ltd | サービス提供システム |
| US12148031B2 (en) | 2012-09-12 | 2024-11-19 | Iex Group, Inc. | System and method for TCP-to-multicast (T2M) communications and related network architecture |
| US12177137B1 (en) | 2022-03-01 | 2024-12-24 | Iex Group, Inc. | Scalable virtual network switch architecture |
| JP2025032664A (ja) * | 2023-08-28 | 2025-03-12 | 矢崎総業株式会社 | サービス代行装置、サービス提供システム、及び、サービス代行方法 |
-
1998
- 1998-01-27 JP JP10013673A patent/JPH11212913A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008102909A (ja) * | 2000-03-09 | 2008-05-01 | Hitachi Ltd | 情報サービス提供方法 |
| JP2013090072A (ja) * | 2011-10-17 | 2013-05-13 | Hitachi Ltd | サービス提供システム |
| US12148031B2 (en) | 2012-09-12 | 2024-11-19 | Iex Group, Inc. | System and method for TCP-to-multicast (T2M) communications and related network architecture |
| US12177137B1 (en) | 2022-03-01 | 2024-12-24 | Iex Group, Inc. | Scalable virtual network switch architecture |
| JP2025032664A (ja) * | 2023-08-28 | 2025-03-12 | 矢崎総業株式会社 | サービス代行装置、サービス提供システム、及び、サービス代行方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3370704B2 (ja) | 通信制御方法 | |
| JPH09244940A (ja) | 分散計算機資源の管理方法 | |
| JP4897872B2 (ja) | サービス・レジストリ、ならびに関連したシステムおよび方法 | |
| EP0479660B1 (en) | Distributed configuration profile for computing system | |
| JP3592016B2 (ja) | リモートプロシジャコール処理方法 | |
| US20070266029A1 (en) | Recovery segment identification in a computing infrastructure | |
| JPS63201743A (ja) | データ処理システム・ネットワークのためのキャッシング方法 | |
| US5995972A (en) | System and method for retrieving data | |
| CN114610509B (zh) | 调用参数处理方法、系统、设备、存储介质及产品 | |
| US6701323B2 (en) | Object management system and method for distributed object system | |
| US20100070366A1 (en) | System and method for providing naming service in a distributed processing system | |
| US8250176B2 (en) | File sharing method and file sharing system | |
| JP4437956B2 (ja) | ファイル共有アプリケーションに対するインデックス・サーバ・サポートを提供する方法 | |
| US5630133A (en) | Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment | |
| JPH11212913A (ja) | クライアント/サーバ環境におけるオブジェクト間通信のためのシステム、サービスエージェント、サービスマネージャ、クライアントインタフェース及びサーバインタフェース | |
| US7934218B2 (en) | Interprocess communication management using a socket layer | |
| JP4129353B2 (ja) | 分散データ管理システム、分散データ管理方法及び分散データ管理プログラム | |
| JP2006146615A (ja) | オブジェクト関連情報管理プログラム、管理方法、および管理装置。 | |
| CN113168405A (zh) | 数据库管理服务提供系统 | |
| JP2001067325A (ja) | 分散オブジェクト管理方法およびシステム | |
| US20060117041A1 (en) | Connection of an application to a resource manager selected from a plurality of resource managers | |
| CN116389496B (zh) | 多集群队列动态分流方法、装置及集群获取方法 | |
| CN120583103B (zh) | 跨域数据通信方法、装置、设备及介质 | |
| CN118175202B (zh) | 代理连接方法、装置及相关设备 | |
| JP2000250918A (ja) | 分散データベースシステムと検索方法およびその処理プログラムを記録した記録媒体 |