Data communication coordination with sequence numbers
First Claim
1. In a network computing environment having a client and server, a method comprising:
- establishing, by a server computing device, a session for receiving file system commands from a client;
establishing, by the server computing device, a valid command window comprising at least one sequence number, wherein the valid command window is adjusted to include an additional unused sequence number in response to the client being granted an additional credit, wherein the additional credit enables the client to consume server resources using the file system commands;
receiving, at the server computing device, 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;
allowing the file system command upon determining the associated sequence number is within the valid command window and has not been previously included in another file system command sent during the session; and
granting to the client a first additional credit and adjusting the valid command window to include a first additional unused sequence number.
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
17 Claims
-
1. In a network computing environment having a client and server, a method comprising:
-
establishing, by a server computing device, a session for receiving file system commands from a client; establishing, by the server computing device, a valid command window comprising at least one sequence number, wherein the valid command window is adjusted to include an additional unused sequence number in response to the client being granted an additional credit, wherein the additional credit enables the client to consume server resources using the file system commands; receiving, at the server computing device, 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; allowing the file system command upon determining the associated sequence number is within the valid command window and has not been previously included in another file system command sent during the session; and granting to the client a first additional credit and adjusting the valid command window to include a first additional unused sequence number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. At least one computer-storage medium not consisting of a propagated data signal having computer executable instructions, which when executed perform steps, comprising:
-
establishing a session for receiving file system commands from a client;
establishing a valid command window comprising at least one sequence number, wherein the valid command window is adjusted to include an additional unused sequence number in response to the client being granted an additional credit, wherein the additional credit enables the client to consume server resources using the file system commands;receiving a file system command to consume 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 included in another file system command; allowing the file system command upon determining the associated sequence number is within the valid command window and has not been included in another file system command during the session, otherwise denying the file system command; and granting to the client a first additional credit and adjusting the valid command window to include a first additional unused sequence number. - View Dependent Claims (11, 12, 13, 14)
-
-
15. In a network computing environment having a client and server, a server-side system comprising:
-
at least one processor; and at least one memory with computer executable instructions that when executed by the at least one processor provide; a server mechanism that establishes a session for receiving file system commands from a client and limits use of server resources by controlling a number of credits granted to the client, the credit enabling the client to consume one or more server resources using a file system command, the mechanism including; a valid command window, containing unique numbers, one for each credit granted to the client; an enforcement mechanism that allows the client to consume the one or more server resources for the file system command, provided the unique number associated with the file system command is within the valid command window and has not been included in another file system command during the session; and an allocation mechanism that controls credits granted to the client and the unique numbers within the valid command window, wherein the valid command window is adjusted to include an additional unique number in response to the client being granted an additional credit. - View Dependent Claims (16, 17)
-
Specification