Data communication coordination with sequence numbers
First Claim
1. In a network computing environment having a client and server, a method comprising:
- granting the client at least one credit, each credit corresponding to a sequence number that the client can use for sending a command to the server, the set of one or more sequence numbers forming a valid command window; and
enforcing that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command.
2 Assignments
0 Petitions
Accused Products
Abstract
Described are sequence numbers for client-server communication, to control a client'"'"'s use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers forming a valid command window. The server enforces that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. The server may also maintain a maximum window size, such that clients with credits cannot send a command with a sequence number that beyond a maximum sequence number. When incorporated into a data communication protocol, quality of service, combating denial of service, detection of message loss, division of server resources, secure message signing, and other numerous benefits result.
-
Citations
20 Claims
-
1. In a network computing environment having a client and server, a method comprising:
-
granting the client at least one credit, each credit corresponding to a sequence number that the client can use for sending a command to the server, the set of one or more sequence numbers forming a valid command window; and
enforcing that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. At least one computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
-
granting a client a plurality of credits, each credit corresponding to a sequence number that the client uses for sending a command to a server, the sequence numbers forming a valid command window; and
upon receiving a command from the client;
verifying that the sequence number is within the window and has not been used before;
eliminating the corresponding sequence number from among those that the client can use and consuming one credit; and
determining whether to grant the client at least one other credit. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. In a network computing environment having a client and server, a server-side system comprising:
a mechanism for limiting use of server resources by controlling a number of credits granted to the client, the mechanism including;
a valid operation window, containing a unique number for each credit granted to the client;
an enforcement mechanism that ensures that to allow further server operations on a received command, the command includes a sequence number that is within the valid operation window and that the unique number has not been used with another command; and
an allocation mechanism that controls credits granted to the client and the unique numbers within the valid operation window. - View Dependent Claims (19, 20)
Specification