JP2000227860A - Parallel access control method, parallel access controller and multi-thread process method - Google Patents

Parallel access control method, parallel access controller and multi-thread process method

Info

Publication number
JP2000227860A
JP2000227860A JP3045099A JP3045099A JP2000227860A JP 2000227860 A JP2000227860 A JP 2000227860A JP 3045099 A JP3045099 A JP 3045099A JP 3045099 A JP3045099 A JP 3045099A JP 2000227860 A JP2000227860 A JP 2000227860A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
request
process
thread
data
result
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.)
Granted
Application number
JP3045099A
Other languages
Japanese (ja)
Inventor
Machiko Kitamura
真知子 北村
Original Assignee
Nec 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

Links

Abstract

PROBLEM TO BE SOLVED: To really execute what is called multitask and to improve processing efficiency without exclusively possessing a network resource by transmitting/ receiving data in parallel between a multithread process and a single thread process on a request thread. SOLUTION: A wrapper process 2 receives a client request, transmits a wrapper request to a server process 3 through a network resource 4, receives a result from the server process 3 through the network resource 4 and informs a client process 1 of the result. Thee wrapper process 2 is a multithread process and processes the respective client requests from the client process 1 in parallel by the plural request threads. Since program processings which the respective threads of a request management part 5, a request transmission part 6 and a result reception part 7 require are executed even if the plural request threads exist, processing efficiency can be improved.

Description

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

【0001】 [0001]

【発明の属する技術分野】本発明は、分散オブジェクト・システムにおけるイベント駆動プロセスへの並行アクセス制御方法、マルチスレッドプロセス方法及び並行アクセス制御装置に関する。 The present invention relates to the parallel access control method to the event-driven process in the distributed object system, a multi-threaded process method and concurrent access control.

【0002】 [0002]

【従来の技術】近年、ネットワーク技術の発展により、 In recent years, with the development of network technology,
複数のサーバとクライアントとを接続した分散オブジェクト・システムが構築されているが、分散オブジェクト・システムは、ネットワーク上に散りばめられたオブジェクトが相互に連携しながら、全体として機能するシステムのことであり、オブジェクトとはデータと処理手続き(メソッドという)が一体となったプログラムを意味する。 Although distributed object system connecting a plurality of servers and clients are built, the distributed object system, while objects studded on the network in cooperation with each other is that the system functions as a whole, the object data and processing procedures (called methods) means a program together. 分散オブジェクト・システムでは、ある処理に対して、オブジェクト同士が動的にクライアントとサーバの関係を構築して処理を行うことができ、ネットワーク全体が一つの巨大なコンピュータとして機能し、インターネットやイントラネットの普及と共に注目を集めている技術である。 In a distributed object system, for a process, an object with each other can be processed to build dynamically relationship of client and server, the entire network is functioning as one huge computer, Internet and intranet is a technology that has attracted attention with the spread.

【0003】このような分散オブジェクトのアーキテクチャとして、DCOM(Distributed Component Object [0003] Architecture of such distributed object, DCOM (Distributed Component Object
Model)や、CORBA(Common Object Request Brok Model) and, CORBA (Common Object Request Brok
er Architecture:分散システム環境でオブジェクト同士がメッセージを交換する共通仕様)や、RPC(リモートプロシィジャコール:遠隔手順読み出し)等が知られている。 er Architecture: LCDs) and that between objects in a distributed system environment to exchange messages, RPC (Remote Pro Consequences Ja Call: Remote Procedure reading) are known. この分散オブジェクト・システムの構成の下、アプリケーション間の通信等のイベントによりサーバ・クライアント間で駆動されるイベント駆動方式も知られつつある技術である。 Under configuration of the distributed object system, event-driven system that is driven between the server and the client by an event such as communication between applications it is also known with a certain technology.

【0004】従来のクライアント、イベント駆動方式のサーバで構成されるシステムとして、図4に示すものがある。 Conventional client, as a system composed of a server an event-driven system, there is shown in FIG.

【0005】このシステムでは、クライアントプロセス1からサーバプロセス3に対して、CORBAやRPC [0005] In this system, the server process 3 from the client process 1, CORBA and RPC
(リモートプロシィジャコール)によって、複数の要求を行うことができる。 By (remote pro Consequences Ja call), it is possible to perform multiple requests. サーバプロセス3は、クライアントプロセス1からの要求に対して、処理を実行し、処理結果を返答する。 Server process 3, in response to a request from client process 1, executes the processing, returns a processing result. サーバプロセス3は、複数の要求を一度に受け付け、処理が早く終了した順に結果応答を返す非同期形式でサービスを提供する。 Server process 3 receives multiple requests at one time, the process provides a service in an asynchronous format to return results responsive to the end with the order early. クライアントプロセス1からの複数要求に応答できるようにするため、複数の要求スレッド11〜13マルチスレッドで動作するラッパープロセスを介し要求を受けるように構成されている。 To be able to respond to multiple requests from a client process 1, and is configured to receive a request through the wrapper process that operates in a plurality of request thread 11-13 multithreading.

【0006】ここで、スレッド(Thread:筋道、脈絡用プログラム)とは、CPUを使うプログラム単位で、マルチタスクを実行できる仕組みを提供するもので、アプリケーションに割り当てられたプロセスを同じアプリケーション内で同時実行できるサブプロセスに分割したものである。 [0006] Here, the thread (Thread: thread, choroid program) and is a program unit using the CPU, it is provided a mechanism that can perform multi-task, simultaneous processes assigned to an application in the same application it is obtained by dividing the sub-process that can be performed.

【0007】ラッパープロセス21は、クライアントプロセス1からの要求を受けて要求スレッド11〜13を起動し、サーバプロセス3にその要求を送信する。 [0007] The wrapper process 21 receives a request from client process 1 starts the request thread 11-13 and sends the request to the server process 3. そしてサーバプロセス3からの結果を受信し、クライアントプロセス1に要求スレッド11〜13を介して、その結果を返す。 Then receiving the results from the server process 3, via the request thread 11-13 to the client process 1 and returns the result. ラッパープロセス2内にはクライアントプロセス1からの要求の個数分の要求スレッド11〜13が存在する。 Request thread 11-13 of the number of requests from a client process 1 min is present in the wrapper process 2. 1つの要求スレッドは、さらにサーバプロセス3へ複数の要求(ラッパー要求)を行うことができる。 One request thread can perform multiple requests (wrapper request) further to the server process 3. 要求スレッド11〜13は、ラッパー要求の個数分だけ要求管理部22にアクセスし、ラッパー要求の送信を依頼する。 Request thread 11-13 accesses only the request management unit 22 the number fraction of the wrapper request, a request for transmission of the wrapper requests. 要求管理部22はラッパー要求を受け付け、ネットワーク資源4を用いて、サーバプロセス3にラッパー要求を送信し、その結果を受信する。 Request management unit 22 accepts the wrapper requests with network resources 4, sends a wrapper request to the server process 3, receives the result.

【0008】このとき、ラッパープロセス21とサーバプロセス3との間を接続しているネットワーク資源(ソケット)4を複数のスレッドで共有することになる。 [0008] At this time, will share the network resources (socket) 4 connected between the wrapper process 21 and server process 3 by multiple threads. 何も制御せずに複数のスレッドから要求を送信してしまうと、送信した要求と受信した結果の対応がとれなくなるという問題点が生じる。 If nothing would send requests from multiple threads without control, the corresponding problem that not take points results received with the request sent occurs. この問題を解決するために、従来方式では、サーバプロセス3へ1つのラッパー要求を送信してから、その結果を受信するまで、ネットワーク資源4の排他を行っている。 To solve this problem, in the conventional method, from the transmission of the single wrapper request to the server process 3, until receiving the result, it is performed exclusively network resource 4. この排他制御は、ラッパー要求を送信する前にロック設定、その要求の結果を受信した後にロック解除という方法で行う。 This exclusive control is locked setting before sending the wrapper request, in a way that unlocking after receiving the results of that request. そのため、排他をされている間は他のスレッドは動けなくなる。 Therefore, while being exclusive it will get stuck in other threads. また、 Also,
ネットワーク資源4を他に使用することができなくなる。 It becomes impossible to use the network resource 4 to the other.

【0009】 [0009]

【発明が解決しようとする課題】この図4に示す従来のイベント駆動型サーバ方式の問題点は、1つの要求スレッドが1つのラッパー要求をサーバプロセスに送信し、 [Problems that the Invention is to Solve Problems of the conventional event driven server method shown in Figure 4, one request thread sends a single wrapper request to the server process,
その結果の受信を完了するまで、ネットワーク資源の排他のため、他の要求スレッドがサーバプロセスに対し要求を送信できない点である。 To complete reception of the result, because the network resources exclusively, other request thread is that it does not send a request to the server process. たとえば、最初にサーバプロセスでの処理に時間がかかるラッパー要求を行った場合、次の要求の受け付けはその処理が終わった後になる。 For example, if performing the process wrapper request takes time for the first to the server process receives the next request comes after that of the processing is finished. そのため、要求を行ってから結果が返るまでの処理効率が悪くなる。 Therefore, the processing efficiency from making the request for the system to return the results may deteriorate. 従って、要求スレッドがマルチタスクのためのプロセッサとして形成されるにも関わらず、形骸化してしまっていた。 Thus, despite the request thread is formed as a processor for multitasking, it had gotten by mere facade.

【0010】そこで、本発明は、イベント駆動型サーバ方式におけるネットワーク資源を専有とせずに、いわゆるマルチタスクを現実に実行し、処理効率を向上することを課題とする。 [0010] Therefore, the present invention, without the proprietary network resources in an event-driven server system, perform a so-called multitasking reality, it is an object to improve the processing efficiency.

【0011】 [0011]

【課題を解決するための手段】本発明は、イベント駆動プロセスへの並行アクセス制御方法において、クライアントプロセスから発生したイベントを要求する複数の要求スレッドと、該複数の要求スレッドを各要求データとして管理する要求管理部と、前記要求データに従ってサーバプロセスに送信する送信待ち記憶領域と、前記サーバプロセスからの結果待ち記憶領域と、前記複数の要求スレッド毎に前記送信待ち記憶領域の前記要求データ毎に送信する要求送信部と、前記サーバプロセスからの結果を受信する結果受信部と、前記要求送信部と前記結果受信部とに対する前記サーバプロセスとの間で相互通信を受け持つネットワーク資源とからなり、前記要求スレッドに関しマルチスレッドプロセスとシングルスレッドプロセス間でデー Means for Solving the Problems The present invention is managed in parallel access control method to the event-driven process, and the plurality of request thread requesting the event generated by the client process, the request thread the plurality of the respective request data requesting a management unit, a transmission waiting memory area to be transmitted to the server process in accordance with the request data, and results waiting storage area from the server process, the respective request data to the transmission waiting memory area for each of the plurality of request threads consists of a request transmitting unit that transmits, a result receiving unit for receiving results from the server process, the network resources responsible for intercommunication between said server process and the request transmission unit for said result receiving unit, wherein Day between the multi-threaded process and single-threaded process relates to a request thread の送受信を並列に行うことを特徴とする。 Wherein the transmitting and receiving in parallel.

【0012】また、本発明は、クライアントプロセスからサーバプロセスへのイベント駆動を行うマルチスレッドプロセス方法において、前記クライアントプロセスからのイベント要求に対応する複数の要求スレッドからの複数の要求データを順番にシングルスレッドに送信するために、前記サーバプロセスへの送信待ちの要求データの記憶部を設け、該記憶部の要求データに従ってネットワーク資源を介して前記サーバプロセスを駆動することを特徴とする。 Further, the present invention is a single in a multi-threaded process method for performing event driven from the client process to a server process, a plurality of request data from a plurality of request thread corresponding to the event request from the client process in order for transmission to the thread, the storage unit of the requested data awaiting transmission to the server process is provided, wherein the through the network resources according to the request data of the storage unit for driving said server process.

【0013】また、本発明は、イベント駆動プロセスへの並行アクセス制御装置において、クライアントプロセスから発生したイベントを要求する複数の要求スレッドと、該複数の要求スレッドを各要求データとして管理する要求管理部と、前記要求データに従ってサーバプロセスに送信する送信待ち記憶領域と、前記サーバプロセスからの結果待ち記憶領域と、前記複数の要求スレッド毎に前記送信待ち記憶領域の前記要求データ毎に送信する要求送信部と、前記サーバプロセスからの結果を受信する結果受信部と、前記要求送信部と前記結果受信部とに対する前記サーバプロセスとの間で相互通信を受け持つネットワーク資源とからなり、前記要求スレッドに関しマルチスレッドプロセスと前記ネットワーク資源と通信するシングルスレ [0013] The present invention also provides a parallel access control device to the event-driven process, the request management unit for managing a plurality of request thread requesting the event generated by the client process, the request thread the plurality of the respective request data When the transmission waiting memory area to be transmitted to the server process in accordance with the request data, and results waiting storage area from the server process, request transmission for transmitting the per request data of the transmission waiting memory area for each of the plurality of request thread and parts made from the a result receiving unit for receiving the result from the server process, the network resources responsible for intercommunication between said server process and the request transmission unit for said result receiving unit, multi relates the request thread single thread to communicate with the thread process and the network resources ドプロセス間でデータの送受信を並列に行うことを特徴とする。 And performing transmission and reception of data in parallel between de process.

【0014】また、本発明は、図1を参照して説明すれば、クライアントプロセス1と、マルチスレッドで動作するラッパープロセス2、イベント駆動形式で動作するサーバプロセス3からなるシステムにおいて、クライアントプロセス1からサーバプロセス3にCORBAやR Further, the present invention is will be described with reference to FIG. 1, the client process 1, the wrapper process 2 operating in a multi-threaded, in a system consisting of a server process 3 that runs an event driven type, client process 1 CORBA and R to the server process 3 from
PC(リモートプロシージャコール:遠隔手続読み出し)により、複数の要求を行う場合に、クライアントプロセス1が、要求を行ってから、結果応答を受け取るまでの処理効率を向上させる方法を提供する。 PC: The Remote Procedure Call (Remote Procedure read), in the case of multiple requests, the client process 1, make the request, to provide a method for improving the processing efficiency and for receiving the result response.

【0015】すなわち、クライアントからラッパープロセスに対し、CORBAのオペレーションを要求するときに、CORBAのオペレーションをマルチスレッドで起動するように指定できる。 [0015] That is, with respect to the wrapper process from the client, when requesting CORBA operations, can be specified to start the CORBA operations in a multi-threaded. よって、CORBAを使用するときは、ラッパープロセスをマルチスレッド対応にしておく必要もある。 Therefore, when using the CORBA is also necessary to a wrapper process multithreaded.

【0016】また、クライアントとラッパープロセス間はマルチプロセスで、ラッパープロセスとイベント駆動プロセス間はシングルスレッドプロセスとなる。 [0016] In addition, between the client and the wrapper process in a multi-process, between the wrapper process and the event-driven process is a single-threaded process.

【0017】クライアントプロセス1は、ラッパープロセス2に対する1回の要求で、サーバプロセス3へ複数の処理を要求することができる。 The client process 1, in a single request for the wrapper process 2 can request a plurality of processing to the server process 3. クライアントプロセス1からラッパープロセス2に対する要求を「クライアント要求」と呼び、ラッパープロセス2からサーバプロセス3に対する要求を「ラッパー要求」と呼ぶ。 Called from client process 1 a request for wrapper process 2 "client request", referred to from the wrapper process 2 a request for the server process 3 "wrapper request". クライアント要求とラッパー要求は1対多である。 Client request and wrapper requests are one-to-many.

【0018】クライアントプロセス1からクライアント要求が行われると、ラッパープロセス2では要求内容に応じて要求スレッドを作成する。 [0018] from the client process 1 client request is made, to create a request thread in accordance with the wrapper in the process 2 request content. 複数のクライアント要求が行われると、対応して複数の要求スレッドが作成されるので、複数のクライアント要求はラッパープロセス2内で並行に処理される。 When multiple clients request is made, a plurality of request thread in correspondence is created, multiple client requests are processed in parallel in the wrapper process 2.

【0019】ラッパープロセス2は、要求管理部5、要求送信部6、結果受信部7、送信待ちデータ記憶部8、 The wrapper process 2, the request management unit 5, the request transmission unit 6, a result receiving unit 7, the transmission wait data storage unit 8,
受信待ちデータ記憶部9、要求識別子管理部10を備えている。 Waiting data storage unit 9, and a request identifier management unit 10. 要求管理部5は、ラッパー要求を送信し、結果を受信するために必要なデータ(要求データ)を管理する。 Request management unit 5 sends a wrapper request, manages data necessary for receiving the results (request data).

【0020】要求データは、ラッパー要求内容、スレッドID、ラッパープロセス2内で要求を一意に識別するための要求識別子、結果格納場所のアドレスからなる。 The request data, wrappers request content, the thread ID, a request identifier for uniquely identifying the request in the wrapper process 2, an address of the result storage location.
要求識別子は、要求識別子管理部10より取得する。 Request identifier is acquired from the request identifier management unit 10. 要求送信部6はサーバプロセス3へのラッパー要求を送信するスレッドである。 Request transmission unit 6 is a thread sending the wrapper request to the server process 3. 結果受信部7はサーバプロセス3 Result receiving unit 7 server process 3
から結果を受信するスレッドである。 Is a thread that receives the results from. クライアントプロセス1から1つのイベントが発生した場合、要求スレッド11〜13は上記各スレッド毎に設けてもよいし、複数のスレッドを組み合わせて設けてもよい。 If one of the events from the client process 1 occurs, the request thread 11 to 13 may be provided for each of the respective threads may be provided by combining a plurality of threads. 送信待ちデータ記憶部8は、ラッパー要求を送信する前の要求データを蓄える場所であり、受信待ちデータ記憶部9は、ラッパー要求が送信済で、結果の受信待ち状態の要求データを蓄える場所である。 Transmission wait data storage unit 8 is a place to store request data before sending the wrapper request receive wait data storage unit 9, the wrapper request Sent, where storing request data reception wait state results is there.

【0021】各要求スレッドはラッパー要求の個数分、 [0021] The number of minutes of each request thread wrapper request,
要求管理部5にアクセスし、結果が返るまで待ち状態となる。 Access to the request management unit 5, a waiting state until the result is returned. 要求管理部5は要求データを作成し、送信待ちデータ記憶部8に格納する。 Request management unit 5 creates the request data is stored in the transmission waiting data storage unit 8. 要求送信部6は、送信待ちデータ記憶部8に蓄えられている要求データの内容を1つずつサーバプロセス3に送信する。 Request transmitting unit 6 transmits the content of the request data stored in the transmission waiting data storage unit 8 one by one server process 3. 結果受信部7は、結果を受信し、その中から要求識別子を読み、その値を鍵として受信待ちデータ記憶部9を検索する。 Result receiving unit 7 receives the result, read the request identifier from the searches the reception wait data storage unit 9 that value as the key. そして該当する要求データの結果格納場所に結果を格納する。 And stores the result in the result storage location of the corresponding request data. また要求データの中のスレッドIDを持つ要求スレッドの待ち状態を解除する。 In addition to release the wait state of the request threads with a thread ID in the request data.

【0022】以上の機能を設けることにより、サーバプロセス3に対するラッパー要求と受信する結果の対応づけが容易にできる。 [0022] By providing the above functions, it can be easily result in correspondence of receiving a wrapper request to the server process 3. また、ラッパープロセス2は、サーバプロセス3に対しラッパー要求を送信する際に、その結果を受信する前に次のラッパー要求が送信でき、また、サーバプロセス3での処理が終わった順番に結果を受信できる。 Further, the wrapper process 2, when to the server process 3 for transmitting a wrapper request, the result before receiving the send next wrapper request, also results in the order in which processes have been performed by the server process 3 It can be received. よって、複数のラッパー要求を並行に処理することができるので、クライアントプロセス1がクライアント要求を行ってから、結果応答を受けるまでの全体の処理効率が向上する。 Therefore, it is possible to process a plurality of wrappers requests in parallel, the client process 1 after performing a client request, thereby improving the overall performance up to receive the result response.

【0023】 [0023]

【発明の実施の形態】本発明による実施形態について、 For DESCRIPTION OF THE INVENTION Embodiments according to the present invention,
図面を参照しつつ詳細に説明する。 With reference to the accompanying drawings will be described in detail.

【0024】[第1の実施形態] (本実施形態の構成)図1は本発明の一実施形態のイベント駆動型システムの構成図である。 [0024] [First Embodiment] (Configuration of the embodiment) FIG. 1 is a block diagram of an event-driven system according to an embodiment of the present invention.

【0025】本実施形態は、クライアントプロセス1、 [0025] The present embodiment, the client process 1,
ラッパープロセス2、サーバプロセス3から構成されている。 Wrapper process 2, and a server process 3. ラッパープロセス2とサーバプロセス3は1つのネットワーク資源(ソケット)4で接続されている。 Wrapper Process 2 and the server process 3 are connected by one network resource (socket) 4. また、ラッパープロセス2とサーバプロセス3とは1対1 Further, one pair wrapper process 2 and the server process 3 1
の関係図で示しているが、ラッパープロセス2の1に対して、複数のネットワーク資源(ソケット)4と複数のサーバプロセス3に拡張することも可能である。 Is shown in the relationship diagram, for one wrapper process 2, it is also possible to extend the plurality of network resources (socket) 4 and a plurality of server processes 3.

【0026】クライアントプロセス1は、ラッパープロセス2にイベントとしてクライアント要求を行い、その結果応答を受信し、各種処理を行う。 The client process 1 performs client request as an event to the wrapper process 2, receives the result response, performs various processes.

【0027】ラッパープロセス2は、クライアント要求を受け付け、サーバプロセス3へネットワーク資源4を介してラッパー要求を送信し、サーバプロセス3からネットワーク資源4を介して結果を受信して、その結果をクライアントプロセス1に通知する。 The wrapper process 2 receives the client request, and sends the wrapper request via the network resource 4 to the server process 3 receives the result from the server process 3 through the network resource 4, the client process and the results to notify the 1. ラッパープロセス2はマルチスレッドプロセスであり、クライアントプロセス1からの各クライアント要求を、複数の要求スレッドによって並列に処理する。 Wrapper Process 2 is a multi-threaded process, each client request from client process 1, processed in parallel by a plurality of request thread.

【0028】サーバプロセス3は、ラッパープロセス2 [0028] The server process 3, the wrapper process 2
からラッパー要求を受け取り、そのラッパー要求に関して、処理を施して結果をラッパープロセス2に返す。 Receiving a wrapper request from, for that wrapper request and returns the result by performing a process on the wrapper process 2. サーバプロセス3はシングルスレッドプロセスである。 Server process 3 is a single-threaded process.

【0029】ラッパープロセス2は、要求管理部5、要求送信部6、結果受信部7、送信待ちデータ記憶部8、 The wrapper process 2, the request management unit 5, the request transmission unit 6, a result receiving unit 7, the transmission wait data storage unit 8,
受信待ちデータ記憶部9、要求識別子管理部10を備えている。 Waiting data storage unit 9, and a request identifier management unit 10. 要求送信部6、結果受信部7は別々のスレッドで常に動いている。 Request transmission unit 6, a result receiving unit 7 is constantly moving in a separate thread.

【0030】要求管理部5は、ラッパー要求をするために必要なデータ(これを、要求データと呼ぶ)を作成し、管理する静的関数であり、要求スレッドよりラッパー要求を行う回数分コールされる。 The request management unit 5 (This is referred to as request data) data necessary to the wrapper requests to create a, a static function to manage, is the number of times call performs a wrapper request from request thread that. 要求データは、図3 Request data, FIG. 3
に示すように、コマンド名やパラメータ等の要求内容と、結果待ちデータ記憶部9の結果格納場所のアドレスと、クライアントプロセス1からの要求毎に付しデータ記憶部の探索用指標となる要求識別子と、要求スレッドの指標となるスレッドIDとの少なくとも4つの情報からなる。 As shown in, the request identifier comprising a request content, such as command names and parameters, and the address of the result storage location results wait data storage unit 9, a search index data storage unit subjected to every request from the client process 1 If, it consists of at least four information with thread ID as an index of the request thread.

【0031】要求内容は、クライアントから依頼された要求内容で、サーバプロセス3で行う処理に必要なコマンド名とパラメータから成る。 The request content is a request content requested from the client, and the command name and parameters necessary for the processing performed by the server process 3. 結果格納場所のアドレスは、要求スレッドが用意した結果格納場所に、結果が返って来たときに格納するためのものである。 Address of the result storage location, the result storage location where the request thread was prepared, which is intended to be stored when the results came back. 要求識別子は、サーバプロセス3に対するラッパー要求と、サーバプロセス3から返る結果応答を1対1に対応をとるための一意の番号であり、連続した数字を用いている。 The request identifier is a unique number for taking the wrapper request to the server process 3, the corresponding return result response from the server process 3 to 1: 1, are used sequential numbers.

【0032】要求送信部6は、要求管理部5において作成されたラッパー要求を、一つずつサーバプロセス3に送信する。 The request sending unit 6, the wrapper requests made in the request management unit 5, and transmits to the one by one server process 3.

【0033】結果受信部7は、サーバプロセス3からの結果を受信して、その結果内容を該当する要求スレッドに通知する。 The result receiving unit 7 receives the result from the server process 3, and notifies the request thread to the appropriate result contents.

【0034】送信待ちデータ記憶部8は、サーバプロセス3への送信待ちのラッパー要求を、要求データとしてリスト形式で蓄える。 The transmission wait data storage unit 8, a transmission waiting wrapper request to the server process 3, stores in a list format as the request data. この要求データを作成し、送信待ちデータ記憶部7に格納する処理は、要求管理部5が行う。 Create the request data, the processing to be stored in the transmission waiting data storage unit 7 is performed by the request management unit 5.

【0035】受信待ちデータ記憶部9は、サーバプロセス3へのラッパー要求の送信は完了していて、サーバプロセス3からの結果の受信待ち状態の要求データをリスト形式で蓄える。 The waiting data storage unit 9, the transmission of the wrapper requests to the server process 3 have completed, stores the requested data in the standby state for receiving results from the server process 3 in a list format.

【0036】要求識別子管理部10は、要求識別子を生成する。 The request identifier management unit 10 generates a request identifier. 要求識別子は、要求IDともなり、クライアントプロセス1の要求毎に識別子を設ける。 Request identifier, also becomes request ID, providing the identifier for each of the client process one request.

【0037】本システムにより、例えばインターネット網のように世界中分散する複数のサーバに対してクライアントプロセス1から一つのクライアント要求であるデータ取得や複数のサーバを連携して並列演算処理することも可能であり、例えばスーパーコンピュータのパイプラインのように複数のサーバを用いて長時間演算する必要のあるデータを高速に取得することも可能となる。 [0037] The present system, for example, it is also possible to parallel processing by the client process 1 in conjunction with data acquisition and multiple servers, one of the client requests to a plurality of servers worldwide distributed as Internet , and the it is possible to obtain data that must be calculated a long time by using a plurality of servers as a pipeline, for example supercomputer speed.

【0038】(本実施形態の動作)図2は本発明の一実施形態の動作を説明したものである。 [0038] Figure 2 (Operation of the present embodiment) is obtained by describing the operation of one embodiment of the present invention. 図2にある楕円記号は、ステップではなく、図1に示した動作を行う対象を示す。 Oval symbols in Figure 2 are not in step, indicating the target of the operation shown in FIG. ここではクライアントプロセス1からラッパープロセス2に1つのクライアント要求が来た場合のラッパープロセス2の動作について説明する。 Here, the operation of the wrapper process 2 when came one client requests to wrapper process 2 from client process 1.

【0039】クライアントプロセス1から1つのクライアント要求が来ると、ラッパープロセス2が1つの要求スレッド14を生成する(S1)。 [0039] When the client process 1 one client request comes, the wrapper Process 2 produces one request thread 14 (S1).

【0040】1つの要求スレッド14では、クライアントプロセス1からの要求内容によって、サーバプロセス3へのラッパー要求を複数回行う場合がある。 [0040] In one request thread 14, there are cases where the request content from the client process 1, a plurality of times wrapper request to the server process 3. 要求スレッドでは、ラッパープロセス2における静的関数である要求管理部5にサーバプロセス3へのラッパー要求の回数分アクセスする。 The request thread, to the number of times access wrapper request to the server process 3 in request management unit 5 is a static function in the wrapper process 2.

【0041】要求管理部5の中では以下の処理を行う。 [0041] performs the following processing in the request management unit 5.
まず、要求識別子管理部10にアクセスし、要求識別子を取得する(S2)。 First, access to the request identifier management unit 10 acquires a request identifier (S2). そしてクライアントプロセス2から受けた要求内容に、結果格納場所のアドレスと要求識別子と自分のスレッドのIDを追加して、1つの要求データとして送信待ちデータ記憶部8に追加する(S And request content received from the client process 2, by adding the ID address of the result storage location as required identifiers and their threads, to add to the transmission wait data storage unit 8 as one request data (S
3)。 3). さらに送信待ち記憶部8に追加したことを要求送信部6に通知する(S4)。 Further notifies the request transmitting unit 6 that has been added to the transmission wait storage unit 8 (S4). 次に自分のスレッドIDで結果が返るまで停止状態となる(S5)。 Then the system to return the results in their own thread ID in a stopped state (S5). 結果受信部7 Result receiving unit 7
より結果受信の通知を受けると、スレッド実行は再開され、要求の結果を得ることができる(S6)。 When notified of more result receiving, thread execution is resumed, it is possible to obtain the result of the request (S6).

【0042】次に要求送信部6の動きについて説明する。 [0042] Next, the motion of the request transmission unit 6 will be described. 要求送信部6はラッパープロセス2の起動時に作成され、常に動いている1つのスレッドである。 Request transmission unit 6 is created at startup of the wrapper process 2 is one thread that is constantly moving. まず送信待ちデータ記憶部8の中に要求データが存在するかを調べ(S7)、存在する場合は、送信待ちデータ記憶部8 First examined whether the requested data in the transmission waiting data storage unit 8 is present (S7), if present, the transmission wait data storage unit 8
のリストの先頭から1つの要求データを取り外し受信待ちデータ記憶部9のリストにつなぎかえた後(S8)、 After changing connecting the first list of the list of waiting data storage unit 9 Remove one request data (S8),
サーバプロセス3にネットワーク資源4を介して要求内容を送信する(S9)。 Sending a request content over a network resource 4 to the server process 3 (S9). 要求データが一つも存在しない場合は、要求関数5から通知がくるまで待ち状態となり(S10)、要求管理部5から通知が来ると、待ち状態が解除される。 If the requested data is not present one becomes a waiting state from the request function 5 until notification arrives (S10), when the notification from the request management unit 5 comes, the wait state is canceled. 要求送信部6では、これらの動作が繰り返し行われる。 The request transmission unit 6, these operations are repeated.

【0043】次に結果受信部7の動きについて説明する。 [0043] Next, movement of the result receiving unit 7 will be described. 結果受信部7も要求送信部6と同様にラッパープロセス2の起動時に作成され、常に動いている1つのスレッドである。 Result receiving unit 7 is also created at startup request transmitting unit 6 similarly to the wrapper process 2 is one thread that is constantly moving. 初期状態はサーバプロセス3からの結果の受信待ち状態である。 The initial state is standby state for receiving results from the server process 3. サーバプロセス3から結果のデータがネットワーク資源4を介して送られてくると(S1 If the result of data from the server process 3 is transmitted via the network resource 4 (S1
1)、受信結果のデータから要求識別子を読み、受信待ちデータ記憶部9の中からその要求識別子と一致する要求データを検索する(S12)。 1), to read the request identifier from the received result data, to retrieve the requested data that match the request identifier from the received wait data storage unit 9 (S12). 一致した要求データ中の結果格納場所のアドレスを確認し、その結果格納場所に結果を格納する(S13)。 Check the address of the result storage location in matched requested data, and stores the result in the result storage location (S13). そして、結果待ちの要求スレッドに対し、結果待ち状態を解除する(S14)。 Then, with respect to the request thread results waiting to release the result waiting state (S14).
その時点で返って来た結果に関する要求データは、受信待ちデータ記憶部9から削除する(S15)。 Request data about the results came back at that time is deleted from the reception waiting data storage unit 9 (S15). そしてサーバプロセス3からの結果の受信待ち状態になる。 And it becomes waiting state results from the server process 3. 結果受信部7では、これらの動作が繰り返し行われる。 The result receiving unit 7, these operations are repeated.

【0044】なお、送信待ちデータ記憶部8と受信待ちデータ記憶部9はラッパープロセス2が所有する全てのスレッドで共有するため、アクセスする時には排他制御が必要である。 [0044] Since reception wait data storage unit 9 and the transmission wait data storage unit 8 to be shared by all threads wrapper process 2 owned, there is a need for exclusive control when accessing. 排他制御は、送信待ちデータ記憶部8あるいは受信待ちデータ記憶部9を参照する際、あるいは要求データを上書き、追加あるいは削除する際、アクセスする前にロック設定、アクセス終了後にロック解除を行う。 Exclusive control, when referring to the transmission wait data storage unit 8 or the receive wait data storage unit 9, or overwrite request data, when adding or deleting, for locking setting, unlocked after the access before accessing.

【0045】この処理によって、図2に示すように、ラッパープロセス2とネットワーク資源4を介するサーバプロセス3との間には、ラッパー要求送信と、結果受信とがその通信時にのみ接続されておればよいので、ネットワーク資源4の排他性は要求されず、有効活用が図られる。 [0045] By this process, as shown in FIG. 2, between the server process 3 through the wrapper process 2 and network resource 4, and transmits the wrapper request, if I have results received and are connected only at the time of communication since good, exclusive of network resource 4 is not required, effective utilization is achieved. また、クライアントプロセス1から複数の要求スレッドを設けてマルチタスクを可能とし、複数の要求スレッドがあっても要求管理部5と要求送信部6及び結果受信部7の各スレッドがそれぞれ必要になったときに必要なプログラム処理を実行するので、あたかもマルチタスクを実行しているかのように動作するので、イベント駆動型サーバ方式におけるネットワーク資源を専有とせずに、いわゆるマルチタスクを現実に実行して、処理効率を向上することができる。 Further, to enable multitasking to provide a plurality of request thread from client process 1, each thread be a plurality of request thread and request management unit 5 requests transmission unit 6 and the result receiving part 7 is required, respectively since it executes a program processing required when, though because it works like a running multitasking, without proprietary network resources in an event-driven server method, by performing the so-called multitasking reality, it is possible to improve the processing efficiency.

【0046】[第2の実施形態]次に、第2の実施形態として、上記イベント駆動型サーバ方式の拡張性について説明する。 [0046] [Second Embodiment] Next, a second embodiment will be described scalability of the event-driven server method.

【0047】複数のクライアントプロセスに対して、ラッパープロセス2が複数存在する場合にもイベント駆動型サーバ方式として拡張できる。 [0047] for a plurality of client processes, the wrapper process 2 can be extended as an event-driven server method even when there are a plurality. そのために、ラッパープロセス2がサーバプロセス3に送信したラッパー要求と、サーバプロセス3から受信した結果の対応をとる要求識別子には、各々のラッパープロセス2とサーバプロセス3を接続するネットワーク資源4のID(A)と各ラッパープロセス2で割り当てた一意の番号(B)を用いて、全システムで一意になる番号を採用する。 Therefore, the wrapper requests wrapper process 2 is transmitted to the server process 3, the request identifier to take corresponding results received from the server process 3, ID of the network resources 4 connecting each wrapper process 2 and the server process 3 with (a) a unique number assigned by each wrapper process 2 (B), to adopt are unique numbers in all systems. たとえば、2つの番号A、Bを、桁をずらして加算する、文字列として連結するなどの方法がある。 For example, the two numbers A, a B, and adding staggered digits, there are methods such as connecting a string.

【0048】ネットワーク資源4のID(A)と各ラッパープロセス2で割り当てた一意の番号(B)とを桁をずらせて加算することにより、上記要求識別子と同等に各スレッドを区別できる。 [0048] By the ID of the network resource 4 (A) and a unique number assigned by each wrapper process 2 (B) and adding the shifted digits, equivalent to the request identifier can distinguish each thread. このことから、複数のクライアントプロセス1と複数のラッパープロセス2とネットワーク資源4とサーバプロセス3との組合せにより、例えばWWWのネットワーク上を、際限なく活用することができる。 Therefore, the combination of a plurality of client processes 1 and a plurality of wrappers processes 2 and network resource 4 and the server process 3, the upper example WWW network can be exploited endlessly.

【0049】 [0049]

【発明の効果】本発明によるイベント駆動型サーバ方式のシステムでは、従来例による要求と結果の対応をとるためにネットワーク資源を排他回線としており、1つのラッパー要求を送信する時にロック設定し、その結果を受信したあとにロック解除を行っていたため、その間は他のスレッドは動作できなかった。 In the system of event driven server method according to the present invention, has an exclusive line network resources to take the request and the results correspond according to the conventional example, and lock setting when transmitting one wrapper request, the the results because it was going to unlock after you received the, during which could not other thread operations.

【0050】それに対して、本発明では、送信専用の要求送信部6のスレッド、受信専用の結果受信部7のスレッド、送信待ちデータ記憶部8、受信待ちデータ記憶部9、要求識別子を設けて、サーバプロセスに対して行った要求と、受信した結果の対応がとれるようにしたので、ネットワーク資源の排他制御をする必要がなくなり、送信待ちデータ記憶部8あるいは受信待ちデータ記憶部9にアクセスするわずかな時間だけ排他制御すればよくなった。 [0050] In contrast, in the present invention, the requesting thread transmission unit 6 of the send-only, threads receive-only result receiving unit 7, the transmission wait data storage unit 8, the reception wait data storage unit 9, provided with a request identifier , requests and performing to the server process, since as a result of receiving association can take, it is not necessary to the exclusive control of the network resources, access to the transmission wait data storage unit 8 or the receive wait data storage unit 9 became well if the exclusive control only a small fraction of the time.

【0051】また、ネットワーク資源の排他制御をやめることで、1つのラッパー要求の結果が返ってくるのを待たずに、別の要求スレッドから次のラッパー要求が続けて行える。 [0051] Also, by quitting the exclusive control of network resources, without waiting for the returned result of one of the wrapper request, can be performed from another request thread continues the following wrapper request. また、受信結果は、クライアント要求を行った順番に関係なくサーバプロセス3の処理が終わった順に受けることができ、前の要求の処理時間に影響されることがなくなる。 The reception result may be received in the order in which processing has been completed for regardless server process 3 in the order of performing the client request, and it is eliminated influence the processing time of the previous request.

【0052】また、複数のクライアント要求をさらに複数の要求(ラッパー要求)に分けて、サーバプロセス3 [0052] In addition, further divided into a plurality of request multiple client requests (wrapper request), the server process 3
に送信することができ、この複数の要求送信を並行して行うことにより、クライアント要求から結果応答までの処理効率が向上するという効果を奏し得る。 Can be sent to, by performing in parallel the plurality of request transmission, it may provide an advantage of improving the processing efficiency to result response from the client request.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明によるイベント駆動型サーバ方式のシステム図である。 1 is a system diagram of an event-driven server method according to the present invention.

【図2】本発明によるイベント駆動型サーバ方式の動作説明図である。 [2] is a diagram for describing operation of the event-driven server method according to the present invention.

【図3】本発明によるイベント駆動型サーバ方式の要求データ図である。 3 is a request data view event driven server method according to the present invention.

【図4】従来例によるイベント駆動型サーバ方式の要求データ図である。 4 is a request data view event driven server method according to the prior art.

【符号の説明】 DESCRIPTION OF SYMBOLS

1 クライアントプロセス 2,21 ラッパープロセス 3 サーバプロセス 4 ネットワーク資源 5,22 要求管理部 6 要求送信部 7 結果受信部 8 送信待ちデータ記憶部 9 結果待ちデータ記憶部 10 要求識別子管理部 11,12,13 要求スレッド 1 client process 2, 21 wrapper Process 3 Server Process 4 network resource 5 and 22 request manager 6 requests the transmission unit 7 result receiving unit 8 transmission wait data storage unit 9 results wait data storage unit 10 requests the identifier management unit 11, 12, 13 request thread

Claims (7)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 イベント駆動プロセスへの並行アクセス制御方法において、クライアントプロセスから発生したイベントを要求する複数の要求スレッドと、該複数の要求スレッドを各要求データとして管理する要求管理部と、前記要求データに従ってサーバプロセスに送信する送信待ち記憶領域と、前記サーバプロセスからの結果待ち記憶領域と、前記複数の要求スレッド毎に前記送信待ち記憶領域の前記要求データ毎に送信する要求送信部と、前記サーバプロセスからの結果を受信する結果受信部と、前記要求送信部と前記結果受信部とに対する前記サーバプロセスとの間で相互通信を受け持つネットワーク資源とからなり、前記要求スレッドに関しマルチスレッドプロセスとシングルスレッドプロセス間でデータの送受信を並列に行うこと In a parallel access control method to claim 1] Event-driven process, and the plurality of request thread requesting the event generated by the client process, a request management unit for managing the request thread the plurality of the respective request data, said request a transmission waiting memory area to be transmitted according to the data to the server process, and results waiting storage area from the server process, a request transmitting unit that transmits to the respective request data of the transmission waiting memory area for each of the plurality of request thread, wherein a result receiving unit for receiving the result from the server process, consists of a network resource that is responsible for intercommunication between said server process and the request transmission unit for said result receiving unit, a multi-threaded process and single relates the request thread to transmit and receive data in parallel between threads process を特徴とする並行アクセス制御方法。 Concurrent access control method according to claim.
  2. 【請求項2】 請求項1に記載の並行アクセス制御方法において、前記要求データはコマンド名やパラメータ等の要求内容と、前記結果待ちデータ記憶部の結果格納場所のアドレスと、前記クライアントプロセスからの要求毎に付し前記送信待ち記憶領域及び前記結果待ち記憶領域の探索用指標となる要求識別子と、前記要求スレッドの指標となるスレッドIDとの少なくとも4つの情報からなることを特徴とする並行アクセス制御方法。 2. A parallel access control method according to claim 1, wherein the request data and the request content, such as command names and parameters, and the address of the result storage location of the results waiting data storage unit, from said client process a request identifier assigned to each request a search index of the transmission waiting memory area and the result waiting storage region, concurrent access, characterized in that it consists of at least four information with thread ID as an index of the request thread control method.
  3. 【請求項3】 請求項1又は2に記載の並行アクセス制御方法において、前記ネットワーク資源は前記相互通信中に排他的制御で使用され、前記要求スレッドの動作中にフリーであることを特徴とする並行アクセス制御方法。 3. The parallel access control method according to claim 1 or 2, wherein the network resource is used in the exclusive control in the mutual communication, characterized in that it is a free during operation of the request thread concurrent access control method.
  4. 【請求項4】 クライアントプロセスからサーバプロセスへのイベント駆動を行うマルチスレッドプロセス方法において、前記クライアントプロセスからのイベント要求に対応する複数の要求スレッドからの複数の要求データを順番にシングルスレッドに送信するために、前記サーバプロセスへの送信待ちの要求データの記憶部を設け、該記憶部の要求データに従ってネットワーク資源を介して前記サーバプロセスを駆動することを特徴とするマルチスレッドプロセス方法。 4. A multi-threaded process method from the client process performs event-driven to the server process, and transmits the single thread multiple requests data from a plurality of request thread corresponding to the event request from the client process in order for, multi-threaded process wherein the said storage portions of the requested data awaiting transmission to the server process is provided to drive the server process over a network resource in accordance with the request data of the storage unit.
  5. 【請求項5】 請求項4に記載のマルチスレッドプロセス方法において、マルチスレッドプロセスがシングルスレッドプロセスへ送信した前記要求データと、シングルスレッドプロセスから受信した結果の対応をとるために、送信済の要求を蓄えておく記憶部を設け、前記要求スレッドに対して一意に番号づけをすることを特徴とするマルチスレッドプロセス方法。 5. A multi-threaded process method according to claim 4, said request data multithreaded process has sent to the single-threaded process, to take the corresponding results received from the single-threaded process, request Sent a storage unit to be stored and provided, multi-threaded process wherein that uniquely numbered with respect to the request thread.
  6. 【請求項6】 請求項4又は5に記載のマルチスレッドプロセス方法において、複数の前記マルチスレッドプロセスが1つの前記サーバプロセスに対して要求し、応答を受けて前記送信待ちの要求データの記憶部に対応するアドレスを有する前記サーバプロセスからの結果待ち記憶部に格納することを特徴とするマルチスレッドプロセス方法。 6. The multithreaded process method according to claim 4 or 5, a plurality of the multi-threaded process requests to one of the server process, the memory unit of the requested data in the transmission waiting to receive a response the multithreaded process wherein the storing the result waiting storage unit of the server process having a corresponding address.
  7. 【請求項7】 イベント駆動プロセスへの並行アクセス制御装置において、クライアントプロセスから発生したイベントを要求する複数の要求スレッドと、該複数の要求スレッドを各要求データとして管理する要求管理部と、前記要求データに従ってサーバプロセスに送信する送信待ち記憶領域と、前記サーバプロセスからの結果待ち記憶領域と、前記複数の要求スレッド毎に前記送信待ち記憶領域の前記要求データ毎に送信する要求送信部と、前記サーバプロセスからの結果を受信する結果受信部と、前記要求送信部と前記結果受信部とに対する前記サーバプロセスとの間で相互通信を受け持つネットワーク資源とからなり、前記要求スレッドに関しマルチスレッドプロセスと前記ネットワーク資源と通信するシングルスレッドプロセス間で In a parallel access controller to 7. The event-driven process, and the plurality of request thread requesting the event generated by the client process, a request management unit for managing the request thread the plurality of the respective request data, said request a transmission waiting memory area to be transmitted according to the data to the server process, and results waiting storage area from the server process, a request transmitting unit that transmits to the respective request data of the transmission waiting memory area for each of the plurality of request thread, wherein consists of a result receiving unit for receiving the result from the server process, the network resources responsible for intercommunication between said server process and the request transmission unit for said result receiving unit, wherein a multi-threaded process relates to the aforementioned request thread between single-threaded process communicating with network resources データの送受信を並列に行うことを特徴とする並行アクセス制御装置。 Concurrent access control apparatus characterized by transmitting and receiving data in parallel.
JP3045099A 1999-02-08 1999-02-08 Parallel access control method, parallel access controller and multi-thread process method Granted JP2000227860A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3045099A JP2000227860A (en) 1999-02-08 1999-02-08 Parallel access control method, parallel access controller and multi-thread process method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3045099A JP2000227860A (en) 1999-02-08 1999-02-08 Parallel access control method, parallel access controller and multi-thread process method

Publications (1)

Publication Number Publication Date
JP2000227860A true true JP2000227860A (en) 2000-08-15

Family

ID=12304263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3045099A Granted JP2000227860A (en) 1999-02-08 1999-02-08 Parallel access control method, parallel access controller and multi-thread process method

Country Status (1)

Country Link
JP (1) JP2000227860A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318083B2 (en) 2001-08-27 2008-01-08 Ricoh Company, Ltd. Information processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318083B2 (en) 2001-08-27 2008-01-08 Ricoh Company, Ltd. Information processing system

Similar Documents

Publication Publication Date Title
US6205466B1 (en) Infrastructure for an open digital services marketplace
US5133053A (en) Interprocess communication queue location transparency
US7082553B1 (en) Method and system for providing reliability and availability in a distributed component object model (DCOM) object oriented system
US4876643A (en) Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US6374299B1 (en) Enhanced scalable distributed network controller
US5612865A (en) Dynamic hashing method for optimal distribution of locks within a clustered system
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US5699500A (en) Reliable datagram service provider for fast messaging in a clustered environment
US6938085B1 (en) Mechanism for enabling session information to be shared across multiple processes
US6272491B1 (en) Method and system for mastering locks in a multiple server database system
US5095421A (en) Transaction processing facility within an operating system environment
US6832298B2 (en) Server system operation control method
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4937737A (en) Process transparent multi storage mode data transfer and buffer control
US5452459A (en) Method and apparatus for allocating server access in a distributed computing environment
US20050160424A1 (en) Method and system for grid-enabled virtual machines with distributed management of applications
US6845505B1 (en) Web request broker controlling multiple processes
US5455953A (en) Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket
US5553242A (en) Client/server connection sharing
US6708171B1 (en) Network proxy
US6185650B1 (en) High performance locking facility
US6324590B1 (en) Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US5761507A (en) Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US5481720A (en) Flexible interface to authentication services in a distributed data processing environment