Electrical computers and digital processing systems: multicomput – Distributed data processing – Client/server
Reexamination Certificate
1997-06-11
2004-01-06
Wiley, David (Department: 2143)
Electrical computers and digital processing systems: multicomput
Distributed data processing
Client/server
C709S241000, C707S793000
Reexamination Certificate
active
06675195
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to computer software, and more specifically to client-server computer software.
BACKGROUND OF THE INVENTION
Where a single repository of data is shared by many users, a client-server architecture may be adopted. Referring now to
FIG. 1
, four computers
110
,
112
,
114
,
116
arranged using a client-server architecture are illustrated. In a client-server architecture, a server
110
is used to access a data repository storage device
102
that stores the data that is shared among the clients
112
,
114
,
116
. Clients
112
,
114
,
116
can request the data from the server
110
, process data, provide data to the server
110
and change data stored in the storage device
102
attached to the server
110
. Users of the client-server system
100
use a client
112
,
114
or
116
to communicate with the server
110
to access the shared data stored in the storage device
102
. Clients
112
,
114
,
116
do not have direct access to the data in the storage device
102
, but may request that the server
110
perform actions such as performing queries, or adding to, changing or deleting the data stored in the storage device
102
using server commands sent to the server
110
.
Each client
112
,
114
,
116
is coupled to the server
110
by a connection
122
,
124
or
126
between the clients
112
,
114
,
116
and the server
110
. Each connection
122
,
124
,
126
may be physically separate as shown in
FIG. 1
, or may be shared using a local area network, or LAN. Ports
142
,
144
,
146
in each of the clients
112
,
114
,
116
and the associated cabling provide the OSI layers
1
-
2
connectivity between the ports
132
,
134
,
136
of the server
110
. If the server
110
will communicate with each client
112
,
114
,
116
over a LAN, a single LAN interface port may physically replace ports
132
,
134
,
136
, and ports
132
,
134
,
136
are treated as logical ports.
As the user of each client
112
,
114
or
116
performs work, the corresponding client
112
,
114
or
116
will send commands to the server
110
. Each command from a client
112
,
114
,
116
is processed by the server
110
, which next sends to the client
112
,
114
,
116
a confirmation that the command has been processed. Until this confirmation is received, the client
112
,
114
,
116
will wait to send additional commands to the server
110
. If a task requires two or more commands to be sent to a server
110
by one of the clients
112
,
114
,
116
, two kinds of inefficiencies result.
The first inefficiency is that the client
112
,
114
,
116
ties up a port
132
,
134
,
136
on the server
110
longer than may be necessary because it will wait to receive the confirmation from one command before sending a subsequent command. Where ports
132
,
134
,
136
are shared among multiple clients as described in copending application Ser. No. 08/873,057 and 08/872,529,”the delay in releasing the port while waiting for the command confirmation can impact the performance of the other clients which may try to use the port
132
,
134
,
136
.
The second inefficiency is in the processing of the commands by the server
110
. The server software in the server
110
may execute commands from multiple clients
112
,
114
,
116
with a separate server process for each. If there is a delay between the first and second commands from the single client
112
,
114
or
116
, the server software in the server
110
may execute commands from other clients
112
,
114
,
116
, requiring the server to incur the overhead of switching from process to process, reducing the throughput and performance of the server
110
to a level lower than would be achievable without the overhead.
A system which allows commands from multiple clients to be switched among a single process, such as is described in copending application Ser. No. 08/872,529, can reduce the overhead associated with changing processes when the two clients sending commands share the same process, however, the overhead associated with switching the session associated with the client can cause similar throughput and performance degradation.
It is desirable to shorten the total period of time that a client
112
,
114
,
116
is required to use a port
132
,
134
,
136
on a server
110
to submit a multiple-command task, and to reduce the amount of processing overhead required for the server
110
to execute multiple server commands.
SUMMARY OF INVENTION
In accordance with the present invention, a device such as a client or a controller determines whether a command to be sent by a client will require a response from the server. Commands that will generate no response other than the command confirmation to the client are queued until a command that will produce a server response other than the command confirmation is also ready to be sent to the server. All of these commands are then sent together as a group, and optionally identified as requiring a single group response from the server. The server can provide a single response for the group, reducing the total time the port on the server is required to be in communication with the client. In addition, because all of the commands are available to the server at the same time, they may be executed in the most efficient fashion by the server.
REFERENCES:
patent: 5253341 (1993-10-01), Rozmanith et al.
patent: 5426421 (1995-06-01), Gray
patent: 5432841 (1995-07-01), Rimer
patent: 5440623 (1995-08-01), Moore et al.
patent: 5469545 (1995-11-01), Vanbuskirk et al.
patent: 5504928 (1996-04-01), Cook et al.
patent: 5596750 (1997-01-01), Li et al.
patent: 5613155 (1997-03-01), Baldiga et al.
patent: 5616876 (1997-04-01), Cluts
patent: 5632015 (1997-05-01), Zimowski et al.
patent: 5692192 (1997-11-01), Sudo
patent: 5699523 (1997-12-01), Li et al.
patent: 5740175 (1998-04-01), Wakeman et al.
patent: 5760789 (1998-06-01), Inoue
patent: 5761507 (1998-06-01), Govett
patent: 5774660 (1998-06-01), Brendel et al.
patent: 5774718 (1998-06-01), Aoshima et al.
patent: 5778225 (1998-07-01), Supernaw-Issen et al.
patent: 5781703 (1998-07-01), Desai et al.
patent: 5790800 (1998-08-01), Gauvin et al.
patent: 5799141 (1998-08-01), Galipeau et al.
patent: 5799173 (1998-08-01), Gossler et al.
patent: 5805920 (1998-09-01), Sprenkle et al.
patent: 5822749 (1998-10-01), Agarwal
patent: 5822772 (1998-10-01), Chan et al.
patent: 5825769 (1998-10-01), O'Reilly et al.
patent: 5826020 (1998-10-01), Randell
patent: 5835904 (1998-11-01), Vicik et al.
patent: 5845076 (1998-12-01), Arakawa
patent: 5854754 (1998-12-01), Cabrera et al.
patent: 5857188 (1999-01-01), Douglas
patent: 5872931 (1999-02-01), Chivaluri
patent: 5881238 (1999-03-01), Aman et al.
patent: 5881269 (1999-03-01), Dobbelstein
patent: 5887139 (1999-03-01), Madison, Jr. et al.
patent: 5892914 (1999-04-01), Pitts
patent: 5915092 (1999-06-01), Morita et al.
patent: 5923896 (1999-07-01), Young
patent: 5925098 (1999-07-01), Freund et al.
patent: 5944823 (1999-08-01), Jade et al.
patent: 5946498 (1999-08-01), Chiang et al.
patent: 5948062 (1999-09-01), Tzelnic et al.
patent: 5956489 (1999-09-01), San Andres et al.
patent: 5956509 (1999-09-01), Kevner
patent: 5963556 (1999-10-01), Varghese et al.
patent: 5974441 (1999-10-01), Rogers et al.
patent: 5978577 (1999-11-01), Rierden et al.
patent: 5978802 (1999-11-01), Hurvig
patent: 5978845 (1999-11-01), Reisacher
patent: 5991374 (1999-11-01), Hazenfield
patent: 6006016 (1999-12-01), Faigon et al.
patent: 6006266 (1999-12-01), Murphy et al.
patent: 6012083 (2000-01-01), Savitzky et al.
patent: 6018779 (2000-01-01), Blumenau
patent: 6035424 (2000-03-01), Freerksen et al.
patent: 6058413 (2000-05-01), Flores et al.
patent: 6115741 (2000-09-01), Domenikos et al.
patent: 6119143 (2000-09-01), Dias et al.
patent: 6128016 (2000-10-01), Coelho et al.
patent: 6151610 (2000-11-01), Senn et al.
patent: 6182151 (2001-01-01), Cheng et al.
patent: 6192389 (2001-02-01), Ault et al.
patent: 6230156 (2001-05-01), Hussey
patent: 6243725 (2001-06-01), Hempleman et al.
patent: 6295
Chatterjee Debashish
Chidambaran Lekshminarayanan “Luxi”
Hickman Palermo & Truong & Becker LLP
Nicholes Christian A.
Oracle International Corporation
Vaughn, Jr. William C.
Wiley David
LandOfFree
Method and apparatus for reducing inefficiencies caused by... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for reducing inefficiencies caused by..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for reducing inefficiencies caused by... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3252008