System and method for flow control in a network
First Claim
1. A method for controlling command message flow in a network including a server and a client comprising the steps of:
- including a command window, comprising a maximum number of command messages that may be outstanding at the server, in messages sent from the server to the client;
modifying the value of the command window at the server in accordance with available server resources for receiving said command messages;
sending a plurality of said command messages from the client to the server;
when there are insufficient resources at the server to process one of the command messages delivered to the server, then;
sending a pause message to the client indicating which said command message cannot be received;
storing indicia indicating the command message initially discarded; and
discarding subsequent said command messages delivered to the server until an initially discarded said command message is again delivered to the server;
ceasing sending said command messages from the client when the number of outstanding said command messages is at least equal to the maximum number of messages indicated by the command window; and
when the number of outstanding said command messages is less than the maximum number indicated by the command window, then resuming sending said command messages from the client to the server, starting with the command message initially discarded by the server.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for controlling command message flow in a network including a server and a client. A command window, comprising a maximum number of command messages that may be outstanding at the server, is included in messages sent from the server to the client. The value of the command window at the server is modified in accordance with available server resources for receiving command messages. When there are insufficient resources at the server to process one of the command messages delivered to the server, then a pause message is sent to the client indicating which said command message cannot be received; indicia is stored that indicates the command message initially discarded; and subsequent said command messages delivered to the server are discarded until an initially discarded said command message is again delivered to the server.
55 Citations
20 Claims
-
1. A method for controlling command message flow in a network including a server and a client comprising the steps of:
-
including a command window, comprising a maximum number of command messages that may be outstanding at the server, in messages sent from the server to the client;
modifying the value of the command window at the server in accordance with available server resources for receiving said command messages;
sending a plurality of said command messages from the client to the server;
when there are insufficient resources at the server to process one of the command messages delivered to the server, then;
sending a pause message to the client indicating which said command message cannot be received;
storing indicia indicating the command message initially discarded; and
discarding subsequent said command messages delivered to the server until an initially discarded said command message is again delivered to the server;
ceasing sending said command messages from the client when the number of outstanding said command messages is at least equal to the maximum number of messages indicated by the command window; and
when the number of outstanding said command messages is less than the maximum number indicated by the command window, then resuming sending said command messages from the client to the server, starting with the command message initially discarded by the server. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for controlling command message flow in a network including a server and a client comprising the steps of:
-
including a command window, comprising a maximum number of command messages that may be outstanding at the server, in messages sent from the server to the client;
modifying the value of the command window at the server in accordance with available server resources for receiving said command messages;
when there are insufficient resources at the server to process one of the command messages delivered to the server, then;
sending a pause message to the client indicating which said command message cannot be received;
storing indicia indicating the command message initially discarded; and
discarding subsequent said command messages delivered to the server until an initially discarded said command message is again delivered to the server. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method for controlling command message flow in a network including a server and a client comprising the steps of:
-
sending a plurality of command messages from the client to the server;
receiving, from the server, a message command window, comprising a maximum number of said command messages that may be outstanding at the server, ceasing sending said command messages from the client when the number of outstanding command messages is at least equal to the maximum number of messages indicated by the command window; and
when the number of outstanding said command messages is less than the maximum number indicated by the command window, then resuming sending said command messages from the client to the server, starting with the command message initially discarded by the server. - View Dependent Claims (13, 14, 15)
-
-
16. A method for controlling command message flow in a network including a server and a client comprising the steps of:
-
including a command window, comprising a maximum number of command messages that may be outstanding at the server, in each message sent from the server to the client;
setting an initial value of the command window via a message from the server to the client during connection establishment therebetween;
modifying the value of the command window at the server in accordance with available server resources for receiving said command messages;
sending a plurality of said command messages from the client to the server in client command message order until the number of outstanding command messages is equal to the maximum number indicated by the command window;
establishing command order at the server based on the order in which said command messages are delivered to the server by the sequenced message transport;
when there are insufficient resources at the server to process one of the command messages delivered to the server, then;
sending a pause message to the client indicating which said command message cannot be processed;
storing indicia indicating the command message initially discarded; and
discarding subsequent said command messages delivered to the server until the initially discarded said command message is again delivered to the server;
ceasing sending said command messages from the client when the number of outstanding command messages is at least equal to the maximum number of messages indicated by the command window;
when the number of outstanding command messages is less than the maximum number indicated by the command window, then resuming sending said command messages from the client to the server, starting with the command message initially discarded by the server, and proceeding to process received command messages in the client command message order; and
when the initially discarded said command message is again delivered to the server, then resuming processing of delivered command messages if sufficient server resources are available. - View Dependent Claims (17, 18)
-
-
19. A system for controlling command message flow in a network including a server and a client comprising:
-
a command window, comprising a maximum number of command messages that may be outstanding at the server, included in each message sent from the server to the client;
wherein;
an initial value of the command window is set via a message from the server to the client during connection establishment therebetween;
the value of the command window at the server is modified in accordance with available server resources for receiving said command messages;
a plurality of said command messages are sent from the client to the server in client command message order until the number of outstanding command messages is equal to the maximum number indicated by the command window;
command order at the server is established based on the order in which said command messages are delivered to the server by the sequenced message transport;
when there are insufficient resources at the server to process one of the command messages delivered to the server, then;
a pause message is sent to the client indicating which said command message cannot be processed;
indicia is stored indicating the command message initially discarded; and
subsequent said command messages delivered to the server are discarded until the initially discarded said command message is again delivered to the server;
said command messages from the client cease being sent to the server when the number of outstanding command messages is at least equal to the maximum number of messages indicated by the command window;
when the number of outstanding command messages is less than the maximum number indicated by the command window, then resuming sending said command messages from the client to the server, starting with the command message initially discarded by the server, and proceeding to process received command messages in the client command message order; and
when the initially discarded said command message is again delivered to the server, then processing of delivered command messages is resumed if sufficient server resources are available. - View Dependent Claims (20)
-
Specification