Legal claims defining the scope of protection, as filed with the USPTO.
1. 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.
2. The method of claim 1 , wherein granting the client the at least one additional credit comprises granting the client the at least one additional credit only when the associated sequence number has not been previously included in another file system command.
3. The method of claim 1 , wherein the valid command window has a maximum size.
4. The method of claim 3 , wherein the maximum size of the valid command window is defined as the difference between the lower limit and the upper limit, further comprising: receiving, at the server, a second file system command that consumes at least one additional server resource, the second file system command including a second associated sequence number; and when the second associated sequence number is greater than the lower limit and the maximum size of the valid command window has been reached, not increasing either the lower limit or the upper limit until a separate file system command including an associated sequence number equal to the lower limit is received.
5. The method of claim 1 , further comprising: granting the client one or more blocking operation credits; and allowing a blocking operation to be performed by the server in response to receiving a blocking command sent from the client.
6. The method of claim 5 , further comprising: returning data indicating the blocking operation's progress; and returning an identifier for the blocking operation.
7. The method of claim 1 , further comprising revoking at least one credit previously granted to the client if the client is idle for a predetermined amount of time.
8. The method of claim 4 , further comprising, after the second file system command including an associated sequence number equal to the lower limit is received, increasing the lower limit.
9. The method of claim 1 , wherein increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit does not change a maximum size of the valid command window.
10. 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.
11. The system of claim 10 , wherein the valid command window has a maximum size.
12. The system of claim 11 , wherein the maximum size of the valid command window is defined as the difference between the lower limit and the upper limit, the method further comprising: receiving, at the server, a second file system command that consumes at least one additional server resource, the second file system command including a second associated sequence number; and when the second associated sequence number is greater than the lower limit and the maximum size of the valid command window has been reached, not increasing either the lower limit or the upper limit until a separate file system command including an associated sequence number equal to the lower limit is received.
13. The system of claim 10 , wherein granting the client the at least one additional credit comprises granting the client the at least one additional credit only when the associated sequence number has not been previously included in another file system command.
14. The system of claim 10 , wherein increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit does not change a maximum size of the valid command window.
15. The system of claim 12 , wherein the method further comprises, after the second file system command including an associated sequence number equal to the lower limit is received, increasing the lower limit.
16. 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.
17. The system of claim 16 , wherein the valid command window has a maximum size, and wherein the maximum size of the valid command window is defined as the difference between the upper limit and the lower limit.
18. The system of claim 17 , the method further comprising: receiving, at the server, a second file system command that consumes at least one additional server resource, the second file system command including a second associated sequence number; and when the second associated sequence number is greater than the lower limit and the maximum size of the valid command window has been reached, not increasing either the lower limit or the upper limit until a separate file system command including an associated sequence number equal to the lower limit is received.
19. The system of claim 16 , wherein increasing both the lower limit and the and the upper limit by an amount equal to the at least one additional credit does not change a maximum size of the valid command window.
20. The system of claim 16 , the method further comprising: granting the client one or more blocking operation credits; allowing a blocking operation to be performed by the server in response to receiving a blocking command sent from the client; returning data indicating the blocking operation's progress; and returning an identifier for the blocking operation.
Unknown
May 3, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.