JPH11212913A - Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface - Google Patents

Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface

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
Application number
JP10013673A
Other languages
Japanese (ja)
Inventor
Tooshi Fujiwara
遠 藤原
Takashi Kuwada
隆 黄檗
Hideaki Yamamoto
英明 山本
Ryosuke Masuki
亮介 増木
Atsushi Uchikawa
淳 内川
Nobuhiko Ichiki
伸彦 市来
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.)
SUMITOMO BANK Ltd
NTT Data Group Corp
Original Assignee
SUMITOMO BANK Ltd
NTT Data Corp
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 SUMITOMO BANK Ltd, NTT Data Corp filed Critical SUMITOMO BANK Ltd
Priority to JP10013673A priority Critical patent/JPH11212913A/en
Publication of JPH11212913A publication Critical patent/JPH11212913A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a client to use the servers with no consciousness of the nodes where the servers exist in a client/server environment where plural servers are scattered. SOLUTION: A server agent 3 is prepared in a communication network where plural servers are scattered to perform the communication between a client 1 and the servers. The agent 3 knows the places of servers and receives the service requests from the client 1 to perform the communication in response to the received requests. Thus, the agent 3 makes the servers perform the service processing and then receives these service processing results to return them to the client 1. The client 1 merely issues the service requests and is never concerned in the places of servers.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の技術分野】本発明は、一般に、クライアント/
サーバ環境におけるクライアントとサーバ間のオブジェ
クト(つまりプロセス)間通信システムに関わり、特
に、分散サーバ型のクライアント/サーバ環境(以下、
分散環境という)におけるオブジェクト間通信システム
の改良に関する。
TECHNICAL FIELD OF THE INVENTION The present invention generally relates to client /
It relates to a communication system between objects (that is, processes) between a client and a server in a server environment.
(Referred to as a distributed environment).

【0002】[0002]

【従来の技術】従来、クライアント/サーバ環境におけ
るオブジェクト間通信では、ソケットを用いたり、RP
Cを用いるなど、さまざまな手法が行われている。従来
用いられているオブジェクト間通信用のコンポーネント
又は手法は、ソケットにせよ、RPCにせよ、元来は単
一マシン上でのローカルなファイルアクセスや関数呼び
出しをクライアント/サーバ環境に適用したものであ
る。この従来のオブジェクト間通信では、クライアント
は必ず、相手のサーバオブジェクトの存在するノードを
意識して通信を行う必要がある。
2. Description of the Related Art Conventionally, communication between objects in a client / server environment uses a socket,
Various methods such as using C have been used. Traditionally, components or techniques for inter-object communication, whether sockets or RPCs, are originally applied to a client / server environment with local file access and function calls on a single machine. . In this conventional communication between objects, it is necessary for a client to always perform communication in consideration of a node in which a partner server object exists.

【0003】[0003]

【発明が解決しようとする課題】サーバオブジェクトが
複数のノードに分散している分散環境においては、従来
のオブジェクト間通信を採用すると、クライアントの通
信プログラムが複雑になって構築困難になるという問題
がある。すなわち、分散環境の利点はサーバの負荷分散
機能(例えば、或るサーバの障害時や高負荷時には、別
のサーバが代わってサービスを行うなど)などにある。
しかし、そうした機能をサポートするようプログラムを
記述しようとすると、複数のノードを同時に考慮せざる
を得ないため、その対処ロジックの記述や環境定義など
が必然的に複雑になってしまう。さらに、サーバの変更
や増設に対して柔軟に対応することが難しい。
In a distributed environment in which server objects are distributed to a plurality of nodes, if conventional inter-object communication is employed, there is a problem that a communication program of a client becomes complicated and difficult to construct. is there. That is, an advantage of the distributed environment is a load distribution function of a server (for example, when a certain server has a failure or a high load, another server performs a service instead).
However, if a program is written to support such functions, a plurality of nodes must be considered at the same time, and the description of the coping logic and the environment definition are inevitably complicated. Furthermore, it is difficult to flexibly respond to server changes and expansion.

【0004】また、従来の例えばRPCによるオブジェ
クト間通信は、元来の関数呼び出しをクライアント/サ
ーバ環境に適用したものであるが、呼び出し元のクライ
アントオブジェクトは、RPCコールを発した後、サー
バオブジェクトの処理が完了するまで待たされる(つま
り、同期処理を行う)。その理由は、RPCで非同期処
理を行うことは不可能ではないが、そうするとロジック
が非常に複雑になってしまうからである。更に、特にR
PCでは、通信そのものにも無視できない長さの時間が
かかるので、クライアントはRPCコールを発する度
に、コールを送る通信時間とサーバでの処理時間と処理
結果が返される通信時間とを含む長い間、待たされるこ
とになる。
In the conventional inter-object communication based on, for example, RPC, an original function call is applied to a client / server environment. However, a calling client object issues an RPC call and then issues a server object call. The process waits until the process is completed (that is, a synchronous process is performed). The reason for this is that it is not impossible to perform asynchronous processing by RPC, but this would make the logic very complicated. Furthermore, especially R
In a PC, the communication itself takes a considerable amount of time, so each time a client issues an RPC call, the client has a long time including the communication time for sending the call, the processing time in the server, and the communication time for returning the processing result. , Will be waiting.

【0005】従って、本発明の目的は、分散環境におい
て、クライアントがサーバの存在するノードを意識する
ことなしにオブジェクト間通信を行えるようにすること
にある。
Accordingly, an object of the present invention is to enable a client to perform inter-object communication in a distributed environment without being aware of a node where a server exists.

【0006】本発明の別の目的は、分散環境において、
クライアントの要求した処理をサーバが行っている間に
クライアントは別の処理を行うことができるようにする
こと、つまりオブジェクト間非同期協調処理を可能にす
ることにある。
[0006] Another object of the present invention is to provide, in a distributed environment,
An object of the present invention is to enable a client to perform another process while a server performs a process requested by the client, that is, to enable asynchronous cooperative processing between objects.

【0007】[0007]

【課題を解決するための手段】本発明に従えば、クライ
アントとサーバが散在する通信ネットワーク上に、クラ
イアントとサーバ間の通信を代行するサービスエージェ
ントが設けられる。このサービスエージェントは、サー
バの場所を知っており、クライアントの発したサービス
要求を受け、これに応答してサーバと通信することによ
り、サーバにサービス処理を実行させ、サーバよりサー
ビス処理結果を受け、そして、そのサービス処理結果を
クライアントに返却する。そのため、クライアントは、
サーバとの通信という問題からは開放され、サーバの場
所を意識する必要がなくなる。従って、クライアントの
プログラム構築は非常に容易になり、また、サーバの変
更や増設にも柔軟に対応できるようになる。
According to the present invention, a service agent for performing communication between a client and a server is provided on a communication network in which clients and servers are scattered. The service agent knows the location of the server, receives a service request issued by the client, communicates with the server in response to the request, causes the server to execute service processing, receives a service processing result from the server, Then, the service processing result is returned to the client. Therefore, the client
The problem of communication with the server is released, and it is not necessary to be aware of the location of the server. Therefore, it becomes very easy to build a client program, and it is possible to flexibly cope with a change or expansion of a server.

【0008】分散環境では、サービスエージェントは、
サーバの各々の場所とステータスとサービス名とを管理
していることが望まし。それにより、クライアントから
サービス要求を受けたとき、そのサービス要求に応え得
るサーバを選択して、その選択したサーバにサービス処
理の実行を要求することができる。
[0008] In a distributed environment, the service agent:
It is desirable to manage the location, status, and service name of each server. Thus, when a service request is received from a client, a server that can respond to the service request can be selected, and the selected server can be requested to execute a service process.

【0009】また、サービスエージェントがクライアン
トにサービス処理結果を返すとき、コールバックを使っ
てクライアントを呼び出すように構成することが望まし
い。それにより、クライアントは、サービスエージェン
トにサービス要求を発した後、サービス処理結果が来る
まで待っている必要がなくなる。つまり、オブジェクト
間の非同期協調動作が可能となる。同じ観点から、サー
ビスエージェントがサーバにサービス処理の実行を要求
するときも、コールバックを使ってサーバを呼び出すよ
うに構成することが望ましい。
When the service agent returns a service processing result to the client, it is desirable that the client be called using a callback. This eliminates the need for the client to wait until a service processing result arrives after issuing a service request to the service agent. That is, asynchronous cooperative operation between objects becomes possible. From the same viewpoint, it is desirable that the service agent is configured to call the server using the callback even when the service agent requests the server to execute the service processing.

【0010】サービスエージェントは、例えば次のよう
な構成とすることができる。まず、クライアントと同じ
ノードに、クライアントからサービス要求を受けたり、
サービス処理結果をクライアントに返したりするための
クライアントインタフェースが設けられる。また、サー
バと同じノードに、サーバにサービス処理の実行を要求
したり、サービス処理結果をサーバから受けたりるため
のサーバインタフェースが設けられる。さらに、所定の
ノードに、サーバの場所とステータスとサービス名と示
したサービス情報を保有しているサービスマネージャが
設けられる。そして、クライアントインタフェース、サ
ービスマネージャ及びサーバインタフェースが互いに交
信しつつ、全体として、上述したサービスエージェント
の機能を実現するように動作する。
[0010] The service agent can have the following configuration, for example. First, the same node as the client receives a service request from the client,
A client interface for returning a service processing result to a client is provided. Also, a server interface for requesting the server to execute service processing and receiving service processing results from the server is provided in the same node as the server. Further, a predetermined node is provided with a service manager holding service information indicating the location, status, and service name of the server. Then, the client interface, the service manager, and the server interface communicate with each other and operate as a whole to realize the function of the service agent described above.

【0011】クライアントインタフェース、サービスマ
ネージャ及びサーバインタフェースの具体的な動作は、
例えば次のようなものである。まず、クライアントイン
タフェースが、クライアントからのサービス要求に応答
して、サービスマネージャに情報照会依頼を送る。サー
ビスマネージャは、その情報照会依頼に応答して、サー
ビス情報を参照してサービス要求に応え得るサーバを選
択し、この選択されたサーバの場所をクライアントイン
タフェースに通知する。クライアントインタフェース
は、サービスマネージャから通知された場所へ宛てて、
サービス要求を送る。サーバインタフェースは、クライ
アントインタフェースからのサービス要求を受けて、サ
ーバにサービス処理の実行を要求する。サーバでのサー
ビス処理が終わると、サーバインタフェースは、サーバ
からサービス処理結果を受けとり、これをクライアント
インタフェースへ返送する。クライアントインタフェー
スは、サービス処理結果を受けてこれを前記クライアン
トへ渡す。
The specific operations of the client interface, service manager and server interface are as follows.
For example: First, the client interface sends an information inquiry request to the service manager in response to a service request from the client. In response to the information inquiry request, the service manager refers to the service information, selects a server that can respond to the service request, and notifies the client interface of the location of the selected server. The client interface is addressed to the location notified by the service manager,
Send service request. The server interface receives a service request from the client interface and requests the server to execute service processing. When the service processing in the server is completed, the server interface receives the service processing result from the server and returns it to the client interface. The client interface receives the service processing result and passes it to the client.

【0012】望ましくは、サーバインタフェースは、サ
ーバのサービス名と場所とステータスとを随時にサービ
スマネージャに通知し、サービスマネージャは、その通
知に従ってサービス情報を更新する。これにより、サー
ビス情報は自動的にサーバの現状に沿ったものになる。
Preferably, the server interface notifies the service manager of the service name, location and status of the server at any time, and the service manager updates the service information according to the notification. Thus, the service information automatically becomes in accordance with the current state of the server.

【0013】同じネットワーク上に複数のサービスエー
ジェントを設けてもよい。この場合、各サービスエージ
ェントは異なるサーバ(又はサーバ群)を管理させ、各
サービスエージェントは、クライアントからのサービス
要求に応えられるサーバが自己の傘下に存在しない場合
に、別のサービスエージェントに問い合わせて、サービ
ス要求に応えられるサーバを教えてもらうように構成す
ることができる。このようにすると、サーバの数が膨大
であるような場合に、サービスエージェントの負荷を分
散できるという利点がある。また、例えば世界中に多数
のサーバが散らばっているような場合に、個々の地域毎
にサービスエージェントを配して各地域内のサーバを管
理させることにより、クライアントの場所に近い地域の
サーバを優先的に利用しつつも、必要に応じて世界中の
サーバにもアクセスできるという利点が得られる。
A plurality of service agents may be provided on the same network. In this case, each service agent manages a different server (or a group of servers), and each service agent queries another service agent when a server that can respond to a service request from a client does not exist under its own umbrella, It can be configured to be taught a server that can respond to a service request. In this way, there is an advantage that the load of the service agent can be distributed when the number of servers is enormous. Also, for example, when a large number of servers are scattered around the world, by assigning a service agent for each area and managing servers in each area, priority is given to servers in an area close to the client's location. While still being able to access servers around the world as needed.

【0014】上述したサービスマネージャ、クライアン
トインタフェース又はサーバインタフェースとしてネッ
トワーク上のノード(コンピュータ)を機能させるため
のプログラムは、各種のディスク型ストレージ、半導体
メモリ、通信ネットワークなどの様々な媒体を通じてコ
ンピュータにインストール又はロードすることができ
る。
The program for causing a node (computer) on the network to function as the service manager, client interface or server interface described above is installed or installed on the computer through various media such as various disk storages, semiconductor memories, and communication networks. Can be loaded.

【0015】[0015]

【発明の実施の形態】図1は、本発明に従うクライアン
ト/サーバ環境におけるオブジェクト間通信システムの
一実施形態のシステム構成を示す。
FIG. 1 shows a system configuration of an embodiment of a communication system between objects in a client / server environment according to the present invention.

【0016】ネットワーク上に、少なくとも1つのクラ
イアントオブジェクト(以下、単にクライアントとい
う)1と、「サービスエージェント」と呼ばれる1セッ
ト又は複数セットのオブジェクトセット3、7と、複数
のサーバオブジェクト(以下、単にサーバという)5
A、5B、5C、…(これを纏めてサーバ群5ともい
う)、別の1群以上のサーバ群9などが散在している。
クライアント1は、原則として1つの特定のサービスエ
ージェント3の傘下におかれている。サーバ群5も、原
則として1つの特定のサービスエージェント3の傘下に
おかれ、同様に、別のサーバ群9も、原則として1つの
別の特定のサービスエージェント7に傘下におかれてい
る。ネットワークにおける各オブジェクトの場所は、ネ
ットワーク上のノードを示すノード名と、ノード内のオ
ブジェクト(プロセス)を示すプロセス名とにより特定
される。
On a network, at least one client object (hereinafter, simply referred to as a client) 1, one or a plurality of object sets 3 and 7 called a "service agent", and a plurality of server objects (hereinafter simply referred to as a server). 5)
A, 5B, 5C,... (Collectively referred to as a server group 5), and one or more other server groups 9 are scattered.
The client 1 is in principle under the umbrella of one specific service agent 3. The server group 5 is, in principle, under the umbrella of one specific service agent 3, and similarly, another server group 9 is, in principle, under the umbrella of one other specific service agent 7. The location of each object in the network is specified by a node name indicating a node on the network and a process name indicating an object (process) in the node.

【0017】なお、図1では1つのクライアント1しか
図示してないが、実際には、多くの他のクライアントも
同じネットワーク上に存在しているのが普通である。し
かし、1つのクライアント1に関する説明は他のクライ
アントにも同様にあてはまるので、他のクライアントに
ついての図示および説明は省略する。
Although only one client 1 is shown in FIG. 1, in practice, many other clients usually exist on the same network. However, the description of one client 1 applies to the other clients as well, and illustration and description of the other clients are omitted.

【0018】サービスエージェント3は、傘下の各サー
バ5A、5B、5C、…のサービス名、場所及びステー
タスを知ってそれを管理している。別のサービスエージ
ェント7も、傘下のサーバ群9に属する各サーバのサー
ビス名、場所及びステータスを同様に管理している。一
方、クライアント1は、ネットワーク上に散在するサー
バ5A、5B、5C、…、9の個数、場所(ノード名、
プロセス名)、ステータス(アイドル、処理中、故障な
どの現在状態)及び提供するサービス名ついて全く関知
しない。
The service agent 3 knows the service name, location and status of each of the servers 5A, 5B, 5C,... Another service agent 7 also manages the service name, location, and status of each server belonging to the server group 9 under its control. On the other hand, the client 1 has the number and location (node name, server name) of the servers 5A, 5B, 5C,.
The process name), status (current state such as idle, processing, failure, etc.) and the name of the service to be provided are not known at all.

【0019】各オブジェクトの動作の概要は次の通りで
ある。
The outline of the operation of each object is as follows.

【0020】各サーバ5A、5B、5C、…は、自己を
傘下におさめるサービスエージェント3に対し、サービ
ス開始時に自己のサービス名及び場所(ノード名とプロ
セス名)を知らせる(通信C1)。サービスエージェン
ト3は、各サーバ5A、5B、5C、…から通知された
サービス名及び場所を記憶し、また、各サーバ5A、5
B、5C、…のステータスも以後監視する。同様に、別
のサーバ群9に属する各サーバもサービスエージェント
7に自己のサービス名及び場所を通知し(通信C2)、
それをサービスエージェント7が同様に管理する。
Each of the servers 5A, 5B, 5C,... Informs the service agent 3 under its control at the start of the service of its own service name and location (node name and process name) (communication C1). The service agent 3 stores the service name and the location notified from each of the servers 5A, 5B, 5C,.
The statuses of B, 5C,... Are also monitored thereafter. Similarly, each server belonging to another server group 9 also notifies the service agent 7 of its service name and location (communication C2),
The service agent 7 manages it similarly.

【0021】クライアント1は、サービス名を指定した
サービス要求をサービスエージェント3に送る(通信C
3)。サービスエージェント3は、サービス要求に応じ
られるサーバをサーバ群5内から探し、そのサーバ(例
えばサーバ5Bとする)にサービス要求を送る(通信C
4)。サーバ5Bは、要求されたサービスの処理を実行
し、その処理結果をサービスエージェント3に返送する
(通信C5)。サービスエージェント3は、その処理結
果をクライアント1に送る(通信C6)。なお、この通
信C6では、サービスエージェント3は、予めクライア
ント1から教えられているコールバック(CB)を用い
てクライアント1を呼んで処理結果を渡す。
The client 1 sends a service request specifying a service name to the service agent 3 (communication C).
3). The service agent 3 searches the server group 5 for a server that can respond to the service request, and sends the service request to the server (for example, the server 5B) (communication C).
4). The server 5B executes the processing of the requested service, and returns the processing result to the service agent 3 (communication C5). The service agent 3 sends the processing result to the client 1 (communication C6). In this communication C6, the service agent 3 calls the client 1 using a callback (CB) that has been taught from the client 1 in advance, and passes the processing result.

【0022】ところで、サービスエージェント3は、ク
ライアント1からのサービス要求に応じられるサーバが
サーバ群5内に無い場合、その旨をクライアント1に通
知することもできるが、その代わりに、別のサービスエ
ージェント7にサーバを照会することもできる(通信C
7)。別のサービスエージェント7は、傘下のサーバ群
9から要求に応じられるサーバを探し、そのサーバの場
所をサービスエージェント3に通知する(通信C8)。
サービスエージェント3は、その通知されたサーバにサ
ービス要求を送り(通信C9)、その結果を受信し(通
信C10)、それをクラアント1に送る(通信C6)。
The service agent 3 can notify the client 1 when there is no server in the server group 5 that can respond to the service request from the client 1, but instead, another service agent can be used. 7 to the server (communication C
7). Another service agent 7 searches for a server that can respond to the request from the group of servers 9 under its control, and notifies the service agent 3 of the location of the server (communication C8).
The service agent 3 sends a service request to the notified server (communication C9), receives the result (communication C10), and sends it to the client 1 (communication C6).

【0023】以上のように、サービスエージェント3が
クライアント1とサーバ5A、5B、5C、…間の通信
を仲介することにより、クライアント1は、サーバとの
通信に必要な情報(例えばサーバの個数や場所など)に
関知することなしに、所望のサービス名を指定するだけ
でそのサービスの提供を受けることができる。つまり、
クライアント1はサーバとの通信という問題から解放さ
れるのである。このことにより、クライアント1のプロ
グラム構築は、サーバの事情を考慮せずにすむため、非
常に容易になる。
As described above, the service agent 3 mediates the communication between the client 1 and the servers 5A, 5B, 5C,..., So that the client 1 can obtain information necessary for communication with the server (for example, the number of servers, The service can be provided simply by specifying the desired service name without knowing the location. That is,
The client 1 is released from the problem of communication with the server. This makes it very easy to construct a program for the client 1 without having to consider the circumstances of the server.

【0024】また、サービスエージェント3は、通信C
6でクライアント1に処理結果を返すとき、所定のCB
を用いてクライアント1を呼び出す。そのためクライア
ント1は、要求を送る通信C3から結果を受ける通信C
6までの間ずっと待っている必要はなく、通信C3が終
わり次第別の処理に移行することができる。つまり、オ
ブジェクト間の非同期協調動作が可能である。
The service agent 3 communicates with the communication C
When returning the processing result to the client 1 in step 6, the predetermined CB
Is used to call the client 1. Therefore, the client 1 communicates with the communication C3 receiving the result from the communication C3 sending the request.
It is not necessary to wait all the way up to 6, and it is possible to shift to another process as soon as the communication C3 ends. That is, asynchronous cooperative operation between objects is possible.

【0025】図2は、サービスエージェント3の構成と
働きをより詳細に示している。
FIG. 2 shows the structure and operation of the service agent 3 in more detail.

【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、…と同じノードにおかれ
る。
The service agent 3 is incorporated in each of the client 1 and the servers 5A, 5B,..., The service manager 31 provided as a daemon process of the service agent, the service table 33 which exists only in the service manager 31, and Attached service / application interface (Service A
PI) 35, 37A, 37B, 37C,... The service manager 31 includes service APIs 35 and 37
A, 37B,... Are located at nodes at a specific place known. Each of the service APIs 35, 37A, 37B,...
And servers 5A, 5B, 5C,...

【0027】サービスマネージャ31の主たる機能は、
傘下の全てのサーバ5A、5B、…のサービス名、ノー
ド名、プロセス名及びステータス(以下、これらを総称
してサービス情報という)をサービステーブル33上で
管理し、クライアント1からのサービス要求を受ける
と、サービステーブル33を参照して傘下のサーバ群5
内から、そのサービス要求に応えられるサーバを傘下の
サーバ群5から探すことである。
The main functions of the service manager 31 are:
Manages the service names, node names, process names, and statuses (hereinafter, collectively referred to as service information) of all the servers 5A, 5B,... Under the umbrella on the service table 33, and receives a service request from the client 1. Server group 5 belonging to the umbrella with reference to the service table 33
That is, a server that can respond to the service request is searched from the server group 5 under its control.

【0028】各サービスAPI35、37A、37B、
…の主たる機能は、対応するクライアント1及びサーバ
5A、5B、5C、…のために、サービスマネージャ3
1との通信や他のサーバ又はクライアントとの通信を代
行することである。
Each service API 35, 37A, 37B,
The main functions of the service manager 3 are for the corresponding client 1 and servers 5A, 5B, 5C,.
1 and the communication with another server or client.

【0029】図3及び図4は、図2に示した各オブジェ
クトの動作の流れを示す。また、図5は、サービステー
ブル31の内容例を示す。以下、図2〜図5を参照し
て、各部の動作を説明する。
FIGS. 3 and 4 show the flow of operation of each object shown in FIG. FIG. 5 shows an example of the contents of the service table 31. Hereinafter, the operation of each unit will be described with reference to FIGS.

【0030】各サーバ5A、5B、…は、各々の起動時
などに、各々のサービスAPI37A、37B、…に対
しサービス提供宣言を送る(通信C21)。このサービ
ス提供宣言には、それぞれのサーバのサービス処理を識
別するためのサービス名と、所定の提供CBの指定とが
含まれる。ここで、提供CBとは、各サーバ5A、5
B、…内のサービス処理の実行主体であり、これを呼ぶ
ことにより、各サーバ5A、5B、…にサービス処理を
実行させることができる。サービス提供宣言が各サービ
スAPI37A、37B、…に受け付けられると、その
旨の確認応答が各サーバ5A、5B、…に返される。
Each server 5A, 5B,... Sends a service provision declaration to each service API 37A, 37B,. The service provision declaration includes a service name for identifying the service processing of each server, and designation of a predetermined provided CB. Here, the provided CB refers to each server 5A, 5
, B,..., And by calling this, it is possible to cause each of the servers 5A, 5B,. When the service provision declaration is accepted by each of the service APIs 37A, 37B,..., A confirmation response to that effect is returned to each of the servers 5A, 5B,.

【0031】各サービスAPI37A、37B、…は、
各サーバ5A、5B、…からの上記サービス提供宣言に
応答して、サービスマネージャ31に対し、各サーバの
サービス名、ノード名およびプロセス名を含んだサービ
ス提供宣言を送る(通信C22)。
Each service API 37A, 37B,.
In response to the service provision declaration from each of the servers 5A, 5B,..., A service provision declaration including the service name, node name, and process name of each server is sent to the service manager 31 (communication C22).

【0032】サービスマネージャ31は、各サービスA
PI37A、37B、…からサービス提供宣言を受ける
と、サービステーブル33に、宣言に含まれているサー
ビス名、ノード名およびプロセス名を登録する(ステッ
プS1)。この登録時、サービスマネージャ31は、サ
ーバの状態を示すテーブル33上のステータスを「アイ
ドル」に設定する。従って、サービステーブル33に
は、図5に例示するように、既に起動した全てのサーバ
5A、5B、…のサービス名、ノード名、プロセス名お
よびステータスが記録されることになる。
The service manager 31 checks each service A
When the service provision declaration is received from the PIs 37A, 37B,..., The service name, the node name, and the process name included in the declaration are registered in the service table 33 (step S1). At the time of this registration, the service manager 31 sets the status on the table 33 indicating the status of the server to “idle”. Therefore, as illustrated in FIG. 5, the service names, node names, process names, and statuses of all the servers 5A, 5B,... That have already been started are recorded in the service table 33.

【0033】クライアント1は、自己のサービスAPI
35に対しサービス要求を送る(通信C23)。このサ
ービス要求には、要求するサービスを識別するためのサ
ービス名と、所定の応答CBの指定とが含まれる。ここ
で、応答CBとは、クライアント1内のサービス処理結
果を受信する主体であり、これを呼ぶことによりクライ
アント1にサービス処理結果を受け取らせることができ
る。サービス要求がサービスAPI35に受け付けられ
ると、その旨の確認応答がサービスAPI35からクラ
イアント1に返される。この確認応答を受けた後は、サ
ービス処理の結果が来ればサービスAPI35が応答C
Bを呼んでくれるので、クライアント1はサービス処理
の結果を待つことなく、別の処理に移行することができ
る。
The client 1 has its own service API
A service request is sent to 35 (communication C23). The service request includes a service name for identifying the requested service, and designation of a predetermined response CB. Here, the response CB is a subject that receives the service processing result in the client 1, and by calling this, the client 1 can receive the service processing result. When the service request is accepted by the service API 35, a confirmation response to that effect is returned from the service API 35 to the client 1. After receiving this acknowledgment, if the result of the service processing comes, the service API 35 responds
Since B is called, the client 1 can shift to another process without waiting for the result of the service process.

【0034】サービスAPI35は、クライアント1か
らサービス要求を受けると、サービス名をキーとして、
サービス情報の照会をサービスマネージャ31に対して
行う(通信C24)。
When the service API 35 receives a service request from the client 1, the service API 35 uses the service name as a key and
The service information is inquired to the service manager 31 (communication C24).

【0035】サービスマネージャ31は、サービステー
ブル33を参照して、そのサービス名を現在提供するこ
とができるサーバを探す(ステップS2)。具体的に
は、テーブル33上のサービス名が照会にかかるサービ
ス名と一致し、かつ、テーブル33上のステータスが
「アイドル」であるサーバを探す。この条件を満たすサ
ーバが見つかれば、サービスマネージャ31は、そのサ
ーバの場所を示すノード名とプロセス名をテーブル33
から読み出し、照会元のサービスAPI35に返送する
(通信25)。
The service manager 31 refers to the service table 33 to search for a server that can currently provide the service name (step S2). Specifically, a server whose service name on the table 33 matches the service name for the inquiry and whose status on the table 33 is “idle” is searched. If a server that satisfies this condition is found, the service manager 31 stores a node name indicating the location of the server and a process name in the table 33.
And returns it to the inquiry service API 35 (communication 25).

【0036】サービスAPI35は、サービスマネージ
ャ31から受け取ったノード名とプロセス名とを宛先に
して(例えば、サーバ3Aとする)、クライアント1の
要求したサービス名を含んだサービス要求を送信する
(通信C26)。
The service API 35 sends the service request including the service name requested by the client 1 to the node name and the process name received from the service manager 31 (for example, the server 3A) (communication C26). ).

【0037】サーバ3AのサービスAPI37Aは、サ
ービス要求を受信すると、予めサーバ3Aから指定され
ている提供CBを呼ぶ(通信C27)。これにより、サ
ーバ3Aのサービス処理が開始される。サービス処理が
開始されると、サービスAPI37Aは、ステータスを
「処理中」に変更する旨のステータス変更通知をサービ
スマネージャ31に送る(通信C28)。このステータ
ス変更通知には、サーバ3Aのノード名及びプロセス名
が含まれている。サービスマネージャ31は、そのステ
ータス変更通知を受けると、そのノード名及びプロセス
名に該当するサービステーブル33上のステータスを
「アイドル」から「処理中」に変更する(ステップS
3)。
Upon receiving the service request, the service API 37A of the server 3A calls the provided CB specified in advance by the server 3A (communication C27). Thereby, the service processing of the server 3A is started. When the service processing is started, the service API 37A sends a status change notification to the effect that the status is changed to “processing” to the service manager 31 (communication C28). This status change notification includes the node name and the process name of the server 3A. Upon receiving the status change notification, the service manager 31 changes the status on the service table 33 corresponding to the node name and the process name from "idle" to "processing" (step S).
3).

【0038】サービス処理が終わって提供CBが終了す
ると、サーバ3Aは提供CBの終了宣言をサービスAP
I37Aに送る(通信C29)。この終了宣言には、実
行したサービス処理の結果(例えば、データベース検索
を行った場合の検索結果など)が含まれている。
When the service processing is completed and the provided CB ends, the server 3A issues a declaration of the end of the provided CB to the service AP.
Send to I37A (communication C29). The end declaration includes the result of the executed service process (for example, a search result when a database search is performed).

【0039】サービスAPI37Aは、提供CB終了宣
言を受けると、ステータスを「アイドル」に変更する旨
のステータス変更通知をサービスマネージャ31に送る
(通信C30)。サービスマネージャ31は、その通知
を受けて、サービステーブル33上の該当するステータ
スを「処理中」から「アイドル」に変更する(ステップ
S4)。
Upon receiving the provision CB end declaration, the service API 37A sends a status change notification to the effect that the status is changed to "idle" to the service manager 31 (communication C30). Upon receiving the notification, the service manager 31 changes the corresponding status on the service table 33 from “processing” to “idle” (step S4).

【0040】提供CB終了宣言を受けたサービスAPI
37Aは、さらに、サービス処理結果をサービス要求元
のクライアント1に宛てて返送する(通信C31)。ク
ライアント1のサービスAPI35は、そのサービス処
理結果を受信すると、応答CBを呼ぶ(通信C32)。
これにより、クライアント1は、サービス処理結果を受
け取る。
A service API that has received a provision CB end declaration
37A further returns the service processing result to the client 1 of the service request source (communication C31). Upon receiving the service processing result, the service API 35 of the client 1 calls a response CB (communication C32).
Thereby, the client 1 receives the service processing result.

【0041】ところで、サービスマネージャ31は、ク
ライアント1のサービスAPI35からサービス情報照
会を受けたとき(通信C24)、条件を満たすサーバが
サービステーブル33から見つからなかった場合、図2
に示すように、別のサービスエージェントのサービスマ
ネージャに対して、同内容のサービス情報照会を送るこ
とができる(通信C33)。すると、その別のサービス
マネージャは、自己のサービステーブルから条件を満た
すサーバを探して、そのノード名とプロセス名を照会元
のサービスマネージャ31に返送する(通信C34)。
サービスマネージャ31は、そのノード名とプロセス名
とをクライアント1のサービスAPI35に送り(通信
25)、サービスAPI35はそのノード名とプロセス
名を宛先にしてサービス要求を発し(通信C35)、そ
してその結果を受けることができる(通信C36)。
When the service manager 31 receives a service information inquiry from the service API 35 of the client 1 (communication C24) and finds no server satisfying the conditions from the service table 33, the service manager 31 shown in FIG.
As shown in (3), the same service information inquiry can be sent to the service manager of another service agent (communication C33). Then, the other service manager searches for a server that satisfies the condition from its own service table, and returns the node name and the process name to the service manager 31 that has made the inquiry (communication C34).
The service manager 31 sends the node name and the process name to the service API 35 of the client 1 (communication 25), and the service API 35 issues a service request with the node name and the process name as destinations (communication C35). Can be received (communication C36).

【0042】以上のような具体的な構成及び動作によ
り、図1を参照して既に説明した通りの、クライアント
1はサーバを意識する必要が無い、オブジェクト間の非
同期協調動作が可能である、という利点が得られる。
With the above-described specific configuration and operation, as described above with reference to FIG. 1, the client 1 does not need to be aware of the server and can perform asynchronous cooperative operation between objects. Benefits are obtained.

【0043】図6は、オブジェクト間非同期協調動作が
可能であることによって得られる一つの具体的な利点の
例を示している。
FIG. 6 shows an example of one specific advantage obtained by enabling asynchronous cooperative operation between objects.

【0044】例えば、次のようなケースを想定する。す
なわち、クライアント1は、特定の計算をなるべく速く
行うことを欲している。その特定の計算を行う方法には
アルゴリズムAとBの2種類があり、いずれの方法がよ
り速いかは、入力データの値に依存する。アルゴリズム
A又はBを実装したサーバ5A、5B、5C、…がネッ
トワーク上に散在しており、それぞれのアルゴリズムに
ついて図示のように多重にサーバが存在している。
For example, assume the following case. That is, the client 1 wants to perform a specific calculation as quickly as possible. There are two types of methods for performing the specific calculation, algorithms A and B, and which method is faster depends on the value of input data. The servers 5A, 5B, 5C,... That implement the algorithm A or B are scattered on the network, and there are multiple servers for each algorithm as illustrated.

【0045】このようなケースでは、クライアント1は
サービスエージェント3に対し、「アルゴリズムAによ
る計算要求」と「アルゴリズムBによる計算要求」とい
う2つのサービス要求をたて続けに発することができる
(通信C41、C42)。非同期処理が可能であるか
ら、一方の計算が完了する前に、他方の計算要求を発す
ることができるからである。
In such a case, the client 1 can issue two service requests to the service agent 3 in succession, namely, a "calculation request by algorithm A" and a "calculation request by algorithm B" (communications C41, C42). ). This is because asynchronous processing is possible, so that one calculation request can be issued before one calculation is completed.

【0046】すると、サービスエージェント3は、即座
に、アルゴリズムA、Bの各々についてステータスがア
イドルのサーバ(例えば、サーバ5Aとサーバ5Cとす
る)を見つけ、それらに対し、その特定の計算を依頼す
る(通信C43、C44)。サーバ5Aとサーバ5Cは
アルゴリズムAとBでそれぞれ計算を行い、いずれか早
く計算を完了した方(例えばサーバ5A)が先に、計算
結果を返す(通信C45)。従って、クライアント1
は、労せずして、速いほうの計算結果を受け取ることが
できる(通信C46)。
Then, the service agent 3 immediately finds a server whose status is idle for each of the algorithms A and B (for example, the server 5A and the server 5C), and requests them for a specific calculation. (Communications C43, C44). The server 5A and the server 5C perform calculations using the algorithms A and B, respectively, and the one that completes the calculation earlier (for example, the server 5A) returns the calculation result first (communication C45). Therefore, client 1
Can receive the faster calculation result without any effort (communication C46).

【0047】以上、本発明の一実施形態を説明したが、
この実施形態は本発明を説明するための例示に過ぎず、
上に説明した構成や動作とは異なる別の態様でも本発明
は実施することが可能である。
The embodiment of the present invention has been described above.
This embodiment is merely an example for describing the present invention,
The present invention can be implemented in another mode different from the configuration and operation described above.

【0048】例えば、上記実施形態では個々のクライア
ントおよび個々のサーバは、1つのサービスエージェン
トの傘下におかれており、その1つのサービスエージェ
ントとのみ通信している。しかし、必ずしもそうである
必要はなく、或るクライアント又は或るサーバが、2つ
以上のサービスエージェントの傘下におかれていてもよ
い。その場合、そのクライアントのサービスAPI又は
そのサーバのサービスAPIは、自分が傘下にある2つ
以上のサービスエージェントのサービスマネージャの場
所を知っている必要がある。こうすることにより、サー
ビスマネージャの負荷分散を図ることが可能である。ま
た、例えば、或るサービスエージェントは或る特定種類
のサービスを提供するサーバ群を傘下におさめ、別のサ
ービスエージェントはまた別の特定種類のサービスを提
供するサーバ群を傘下におさめているような場合、双方
のサービスを受けたい1つのクライアントが、その2つ
のサービスエージェントの傘下に入って、ほしいサービ
スに応じてサービスエージェントを使い分けるといった
構成も可能である。
For example, in the above embodiment, each client and each server are under the umbrella of one service agent, and communicate with only one service agent. However, this need not be the case, and a client or a server may be under the umbrella of two or more service agents. In that case, the service API of the client or the service API of the server needs to know the location of the service manager of two or more service agents under its umbrella. This makes it possible to distribute the load of the service manager. Also, for example, a certain service agent has a group of servers providing a certain type of service under its umbrella, and another service agent has a group of servers providing another specific type of service under its umbrella. In this case, it is possible to adopt a configuration in which one client who wants to receive both services falls under the umbrella of the two service agents and uses the service agent properly according to the desired service.

【0049】また、上記実施形態の説明では、クライア
ントやサーバのサービスAPIを、サービスエージェン
トの一部という位置づけで説明したが、これは一つの説
明の方法又は概念化の方法に過ぎないものであって、別
の説明も可能である。例えば、各クライアントや各サー
バのサービスAPIを、サービスエージェントの一部で
はなく、各クライアントや各サーバの一部という位置づ
けで理解することもできるし、或いは、サービスエージ
ェント、クライアント及びサーバのいずれにも属さない
独立したオブジェクトとして理解することも可能であ
る。従って、本発明の特許請求の範囲の解釈に際して
は、一つの説明方法又は概念化方法にとらわれずに、柔
軟にこれを解釈しなければならない。
In the description of the above embodiment, the service API of the client or the server is described as a part of the service agent. However, this is only one method of description or conceptualization. Another explanation is possible. For example, the service API of each client or each server can be understood as a part of each client or each server instead of a part of the service agent, or the service API, the client, and the server can be understood by any of them. It can also be understood as an independent object that does not belong. Therefore, in interpreting the scope of the claims of the present invention, it is necessary to flexibly interpret the claims without being bound by one method of explanation or conceptualization.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】同実施形態のより具体的な構成を示すブロック
図。
FIG. 2 is an exemplary block diagram showing a more specific configuration of the embodiment;

【図3】同実施形態の動作を示すシーケンス図。FIG. 3 is a sequence diagram showing the operation of the embodiment.

【図4】同実施形態の動作を示すシーケンス図。FIG. 4 is a sequence diagram showing the operation of the embodiment.

【図5】サービステーブルの例を示す図。FIG. 5 is a diagram showing an example of a service table.

【図6】オブジェクト間非同期協調動作による一つの利
点を説明する図。
FIG. 6 is a view for explaining one advantage of the asynchronous cooperative operation between objects.

【符号の説明】[Explanation of symbols]

1 クライアント(クライアントオブジェクト) 3、7 サービスエージェント 5、9 サーバ群 5A、5B、5C サーバ(サーバオブジェクト) 31 サービスマネージャ 33 サービステーブル 35、37A、37B サービスアプリケーションイン
タフェース
1 Client (Client Object) 3, 7 Service Agent 5, 9 Server Group 5A, 5B, 5C Server (Server Object) 31 Service Manager 33 Service Table 35, 37A, 37B Service Application Interface

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 英明 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 増木 亮介 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 内川 淳 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内 (72)発明者 市来 伸彦 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Hideaki Yamamoto 3-3-3 Toyosu, Koto-ku, Tokyo NTT Data Communications Co., Ltd. (72) Ryosuke Masuki Inventor Ryosuke Toyosu, Koto-ku, Tokyo 3-3-3 NTT Data Communication Co., Ltd. (72) Inventor Jun Uchikawa 1-3-2 Marunouchi, Chiyoda-ku, Tokyo Within Sumitomo Bank, Ltd. (72) Inventor Nobuhiko Ichiki Tokyo 1-3-2 Marunouchi, Chiyoda-ku Within Sumitomo Bank, Ltd.

Claims (29)

【特許請求の範囲】[Claims] 【請求項1】 通信ネットワークと、 前記ネットワーク上に存在する、サービス要求を発する
ためのクライアントと、 前記通信ネットワーク上に存在する、サービス処理を実
行するためのサーバと、 前記通信ネットワーク上に存在するものであって、前記
サーバの場所を知っており、前記クライアントの発した
サービス要求に応答して、前記サーバと通信することに
より、前記サーバに前記サービス処理を実行させ且つ前
記サーバよりサービス処理結果を受け、そして、前記ク
ライアントに前記サービス処理結果を返却するためのサ
ービスエージェントとを備えたクライアント/サーバ環
境におけるオブジェクト間通信システム。
1. A communication network, a client for issuing a service request existing on the network, a server for executing service processing existing on the communication network, and existing on the communication network The server knows the location of the server, communicates with the server in response to a service request issued by the client, causes the server to execute the service processing, and causes the server to execute a service processing result. And a service agent for returning the service processing result to the client.
【請求項2】 複数の前記サーバが前記ネットワーク上
に散在しており、 前記サービスエージェントは、前記サーバの各々の場所
とステータスとサービス名とを示すサービス情報を保有
しており、前記クライアントからの前記サービス要求に
応答して、前記サービス情報を参照して前記サービス要
求に応え得るサーバを選択し、選択されたサーバと通信
する請求項1記載のシステム。
2. The server according to claim 1, wherein the plurality of servers are scattered on the network, the service agent has service information indicating a location, a status, and a service name of each of the servers. The system according to claim 1, wherein in response to the service request, a server capable of responding to the service request is selected by referring to the service information, and communicates with the selected server.
【請求項3】 前記クライアントが、前記サービス処理
結果を受けるための応答コールバックを有し、 前記サービスエージェントが、前記クライアントに前記
サービス処理結果を返すとき前記応答コールバックを呼
ぶ請求項1記載のシステム。
3. The method of claim 1, wherein the client has a response callback for receiving the service processing result, and wherein the service agent calls the response callback when returning the service processing result to the client. system.
【請求項4】 前記サーバが、前記サービス処理を実行
するための所定の提供コールバックを有し、 前記サービスエージェントが、前記サーバに前記サービ
ス処理の実行を要求するとき前記提供コールバックを呼
ぶ請求項1及び3のいずれか1項記載のシステム。
4. The server according to claim 1, wherein said server has a predetermined providing callback for executing said service processing, and said service agent calls said providing callback when requesting said server to execute said service processing. Item 4. The system according to any one of Items 1 and 3.
【請求項5】 前記サービスエージェントが、 前記クライアントから前記サービス要求を受け且つ前記
サービス処理結果を前記クライアントに返すための、前
記クライアントと同じノードに配置されたクライアント
インタフェースと、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有している、所定のノードに配置されたサ
ービスマネージャと、 前記サーバに前記サービス処理の実行要求を送り且つ前
記サービス処理結果を前記サーバから受けるための、前
記サーバと同じノードに配置されたサーバインタフェー
スとを有しており、 前記クライアントインタフェース、サービスマネージャ
及びサーバインタフェースが前記通信ネットワークを通
じて交信する請求項1記載のシステム。
5. A client interface arranged on the same node as the client, for receiving the service request from the client and returning the service processing result to the client, a location and a status of the server. A service manager arranged at a predetermined node, having service information indicating a service name and a service name; and the server for sending an execution request of the service processing to the server and receiving the service processing result from the server. And a server interface located on the same node as the client interface, wherein the client interface, service manager, and server interface communicate over the communication network.
【請求項6】 前記クライアントインタフェースは、前
記クライアントからの前記サービス要求に応答して、前
記サービスマネージャに情報照会依頼を送り、 前記サービスマネージャは、前記情報照会依頼に応答し
て、前記サービス情報を参照して前記サービス要求に応
え得るサーバを選択し、この選択されたサーバの場所を
前記クライアントインタフェースに通知し、 前記クライアントインタフェースは、前記サービスマネ
ージャから通知された場所へ宛てて前記サービス要求を
送り、 前記サーバインタフェースは、前記クライアントインタ
フェースからの前記サービス要求を受けて、前記サーバ
にサービス処理の実行を要求し、そして、前記サーバか
ら前記サービス処理結果を受けて、前記サービス処理結
果を前記サービス要求の発信元へ宛てて返送し、 前記クライアントインタフェースは、前記サーバインタ
フェースからの前記サービス処理結果を受けて、これを
前記クライアントへ渡す請求項5記載のシステム。
6. The client interface sends an information inquiry request to the service manager in response to the service request from the client, and the service manager sends the service information in response to the information inquiry request. Selecting a server capable of responding to the service request by reference, notifying a location of the selected server to the client interface, wherein the client interface sends the service request addressed to the location notified by the service manager. Receiving the service request from the client interface, requesting the server to execute service processing, receiving the service processing result from the server, and transmitting the service processing result to the service request. From 6. The system according to claim 5, wherein the client interface receives the service processing result from the server interface and passes it to the client.
【請求項7】 前記サーバインタフェースは、前記サー
バのサービス名と場所とステータスとを前記サービスマ
ネージャに通知し、 前記サービスマネージャは、前記サーバインタフェース
からの通知に応答して、前記サービス情報を更新する請
求項5記載のシステム。
7. The server interface notifies the service manager of the service name, location, and status of the server, and the service manager updates the service information in response to the notification from the server interface. The system according to claim 5.
【請求項8】 前記クライアントが、前記サービス処理
結果を受けるための応答コールバックを有し、 前記クライアントインタフェースが、前記クライアント
に前記サービス処理結果を返すとき前記応答コールバッ
クを呼ぶ請求項5記載のシステム。
8. The method according to claim 5, wherein the client has a response callback for receiving the service processing result, and the client interface calls the response callback when returning the service processing result to the client. system.
【請求項9】 前記サーバが、前記サービス処理を実行
するための所定の提供コールバックを有し、 前記サーバインタフェースが、前記サーバに前記サービ
ス処理の実行を要求するとき前記提供コールバックを呼
ぶ請求項5及び8のいずれか1項記載のシステム。
9. The server according to claim 1, wherein said server has a predetermined providing callback for executing said service processing, and said server interface calls said providing callback when said server interface requests said server to execute said service processing. Item 9. The system according to any one of Items 5 and 8.
【請求項10】 前記通信ネットワーク上に存在する別
のサーバと、 前記通信ネットワーク上に存在する、前記別のサーバの
場所を知っている別のサービスエージェントとをさらに
備え、 前記サービスエージェントは、前記別のサービスエージ
ェントから前記別のサーバの場所を通知されることによ
り、前記別のサーバと通信して、前記別のサーバにサー
ビス処理の実行を要求し且つ前記別のサーバからサービ
ス処理結果を受け、このサービス処理結果を前記クライ
アントへ返却することが可能である請求項1記載のシス
テム。
10. The server further comprising: another server existing on the communication network; and another service agent existing on the communication network, the service agent knowing a location of the another server. When notified of the location of the another server from another service agent, the server communicates with the another server, requests the another server to execute service processing, and receives a service processing result from the another server. 2. The system according to claim 1, wherein the service processing result can be returned to the client.
【請求項11】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在す
る通信ネットワーク上に存在し、 前記サーバの場所を知っており、前記クライアントの発
したサービス要求に応答して、前記サーバと通信するこ
とにより、前記サーバに前記サービス処理を実行させ且
つ前記サーバよりサービス処理結果を受け、そして、前
記クライアントに前記サービス処理結果を返却する、ク
ライアント/サーバ環境におけるオブジェクト間通信の
ためのサービスエージェント。
11. A communication network in which a client for issuing a service request and a server for performing service processing are present on a communication network, and the location of the server is known, and a response to a service request issued by the client is provided. And communicating with the server to cause the server to execute the service processing, receive a service processing result from the server, and return the service processing result to the client. Service agent for communication.
【請求項12】 前記ネットワーク上に散在する複数の
前記サーバの各々の場所とステータスとサービス名とを
示すサービス情報を保有しており、前記クライアントか
らの前記サービス要求に応答して、前記サービス情報を
参照して前記サービス要求に応え得るサーバを選択し、
選択されたサーバと通信する請求項11記載のサービス
エージェント。
12. The server has service information indicating a location, a status, and a service name of each of the plurality of servers scattered on the network, and receives the service information in response to the service request from the client. To select a server that can respond to the service request,
The service agent of claim 11, wherein the service agent communicates with a selected server.
【請求項13】 前記クライアントに前記サービス処理
結果を返すとき、前記クライアントが有している前記サ
ービス処理結果を受けるための所定の応答コールバック
を呼ぶ請求項11記載のサービスエージェント。
13. The service agent according to claim 11, wherein when returning the service processing result to the client, a predetermined response callback for receiving the service processing result held by the client is called.
【請求項14】 前記サーバに前記サービス処理の実行
を要求するとき、前記サーバが有している前記サービス
処理を実行するための所定の提供コールバックを呼ぶ請
求項11及び13のいずれか1項記載のサービスエージ
ェント。
14. A server according to claim 11, wherein when the server requests the server to execute the service processing, a predetermined provision callback for executing the service processing included in the server is called. The stated service agent.
【請求項15】 前記クライアントから前記サービス要
求を受け且つ前記サービス処理結果を前記クライアント
に返すための、前記クライアントと同じノードに配置さ
れたクライアントインタフェースと、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有している、所定のノードに配置されたサ
ービスマネージャと、 前記サーバに前記サービス処理の実行要求を送り且つ前
記サービス処理結果を前記サーバから受けるための、前
記サーバと同じノードに配置されたサーバインタフェー
スとを有しており、 前記クライアントインタフェース、サービスマネージャ
及びサーバインタフェースが前記通信ネットワークを通
じて交信する請求項11記載のサービスエージェント。
15. A client interface arranged on the same node as the client for receiving the service request from the client and returning the service processing result to the client, and indicates a location, status, and service name of the server. A service manager, which has service information and is arranged at a predetermined node; and is arranged at the same node as the server, for sending an execution request for the service processing to the server and receiving the service processing result from the server. The service agent according to claim 11, further comprising a server interface configured to communicate with the client interface, the service manager, and the server interface through the communication network.
【請求項16】 前記クライアントインタフェースは、
前記クライアントからの前記サービス要求に応答して、
前記サービスマネージャに情報照会を依頼し、 前記サービスマネージャは、前記情報照会に応答して、
前記サービス情報を参照して前記サービス要求に応え得
るサーバを選択し、この選択されたサーバの場所を前記
クライアントインタフェースに通知し、 前記クライアントインタフェースは、前記サービスマネ
ージャから通知された場所へ宛てて前記サービス要求を
送り、 前記サーバインタフェースは、前記クライアントインタ
フェースからの前記サービス要求を受けて、前記サーバ
にサービス処理の実行を要求し、そして、前記サーバか
ら前記サービス処理結果を受けて、前記サービス処理結
果を前記サービス要求の発信元へ宛てて返送し、 前記クライアントインタフェースは、前記サーバインタ
フェースからの前記サービス処理結果を受けて、これを
前記クライアントへ渡す請求項15記載のサービスエー
ジェント。
16. The client interface,
In response to the service request from the client,
Requesting an information inquiry from the service manager, the service manager responding to the information inquiry,
Selecting a server capable of responding to the service request with reference to the service information, and notifying the location of the selected server to the client interface, wherein the client interface is addressed to a location notified by the service manager; Sending a service request, the server interface receiving the service request from the client interface, requesting the server to execute service processing, and receiving the service processing result from the server, The service agent according to claim 15, wherein the client interface receives the service processing result from the server interface and passes the result to the client.
【請求項17】 前記サーバインタフェースは、前記サ
ーバのサービス名と場所とステータスとを前記サービス
マネージャに通知し、 前記サービスマネージャは、前記サーバインタフェース
からの通知に応答して、前記サービス情報を更新する請
求項15記載のサービスエージェント。
17. The server interface notifies the service name, location, and status of the server to the service manager, and the service manager updates the service information in response to the notification from the server interface. The service agent according to claim 15.
【請求項18】 前記通信ネットワーク上に存在する別
のサービスエージェントから前記通信ネットワーク上の
別のサーバの場所を通知されることにより、前記別のサ
ーバと通信して、前記別のサーバにサービス処理の実行
を要求し且つ前記別のサーバからサービス処理結果を受
け、このサービス処理結果を前記クライアントへ返却す
ることが可能である請求項11記載のサービスエージェ
ント。
18. When another service agent existing on the communication network is notified of the location of another server on the communication network, the server communicates with the other server and performs service processing on the another server. 12. The service agent according to claim 11, wherein the service agent can request execution of the service processing, receive a service processing result from the another server, and return the service processing result to the client.
【請求項19】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在し
ている通信ネットワーク上の所定のノードに配置され、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有し、 前記クライアント側からの情報照会に応答して、前記サ
ービス情報を参照して前記クライアントの前記サービス
要求に応え得るサーバを選択し、この選択されたサーバ
の場所を前記クライアント側へ通知する、クライアント
/サーバ環境におけるオブジェクト間通信のためのサー
ビスマネージャ。
19. A service which is arranged at a predetermined node on a communication network in which a client for issuing a service request and a server for executing service processing are scattered, and indicates a location, a status, and a service name of the server. In response to an information inquiry from the client side, selecting a server capable of responding to the service request of the client by referring to the service information, and transmitting the location of the selected server to the client side Notify the service manager for inter-object communication in the client / server environment.
【請求項20】 前記サーバ側から、前記サーバのサー
ビス名と場所とステータスを通知されて、前記サービス
情報を更新する請求項19記載のサービスマネージャ。
20. The service manager according to claim 19, wherein the service information is notified from the server side, and the service information is updated, and the service information is updated.
【請求項21】 前記クライアント側からの前記依頼に
応答して、前記通信ネットワーク上に存在する別のサー
ビスマネージャに対し前記サービス要求に応え得る別の
サーバの場所を照会し、前記別のサービスマネージャか
ら通知された前記別のサーバの場所を前記クライアント
側に通知することが可能である請求項19記載のサービ
スマネージャ。
21. In response to the request from the client side, querying another service manager existing on the communication network for a location of another server capable of responding to the service request, 20. The service manager according to claim 19, wherein the location of the another server notified from the server can be notified to the client side.
【請求項22】 サービス要求を発するためのクライア
ントとサービス処理を実行するためのサーバとが散在し
ている通信ネットワーク上の或るノードを、 前記サーバの場所とステータスとサービス名と示すサー
ビス情報を保有し、 前記クライアント側からの照会に応答して、前記サービ
ス情報を参照して前記クライアントの前記サービス要求
に応え得るサーバを選択し、この選択されたサーバの場
所を前記クライアント側へ通知する、クライアント/サ
ーバ環境におけるオブジェクト間通信のためのサービス
マネージャとして機能させるためのコンピュータプログ
ラムを担持したコンピュータ読み取り可能な記録媒体。
22. A node on a communication network in which a client for issuing a service request and a server for executing service processing are scattered, and service information indicating the location, status, and service name of the server is provided. Holding, in response to an inquiry from the client side, selecting a server capable of responding to the service request of the client by referring to the service information, and notifying the client side of the location of the selected server; A computer-readable recording medium carrying a computer program for functioning as a service manager for inter-object communication in a client / server environment.
【請求項23】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記クライアントと同じノードに配置さ
れ、 前記クライアントの発した前記サービス要求に応答し
て、前記情報照会を前記サービスマネージャに送り、 前記サービスマネージャから前記選択されたサーバの場
所の通知を受けて、通知された場所へ宛てて前記サービ
ス要求を送り、前記サーバ側から前記サービス処理結果
を受けて、これを前記クライアントへ渡す、クライアン
ト/サーバ環境におけるオブジェクト間通信のためのク
ライアントインタフェース。
23. selecting a client for issuing a service request, a server for executing service processing, and a server capable of responding to the service request of the client in response to an information inquiry from the client side;
A service manager for notifying the client side of the location of the selected server is located on the same node as the client on a communication network in which the service manager is scattered, and in response to the service request issued by the client, Sending an information inquiry to the service manager, receiving a notification of the location of the selected server from the service manager, sending the service request to the notified location, receiving the service processing result from the server side, A client interface for inter-object communication in a client / server environment.
【請求項24】 前記クライアントに前記サービス処理
結果を返すとき、前記クライアントが有している前記サ
ービス処理結果を受けるための所定の応答コールバック
を呼ぶ請求項23記載のクライアントインタフェース。
24. The client interface according to claim 23, wherein when returning the service processing result to the client, a predetermined response callback for receiving the service processing result held by the client is called.
【請求項25】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記クライアントと同じノードを、 前記クライアントの発した前記サービス要求に応答し
て、前記情報照会を前記サービスマネージャに送り、 前記サービスマネージャから前記選択されたサーバの場
所の通知を受けて、通知された場所へ宛てて前記サービ
ス要求を送り、前記サーバ側から前記サービス処理結果
を受けて、これを前記クライアントへ渡す、クライアン
ト/サーバ環境におけるオブジェクト間通信のためのク
ライアントインタフェースとして機能させるためのコン
ピュータプログラムを担持したコンピュータ読み取り可
能な記録媒体。
25. selecting a client for issuing a service request, a server for executing service processing, and a server capable of responding to the service request of the client in response to an information inquiry from the client side;
In response to the service request issued by the client, the information inquiry is performed on the same node as the client on a communication network in which a service manager that notifies the client of the location of the selected server is scattered. To the service manager, receiving the notification of the location of the selected server from the service manager, sending the service request addressed to the notified location, receiving the service processing result from the server side, A computer-readable recording medium carrying a computer program for functioning as a client interface for inter-object communication in a client / server environment.
【請求項26】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記サーバと同じノードに配置され、 前記クライアント側から送られる前記サービス要求を受
けて、前記サーバにサービス処理の実行を要求し、 前記サーバから前記サービス処理結果を受けて、前記サ
ービス処理結果を前記クライアント側へ返送する、クラ
イアント/サーバ環境におけるオブジェクト間通信のた
めのサーバインタフェース。
26. Selecting a client for issuing a service request, a server for executing service processing, and a server capable of responding to the service request of the client in response to an information inquiry from the client side;
A service manager for notifying the client side of the location of the selected server is located on the same node as the server on a communication network in which the service request is sent from the client side. A server interface for inter-object communication in a client / server environment, for requesting a server to execute a service process, receiving the service process result from the server, and returning the service process result to the client side.
【請求項27】 前記サーバに前記サービス処理の実行
を要求するとき、前記サーバが有している前記サービス
処理を実行するための所定の提供コールバックを呼ぶ請
求項26記載のサーバインタフェース。
27. The server interface according to claim 26, wherein when requesting the server to execute the service processing, a predetermined provided callback for executing the service processing of the server is called.
【請求項28】 前記サーバのサービス名と場所とステ
ータスを前記サービスマネージャに通知する請求項26
記載のサーバインタフェース。
28. The service manager is notified of the service name, location and status of the server.
The described server interface.
【請求項29】 サービス要求を発するためのクライア
ントと、サービス処理を実行するためのサーバと、前記
クライアント側からの情報照会に応答して、前記クライ
アントの前記サービス要求に応え得るサーバを選択し、
この選択されたサーバの場所を前記クライアント側へ通
知するサービスマネージャとが散在している通信ネット
ワーク上の、前記サーバと同じノードを、 前記クライアント側から送られる前記サービス要求を受
けて、前記サーバにサービス処理の実行を要求し、 前記サーバから前記サービス処理結果を受けて、前記サ
ービス処理結果を前記クライアント側へ返送する、クラ
イアント/サーバ環境におけるオブジェクト間通信のた
めのサーバインタフェースとして機能させるためのコン
ピュータプログラムを担持したコンピュータ読み取り可
能な記録媒体。
29. selecting a client for issuing a service request, a server for executing service processing, and a server capable of responding to the service request of the client in response to an information inquiry from the client side;
The same node as the server on the communication network in which the service manager notifying the location of the selected server to the client side is scattered, upon receiving the service request sent from the client side, A computer for requesting execution of service processing, receiving the service processing result from the server, and returning the service processing result to the client side, and functioning as a server interface for inter-object communication in a client / server environment. A computer-readable recording medium carrying a program.
JP10013673A 1998-01-27 1998-01-27 Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface Pending JPH11212913A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10013673A JPH11212913A (en) 1998-01-27 1998-01-27 Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10013673A JPH11212913A (en) 1998-01-27 1998-01-27 Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface

Publications (1)

Publication Number Publication Date
JPH11212913A true JPH11212913A (en) 1999-08-06

Family

ID=11839721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10013673A Pending JPH11212913A (en) 1998-01-27 1998-01-27 Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface

Country Status (1)

Country Link
JP (1) JPH11212913A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102909A (en) * 2000-03-09 2008-05-01 Hitachi Ltd Information service providing method
JP2013090072A (en) * 2011-10-17 2013-05-13 Hitachi Ltd Service provision system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102909A (en) * 2000-03-09 2008-05-01 Hitachi Ltd Information service providing method
JP2013090072A (en) * 2011-10-17 2013-05-13 Hitachi Ltd Service provision system

Similar Documents

Publication Publication Date Title
JP3370704B2 (en) Communication control method
US5475819A (en) Distributed configuration profile for computing system
JPH09244940A (en) Method for managing distributed computer resource
US7490265B2 (en) Recovery segment identification in a computing infrastructure
US7237027B1 (en) Scalable storage system
JP4897872B2 (en) Service registry and related systems and methods
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US6760733B1 (en) Object management system and data processing system with centralized mechanism for managing containment relationships among objects
US20080025297A1 (en) Facilitating use of generic addresses by network applications of virtual servers
JPS63201743A (en) Cashing for data processing system network
US5995972A (en) System and method for retrieving data
JP2002318720A (en) Contents delivery management system
US7934218B2 (en) Interprocess communication management using a socket layer
US6701323B2 (en) Object management system and method for distributed object system
JPH10187467A (en) Remote procedure call processing method
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
US8250176B2 (en) File sharing method and file sharing system
US7590618B2 (en) System and method for providing location profile data for network nodes
CN111782259A (en) Micro-service management method based on reverse proxy
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JP7071938B2 (en) Database management service provision system
JPH11212913A (en) Inter-object communication system for client and server environment, service agent, service manager, client interface and server interface
JP4129353B2 (en) Distributed data management system, distributed data management method, and distributed data management program
US20060117041A1 (en) Connection of an application to a resource manager selected from a plurality of resource managers
JP2001067325A (en) Method and system for managing distributed object