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.
43 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; granting the client a maximum number of one or more blocking operation credits; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation; determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits; processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer readable memory, comprising instructions that, when executed by at least one processor, cause the at least one processor to perform a method, the method comprising:
-
establishing, by a server, a valid command window comprising at least one sequence number; granting the client a maximum number of one or more blocking operation credits; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation; determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits; processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A system comprising:
-
at least one processor; a computer readable memory, operatively connected to the at least one processor and containing instructions that, when executed by the at least one processor, cause the at least one processor to perform a method, the method comprising; establishing, by a server, a valid command window comprising at least one sequence number; granting the client a maximum number of one or more blocking operation credits; receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation; determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits; processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; and adjusting the valid command window to include an additional unused sequence number. - View Dependent Claims (38, 39, 40)
-
Specification