IP Library Granted Patent US 7,548,974
Granted Patent B2
US 7,548,974 · App. 10/963,386 · Granted Jun 16, 2009

Adaptively processing client requests to a network server

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,548,974
App. No.
10/963,386
Granted
Jun 16, 2009
Kind
B2
Abstract

In a computer network environment, a server protocol is provided to process read requests from clients. Rather than all read requests being processed synchronously or all read requests being processed asynchronously, an attempt is first made to perform a synchronous read. If the synchronous read is unsuccessful, the connection through which the request was received by the server is registered with a monitoring service. When the data is ready to be read, an appropriate callback is called and the data transmitted. An optional delay may be imposed before the synchronous read is attempted to increase the likelihood that the attempt will be successful. A series of delays/read attempts may also be employed in order to increase the likelihood still further that an attempt will be successful.

Claims (28)

1. A method of processing requests in a network environment, comprising:

attempting a first synchronous read on a first thread on which a first request for data is received from a network connection;

calling a callback on the first thread if the first synchronous read succeeds;

registering the connection with a monitoring service if the first synchronous read fails;

monitoring the registered connection; and

calling a callback on a second thread when the data is ready to be read.

2. The method of claim 1 , further comprising attempting the first synchronous read following a delay of a first predetermined period.

3. The method of claim 2 , further comprising, if the attempt to perform the first synchronous read is unsuccessful, repeatedly attempting the first synchronous read, with each attempt following a delay of the first predetermined period.

4. The method of claim 3 , further comprising, if one of the repeated attempts to perform the first synchronous read is successful:

recording the total delay required to perform the first synchronous read of the data;

setting a second predetermined period to equal the total delay;

following a receipt of a second request for data from the network connection and a delay of the second period, attempting a second synchronous read on a second thread; and

if the attempt to perform the second synchronous read is unsuccessful, attempting the second synchronous read following a delay of the first predetermined period.

5. The method of claim 3 , further comprising, if none of the repeated attempts to perform the first synchronous read is successful:

upon receipt of a second request for data from the network connection, registering the connection with the monitoring service without attempting to perform a synchronous read of the data;

monitoring the registered connection; and

calling a callback on a second thread when the data is ready to be read.

6. The method of claim 1 , further comprising:

incrementing a counter before calling the callback on the second thread;

unwinding a stack and resetting the counter if the counter reaches a predetermined value; and

calling the callback.

7. The method of claim 1 , further comprising:

incrementing a counter before calling the callback on the second thread; and

if the counter reaches a predetermined value:

registering the connection with the monitoring service;

unwinding a stack and resetting the counter;

monitoring the registered connection; and

calling a callback when the data is ready to be read.

Assignments (3)
CHANGE OF NAME Recorded Nov 7, 2023
From: CITRIX SYSTEMS INTERNATIONAL GMBH
To: CLOUD SOFTWARE GROUP SWITZERLAND GMBH
Reel/Frame 065478/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: CITRIX SYSTEMS INTERNATIONAL GMBH
Reel/Frame 029601/0753 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2004
From: GILGEN, DAVID B; TUEL, ANTHONY R
To: INTERNATIONAL BUSINESS MACHINES (IBM) CORPORATION
Reel/Frame 015283/0711 →