← Back to Patent Explorer
US5617570A Expired / Lapsed US ⏱️ 0.0 years remaining

Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication

Assignee: AD TECHNOLOGIES LLC
•
Filing: 1993-11-03
•
Granted: 1997-04-01
•
Expires: 2013-11-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A server for executing operation calls by a client, including a dispatcher, a plurality of worker tasks, and a dispatcher shared memory area and worker control block for each worker task. Each operation call provided from a client is a sequence or one or more remote procedure call requests and each includes a packed buffer containing parameters. The dispatcher receives a buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request, sets the semaphore and sends a request acceptance response. The selected worker task unpacks the buffer into its memory space, executes the request, places the results into a packed buffer in its dispatcher shared memory area and sends a remote procedure call to the dispatcher. The dispatcher executes a remote procedure call to the client and sends the result buffer directly from the shared memory area. The server further includes a dispatcher state save mechanism and the remote procedure call from the worker task includes an identifier of the corresponding saved dispatcher state for the request. The packed buffer associated with a request includes client information and each worker task stores the client information in a worker shared memory space common to the worker tasks and each request of an operation call may be assigned to a different worker task.

Inventors

  • 👤 Edward A. Russell
  • 👤 Raymond T. Tang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 21:44
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; G06F9/547; H; H04; H04L; H04L67/00; H04L67/01; H04L67/133; H04L9/00; H04L9/40

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 436 words
In a data processing system including at least one client mechanism for generating operation requests to servers, each server including a server resource and each operation request specifying an operation to be performed with respect to the server resource, a server mechanism for executing the operation requests, comprising: a dispatcher, a plurality of worker tasks, and a plurality of dispatcher shared memory areas, each dispatcher shared memory area corresponding to a worker task, the dispatcher being responsive to an operation request from a client mechanism for selecting a worker task to execute the operation request, receiving the operation request directly into the dispatcher shared memory space of the worker task, and indicating to the worker task that an operation request has been assigned to the worker task, the worker task being responsive to the indication of an operation request for receiving the operation request from the dispatcher shared memory space of the worker task, executing the operation request, placing the results of the operation request into the dispatcher shared memory space of the worker task, and indicating to the dispatcher that the operation request is completed, the dispatcher being responsive to the indication that the operation request is completed for providing the results of the operation request directly from the dispatcher shared memory space of the worker task to the client mechanism, wherein each operation request provided from a client mechanism is provided as a sequence or one or more remote procedure call requests, each remote procedure call request including an associated buffer containing the parameters of the remote procedure call request, and the server mechanism includes a plurality of worker control blocks, each worker control block corresponding to a worker task and including a semaphore which is set by the dispatcher to indicate that an operation request has been assigned to the worker task, and wherein the dispatcher is responsive to a remote procedure call request for receiving the buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request, and setting the semaphore in the worker control block corresponding to the selected worker task, and providing a request acceptance response to the client mechanism, the selected worker task is responsive to the semaphore in the corresponding worker control block for reading the associated parameters from the buffer, performing the assigned remote procedure call request, and placing the results of the remote procedure call request into the dispatcher shared memory space of the worker task, and generating a remote procedure call to the dispatcher to indicate that the assigned remote procedure all request has been completed.
Claim 2
Dependent Claim 436 words
In a data processing system including at least one client mechanism for generating operation requests to servers, each server including a server resource and each operation request specifying an operation to be performed with respect to the server resource, a server mechanism for executing the operation requests, comprising: a dispatcher, a plurality of worker tasks, and a plurality of dispatcher shared memory areas, each dispatcher shared memory area corresponding to a worker task, the dispatcher being responsive to an operation request from a client mechanism for selecting a worker task to execute the operation request, receiving the operation request directly into the dispatcher shared memory space of the worker task, and indicating to the worker task that an operation request has been assigned to the worker task, the worker task being responsive to the indication of an operation request for receiving the operation request from the dispatcher shared memory space of the worker task, executing the operation request, placing the results of the operation request into the dispatcher shared memory space of the worker task, and indicating to the dispatcher that the operation request is completed, the dispatcher being responsive to the indication that the operation request is completed for providing the results of the operation request directly from the dispatcher shared memory space of the worker task to the client mechanism, wherein each operation request provided from a client mechanism is provided as a sequence or one or more remote procedure call requests, each remote procedure call request including an associated buffer containing the parameters of the remote procedure call request, and the server mechanism includes a plurality of worker control blocks, each worker control block corresponding to a worker task and including a semaphore which is set by the dispatcher to indicate that an operation request has been assigned to the worker task, and wherein the dispatcher is responsive to a remote procedure call request for receiving the buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request, and setting the semaphore in the worker control block corresponding to the selected worker task, and providing a request acceptance response to the client mechanism, the selected worker task is responsive to the semaphore in the corresponding worker control block for reading the associated parameters from the buffer, performing the assigned remote procedure call request, and placing the results of the remote procedure call request into the dispatcher shared memory space of the worker task, and generating a remote procedure call to the dispatcher to indicate that the assigned remote procedure all request has been completed.
Claim 3
Dependent Claim 29 words
The server mechanism of claim 1 wherein the buffer is a packed buffers and the packed buffers is unpacked by the worker task into the worker task memory space.
Claim 4
Dependent Claim 130 words
The server mechanism of claim 1, further comprising: a dispatcher state save mechanism for saving a dispatcher state of execution of the remote procedure call request upon dispatch to the selected worker task, the dispatcher state of execution representing the state of execution of the corresponding remote procedure call request by the dispatcher upon the remote procedure call request being dispatched to the selected worker task, and in the worker control block state control corresponding to the selected worker task, an identifier of the dispatcher state of execution of the remote procedure call request, wherein the remote procedure call from the worker task to the dispatcher to indicate completion of execution of the remote procedure call request includes as a parameter the identifier of the corresponding dispatcher state of execution.
Claim 5
Dependent Claim 79 words
The server mechanism of claim 1, wherein: the buffer associated with a remote procedure call request includes information related to the client mechanism, including the access authorizations of the client mechanism, and the worker task selected to execute the remote procedure call request is responsive to the server resource operation specified by the remote procedure call request and the access authorizations contained in the associated buffer for confirming the access rights of the client mechanism generating the operation request.
Claim 6
Dependent Claim 53 words
The server mechanism of claim 1, further comprising: a worker shared memory space common to the worker tasks for storing information regarding the operation requests directed to the server resource, wherein the information regarding the operation requests is available to the worker tasks executing the remote procedure call requests of the operation requests.
Claim 7
Dependent Claim 52 words
The server mechanism of claim 5, wherein: each remote procedure call request of an operation request may be assigned to a different worker task, and the worker tasks executing the remote procedure calls of an operation request may share the information regarding the operation request stored in the worker shared memory space.
Claim 8
Dependent Claim 364 words
In a data processing system including at least one client mechanism for generating operation requests to servers, each server including a server resource and each operation request specifying an operation to be performed with respect to the server resource, a method to be executed in a server mechanism for executing the operation requests, comprising the steps of: providing a plurality of dispatcher shared memory areas, each dispatcher shared memory area corresponding to a worker task for executing operation requests, dispatching an operation request to a worker task by selecting a worker task to execute the operation request, receiving the operation request directly into the dispatcher shared memory space of the worker task, and indicating to the worker task that an operation request has been assigned to the worker task, receiving the operation request from the dispatcher shared memory space and into the selected worker task, executing the operation request in the selected worker task, placing the results of the execution of the operation dispatcher shared memory space of the worker task, and returning the results of the operation request directly from the dispatcher shared memory space of the worker task to the client mechanism, wherein each operation request provided from a client mechanism is provided as a sequence or one or more remote procedure call requests, each remote procedure call request including an associated buffer containing the parameters of the remote procedure call request, and including the steps of providing a plurality of worker control blocks, each worker control block corresponding to a worker task and including a semaphore, wherein the steps of dispatching a remote procedure call request to a worker task further include the steps of receiving the buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request, and setting the semaphore in the worker control block corresponding to the selected worker task, and reading the associated parameters from the buffer and into the worker task, and the step of returning the results of the remote procedure call request to the client mechanism further includes generating a remote procedure call to indicate that the assigned remote procedure call request has been completed.
Claim 9
Dependent Claim 364 words
In a data processing system including at least one client mechanism for generating operation requests to servers, each server including a server resource and each operation request specifying an operation to be performed with respect to the server resource, a method to be executed in a server mechanism for executing the operation requests, comprising the steps of: providing a plurality of dispatcher shared memory areas, each dispatcher shared memory area corresponding to a worker task for executing operation requests, dispatching an operation request to a worker task by selecting a worker task to execute the operation request, receiving the operation request directly into the dispatcher shared memory space of the worker task, and indicating to the worker task that an operation request has been assigned to the worker task, receiving the operation request from the dispatcher shared memory space and into the selected worker task, executing the operation request in the selected worker task, placing the results of the execution of the operation dispatcher shared memory space of the worker task, and returning the results of the operation request directly from the dispatcher shared memory space of the worker task to the client mechanism, wherein each operation request provided from a client mechanism is provided as a sequence or one or more remote procedure call requests, each remote procedure call request including an associated buffer containing the parameters of the remote procedure call request, and including the steps of providing a plurality of worker control blocks, each worker control block corresponding to a worker task and including a semaphore, wherein the steps of dispatching a remote procedure call request to a worker task further include the steps of receiving the buffer directly into the dispatcher shared memory space of the worker task selected to execute the remote procedure call request, and setting the semaphore in the worker control block corresponding to the selected worker task, and reading the associated parameters from the buffer and into the worker task, and the step of returning the results of the remote procedure call request to the client mechanism further includes generating a remote procedure call to indicate that the assigned remote procedure call request has been completed.
Claim 10
Dependent Claim 51 words
The method to be executed in a server mechanism for executing the operation requests of claim 7 wherein the buffers are packed buffers and the step of receiving the remote procedure call into the selected worker task further includes the step of unpacking the buffer into the worker task memory space.
Claim 11
Dependent Claim 135 words
The method to be executed in a server mechanism for executing the operation requests of claim 7, further comprising the steps of: upon dispatching a remote procedure call request to a worker task, saving a dispatcher state of execution of the remote procedure call request passed to a worker task, the dispatcher state of execution representing the state of execution of the remote procedure call request by the dispatcher upon the remote procedure call request being dispatched to the selected worker task, and upon completing the remote procedure call request by the selected worker task, generating a remote procedure call indicating completion of the remote procedure call request, the remote procedure call indicating completion of execution of the remote procedure call request including as a parameter an identifier of the corresponding dispatcher state of execution.
Claim 12
Dependent Claim 78 words
The method to be executed in a server mechanism for executing the operation requests of claim 7, wherein: the buffer associated with a remote procedure call request includes information related to the client mechanism, including the access authorizations of the client mechanism, and the step of executing the remote procedure call request by the selected worker task further includes the step of confirming the access rights of the client mechanism generating the operation request for the server resource.
Claim 13
Dependent Claim 85 words
The method to be executed in a server mechanism for executing the operation requests of claim 7, further comprising the step of: providing a worker shared memory space common to the worker tasks, and the step of executing a remote procedure call request includes storing the information regarding the operation requests directed to the server resource in the worker shared memory space, wherein the information regarding the operation requests is available to the worker tasks executing the remote procedure call requests of the operation requests.
Claim 14
Dependent Claim 52 words
The server mechanism of claim 11, wherein: each remote procedure call request of an operation request may be assigned to a different worker task, and the worker tasks executing the remote procedure calls of an operation request may share the information regarding the operation request stored in the worker shared memory space.

References Cited (Backward Citations)

US5325492A Cited
US5265250A Cited
US5440744A Cited
US5321808A Cited
US5329619A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-31 2000-09-30 2001-04-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-31 2004-09-30 2005-04-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-31 2008-09-30 2009-04-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag