DATA COMMUNICATION COORDINATION WITH SEQUENCE NUMBERS
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.
39 Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A method comprising:
-
establishing, by a server, a valid command window comprising a plurality of sequence numbers between and including a lower limit and an upper limit; 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; processing the file system command when it is determined that the associated sequence number is within the valid command window; granting the client at least one additional credit, wherein the at least one additional credit enables the client to consume at least one additional server resource using a subsequent file system command; and when the associated sequence number is equal to the lower limit, increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit; and when the associated sequence number is greater than the lower limit, increasing the upper limit by an amount equal to the at least one additional credit without increasing the lower limit. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. 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 a plurality of sequence numbers between and including a lower limit and an upper limit; 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; processing the file system command when it is determined that the associated sequence number is within the valid command window; granting the client at least one additional credit, wherein the at least one additional credit enables the client to consume at least one additional server resource using a subsequent file system command; and when the associated sequence number is equal to the lower limit, increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit; and when the associated sequence number is greater than the lower limit, increasing the upper limit by an amount equal to the at least one additional credit without increasing the lower limit. - 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 a plurality of sequence numbers between and including a lower limit and an upper limit; 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 at least one additional credit enables the client to consume at least one additional server resource using a subsequent file system command; and when the associated sequence number is equal to the lower limit, increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit; and when the associated sequence number is greater than the lower limit, increasing the upper limit by an amount equal to the at least one additional credit without increasing the lower limit. - View Dependent Claims (37, 38, 39, 40)
-
Specification