DATA COMMUNICATION COORDINATION WITH SEQUENCE NUMBERS
1 Assignment
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
40 Claims
-
1-20. -20. (canceled)
-
21. A method comprising:
-
establishing, by a server, a valid command window comprising at least one sequence number; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated sequence number; determining whether the associated sequence number is within the valid command window; determining whether the associated sequence number has not been previously included in another file system command; processing the file system command when it is determined that the associated sequence number is within the valid command window and has not been previously included in another file system command; granting the client at least one additional credit, wherein the additional credit enables the client to consume at least one additional server resource; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer-readable storage medium having computer-executable instructions which, when executed by at least one processor, performs a method comprising:
-
establishing, by a server, a valid command window comprising at least one sequence number; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated sequence number; determining whether the associated sequence number is within the valid command window; determining whether the associated sequence number has not been previously included in another file system command; processing the file system command when it is determined that the associated sequence number is within the valid command window and has not been previously included in another file system command; granting the client at least one additional credit, wherein the additional credit enables the client to consume at least one additional server resource; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A system comprising:
-
one or more processors; and a memory coupled to the one or more processors, the memory for storing instructions which, when executed by the one or more processors, performs a method comprising; establishing, by a server, a valid command window comprising at least one sequence number; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated sequence number; determining whether the associated sequence number is within the valid command window; determining whether the associated sequence number has not been previously included in another file system command; processing the file system command when it is determined that the associated sequence number is within the valid command window and has not been previously included in another file system command; granting the client at least one additional credit, wherein the additional credit enables the client to consume at least one additional server resource; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (37, 38, 39, 40)
-
Specification