JP2000194670A - Client and distributed server system - Google Patents
Client and distributed server systemInfo
- Publication number
- JP2000194670A JP2000194670A JP10371821A JP37182198A JP2000194670A JP 2000194670 A JP2000194670 A JP 2000194670A JP 10371821 A JP10371821 A JP 10371821A JP 37182198 A JP37182198 A JP 37182198A JP 2000194670 A JP2000194670 A JP 2000194670A
- Authority
- JP
- Japan
- Prior art keywords
- server
- client
- machine
- processing
- machines
- 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
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、クライアント・分
散サーバシステムに関し、特に、サーバの管理情報の取
得、またはサーバへの処理要求に係わる技術に関する。[0001] 1. Field of the Invention [0002] The present invention relates to a client / distributed server system, and more particularly to a technique relating to acquisition of server management information or a processing request to a server.
【0002】[0002]
【従来の技術】従来、クライアント・分散サーバシステ
ムを構築する場合には、クライアントが全てのサーバに
ついての情報を持ち、それぞれと通信を行って情報処理
を行う方式(図8)か、いずれかのサーバをマスタ サ
ーバとし、クライアントはマスタサーバとのみ通信を行
い、マスタサーバが他サーバ(スレーブサーバ)と通信
を行って処理を行う方式(図9)のいずれかが採用され
ている。2. Description of the Related Art Conventionally, when constructing a client / distributed server system, either a method in which a client has information on all servers and communicates with each to perform information processing (FIG. 8), One of the systems (FIG. 9) in which the server is a master server, the client communicates only with the master server, and the master server communicates with another server (slave server) to perform processing.
【0003】すなわち、前者の方式は、図7に示すよう
なネットワーク環境上に構築されたクライアント・分散
サーバシステムシステムにおいて、例えば、クライアン
トマシンC1が、 ネットワーク上に分散した複数のサ
ーバマシンS1、S2等にアクセスして情報を得るに
は、図8に示すように、クライアントマシンC1がサー
バマシンS1及びサーバマシンS2にアクセスするとい
うように、全ての クライアントマシンが全てのサーバ
マシンと直接通信するというものである。That is, in the former method, in a client / distribution server system system constructed on a network environment as shown in FIG. 7, for example, a client machine C1 is divided into a plurality of server machines S1, S2 distributed on a network. In order to access and obtain information, etc., as shown in FIG. 8, all the client machines directly communicate with all the server machines, such as the client machine C1 accessing the server machines S1 and S2. Things.
【0004】後者の方式は、図9に示すように、例え
ば、 クライアントマシンC1は、マスタサーバとして
動作する特定のサーバS1にアクセスを行い、 サーバ
マシンS1がスレーブサーバとして動作する他のサーバ
S2、S3と通信を行って、クライアントマシンC1
上のプロセスが要求する全ての情報を提供するというも
のである。In the latter method, as shown in FIG. 9, for example, a client machine C1 accesses a specific server S1 operating as a master server, and the server machine S1 accesses another server S2 operating as a slave server. S3 communicates with the client machine C1.
It provides all the information required by the above process.
【0005】[0005]
【発明が解決しようとする課題】しかしながら、図8の
従来方式では、全てのクライアントマシンC1、C2、
C3が全てのサーバマシン S1、S2、S3と直接通
信を行う必要性があることから、全てのルータR1、R
2には全てのサーバマシンS1,S2、S3が通信を行
うための設定を行う必要がある。更に、全てのクライア
ントマシンC1、C2、C3に全てのサーバマシンS
1、S2、S3ののネットワークアドレスなどの情報を
与える必要があり、ネットワーク設定が複雑化するとい
う問題点がある。However, in the conventional system shown in FIG. 8, all the client machines C1, C2,
Since C3 needs to communicate directly with all server machines S1, S2, S3, all routers R1, R2
For 2, it is necessary to make settings for all server machines S1, S2, and S3 to perform communication. Further, all server machines S are connected to all client machines C1, C2 and C3.
It is necessary to give information such as the network address of 1, S2, and S3, and there is a problem that network setting is complicated.
【0006】また、図9の従来方式では、マスタサーバ
として動作するサーバマシンS1は、他の全てのサーバ
マシンS2、S3と通信を行うための特別な処理手段を
実装する必要があり、サーバマシンS1の負荷がサーバ
マシンS2、S3のそれに比較して増加し、また、サー
バマシンS1に障害が発生した場合には、システム全体
に影響が生じる危険があるという問題点がある。In the conventional system shown in FIG. 9, the server machine S1 operating as the master server needs to mount special processing means for communicating with all the other server machines S2 and S3. There is a problem that the load of S1 increases as compared with that of the server machines S2 and S3, and when a failure occurs in the server machine S1, there is a risk that the entire system may be affected.
【0007】更に、サーバマシンS1とサーバマシンS
2、S3の間で処理に差異が生じることになり、システ
ムに必要なソフトウェアの種類が増えることになるとい
う問題点もある。Further, the server machine S1 and the server machine S
There is also a problem that a difference occurs in processing between S2 and S3, and the types of software required for the system increase.
【0008】したがって、本発明の目的は、ネットワー
ク設定を簡素化でき、かつ、特定のサーバマシンに特別
な処理を行なわせる必要もなく、柔軟なクライアント・
分散サーバシステム提供することにある。Accordingly, it is an object of the present invention to simplify a network setting and to provide a flexible client / client machine without requiring a specific server machine to perform special processing.
It is to provide a distributed server system.
【0009】[0009]
【課題を解決するための手段】第1の本発明のクライア
ント・分散サーバシステムは、複数のクライアントマシ
ンとサーバマシンがネットワークを介して分散配置され
たクライアント・分散サーバシステムにおいて、クライ
アントマシンで生成されたサーバマシンへの処理要求を
伴う処理オブジェクトが、分散したサーバマシンを自律
的に次々に移動して処理を行うことにより、クライアン
トマシンとサーバマシン間の通信は隣接したマシン間の
みとなるようにしたことを特徴とする。また、第2の本
発明のクライアント・分散サーバシステムは、複数のク
ライアントマシンとサーバマシンがネットワークを介し
て分散配置されたクライアント・分散サーバシステムに
おいて、前記クライアントマシン上では、GUIを管理
するGUI制御部と、他マシンからの処理オブジェクト
の転送要求を受けるとデータを受信して処理オブジェク
トをインスタンス化するオブジェクトローダと、通信を
行うサーバマシンのネットワークアドレスとを有するク
ライアントプロセスが動作し、また、前記サーバマシン
上では、該クライアント・分散サーバシステムが管理す
る情報を持つ管理オブジェクトと、他マシンからの処理
オブジェクトの転送要求を受けるとデータを受信して処
理オブジェクトをインスタンス化するオブジェクトロー
ダと、次のサーバマシンのネットワークアドレスとを有
するサーバプロセスが動作し、前記GUI制御部の操作
により前記管理オブジェクトの取得要求が発生すると、
当該クライアントプロセスは該管理オブジェクトの取得
機能を持つ処理オブジェクトを生成し、該処理オブジェ
クトは、前記ネットワークアドレスに従って、かつ前記
オブジェクトローダによるインスタンス化を受けながら
サーバマシンを次々に移動してスレッドとして動作し、
前記管理オブジェクトを取得すると、逆順にサーバマシ
ンを移動して前記クライアントマシンに帰還することを
特徴とする。さらに、本発明の好ましい実施の形態は、
前記処理オブジェクトは、自分自身を直列化し、バイト
データにしてサーバマシンに転送してポートを閉じた後
に自分自身を削除し、転送先のオブジェクトローダは、
受信したバイトデータをデコードして処理オブジェクト
をインスタンス化することを特徴とする。本発明は、要
するに、クライアント・分散サーバ型のシステムにおい
て、複数存在するサーバマシンの管理情報の取得、また
はサーバマシンへの処理要求を行う機能を持ったオブジ
ェクトがサーバマシンに転送されることによって移動
し、処理を行う方式をとることによって、ネットワーク
アクセス上の制限のあるネットワーク上にマルチクラ
イアント・マルチサーバの構成を採用するシステムの構
築を容易にし、柔軟なシステムを構築できるようにした
ものである。According to a first aspect of the present invention, there is provided a client / distribution server system in which a plurality of client machines and server machines are distributed via a network. A processing object with a processing request to a server machine that has been autonomously moved from one distributed server machine to another to perform processing, so that communication between the client machine and the server machine is limited to only between adjacent machines. It is characterized by having done. In the client / distribution server system according to the second aspect of the present invention, in a client / distribution server system in which a plurality of client machines and server machines are distributed via a network, a GUI control for managing a GUI on the client machines is provided. A client process having a unit, an object loader that receives data, receives a data transfer request from another machine and instantiates the processing object by receiving data, and a network address of a server machine that performs communication. On the server machine, a management object having information managed by the client / distributed server system, and an object loader which receives data and receives a data and instantiates the processing object when receiving a transfer request of the processing object from another machine. When operating a server process and a network address of the next server machine acquisition request of the management object by the operation of the GUI control unit occurs,
The client process generates a processing object having the function of acquiring the management object, and the processing object operates as a thread by sequentially moving server machines according to the network address and while being instantiated by the object loader. ,
When the management object is obtained, the server machine moves in the reverse order and returns to the client machine. Further, a preferred embodiment of the present invention
The processing object serializes itself, transfers it to the server machine as byte data, closes the port, deletes itself, and deletes itself.
It is characterized by decoding the received byte data and instantiating the processing object. In short, the present invention moves in a client / distributed server type system by acquiring management information of a plurality of server machines or transferring an object having a function of making a processing request to the server machines to the server machines. By adopting a processing method, it is easy to build a system that adopts a multi-client / multi-server configuration on a network with limited network access, enabling a flexible system to be built. .
【0010】[0010]
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。図1は、本発明のクライア
ント・分散サーバシステムの概略を示す。本発明では、
クライアントマシンC1が生成した処理オブジェクトお
O1が、サーバマシンS1へ移動してクライアントマシ
ンC1が要求する処理を行い、次にサーバマシンS2へ
移動して処理を行うというように、 処理オブジェクト
がサーバマシン間を移動して処理を行うことにより、ク
ライアントマシン、サーバマシン間の通信は隣接するマ
シン間のみとなり、ルータの設定も簡潔にすることがで
きる。Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 schematically shows a client / distribution server system of the present invention. In the present invention,
The processing object O1 generated by the client machine C1 moves to the server machine S1 to perform the processing requested by the client machine C1, and then moves to the server machine S2 to perform the processing. By performing the process by moving between the machines, the communication between the client machine and the server machine is performed only between the adjacent machines, and the setting of the router can be simplified.
【0011】また、システムにサーバマシンS4が追加
された場合には、前述の図8の従来方式では、全てのル
ータ及び全てのクライアントマシンに対して追加された
サーバマシンS4の情報を追加する必要が生じ、また、
図9の従来方式でも、マスタサーバとして動作するサー
バマシンS1とルータR2については設定の必要がある
が、 本方式では、図1に示すように、サーバマシンS
3にのみ設定を行えばよく、全てのクライアントマシン
及び全てのルータは、サーバマシンS4についての情報
を知る必要がない。When the server machine S4 is added to the system, it is necessary to add information of the added server machine S4 to all routers and all client machines in the conventional method of FIG. Occurs, and
In the conventional method shown in FIG. 9, it is necessary to set the server machine S1 operating as the master server and the router R2, but in this method, as shown in FIG.
3 only need to be set, and all client machines and all routers do not need to know information about the server machine S4.
【0012】このようにして、処理オブジェクトが自律
的に分散したサーバ間を移動して情報収集処理をするこ
とにより、クライアント・分散サーバシステムにおい
て、クライアント・サーバ間、サーバ・サーバ間の通信
を簡素化することができる。これによって、システムの
ネットワーク設定を簡素化することができ、システム拡
張の場合の変更も少なくすることができる。[0012] In this manner, by processing objects moving autonomously distributed between servers and performing information collection processing, communication between the client and the server and between the server and the server can be simplified in the client / distributed server system. Can be As a result, the network settings of the system can be simplified, and changes in the case of system expansion can be reduced.
【0013】図1のネットワーク構成において、クライ
アントマシンC1からサーバS1、S2、S3への処理
要求を行った場合の例を図2により具体的に説明する。
図2において、クライアントマシンC1上では、クライ
アントプロセスが動作し、このプロセスは 以下の処理
及び情報を持つ。 ・GUI(Graphyic User Interface)を管理する機能
を持つGUI制御部G1 ・他マシンからの処理オブジェクトの転送要求を受け、
データを受信して処理オブジェクトをインスタンス化
(クラス化)する機能を持つオブジェクトローダL1 ・クライアントマシンC1が通信を行うサーバマシンの
ネットワークアドレスA1An example in which a processing request is sent from the client machine C1 to the servers S1, S2, S3 in the network configuration of FIG. 1 will be specifically described with reference to FIG.
In FIG. 2, a client process operates on the client machine C1, and this process has the following processing and information. A GUI control unit G1 having a function of managing a GUI (Graphic User Interface); receiving a transfer request of a processing object from another machine;
Object loader L1 having a function of receiving data and instantiating (classifying) a processing object ・ Network address A1 of a server machine with which client machine C1 communicates
【0014】また、サーバマシンS1上では、サーバプ
ロセスが動作し、このプロセスは以下の処理及び情報を
持つ。 ・クライアント・分散サーバシステムが管理する情報を
持つ、管理オブジェクトA、管理オブジェクトB ・ 他マシンからの処理オブジェクトの転送要求を受
け、データを受信して処理オブジェクトをインスタンス
化する機能を持つオブジェクトローダL2 ・次のサーバマシンのネットワークアドレスA2On the server machine S1, a server process operates, and this process has the following processing and information. A managed object A and a managed object B having information managed by the client / distributed server system; an object loader L2 having a function of receiving a transfer request of a processing object from another machine, receiving data, and instantiating the processing object.・ Network address A2 of the next server machine
【0015】同様に、サーバマシンS2上のサーバプロ
セスは、管理オブジェクトC、管理オブジェクトD、
オブジェクトローダL3、ネットワークアドレスA3を
持ち、サーバマシンS3上のサーバプロセスは、 管理
オブジェクトE、管理オブジェクトF、オブジェクトロ
ーダL4、ネットワークアドレスA4を持つ。Similarly, the server processes on the server machine S2 are managed objects C, managed objects D,
The server process on the server machine S3 has an object loader L3 and a network address A3, and has a management object E, a management object F, an object loader L4, and a network address A4.
【0016】次に、図2〜図5を参照して本実施例の動
作について詳細に説明する。 1. まず、図2のクライアントマシンC1のGUI制御
部G1の操作により、複 数あるサーバマシンが保持す
る管理オブジェクトAと管理オブジェクトFの取得要求
が発生したとする。 2. すると、クライアントマシンC1のクライアントプ
ロセスは、管理オブジェクトの取得機能を持つ処理オブ
ジェクトO1を生成し(図2の処理P1)、処理オブジ
ェクトO1に管理オブジェクトAと管理オブジェクトF
という処理条件と、起動元マシンのアドレスとして、自
分自身のネットワークアドレスA1を与える。処理オブ
ジェクトO1は、与えられた条件(A, F)と クライアン
トマシンC1のネットワークアドレスA1を自分自身の
属性に保持する。 3. 処理オブジェクトO1は、クライアントマシンC1の
プロセスの中で、スレッドとして動作し、サーバマシン
S1へ移動する(処理P2)が、この時の処理を図4お
よび図5のフローチャートを用いて説明する。 4. 処理オブジェクトO1は、自身が動作しているマシ
ンが、起動元マシンかどうかをネットワークアドレスに
よって判断する(図4の処理F1)。 5. 処理オブジェクトO1が動作しているのは起動元マ
シン(クライアントマシンC1)なので、管理オブジェ
クトの取得処理が終了しているかを判断する(処理F
2)。 6. まだ管理オブジェクトA、Fの取得処理が終了して
いないので、次のサーバ への転送処理を開始する。 7. 現在動作しているマシン(クライアントマシンC
1)のプロセスから、転送 先サーバマシンのアドレス
(サーバマシンS1)を取得して、自分の属性に記憶し
(処理F10)、サーバマシンS1の ポートを開き
(処理F12)、転送先マシンのプロセスへ移行する。 8. 図5の示すように、サーバマシンS1では、オブジ
ェクトローダL2がポートを開き(図5の処理F1
6)、監視している。 クライアントマシンC1上の処
理オブジェクトO1から接続要求があったので、接続す
る(処理F17)。 9.処理 オブジェクトO1は、自分自身をシリアライズ
(直列化)し、バイトデータにしてサーバマシンS1へ
転送する(処理F13)。オブジェクトローダL2
は、転送されたバイトデータを受信する(処理F1
8)。 10.処理ブジェクトO1は、転送後、ポートを閉じ(処
理F14)、自分自身の削除を行い(処理F15)、処
理を終了する。 11. サーバマシンS1のオブジェクトローダL2は、接
続が切れた(処理F19)後 、受信したバイトデータ
をデコードし、処理オブジェクトO1をインスタンス化
する(処理F20)。 12. サーバマシンS1上で生成された(図2の処理P
3)処理オブジェクトO2は、図2に示すように、 ス
レッドとして処理を開始する。 13. 再び、サーバマシンS1は起動元マシンではなく
(処理F1)、管理オブジェクトA、Fは取得していな
い(処理F5)ので、サーバマシンS1での取得処理を
開始する。 14. サーバマシンS1で管理オブジェクトを探し、条件
にあった管理オブジェクトAを取得する(処理F6)。 15. 次のサーバマシンのネットワークアドレスA2を取
得し(処理F7)、これによってサーバマシンS2のネ
ットワークアドレスが得られたので(処理F9)、移動
先はサーバマシンS2に決定される(処理F10)。 16. クライアントマシンC1からサーバマシンS1に移
動した時と同様にして、サーバマシンS2へ移動する
(図2の処理P5)。 17. 12〜16と同様にして、サーバマシンS2、S3
上、管理オブジェクトの取得処理と移動を繰り返し、
サーバマシンS3で管理オブジェクトFを取得し 、自
分の属性に記憶する(図2の処理P6、P7、P8、P
9)。 18. 処理オブジェクトO4がサーバマシンS3で管理オ
ブジェクトFを取得すると(処理F6)、処理条件を満
たすので(処理F7)、起動元マシンへ移動する。 19. 処理オブジェクトが移動してきたネットワークアド
レスを逆にたどるために、移動元マシンのネットワーク
アドレスを転送先に設定し(処理F11)、サーバマシ
ンS2に移動する(図3の処理P10)。 20. 7〜12と同じ処理を実行し、クライアントマシン
C1まで移動する(図3の処理P11、P12、P1
3、 P14)。ただし、管理オブジェクトの取得処理
は終了しているので、サーバマシン内で管理オブジェク
トの取得処理は行わず、移動のみ行う(処理F5)。 21.クライアントマシンC1内でインスタンス化された
(図5の処理P15)処理オブジェクトO8は、 処理
を実行しているマシンが起動元マシンと同一であること
をネットワークアドレスで判断し(処理F1)、また、
管理オブジェクトA、Fの取得処理も終了しているの
で、クライアントプロセスへ取得した管理オブジェクト
A、Fを引き渡す(処理P16)。 22. その後、処理オブジェクトO8は自身を削除、処理
を終了する。 23. このようにして、クライアントマシンC1で生成さ
れた処理オブジェクトがO1が、サーバマシン間を移動
してクライアントマシンC1の要求を実行し、管理オブ
ジェクトA、Fを取得し、クライアントマシンC1に情
報を提供するのである。Next, the operation of this embodiment will be described in detail with reference to FIGS. 1. First, it is assumed that an operation of the GUI control unit G1 of the client machine C1 in FIG. 2 causes a request to acquire the managed objects A and F held by a plurality of server machines. 2. Then, the client process of the client machine C1 generates a processing object O1 having a function of acquiring a management object (processing P1 in FIG. 2), and adds the management object A and the management object F to the processing object O1.
And the own network address A1 as the address of the activation source machine. The processing object O1 holds the given condition (A, F) and the network address A1 of the client machine C1 in its own attribute. 3. The processing object O1 operates as a thread in the process of the client machine C1 and moves to the server machine S1 (processing P2). The processing at this time will be described with reference to the flowcharts of FIGS. . 4. The processing object O1 determines whether the machine on which the processing object O1 is operating is the activation source machine based on the network address (processing F1 in FIG. 4). 5. Since the processing object O1 is operating on the activation source machine (client machine C1), it is determined whether the management object acquisition processing has been completed (processing F).
2). 6. Since the acquisition processing of the management objects A and F has not been completed yet, the transfer processing to the next server is started. 7. Currently running machine (client machine C)
From the process of 1), the address of the destination server machine
The server machine S1 is acquired, stored in its own attribute (process F10), the port of the server machine S1 is opened (process F12), and the process shifts to the process of the transfer destination machine. 8. As shown in FIG. 5, in the server machine S1, the object loader L2 opens a port (processing F1 in FIG. 5).
6) Monitor. Since there is a connection request from the processing object O1 on the client machine C1, connection is made (processing F17). 9. Processing The object O1 serializes (serializes) itself and transfers it to the server machine S1 as byte data (processing F13). Object loader L2
Receives the transferred byte data (process F1).
8). 10. After the transfer, the processing object O1 closes the port (processing F14), deletes itself (processing F15), and ends the processing. 11. After the connection is disconnected (process F19), the object loader L2 of the server machine S1 decodes the received byte data and instantiates the process object O1 (process F20). 12. Generated on server machine S1 (process P in FIG. 2)
3) The processing object O2 starts processing as a thread as shown in FIG. 13. Again, the server machine S1 is not the activation source machine (process F1), and the management objects A and F have not been obtained (process F5), so the server machine S1 starts the acquisition process. 14. The management object is searched for in the server machine S1, and the management object A that meets the condition is acquired (process F6). 15. The network address A2 of the next server machine is obtained (Process F7), and the network address of the server machine S2 is obtained (Process F9), so the destination is determined by the server machine S2 (Process F10). . 16. Move to the server machine S2 in the same manner as when moving from the client machine C1 to the server machine S1 (process P5 in FIG. 2). 17. Server machines S2 and S3 in the same manner as 12 to 16
Above, repeat the acquisition process and movement of the management object,
The management object F is acquired by the server machine S3 and stored in its own attribute (processing P6, P7, P8, P
9). 18. When the processing object O4 acquires the management object F on the server machine S3 (processing F6), the processing condition is satisfied (processing F7), and the processing object O4 moves to the activation source machine. 19. In order to reverse the network address to which the processing object has moved, the network address of the source machine is set as the transfer destination (processing F11), and the processing object is moved to the server machine S2 (processing P10 in FIG. 3). 20. Execute the same processing as in 7 to 12, and move to the client machine C1 (processing P11, P12, P1 in FIG. 3).
3, P14). However, since the management object acquisition processing has been completed, the management object acquisition processing is not performed in the server machine, and only the movement is performed (processing F5). 21. The process object O8 instantiated in the client machine C1 (process P15 in FIG. 5) determines from the network address that the machine executing the process is the same as the activation source machine (process F1), Also,
Since the process of acquiring the managed objects A and F has been completed, the acquired managed objects A and F are delivered to the client process (process P16). 22. Thereafter, the processing object O8 deletes itself and ends the processing. 23. In this way, the processing object O1 generated on the client machine C1 moves between the server machines, executes the request of the client machine C1, acquires the management objects A and F, and sends information to the client machine C1. It provides.
【0017】次に、本発明の応用例について説明する。
米産・マイクロシステムズが開発したオブジェクト指向
のプログラミング言語であるJavaで作成されたソフトの
内、ファイルに組み込まれてWebサーバからダウンロー
ドし、Webプラウザ上で実行される形態のものは、Java
アプレットと称される。Next, an application example of the present invention will be described.
Of the software written in Java, an object-oriented programming language developed by American Microsystems, software that is embedded in a file, downloaded from a web server, and executed on a web browser is Java
It is called an applet.
【0018】この Java アプレットにおいては、図6に
示すように、クライアントマシンC1がJava アプレッ
トをサーバマシンS1からダウンロードした場合(P1
7)、JavaアプレットA1はダウンロードしたサーバマ
シンS1としか通信ができない(P18、P19、P2
0)という動作上の制限がある。そのため、管理オブジ
ェクトを保持しているサーバマシンが分散している場合
には、アプレットをクライアントプロセスとした分散サ
ーバシステムは構築できない。もしくは、図9に示した
ように、アプレットをダウンロードしたサーバマシン上
のプロセスが、他のサーバにアクセスする特別な処理手
段を実装する必要がある。In this Java applet, as shown in FIG. 6, when the client machine C1 downloads the Java applet from the server machine S1 (P1
7), Java applet A1 can communicate only with downloaded server machine S1 (P18, P19, P2
0). Therefore, when the server machines holding the management objects are distributed, a distributed server system using an applet as a client process cannot be constructed. Alternatively, as shown in FIG. 9, the process on the server machine which has downloaded the applet needs to implement a special processing means for accessing another server.
【0019】しかし、本発明では、サーバマシンS1と
S2、S2とS3が通信可能であれば、処理オブジェク
トは サーバ間を移動することにより(処理P21、P
22)、全てのサーバの管理オブジェクトに アクセス
することが可能である。 このようなに、Java アプレ
ットをクライアントとするような、クライアントアプリ
ケーションの動作に制限のある場合において、この発明
を使用することにより、サーバマシンに特別な実装を行
うことなく、分散サーバ環境を構築することが可能とな
る。However, in the present invention, if the server machines S1 and S2 and S2 and S3 can communicate, the processing object moves between the servers (processing P21, P2).
22), it is possible to access the management objects of all servers. In the case where the operation of the client application is limited, such as a case where a Java applet is used as a client, the present invention is used to construct a distributed server environment without special implementation on a server machine. It becomes possible.
【0020】なお、以上に説明した実施例では、処理オ
ブジェクトが各サーバで実行する処理は、管理オブジェ
クトの取得であるが、処理オブジェクトが行う処理は、
これに限られず、例えば、DBアクセス等であってもよ
く、処理内容に制限はない。In the embodiment described above, the processing executed by each processing object in each server is acquisition of a management object, but the processing performed by the processing object is
The present invention is not limited to this, and may be, for example, DB access or the like, and there is no limitation on the processing content.
【0021】また、説明した実施例では、クライアント
プロセスとサーバプロセス自身がオブジェクトローダ部
を持っているが、オブジェクトを生成する機能をもっ
た、独立したプロセスとすることもできる。この場合に
は、 オブジェクトローダプロセスは、同じサーバマシ
ン上で動作する他プロセスとプロセス間通信を 行っ
て、必要な処理を行うことになる。Further, in the above-described embodiment, the client process and the server process themselves have the object loader unit, but may be independent processes having a function of generating an object. In this case, the object loader process performs necessary processing by performing inter-process communication with another process running on the same server machine.
【0022】さらに、説明した実施例では、コード移動
によってサーバを順に巡回する方式であったが、他サー
バへ複製の後、自分の消去を行わず、そのサーバで処理
を続けてもよい。 結果として、全てのサーバ上で処理
オブジェクトが処理を実行することになるからである。
時間のかかる処理を行う場合には、全てのサーバで並列
に処理を行うことで、処理時間を減らすことができる。
または、全てのサーバで処理を続け、サーバプロセスの
障害監視等の作業を行うことができる。Further, in the above-described embodiment, the server is sequentially circulated by moving the code. However, after copying to another server, the server may continue processing without deleting the server itself. As a result, the processing object executes processing on all servers.
When performing time-consuming processing, processing time can be reduced by performing processing in parallel on all servers.
Alternatively, processing can be continued on all servers, and work such as failure monitoring of server processes can be performed.
【0023】さらに、以上の実施例では、サーバを3台
として説明しているが、勿論、サーバの数は任意の数n
であってよい。Further, in the above embodiment, three servers are described. However, the number of servers may be any number n.
It may be.
【0024】[0024]
【発明の効果】本発明の第1の効果は、クライアントマ
シンとサーバマシン、およびネットワークを構成する設
備の設定を簡素化する ことができるということであ
る。この点を実施例により具体的に説明する。図1にお
いて、クライアントマシンC1が直接通信するサーバマ
シンはS1のみであり、S1以外のサーバマシンS2、
S3の存在を知る必要がないため、クライアントマシン
C1にはサーバマシンS2、S3のネットワーク アド
レスを設定する必要がなく、また、サーバマシンS2、
S3にはクライアントマシンC1のネットワーク アド
レスを設定する必要がない。 また、図4のように、サ
ーバマシンS4がシステムに追加され、サーバマシンS
4が管理情報を保持していた場合にも、ネットワーク設
定の必要があるマシンはサーバマシンS3のみでよく、
システムとしてネットワークの設定を簡素化することが
できる。さらに、クライアントマシンC1は、サーバマ
シンS1とのみ通信が可能であれば、全てのサーバの情
報にアクセスできるため、例えばクライアントマシンC
1とサーバマシンS3が直接通信を行うことが不可能が
場合にも、問題なく処理をおこなうことが可能である。The first effect of the present invention is that the setting of the client machine and the server machine and the equipment constituting the network can be simplified. This point will be specifically described with reference to examples. In FIG. 1, the server machine with which the client machine C1 directly communicates is only S1, and the server machines S2 other than S1
Since there is no need to know the existence of S3, it is not necessary to set the network addresses of the server machines S2 and S3 in the client machine C1.
There is no need to set the network address of the client machine C1 in S3. Further, as shown in FIG. 4, a server machine S4 is added to the system,
4 also holds the management information, only the server machine S3 needs to set the network,
Network settings can be simplified as a system. Furthermore, if the client machine C1 can communicate only with the server machine S1, the client machine C1 can access information of all servers.
Even if it is not possible to directly communicate with the server machine S3, the processing can be performed without any problem.
【0025】また、第2の効果は、全てのサーバ上のプ
ログラムは同一のものを使用することができ、さらに、
特定のサーバに特別な負荷をかけることなく、分散サー
バ環境を構築することができるということである。これ
は、全てのサーバプロセスから情報を取得するのは、そ
のサーバに生成された処理オブジェクトであり、マスタ
サーバのように位置づけられる特定のサーバプロセス
が、他サーバマシンと通信を行うために特別な処理と設
定を行う必要がないからである。The second effect is that the programs on all servers can use the same program.
This means that a distributed server environment can be constructed without imposing a special load on a specific server. It is the processing object created on that server that obtains information from all server processes, and a specific server process, which is positioned as a master server, has special information to communicate with other server machines. This is because there is no need to perform processing and settings.
【図1】 本発明のクライアント・分散サーバシステム
の概略図。FIG. 1 is a schematic diagram of a client / distribution server system of the present invention.
【図2】 本発明のクライアント・分散サーバシステム
において、クライアントマシンで発生した処理オブジェ
クトが管理オブジェクトを取得するためにサーバマシン
上を移動していく様子を示す図。FIG. 2 is a diagram showing a state in which a processing object generated on a client machine moves on a server machine to acquire a management object in the client / distributed server system of the present invention.
【図3】 本発明のクライアント・分散サーバシステム
において、目的の管理オブジェクトを取得した処理オブ
ジェクトが起動元のクライアントマシンに向けサーバマ
シンを移動していく様子を示す図。FIG. 3 is a diagram showing a state in which a processing object that has acquired a target management object moves a server machine toward a client machine of an activation source in the client / distributed server system of the present invention.
【図4】 本発明における処理オブジェクト起動元のマ
シンの動作フローチャート。FIG. 4 is an operation flowchart of a processing object starting machine according to the present invention.
【図5】 本発明における処理オブジェクト転送先のマ
シンの動作フローチャート。FIG. 5 is an operation flowchart of a processing object transfer destination machine according to the present invention.
【図6】 本発明の応用例を説明するための図。FIG. 6 is a diagram illustrating an application example of the present invention.
【図7】 一般のクライアント・分散サーバシステムの
構成図。FIG. 7 is a configuration diagram of a general client / distribution server system.
【図8】 従来のクライアント・分散サーバシステムに
おけるクライアントマシンからサーバマシンへのアクセ
スの例を示す図。FIG. 8 is a diagram showing an example of access from a client machine to a server machine in a conventional client / distributed server system.
【図9】 従来のクライアント・分散サーバシステムに
おけるクライアントマシンからサーバマシンへのアクセ
スの他の例を示す図。FIG. 9 is a diagram showing another example of access from a client machine to a server machine in a conventional client / distributed server system.
A,B,C,.D,E,F 管理オブジェクト A1,A2,A3,A4 ネットワークアドレス C1,C2,C3 クライアントマシン G1 GUI制御部 L1,L2,L3,L4 オブジェクトローダ N1,N2.N3 ネットワーク O1,O2,O3,O4 処理オブジェクト R1,R2 ルータ S1,S2,S3,S4 サーバマシン A, B, C,. D, E, F Management objects A1, A2, A3, A4 Network address C1, C2, C3 Client machine G1 GUI control unit L1, L2, L3, L4 Object loader N1, N2. N3 network O1, O2, O3, O4 processing object R1, R2 router S1, S2, S3, S4 server machine
Claims (7)
がネットワークを介して分散配置されたクライアント・
分散サーバシステムにおいて、 クライアントマシンで生成されたサーバマシンへの処理
要求を伴う処理オブジェクトが、分散したサーバマシン
を自律的に次々に移動して処理を行うことにより、クラ
イアントマシンとサーバマシン間の通信は隣接したマシ
ン間のみとなるようにしたことを特徴とするクライアン
ト・分散サーバシステム。A client / server in which a plurality of client machines and server machines are distributed via a network.
In a distributed server system, communication between a client machine and a server machine is performed by a processing object accompanying a processing request to the server machine generated by the client machine autonomously moving the distributed server machines one after another to perform processing. Is a client / distribution server system characterized in that it is only between adjacent machines.
がネットワークを介して分散配置されたクライアント・
分散サーバシステムにおいて、 前記クライアントマシン上では、GUIを管理するGU
I制御部と、他マシンからの処理オブジェクトの転送要
求を受けるとデータを受信して処理オブジェクトをイン
スタンス化するオブジェクトローダと、通信を行うサー
バマシンのネットワークアドレスとを有するクライアン
トプロセスが動作し、 また、前記サーバマシン上では、該クライアント・分散
サーバシステムが管理する情報を持つ管理オブジェクト
と、他マシンからの処理オブジェクトの転送要求を受け
るとデータを受信して処理オブジェクトをインスタンス
化するオブジェクトローダと、次のサーバマシンのネッ
トワークアドレスとを有するサーバプロセスが動作し、 前記GUI制御部の操作により前記管理オブジェクトの
取得要求が発生すると、当該クライアントプロセスは該
管理オブジェクトの取得機能を持つ処理オブジェクトを
生成し、 該処理オブジェクトは、前記ネットワークアドレスに従
って、かつ前記オブジェクトローダによるインスタンス
化を受けながらサーバマシンを次々に移動してスレッド
として動作し、前記管理オブジェクトを取得すると、逆
順にサーバマシンを移動して前記クライアントマシンに
帰還することを特徴とするクライアント・分散サーバマ
シンシステム。2. A client / server in which a plurality of client machines and server machines are distributed via a network.
In the distributed server system, a GUI for managing a GUI on the client machine
An I control unit, an object loader that receives data when receiving a transfer request for a processing object from another machine and instantiates the processing object, and a client process having a network address of a server machine that performs communication, and A management object having information managed by the client / distributed server system on the server machine, an object loader receiving data to receive a transfer request of a processing object from another machine and instantiating the processing object, When a server process having a network address of the next server machine is operated and a request to acquire the management object is generated by operating the GUI control unit, the client process executes a processing object having a function to acquire the management object. The processing object operates as a thread by sequentially moving server machines according to the network address and while being instantiated by the object loader, and operates as a thread. A client / distributed server machine system, which moves and returns to the client machine.
化し、バイトデータにしてサーバマシンに転送してポー
トを閉じた後に自分自身を削除し、 転送先のオブジェクトローダは、受信したバイトデータ
をデコードして処理オブジェクトをインスタンス化する
ことを特徴とする請求項1または請求項2記載のクライ
アント・分散サーバシステム。3. The processing object serializes itself, transfers the converted byte data to a server machine, closes a port, deletes itself, and the transfer destination object loader decodes the received byte data. 3. The client / distribution server system according to claim 1, wherein the processing object is instantiated by performing the processing.
実行する処理は、前記管理オブジェクトの取得に代わっ
て、データベースアクセスであることを特徴とする請求
項1ないし請求項3のいずれかに記載のクライアント・
分散サーバシステム。4. The client according to claim 1, wherein the processing executed by the processing object on each server machine is a database access instead of acquiring the management object.・
Distributed server system.
トプロセスまたはサーバプロセスから分離して、オブジ
ェクトの生成機能を有する独立のプロセスとし、当該マ
シン上で動作する他のプロセスと通信するようにしたこ
とを特徴とする請求項2ないし請求項4のいずれかに記
載のクライアント・分散サーバシステム。5. The method according to claim 1, wherein the object loader is separated from the client process or the server process to be an independent process having a function of generating an object, and communicates with another process operating on the machine. 5. The client / distribution server system according to claim 2, wherein
サーバマシンの巡回に代わって、他サーバマシンへ複製
後に自分自身の消去を行わず、そのサーバマシンにおい
て所定の処理を行うことを特徴とする請求項1,請求項
2,請求項4または請求項5のいずれかに記載のクライ
アント・分散サーバシステム。6. The server machine according to claim 1, wherein, instead of traversing the server machine by moving the code of the processing object, the server machine does not delete itself after copying to another server machine, but performs a predetermined process in the server machine. A client / distribution server system according to any one of claims 1, 2, 4 and 5.
スとしたことを特徴とする請求項1,請求項5または請
求項6のいずれかに記載のクライアント・分散サーバシ
ステム。7. The client / distribution server system according to claim 1, wherein a Java applet is used as the client process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10371821A JP2000194670A (en) | 1998-12-28 | 1998-12-28 | Client and distributed server system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10371821A JP2000194670A (en) | 1998-12-28 | 1998-12-28 | Client and distributed server system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000194670A true JP2000194670A (en) | 2000-07-14 |
Family
ID=18499368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10371821A Pending JP2000194670A (en) | 1998-12-28 | 1998-12-28 | Client and distributed server system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000194670A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543050B2 (en) | 2001-08-27 | 2009-06-02 | Brother Kogyo Kabushiki Kaisha | Network terminal with a plurality of internal web servers |
-
1998
- 1998-12-28 JP JP10371821A patent/JP2000194670A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543050B2 (en) | 2001-08-27 | 2009-06-02 | Brother Kogyo Kabushiki Kaisha | Network terminal with a plurality of internal web servers |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113196237B (en) | Container migration in a computing system | |
CN111324571B (en) | Container cluster management method, device and system | |
KR100861738B1 (en) | Method and system for a grid-enabled virtual machine with movable objects | |
US6490255B1 (en) | Network management system | |
US7747754B2 (en) | Transparent migration of stateless sessions across servers | |
CN110489126B (en) | Compiling task execution method and device, storage medium and electronic device | |
US11271827B2 (en) | Network service life cycle management grant method and apparatus | |
US6714949B1 (en) | Dynamic file system configurations | |
US8788668B2 (en) | Information processing apparatus, information processing system, setting program transmission method and server setting program | |
US8495352B2 (en) | System and method for instantiation of distributed applications from disk snapshots | |
US9015308B2 (en) | Multilayer distributed processing system | |
JPH1083308A (en) | Subsystem, method, and recording medium for stab retrieval and loading | |
US20050135384A1 (en) | Virtual endpoint | |
US8893272B2 (en) | Method and device for recombining runtime instruction | |
US6832223B1 (en) | Method and system for facilitating access to a lookup service | |
US10845997B2 (en) | Job manager for deploying a bundled application | |
US20020046228A1 (en) | Method and system for facilitating access to a lookup service | |
JP2002505553A (en) | Diversity token based control | |
US11630697B2 (en) | System and method of dynamic context workflow automation | |
JP4870794B2 (en) | Virtual machine monitoring management apparatus, monitoring management method, and computer program | |
US7953776B2 (en) | Discovery directives | |
JP2002505474A (en) | Method and system for facilitating access to a lookup service | |
JP2000194670A (en) | Client and distributed server system | |
US6308226B1 (en) | Communication method and system for objects movable in network | |
JP3930404B2 (en) | Autonomous distributed system and communication method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030121 |