US5613155A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Bundling client write requests in a server
Assignee: International Business Machines Corp
•
Filing: 1995-06-07
•
Granted: 1997-03-18
•
Expires: 2015-06-07
Abstract
Abstract Logic for receiving client write requests, bundling them, and sending a reply back to the client(s) once the requests are committed to storage. The logic is included in an intermediate server which includes a write request module having a write bundling module included and a write reply module. A separate reply is sent for each of the individual client write requests. Out of order requests are handled by checking for a contiguous write having a lower file location (offset) than a current write request and placing that lower ordered offset request first in the bundle.
Inventors
- 👤 Frank P. Baldiga
- 👤 Christopher Meyer
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 21:39
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0613; G06F3/0628; G06F3/0655; G06F3/0656; G06F3/0668; G06F3/067
Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
270 words
In a computerized data processing system including a client system, a server system in communication with the client system, the server system further including an intermediate server and a remote server having a data store, the intermediate server having main memory adapted to store a plurality of pending client write requests in a queue, and logic coupled to the remote server for managing access to the data store, a method for communicating client write requests to write data to the data store comprising the machine-executed steps of: responsive to receiving a current client write request, referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step are contiguous to the current write request; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue; sending the bundled client write requests to be committed to the data store; and sending a separate reply to the client for each write request included in the bundled write request.
Claim 2
Dependent Claim
270 words
In a computerized data processing system including a client system, a server system in communication with the client system, the server system further including an intermediate server and a remote server having a data store, the intermediate server having main memory adapted to store a plurality of pending client write requests in a queue, and logic coupled to the remote server for managing access to the data store, a method for communicating client write requests to write data to the data store comprising the machine-executed steps of: responsive to receiving a current client write request, referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step are contiguous to the current write request; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue; sending the bundled client write requests to be committed to the data store; and sending a separate reply to the client for each write request included in the bundled write request.
Claim 3
Dependent Claim
97 words
The method of claim 1, and further comprising the steps of: determining a quantity of client write requests that are pending for the client in the queue; creating a pending client write requests count value representing the quantity of client write requests pending for the client in the queue; and referencing a predetermined threshold criterion defining a relationship between the pending client write requests count value to a predetermined threshold value to determine if the predetermined threshold criterion is met, wherein the time for waiting is additionally determined according to whether the predetermined threshold criterion is met.
Claim 4
Dependent Claim
44 words
The method of claim 2, wherein the amount of time waiting for additional client write requests is equal to a predetermined time increment that is greater than zero seconds if the predetermined data characteristic criterion is met and the predetermined threshold criterion is met.
Claim 5
Dependent Claim
30 words
The method of claim 2, wherein the amount of time waiting for additional client write requests is equal to zero seconds if the predetermined data characteristic criterion is not met.
Claim 6
Dependent Claim
28 words
The method of claim 2, wherein the amount of time waiting for additional write requests is equal to zero seconds if the predetermined threshold criterion is not met.
Claim 7
Dependent Claim
29 words
The method of claim 2, wherein the predetermined threshold criterion is met if the number of client write requests in the queue is less than the predetermined threshold value.
Claim 8
Dependent Claim
46 words
The method of claim 1, wherein the predetermined data characteristic criterion is met if the location of the data specified by the current client write request is contiguous to the location of the data specified by the client write request received before the current write request.
Claim 9
Dependent Claim
47 words
The method of claim 1, wherein the predetermined data characteristic criterion is met if the length of the data specified by the current client write request is the same as the length of the data specified by the client write request received before the current write request.
Claim 10
Dependent Claim
41 words
The method of claim 1, wherein the amount of client write requests bundled is equal to only one if no contiguous client write requests are placed in the queue and thereby only the current write request is included in the bundle.
Claim 11
Dependent Claim
75 words
The method of claim 1, and further comprising the step of determining if any client write request in the queue that is contiguous to the current write request has a lower sequential offset than the current write request, and then based on this sequential determination, ordering the client write requests in the bundle in sequential order with the write request having the lowest sequential offset being ordered as the first write request in the bundle.
Claim 12
Dependent Claim
19 words
The method of claim 1, wherein the reply includes a status field indicating if the bundled write was successful.
Claim 13
Dependent Claim
75 words
The method of claim 2, and further comprising the step of determining if any client write request in the queue that is contiguous to the current write request has a lower sequential offset than the current write request, and then based on this sequential determination, ordering the client write requests in the bundle in sequential order with the write request having the lowest sequential offset being ordered as the first write request in the bundle.
Claim 14
Dependent Claim
29 words
The method of claim 12, wherein the predetermined threshold criterion is met if the number of client write requests in the queue is less than the predetermined threshold value.
Claim 15
Dependent Claim
291 words
A server system in communication with a client system for communicating client write requests to write data to a data store on a server, the system comprising: an intermediate server having a processor and main memory coupled to the processor and the main memory being adapted to store a plurality of client write requests in a queue; a remote server having a data store; the intermediate server further including logic in communication with the remote server for managing access to the data store; and the logic including machine-executed means coupled to the processor for communicating client write requests to write data to the data store by: being responsive to receiving a current client write request by referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step are contiguous to the current write request; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue; sending the bundled client write requests to be committed to the data store; and sending a separate reply to the client for each write request included in the bundled write request.
Claim 16
Dependent Claim
291 words
A server system in communication with a client system for communicating client write requests to write data to a data store on a server, the system comprising: an intermediate server having a processor and main memory coupled to the processor and the main memory being adapted to store a plurality of client write requests in a queue; a remote server having a data store; the intermediate server further including logic in communication with the remote server for managing access to the data store; and the logic including machine-executed means coupled to the processor for communicating client write requests to write data to the data store by: being responsive to receiving a current client write request by referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step are contiguous to the current write request; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue; sending the bundled client write requests to be committed to the data store; and sending a separate reply to the client for each write request included in the bundled write request.
Claim 17
Dependent Claim
117 words
The system of claim 14, wherein the machine-executed means further includes means for communicating client write requests to write data to the data store by: determining a quantity of client write requests that are pending for the client in the queue; creating a pending client write requests count value representing the quantity of client write requests pending for the client that are pending for the client in the queue; and referencing a predetermined threshold criterion defining a relationship between the pending client write requests count value to a predetermined threshold value to determine if the predetermined threshold criterion is met, wherein the time for waiting is additionally determined according to whether the predetermined threshold criterion is met.
Claim 18
Dependent Claim
44 words
The system of claim 15, wherein the amount of time waiting for additional client write requests is equal to a predetermined time increment that is greater than zero seconds if the predetermined data characteristic criterion is met and the predetermined threshold criterion is met.
Claim 19
Dependent Claim
30 words
The system of claim 15, wherein the amount of time waiting for additional client write requests is equal to zero seconds if the predetermined data characteristic criterion is not met.
Claim 20
Dependent Claim
29 words
The system of claim 15, wherein the amount of time waiting for additional client write requests is equal to zero seconds if the predetermined threshold criterion is not met.
Claim 21
Dependent Claim
29 words
The system of claim 15, wherein the predetermined threshold criterion is met if the number of client write requests in the queue is less than the predetermined threshold value.
Claim 22
Dependent Claim
46 words
The system of claim 14, wherein the predetermined data characteristic criterion is met if the location of the data specified by the current client write request is contiguous to the location of the data specified by the client write request received before the current write request.
Claim 23
Dependent Claim
47 words
The system of claim 14, wherein the predetermined data characteristic criterion is met if the length of the data specified by the current client write request is the same as the length of the data specified by the client write request received before the current write request.
Claim 24
Dependent Claim
41 words
The system of claim 14, wherein the amount of client write requests bundled is equal to only one if no contiguous client write requests are placed in the queue and thereby only the current write request is included in the bundle.
Claim 25
Dependent Claim
75 words
The system of claim 14, and further including machine-executed means for determining if any client write request in the queue that is contiguous to the current write request has a lower sequential offset than the current write request, and then based on this sequential determination, ordering the client write requests in the bundle in sequential order with the write request having the lowest sequential offset being ordered as the first write request in the bundle.
Claim 26
Dependent Claim
312 words
A computer program product for communicating client write requests to write data to a data store on a remote server in a server system, the server system including an intermediate server having a processor and main memory coupled to the processor, the main memory being adapted to store a plurality of client write requests in a queue, the computer program product comprising: a recording medium; means, recorded on the recording medium, for being responsive to receiving a current client write request by referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; means, recorded on the recording medium, for directing the processor to wait an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; means recorded on the recording medium, for directing the processor to determine if any additional client write requests received during the waiting step are contiguous to the current write request; means recorded on the recording medium, for directing the processor to bundle together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue: means, recorded on the recording medium, for directing the processor to send the bundled client write requests to be committed to the data store; and memos recorded on the recording medium, for directing the processor to send a separate reply to the client for each write request included in the bundled write request.
Claim 27
Dependent Claim
312 words
A computer program product for communicating client write requests to write data to a data store on a remote server in a server system, the server system including an intermediate server having a processor and main memory coupled to the processor, the main memory being adapted to store a plurality of client write requests in a queue, the computer program product comprising: a recording medium; means, recorded on the recording medium, for being responsive to receiving a current client write request by referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; means, recorded on the recording medium, for directing the processor to wait an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; means recorded on the recording medium, for directing the processor to determine if any additional client write requests received during the waiting step are contiguous to the current write request; means recorded on the recording medium, for directing the processor to bundle together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed in the queue: means, recorded on the recording medium, for directing the processor to send the bundled client write requests to be committed to the data store; and memos recorded on the recording medium, for directing the processor to send a separate reply to the client for each write request included in the bundled write request.
Claim 28
Dependent Claim
121 words
The computer program product of claim 24, and further including: means, recorded on the recording medium, for determining a quantity of client write requests that are pending for the client in the queue; means recorded on the recording medium, for creating a pending client write requests count value representing the quantity of client write requests pending for the client in the queue: and means recorded on the recording medium, for referencing a predetermined threshold criterion defining a relationship between the pending client write requests count value to a predetermined threshold value to direct the processor to determine if the predetermined threshold criterion is met, wherein the time for waiting is additionally determined according to whether the predetermined threshold criterion is met.
Claim 29
Dependent Claim
46 words
The computer program product of claim 25, wherein the amount of time waiting for additional client write requests is equal to a predetermined time increment that is greater than zero seconds if the predetermined data characteristic criterion is met and the predetermined threshold criterion is met.
Claim 30
Dependent Claim
32 words
The computer program product of claim 25, wherein the amount of time waiting for additional client write requests is equal to zero seconds if the predetermined data characteristic criterion is not met.
Claim 31
Dependent Claim
31 words
The computer program product of claim 25, wherein the amount of time waiting for additional client write requests is equal to zero seconds if the predetermined threshold criterion is not met.
Claim 32
Dependent Claim
31 words
The computer program product of claim 25, wherein the predetermined threshold criterion is met if the number of client write requests in the queue is less than the predetermined threshold value.
Claim 33
Dependent Claim
48 words
The computer program product of claim 24, wherein the predetermined data characteristic criterion is met if the location of the data specified by the current client write request is contiguous to the location of the data specified by the client write request received before the current write request.
Claim 34
Dependent Claim
49 words
The computer program product of claim 24, wherein the predetermined data characteristic criterion is met if the length of the data specified by the current client write request is the same as the length of the data specified by the client write request received before the current write request.
Claim 35
Dependent Claim
49 words
The computer program product of claim 24, wherein the amount of client write requests bundled is equal to only one if the predetermined data criterion is not met by any client write requests placed in the queue and thereby only the current write request is included in the bundle.
Claim 36
Independent Claim
282 words
An apparatus for communicating client write requests to write data to a data store on a remote server, the apparatus comprising: a processor: main memory coupled to the processor, wherein the main memory is adapted to store client write requests in a queue: logic loaded into the main memory for managing access to the data store; and the logic including: a write request module that is adapted to be responsive to a request from the client to write data on the data store, by: referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step satisfy the predetermined data criterion; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed the queue; and sending the bundled client write requests to be committed to the data store; and a write reply module that is adapted to be responsive to sending the bundled client write requests to be committed to the data store by sending a separate reply to the client for each write request included in the bundled write request.
Claim 37
Independent Claim
282 words
An apparatus for communicating client write requests to write data to a data store on a remote server, the apparatus comprising: a processor: main memory coupled to the processor, wherein the main memory is adapted to store client write requests in a queue: logic loaded into the main memory for managing access to the data store; and the logic including: a write request module that is adapted to be responsive to a request from the client to write data on the data store, by: referencing a predetermined data characteristic criterion defining a relationship between data specified by the current write request and data specified by a client write request received before the current write request to determine if the data characteristic criterion is met; waiting an amount of time for additional client write requests to be received and placed in the queue, wherein the amount of time is determined according to whether the predetermined data characteristic criterion is met; determining if any additional client write requests received during the waiting step satisfy the predetermined data criterion; bundling together an amount of client write requests that have been received in the queue with the current write request, wherein the amount bundled is determined according to whether a predetermined capacity of client write requests that are contiguous to the current write request have been placed the queue; and sending the bundled client write requests to be committed to the data store; and a write reply module that is adapted to be responsive to sending the bundled client write requests to be committed to the data store by sending a separate reply to the client for each write request included in the bundled write request.
Claim 38
Dependent Claim
78 words
The apparatus of claim 33, wherein the write bundle module further comprises means for determining if any client write request in the queue that is contiguous to the current write request has a lower sequential offset than the current write request, and then based on this sequential determination, ordering the client write requests in the bundle in sequential order with the write request having the lowest sequential offset being ordered as the first write request in the bundle.
References Cited (Backward Citations)
US4445176A
Cited
US5218713A
Cited
JPH01241243A
Cited
US5053945A
Cited
US5124909A
Cited
US5218695A
Cited
US5224214A
Cited
US5517660A
Cited
US5014195A
Cited
US5276840A
Cited
US5283883A
Cited
US5313585A
Cited
US5392398A
Cited
US5467434A
Cited
US5446855A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-03-17 | 2000-09-16 | 2001-03-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-03-17 | 2004-09-16 | 2005-03-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-03-17 | 2008-09-16 | 2009-03-18 | $7700.00 | Window Closed / Lapsed |