JPH05334266A - Processor for server/client model - Google Patents

Processor for server/client model

Info

Publication number
JPH05334266A
JPH05334266A JP4140269A JP14026992A JPH05334266A JP H05334266 A JPH05334266 A JP H05334266A JP 4140269 A JP4140269 A JP 4140269A JP 14026992 A JP14026992 A JP 14026992A JP H05334266 A JPH05334266 A JP H05334266A
Authority
JP
Japan
Prior art keywords
server
client
cell
information
processing means
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.)
Withdrawn
Application number
JP4140269A
Other languages
Japanese (ja)
Inventor
Yukiyoshi Kurita
享佳 栗田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4140269A priority Critical patent/JPH05334266A/en
Publication of JPH05334266A publication Critical patent/JPH05334266A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To attain a data sharing between a server and a client which fulfills a fault resistance and speed up of a processing, in the processor of a server/ client model in the system of a multiprocessor constitution. CONSTITUTION:To a request from a client 12, a cell to be assigned to the cilent 12 is secured in a nonvolatile shared memory 17 by a cell assignment processing means 14 of a server 11, and an identifier in the system is set in the area. A cell access processing means 16 of a kernel 13 allows only the valid client 12 to which the cell is assigned to perform an access to the cell, based on the identifier set in the cell. An communication information setting processing means 15 of the client 12 sets communication information to the server 1 through the cell access processing means 16 provided at the kernel 13 at the cell in the shared memory 17.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は,サーバとクライアント
間において耐故障性を兼ね備えた効率的なデータ共有を
可能とするサーバ・クライアントモデルの処理装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a server / client model processor which enables efficient data sharing with fault tolerance between a server and a client.

【0002】サーバ・クライアントモデルのシステムで
は,特定の処理機能を提供するサーバに対し,クライア
ントがメッセージ通信などにより処理を要求する。その
メッセージ通信のオーバヘッドをできるだけ少なくする
とともに,障害時にもその処理要求に関するデータ等の
資源の一貫性を保証できるようにする必要がある。
In a server / client model system, a client requests a server that provides a specific processing function for processing by message communication or the like. It is necessary to reduce the overhead of the message communication as much as possible and to ensure the consistency of resources such as data related to the processing request even when there is a failure.

【0003】[0003]

【従来の技術】マルチプロセッサ構成のサーバ・クライ
アントモデルに基づくシステムでは,メッセージ通信に
より各種の情報伝達を行い,クライアント空間とサーバ
空間とで情報を共有している。このようなサーバ・クラ
イアントモデルに基づくシステムとして,例えば以下の
文献に記載されているものがある。
2. Description of the Related Art In a system based on a server / client model having a multiprocessor configuration, various kinds of information are transmitted by message communication, and information is shared between a client space and a server space. As a system based on such a server / client model, there is one described in the following documents, for example.

【0004】参考文献:日経エレクトロニクス199
1.2.18,no.520,村松他,「システムを止
めずに保守・運用が可能なOSを開発」 従来,このようなシステムにおいて,サーバとクライア
ント間で情報を共有する場合,メッセージ通信で情報の
引き渡しを行うか,または外部記憶装置等に設けたファ
イルを共有することによって,情報の共有を行ってい
た。
Reference: Nikkei Electronics 199
1.2.18, no. 520, Muramatsu et al., “Developing an OS that can be maintained and operated without stopping the system.” In the past, when sharing information between a server and a client in such a system, whether information is delivered by message communication, Alternatively, information is shared by sharing a file provided in an external storage device or the like.

【0005】なお,サーバとクライアント間で情報の共
有が必要な処理としては,クライアント側の処理異常な
どに対し,サーバがクライアントの処理状態を継続し,
データなどの資源の一貫性を保証する必要がある処理,
例えばトランザクション処理などが挙げられる。
As a process requiring sharing of information between the server and the client, the server keeps the processing state of the client in response to a process error on the client side,
Processes that need to guarantee the consistency of resources such as data,
Examples include transaction processing.

【0006】[0006]

【発明が解決しようとする課題】サーバ・クライアント
モデルのシステムにおいて,サーバとクライアント間で
情報を共有する場合,メッセージ通信やファイルを共有
する方式が用いられているが,耐故障性または処理の高
速性のいずれかが阻害されるという問題があった。以下
にその問題点を具体的に説明する。
In a server / client model system, when information is shared between a server and a client, message communication and file sharing are used. However, fault tolerance or high processing speed is used. There was a problem that one of them was blocked. The problem will be specifically described below.

【0007】メッセージ通信によって,クライアント側
の情報をサーバ側で共有する必要がある場合には,クラ
イアント側の情報が変化するたびに,サーバ側へのメッ
セージ通信が必要になる。一方,クライアントとサーバ
間のメッセージ通信では,情報が正しく伝わる必要があ
るため,必ず同期をとらなければならない。したがっ
て,頻繁にクライアント側の情報が変化する場合には,
多量のメッセージ通信が行われることになり,メッセー
ジ通信のオーバヘッドが大きくなって,処理高速化の妨
げとなる。
When it is necessary to share information on the client side on the server side by message communication, message communication to the server side is required every time the information on the client side changes. On the other hand, in message communication between the client and server, it is necessary to synchronize because information must be transmitted correctly. Therefore, if the information on the client side changes frequently,
Since a large amount of message communication is performed, the overhead of message communication becomes large, which hinders speeding up of processing.

【0008】そこで,メッセージ通信を減らし,なおか
つ,サーバとクライアントで情報を共有する方式とし
て,主記憶上のメモリ領域を共有して使うことが考えら
れる。この方式は,サーバとクライアントとで同じメモ
リ領域をアクセス可能とすることにより,情報を共有化
するものである。しかし,この方式では,共有できる範
囲が,同じ主記憶を共有できる一つのプロセッサモジュ
ール内に限られ,サーバとクライアントとが異なるプロ
セッサモジュールに存在する場合には,情報を共有する
ことができない。また,プロセッサモジュールに障害が
発生した場合には,主記憶の内容も失われるため,耐故
障性を実現することができないという問題がある。
Therefore, as a method of reducing message communication and sharing information between the server and the client, it is conceivable to share and use the memory area on the main memory. This method shares information by allowing the same memory area to be accessed by the server and the client. However, in this method, the range that can be shared is limited to one processor module that can share the same main memory, and information cannot be shared when the server and the client are in different processor modules. Further, when a failure occurs in the processor module, the contents of the main memory are also lost, so that there is a problem that the fault tolerance cannot be realized.

【0009】耐故障性を考えた場合には,主記憶上のメ
モリは,揮発性のため十分ではない。そこで,障害にな
っても情報が失われない不揮発性のものとして,ファイ
ルを情報の共有に使用することが考えられる。ファイル
を利用すれば,同じファイルを参照できる範囲で,サー
バとクライアントとを異なるプロセッサモジュールに配
置することができる。また,クライアントが存在するプ
ロセッサモジュールがダウンしても,サーバがファイル
をアクセスすることができるので,情報が失われずに処
理を継続することができる。なお,ここでのファイルの
アクセスは,特定のプロセッサモジュールに限定され
ず,複数のプロセッサモジュールから同等にアクセスで
きることを前提としている。
Considering the fault tolerance, the memory on the main memory is not sufficient because it is volatile. Therefore, it is conceivable to use the file for information sharing as a non-volatile one in which information is not lost even if a failure occurs. By using files, the server and client can be placed in different processor modules as long as the same file can be referenced. Further, even if the processor module in which the client is present goes down, the server can access the file, so that the processing can be continued without loss of information. The file access here is not limited to a specific processor module, and it is premised that a plurality of processor modules can equally access the file.

【0010】しかし,このようなファイルを使用したサ
ーバとクライアントでの情報の共有方法では,耐故障性
は実現できるものの,クライアント側の情報が変化する
たびに,ファイルへのアクセスが必要となり,メッセー
ジ通信にも増してオーバヘッドが大きくなるという問題
がある。
However, in the method of sharing information between the server and the client using such a file, although the fault tolerance can be realized, it is necessary to access the file every time the information on the client side changes, and the message communication is performed. In addition, there is a problem that the overhead becomes large.

【0011】本発明は上記問題点の解決を図り,耐故障
性および処理の高速化の両方の要件を満足するデータの
共有方式を提供することを目的としている。
It is an object of the present invention to solve the above problems and to provide a data sharing system which satisfies both requirements of fault tolerance and high speed processing.

【0012】[0012]

【課題を解決するための手段】図1は,本発明の原理説
明図である。図1において,10−1ないし10−nは
各々1または複数のCPUとローカルメモリとを備えた
プロセッサモジュール,11は特定の処理機能を提供す
るサーバ,12−1,12−2はサーバ11に対し処理
を要求するプロセスであるクライアント,13は各プロ
セッサモジュールに分散して配置されるオペレーティン
グ・システムのカーネル,14はセル割当て処理手段,
15−1,15−2は通知情報設定処理手段,16−1
ないし16−nはセルアクセス処理手段,17は各プロ
セッサモジュールからアクセス可能な不揮発性の共用メ
モリ(SSU),18はサーバ獲得領域を表す。
FIG. 1 is a diagram for explaining the principle of the present invention. In FIG. 1, 10-1 to 10-n are processor modules each having one or more CPUs and a local memory, 11 is a server that provides a specific processing function, and 12-1 and 12-2 are servers 11. A client, which is a process requesting processing, 13 is a kernel of an operating system distributed and arranged in each processor module, 14 is a cell allocation processing means,
15-1 and 15-2 are notification information setting processing means, 16-1
1 to 16-n are cell access processing means, 17 is a non-volatile shared memory (SSU) accessible from each processor module, and 18 is a server acquisition area.

【0013】サーバ11内に,セル割当て処理手段14
を設ける。セル割当て処理手段14はクライアント12
−1,…からの要求に対して,共用メモリ17内にあら
かじめ獲得したサーバ獲得領域18から,そのクライア
ント12−1,…に割り当てる領域(以下,セルとい
う)を確保し,システム内で一意の識別子をその領域内
に設定する処理手段である。
Cell allocation processing means 14 is provided in the server 11.
To provide. The cell allocation processing means 14 is the client 12
In response to a request from -1, ..., an area (hereinafter referred to as a cell) to be allocated to the client 12-1, ... Is secured from the server acquisition area 18 acquired in advance in the shared memory 17, and is unique in the system. It is a processing means for setting an identifier in the area.

【0014】また,カーネル13内に,セルアクセス処
理手段16−1,…を設ける。セルアクセス処理手段1
6−1は,サーバ獲得領域18のセル内に設定された識
別子を基に,そのセルが割り当てられた正当なクライア
ント12−1,…にのみ,そのセルへのアクセスを許す
アクセス機能を提供する処理手段である。
Further, cell access processing means 16-1, ... Are provided in the kernel 13. Cell access processing means 1
Based on the identifier set in the cell of the server acquisition area 18, 6-1 provides an access function that permits access to the cell only to the legitimate clients 12-1, ... To which the cell is assigned. It is a processing means.

【0015】クライアント12−1,…内に,通知情報
設定処理手段15−1,…を設ける。通知情報設定処理
手段15−1,…は,カーネル13が提供するセルアク
セス処理手段16−1,…を介して,サーバ11への通
知情報を共用メモリ17内のセルに設定する処理手段で
ある。
Notification information setting processing means 15-1, ... Are provided in the clients 12-1 ,. The notification information setting processing means 15-1, ... Is processing means for setting the notification information to the server 11 in the cell in the shared memory 17 via the cell access processing means 16-1, provided by the kernel 13. ..

【0016】[0016]

【作用】図2は,本発明の作用説明図である。本発明
は,従来,サーバ11の耐故障性のためだけに使用して
いた不揮発性の共用メモリ17を,サーバ・クライアン
ト間の情報共有に応用することにより,処理の高速化と
耐故障性の両立という新たなニーズを実現するものであ
る。
2 is an explanatory view of the operation of the present invention. According to the present invention, the non-volatile shared memory 17, which has been used only for the fault tolerance of the server 11 in the past, is applied to the information sharing between the server and the client, thereby achieving both high speed processing and fault tolerance. It will meet new needs.

【0017】各クライアント12−1,…からサーバ1
1に対し,頻繁に変化するような何らかの情報を伝達す
る場合,クライアント12−1,…からサーバ11に対
し,共用メモリ17内の領域を要求する。
From each client 12-1, ... To the server 1
When transmitting some information that frequently changes to 1, the client 12-1, ... Requests the server 11 for an area in the shared memory 17.

【0018】サーバ11は,共用メモリ17内にあらか
じめサーバ獲得領域18を獲得しておき,その中を区分
してセル(CELL1〜CELLk)として管理してい
る。クライアント12−1,…からの要求に対し,1つ
のセルを確保し,そのセル内にシステムで一意の識別子
を設定する。
The server 11 acquires the server acquisition area 18 in the shared memory 17 in advance, and divides it into the cells (CELL1 to CELLk) for management. One cell is reserved for a request from the client 12-1, ... And a unique identifier is set in the system in the cell.

【0019】以後,クライアント12−1,…は,図2
に示すように,セルアクセス処理手段16を介して,サ
ーバ獲得領域18内のセルに情報を書き込むことができ
る。すなわち,図2に示すように,サーバ11と各クラ
イアント12間で,データを共有するイメージとなる。
Thereafter, the clients 12-1, ...
As shown in, information can be written in the cell in the server acquisition area 18 via the cell access processing means 16. That is, as shown in FIG. 2, the image is shared between the server 11 and each client 12.

【0020】クライアント12−1,…からサーバ11
への情報の伝達は,割当てられたセルに情報を書き込む
だけでよいので,頻繁に情報が変化する場合であって
も,オーバヘッドは少ない。また,共用メモリ17は不
揮発性であるので,クライアント12−1等のクラッシ
ュ時にも,情報が失われることはない。さらにまた,セ
ルに設定された識別子によって,サーバ獲得領域18へ
のアクセス可否のチェックが行われるので,クライアン
ト12間のセキュリティも保証される。
From client 12-1, ... To server 11
Since information needs to be written in the allocated cells only, the overhead is small even when the information changes frequently. Further, since the shared memory 17 is non-volatile, information is not lost even when the client 12-1 or the like crashes. Furthermore, since the access permission to the server acquisition area 18 is checked by the identifier set in the cell, the security between the clients 12 is also guaranteed.

【0021】すなわち,サーバ獲得領域18はサーバ1
1とカーネル13からだけアクセスできる。そして,ク
ライアント12はカーネル13経由でしかアクセスでき
ないのでセキュリティの保証が可能になる。カーネル1
3はクライアント12が変えることのできないクライア
ント12に対して持つカーネル情報を元にチェックする
ので改竄することもできない。
That is, the server acquisition area 18 is the server 1
Only 1 and kernel 13 can access it. Since the client 12 can access only via the kernel 13, security can be guaranteed. Kernel 1
No. 3 cannot be tampered with because it checks based on the kernel information held by the client 12 that the client 12 cannot change.

【0022】なお,サーバ11は,サーバ獲得領域18
に対して,セルアクセス処理手段16を介することな
く,ダイレクトにアクセス可能である。
The server 11 has a server acquisition area 18
Can be directly accessed without going through the cell access processing means 16.

【0023】[0023]

【実施例】図3は,本発明の実施例説明図である。以
下,トランザクションの状態を管理するサーバ11の例
により,本発明の実施例を説明する。大きな処理の流れ
としては,図3に示す(a) 〜(f) のようになる。
FIG. 3 is an explanatory view of an embodiment of the present invention. Hereinafter, an embodiment of the present invention will be described with reference to an example of the server 11 that manages a transaction state. A large processing flow is as shown in (a) to (f) of FIG.

【0024】(a) サーバ空間の初期化 (b) クライアント12によるトランザクション機能の使
用開始宣言 (c) サーバ11による共用メモリ(SSU)セルの割当
て (d) クライアント12によるトランザクションの開始と
状態の変更 (e) クライアント12のクラッシュまたはトランザクシ
ョン機能の終了 (f) サーバ11による一貫性の保証およびSSUセルの
解放 以下,この全体の処理の流れについて,詳細に説明す
る。 (a) サーバ空間の初期化 サーバ11は,初期設定時に,共用メモリ17内に
所定の大きさのサーバ獲得領域18を獲得する。この領
域をセルに区分し,空き管理用ビットマップ32を作成
して,全セルを空き状態に設定する。
(A) Initialization of server space (b) Declaration of start of use of transaction function by client 12 (c) Allocation of shared memory (SSU) cell by server 11 (d) Start of transaction by client 12 and change of state (e) Crash of client 12 or end of transaction function (f) Guarantee of consistency by server 11 and release of SSU cell Hereinafter, the entire processing flow will be described in detail. (a) Initialization of server space The server 11 acquires a server acquisition area 18 of a predetermined size in the shared memory 17 at the time of initialization. This area is divided into cells, a free space management bitmap 32 is created, and all the cells are set to the free space.

【0025】 処理要求等のメッセージを受け取るた
めのメールボックス30を作成する。 メールボックス30の宛先登録により,任意の空間
からメッセージを受け取ることができるように,メール
ボックス30の宛先を公開する。
A mailbox 30 for receiving a message such as a processing request is created. By registering the destination of the mailbox 30, the destination of the mailbox 30 is made public so that a message can be received from any space.

【0026】 処理要求に関するメッセージの受信を
待つ。 (b) クライアント12によるトランザクション機能の使
用開始宣言 サーバ11の提供するトランザクション機能の使用
開始宣言機構を呼び出す。通常,サービス性の向上など
のために,クライアント12とサーバ11とのメッセー
ジインタフェースは,サーバ11の提供する関数の中に
隠蔽される。
Wait for receipt of a message regarding a processing request. (b) Declaration of start of use of transaction function by client 12 Invoke use start declaration mechanism of transaction function provided by the server 11. Normally, the message interface between the client 12 and the server 11 is hidden in the function provided by the server 11 in order to improve serviceability.

【0027】 サーバ空間の宛先を獲得する。 サーバ空間へのメッセージ送信を行う。 そして,サーバ空間からの返信メッセージを待つ。Acquire a destination in the server space. Sends a message to the server space. Then, it waits for a reply message from the server space.

【0028】 クライアント12は,サーバ11から
の返信メッセージを受信すると,カーネル13に対し,
SSUセルの初期化を依頼し,アクセス環境を作成す
る。 サーバ11の提供するトランザクション機能の使用
開始宣言機構から復帰する。 (c) サーバ11による共用メモリ(SSU)セルの割当
て サーバ11は,処理要求のメッセージを受信したな
らば,その内容を解析する。トランザクション機能の使
用開始宣言であれば,以下の処理を行う。
When the client 12 receives the reply message from the server 11,
Request the initialization of the SSU cell and create the access environment. It returns from the use start declaration mechanism of the transaction function provided by the server 11. (c) Shared memory (SSU) cell allocation by the server 11 When the server 11 receives a processing request message, the server 11 analyzes the content of the message. If the transaction function usage declaration is made, the following processing is performed.

【0029】 空き管理用ビットマップ32により,
空きのSSUセルを検索する。空きのSSUセルが見つ
かったならば,空き管理用ビットマップ32における該
当ビットを使用中にセットし,そのビットの位置をセル
番号とする。
With the free space management bitmap 32,
Search for free SSU cells. When an empty SSU cell is found, the corresponding bit in the empty management bitmap 32 is set to be in use, and the position of that bit is set as the cell number.

【0030】 割当てたSSUセルなどの情報をケー
パビリティとして登録する。これにより,クライアント
12に対してケーパビリティの発行が可能となる。この
情報は,オブジェクト情報31として管理される。
Information such as the allocated SSU cell is registered as a capability. As a result, the capability can be issued to the client 12. This information is managed as object information 31.

【0031】 クライアント12に対し,獲得したS
SUセルのセル番号とケーパビリティを,返信メッセー
ジに載せて通知する。クライアント12は,以降,この
ケーパビリティを使って,サーバ11と通信することが
可能となる。サーバ11は,ケーパビリティを使って送
られたメッセージを受信した場合には,該当するケーパ
ビリティ情報を取り出すことが可能となる。また,クラ
イアント空間がクラッシュした場合には,カーネル13
のクラッシュ検出機構によるサービスにより,クラッシ
ュした空間に発行したケーパビリティの宛先にその旨通
知される。 (d) クライアント12によるトランザクションの開始と
状態の変更 トランザクション開始機構を呼び出す。
S for the client 12
The cell number and capabilities of the SU cell are reported in a reply message. After that, the client 12 can use this capability to communicate with the server 11. When the server 11 receives the message sent by using the capability, the server 11 can retrieve the corresponding capability information. If the client space crashes, the kernel 13
By the service of the crash detection mechanism of, the destination of the capability issued to the crashed space is notified to that effect. (d) Start transaction and change state by client 12 Call the transaction start mechanism.

【0032】 カーネル13のアクセス機構を利用
し,共用メモリ17にトランザクションを開始した旨の
情報を記録する。 トランザクション遂行のための資源へのアクセスを
行う。 (e) クライアント12のクラッシュまたはトランザクシ
ョン機能の終了 トランザクションの終了機構を呼び出す。
Information indicating that a transaction is started is recorded in the shared memory 17 using the access mechanism of the kernel 13. Access to resources for transaction execution. (e) Crash of client 12 or termination of transaction function Calls the transaction termination mechanism.

【0033】 共用メモリ17へプリペア開始状態を
記録する。 資源をプリペア状態に変更する。 共用メモリ17へコミット開始状態を記録する。
The prepare start state is recorded in the shared memory 17. Change the resource to the prepare state. The commit start state is recorded in the shared memory 17.

【0034】 資源をコミット状態に変更する。 共用メモリ17にトランザクション終了状態を記録
する。 サーバ11に対し,ケーパビリティを使って返却す
る旨のメッセージを送信する。なお,上記(b) の処理
以降でクライアント空間がクラッシュした場合には,カ
ーネル13により,自動的にこの処理が代行される。
なお,これらの処理については,従来技術と同様である
ので,これ以上のさらに詳しい説明は省略する。 (f) サーバ11による一貫性の保証およびSSUセルの
解放 サーバ11は,ケーパビリティを宛先とした返却メ
ッセージを受信する。
Change the resource to the commit state. The transaction end state is recorded in the shared memory 17. A message to the effect that it will be returned using the capability is sent to the server 11. If the client space crashes after the above process (b), the kernel 13 automatically performs this process.
Since these processes are the same as those in the conventional technique, further detailed description will be omitted. (f) Guarantee of consistency by the server 11 and release of SSU cell The server 11 receives the return message addressed to the capability.

【0035】 オブジェクト情報31のケーパビリテ
ィ情報を参照し,SSUセル番号を取り出す。 SSUセルの情報を参照し,トランザクション終了
状態になっていないことを検出した場合には,一貫性を
保証するための資源状態のREDO/UNDO処理を行
う。すなわち,データが中途半端な状態にならないよう
に,資源に対する処理を完遂した状態にする処理または
処理前の状態に戻す処理を行う。
The SSU cell number is extracted by referring to the capability information of the object information 31. When it is detected that the transaction is not in the end state by referring to the information in the SSU cell, the REDO / UNDO process of the resource state for guaranteeing the consistency is performed. That is, a process of completing the process for the resource or a process of returning to the state before the process is performed so that the data does not become halfway.

【0036】 クライアント12に対して発行したケ
ーパビリティ情報を削除する。以降,該当するケーパビ
リティは不当となり,使用することはできなくなる。 SSUセルを解放する。
The capability information issued to the client 12 is deleted. After that, the corresponding capability becomes invalid and cannot be used. Release the SSU cell.

【0037】以上の処理によって,クライアント12と
サーバ11間でトランザクションの状態に関する情報を
共有することができ,クライアント12がクラッシュし
た場合にも,資源の一貫性を保証することができるよう
になる。
By the above processing, the information on the transaction status can be shared between the client 12 and the server 11, and even if the client 12 crashes, the consistency of resources can be guaranteed.

【0038】図4は,上記処理におけるサーバ11によ
るセルの割当て処理フローチャートである。サーバ11
は,セルを割当てるとき,以下の処理を行う。 (1) サーバ空間の初期化を終了したならば,処理要求に
係る受信メッセージを待つ。
FIG. 4 is a flow chart of cell allocation processing by the server 11 in the above processing. Server 11
Performs the following processing when allocating cells. (1) After completing the initialization of the server space, wait for the received message related to the processing request.

【0039】(2) メッセージを受信したならば,メッセ
ージが正当であるか否かを判定する。メッセージの正当
性は,例えばメッセージ中の特定のフィールドに設定さ
れたデータ(合言葉)が一致するか否かによって判断す
る。その特定のフィールドにあらかじめクライアント1
2とサーバ11との間で取り決められた合言葉が設定さ
れていなければ,不当な要求であるのでエラーとして処
理する。
(2) When a message is received, it is determined whether the message is valid. The validity of a message is determined by, for example, whether or not the data (password) set in a specific field in the message match. Client 1 in advance in that particular field
If the secret word negotiated between the server 2 and the server 11 is not set, the request is an unreasonable request and is processed as an error.

【0040】(3) メッセージが正当であれば,図3に示
す空き管理用ビットマップ32によって,サーバ獲得領
域18内の空きセルを検索する。 (4) 空きのSSUセルが存在しなければ,エラーメッセ
ージを返信する。
(3) If the message is valid, a free cell in the server acquisition area 18 is searched by the free space management bitmap 32 shown in FIG. (4) If there is no empty SSU cell, return an error message.

【0041】(5) 空きのSSUセルがあったならば,要
求識別子(ID)を生成する。このIDは,システムで
一意に識別できるものであればよく,例えば,要求元ク
ライアントのプロセスIDを,要求IDとして利用する
ことができる。
(5) If there is an empty SSU cell, a request identifier (ID) is generated. This ID may be any ID that can be uniquely identified by the system, and for example, the process ID of the request source client can be used as the request ID.

【0042】(6) SSUセルへ要求IDを埋め込む。 (7) このセルに関するケーパビリティを生成し,オブジ
ェクト情報31を登録する。
(6) The request ID is embedded in the SSU cell. (7) Generate the capability for this cell and register the object information 31.

【0043】(8) 要求元へケーパビリティ,SSUセル
番号,要求ID等を通知するメッセージを返信し,処理
を終了する。図5は,上記処理におけるクライアント1
2によるセルの獲得処理フローチャートである。
(8) A message notifying the capability, SSU cell number, request ID, etc. is returned to the request source, and the process ends. FIG. 5 shows the client 1 in the above process.
6 is a flowchart of a cell acquisition process according to 2.

【0044】(1) SSUセルを獲得済みかどうかを判定
する。獲得済みであれば,処理を終了する。 (2) SSUセルを未獲得であれば,サーバ11へのメッ
セージの宛先を獲得する。
(1) It is determined whether the SSU cell has been acquired. If it has been acquired, the process ends. (2) If the SSU cell has not been acquired, the destination of the message to the server 11 is acquired.

【0045】(3) サーバ11へSSUセルの獲得を要求
するメッセージを送信する。 (4) 〜(5) カーネル13に対し,SSUセルの初期化を
依頼し,SSUセルへのアクセス環境を作成する。
(3) A message requesting acquisition of an SSU cell is sent to the server 11. (4) to (5) The kernel 13 is requested to initialize the SSU cell and an access environment to the SSU cell is created.

【0046】図6は,カーネル13によるセルアクセス
処理フローチャートであって,特に図6の(イ)は,ク
ライアント12からのSSUセルの初期化要求に対する
処理を示している。
FIG. 6 is a flow chart of the cell access process by the kernel 13. Particularly, FIG. 6A shows the process for the SSU cell initialization request from the client 12.

【0047】(1) 要求元クライアントのIDと,サーバ
11によってSSUセル内に埋め込まれたIDとを比較
する。 (2) 一致するIDがなければ,エラーであるので,その
まま処理を終了する。
(1) The ID of the requesting client is compared with the ID embedded in the SSU cell by the server 11. (2) If there is no matching ID, it is an error and the process is terminated.

【0048】(3) セルの領域内をクリアするなどの初期
化を行う。 (4) SSUのアクセス範囲,すなわちSSUにおけるセ
ルの位置情報を,アクセス範囲としてメモリ上の作業域
に記憶する。
(3) Initialization such as clearing the inside of the cell area is performed. (4) The access range of the SSU, that is, the cell position information in the SSU is stored in the work area on the memory as the access range.

【0049】図6の(ロ)は,クライアント12からの
SSUセルへの書き込み要求に対するカーネルの処理を
示している。 (1) 初期化時に作業域に記憶していたそのクライアント
12のアクセス範囲を取り出す。
FIG. 6B shows the processing of the kernel in response to the write request from the client 12 to the SSU cell. (1) The access range of the client 12 stored in the work area at the time of initialization is taken out.

【0050】(2) アクセス範囲が登録されていなかった
ならば,処理を終了する。 (3) アクセス範囲があったならば,該当部分を更新す
る。 図7は,カーネル13のクラッシュ検出機構によって,
クライアント12のクラッシュが通知されたときに,サ
ーバ11が行う一貫性保証およびセル解放の処理フロー
チャートである。
(2) If the access range is not registered, the process ends. (3) If there is an access range, update the relevant part. FIG. 7 shows the kernel 13 crash detection mechanism.
6 is a processing flowchart of consistency guarantee and cell release performed by the server 11 when the client 12 is notified of a crash.

【0051】(1) 〜(2) 受信メッセージを待っていると
きに,クラッシュ通知のメッセージを受信したならば,
登録しておいた図3に示すオブジェクト情報31を取り
出す。
(1)-(2) If a crash notification message is received while waiting for a received message,
The registered object information 31 shown in FIG. 3 is taken out.

【0052】(3) SSUセル番号をもとに,該当するS
SUセルにアクセスし,SSUセル内に,トランザクシ
ョン終了状態の情報が書き込まれているか否かを調べ
る。トランザクション終了状態であれば,処理(7) へ移
る。
(3) Based on the SSU cell number, the corresponding S
The SU cell is accessed to check whether or not the transaction end state information is written in the SSU cell. If it is in the transaction end status, move to processing (7).

【0053】(4) 〜(6) トランザクション終了状態でな
ければ,REDO処理が必要であるか否かによって,R
EDO処理またはUNDO処理を行う。すなわち,デー
タ等の資源に対する処理を完遂させた状態にするか,処
理前の状態にするかのいずれかの処理を行う。
(4) to (6) Depending on whether or not the REDO process is necessary, the R
Performs EDO processing or UNDO processing. That is, either the processing for the resource such as data is completed or the processing is performed before the processing.

【0054】(7) オブジェクト情報31を削除する。 (8) SSUセルを解放し,空きセルとする。 以上の処理によって,クライアント12のクラッシュ時
にも,サーバ11により,データの一貫性が保証され
る。
(7) The object information 31 is deleted. (8) Release the SSU cell to make it an empty cell. Through the above processing, the server 11 ensures the data consistency even when the client 12 crashes.

【0055】[0055]

【発明の効果】以上説明したように,本発明によれば,
サーバとクライアントとの情報の共有に,不揮発性の共
用メモリを使用することにより,高速かつ耐故障性を備
えたシステムを実現することが可能になる。
As described above, according to the present invention,
By using a non-volatile shared memory to share information between the server and client, it is possible to realize a system with high speed and fault tolerance.

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

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明の作用説明図である。FIG. 2 is an explanatory view of the operation of the present invention.

【図3】本発明の実施例説明図である。FIG. 3 is an explanatory view of an embodiment of the present invention.

【図4】本発明の実施例に係るサーバによるセルの割当
て処理フローチャートである。
FIG. 4 is a flowchart of cell allocation processing by the server according to the embodiment of the present invention.

【図5】本発明の実施例に係るクライアントによるセル
の獲得処理フローチャートである。
FIG. 5 is a flowchart of a cell acquisition process by a client according to an embodiment of the present invention.

【図6】本発明の実施例に係るカーネルのセルアクセス
処理フローチャートである。
FIG. 6 is a cell access processing flowchart of the kernel according to the embodiment of the present invention.

【図7】本発明の実施例に係るサーバによる一貫性保証
およびセル解放処理フローチャートである。
FIG. 7 is a flowchart of consistency guarantee and cell release processing by the server according to the embodiment of the present invention.

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

10−1,10−2,… プロセッサモジュール 11 サーバ 12−1,12−2,… クライアント 13 カーネル 14 セル割当て処理手段 15−1,15−2,… 通知情報設定処理手段 16−1,16−2,… セルアクセス処理手段 17 共用メモリ 18 サーバ獲得領域 10-1, 10-2, ... Processor module 11 Server 12-1, 12-2, ... Client 13 Kernel 14 Cell allocation processing means 15-1, 15-2, ... Notification information setting processing means 16-1, 16- 2, ... Cell access processing means 17 Shared memory 18 Server acquisition area

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサモジュール(10)と,各
プロセッサモジュール(10)からアクセス可能な不揮発性
の共用メモリ(17)とを備え,各プロセッサモジュール(1
0)上でシステムを制御するカーネル(13)と,特定の処理
機能を提供するサーバ(11)と,そのサーバ(11)に対し処
理を要求するクライアント(12)とが動作するサーバ・ク
ライアントモデルの処理装置において,前記サーバ(11)
は,前記クライアント(12)からの要求に対して,前記共
用メモリ(17)内にそのクライアント(12)に割り当てる領
域を確保し,システム内で一意の識別子をその領域内に
設定するセル割当て処理手段(14)を備え,前記カーネル
(13)は,前記共用メモリ(17)における領域内に設定され
た識別子を基に,その領域が割り当てられた正当なクラ
イアント(12)にのみ,その領域へのアクセスを許すセル
アクセス処理手段(16)を備え,前記クライアント(12)
は,前記カーネル(13)が提供するセルアクセス処理手段
(16)を介して,前記サーバ(11)への通知情報を前記共用
メモリ(17)内の領域に設定する通知情報設定処理手段(1
5)を備えたことを特徴とするサーバ・クライアントモデ
ルの処理装置。
1. A processor module comprising a plurality of processor modules (10) and a non-volatile shared memory (17) accessible from each processor module (10).
A server-client model in which a kernel (13) that controls the system on (0), a server (11) that provides a specific processing function, and a client (12) that requests processing to that server (11) operate In the processing device, the server (11)
Is a cell allocation process that secures an area to be allocated to the client (12) in the shared memory (17) in response to a request from the client (12) and sets a unique identifier in the system within the area. Means (14), the kernel
The cell access processing means (13) permits access to the area only to the legitimate client (12) to which the area is allocated based on the identifier set in the area in the shared memory (17). 16), and the client (12)
Is a cell access processing means provided by the kernel (13).
Notification information setting processing means (1) for setting notification information to the server (11) in an area in the shared memory (17) via the (16)
A server / client model processor characterized by comprising 5).
JP4140269A 1992-06-01 1992-06-01 Processor for server/client model Withdrawn JPH05334266A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4140269A JPH05334266A (en) 1992-06-01 1992-06-01 Processor for server/client model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4140269A JPH05334266A (en) 1992-06-01 1992-06-01 Processor for server/client model

Publications (1)

Publication Number Publication Date
JPH05334266A true JPH05334266A (en) 1993-12-17

Family

ID=15264849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4140269A Withdrawn JPH05334266A (en) 1992-06-01 1992-06-01 Processor for server/client model

Country Status (1)

Country Link
JP (1) JPH05334266A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316748A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data transfer method in parallel processing computer system
JPH11316746A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data communication method in extensible parallel processing computer system
JP2006293516A (en) * 2005-04-07 2006-10-26 Matsushita Electric Ind Co Ltd Bus access control unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316748A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data transfer method in parallel processing computer system
JPH11316746A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data communication method in extensible parallel processing computer system
JP2006293516A (en) * 2005-04-07 2006-10-26 Matsushita Electric Ind Co Ltd Bus access control unit
JP4591163B2 (en) * 2005-04-07 2010-12-01 パナソニック株式会社 Bus access control device

Similar Documents

Publication Publication Date Title
US7124255B2 (en) Message based inter-process for high volume data
US5222217A (en) System and method for implementing operating system message queues with recoverable shared virtual storage
US6205466B1 (en) Infrastructure for an open digital services marketplace
US5423044A (en) Shared, distributed lock manager for loosely coupled processing systems
Leach et al. The architecture of an integrated local network
US5659682A (en) Scheme to determine completion of directory operations for server recovery
JP3748774B2 (en) I / O transfer in a cache coherence shared disk computer system
US5845147A (en) Single lock command for an I/O storage system that performs both locking and I/O data operation
EP0428006B1 (en) Multilevel locking system and method
US8495131B2 (en) Method, system, and program for managing locks enabling access to a shared resource
US8024528B2 (en) Global address space management
US5454108A (en) Distributed lock manager using a passive, state-full control-server
JP3062070B2 (en) System and method for multi-level token management for a distributed file system
US7617376B2 (en) Method and apparatus for accessing a memory
US6192514B1 (en) Multicomputer system
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
US4995112A (en) Security system
US7698523B2 (en) Hardware memory locks
EP0459912B1 (en) An issue processing system for a right to use a resource
JPH1145187A (en) Method and device for managing resource for decentralized garbage collection, compute program product, method for allocating resource decentralized between computer system and platform, and method for releasing the allocation
MX2007002204A (en) Apparatus, system, and method for file system serialization reinitialization.
US20020147719A1 (en) Distribution of physical file systems
US6321308B1 (en) Method and apparatus for managing access requests from a plurality of devices using dual level queue locking scheme and a doubly-linked circular queue
CN111897666A (en) Method, device and system for communication among multiple processes
CN111343262A (en) Distributed cluster login method, device, equipment and storage medium

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990803