Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: identifying, by a storage server, a storage process configured to transmit data through a network interface over a network communication channel from a source storage computing device hosting the storage process to a destination storage computing device; maintaining a first counter corresponding to a first count of communication availability signals provided by the network interface to the storage process; maintaining a second counter corresponding to a second count of communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; and dynamically adjusting a resource allocation of computing resources of the source storage computing device to the storage process during real-time operation of the storage process based upon the first counter and the second counter.
2. The method of claim 1 , the dynamically adjusting a resource allocation of computing resources comprising: responsive to the first count of the first counter exceeding a resource allocation threshold and the second count of the second counter not exceeding a threshold, increasing the resource allocation.
3. The method of claim 1 , the dynamically adjusting a resource allocation of computing resources comprising: responsive to the second count of the second counter exceeding a resource deallocation threshold and the first count of the first counter not exceeding a threshold, decreasing the resource allocation.
4. The method of claim 1 , comprising: identifying a communication availability signal provided by the network interface, the communication availability signal indicating that the network communication channel is available for transmitting data; and incrementing the first count of the first counter based upon the communication availability signal.
5. The method of claim 4 , comprising at least one of: decrementing the second count of the second counter based upon the communication availability signal; or resetting the second count of the second counter based upon the communication availability signal.
6. The method of claim 4 , the incrementing comprising: responsive to the storage process having data available to transmit as a data transmission request in response to the communication availability signal, refraining from incrementing the first count of the first counter; and responsive to the storage process not having data available to transmit as the data transmission request in response to the communication availability signal, incrementing the first count of the first counter.
7. The method of claim 1 , comprising: identifying a communication unavailability signal provided by the network interface, the communication unavailability signal indicating that the network communication channel is unavailable for transmitting data of a data transmission request; and incrementing the second count of the second counter based upon the communication unavailability signal.
8. The method of claim 7 , comprising at least one of: decrementing the first count of the first counter based upon the communication unavailability signal; or resetting the first count of the first counter based upon the communication unavailability signal.
9. The method of claim 1 , the dynamically adjusting a resource allocation of computing resources comprising at least one of: allocating additional memory of the source storage computing device to increase a size of a buffer used by the storage process; or deallocating memory of the source storage computing device to decrease the size of the buffer.
10. The method of claim 1 , comprising: defining, for the first counter, a resource allocation threshold used to trigger a dynamic increase of resource allocation for the storage process; and defining, for the second counter, a resource deallocation threshold used to trigger a dynamic decrease of resource allocation for the storage process.
11. The method of claim 10 , comprising: responsive to dynamically increasing resource allocation for the storage process based upon the first count exceeding the resource allocation threshold, adjusting at least one of the resource allocation threshold or an amount of computing resources used for increasing resource allocation based upon receiving a threshold number of communication unavailability signals subsequent the resource allocation increase.
12. The method of claim 10 , comprising: responsive to dynamically decreasing resource allocation for the storage process based upon the second count exceeding the resource deallocation threshold, adjusting at least one of the resource deallocation threshold or an amount of computing resources used for decreasing resource allocation based upon receiving a threshold number of communication availability signals subsequent the resource allocation decrease.
13. The method of claim 1 , wherein the storage process comprises at least one of a replication storage process, a data mirroring storage process, a media scanner storage process, a compression storage process, or a snapshot storage process.
14. The method of claim 1 , wherein a communication unavailability signal comprises at least one of a write error message, a thread suspension event, a network communication channel occupied message, or a data transmission request denial message.
15. The method of claim 1 , wherein the storage process is initially allocated a first amount of computing resources and a second storage process is initially allocated a second amount of computing resources equal to the first amount of computing resources, and the dynamically adjusting comprising: adjusting the first amount of computing resources to a new amount of computing resources different than the second amount of computing resources.
16. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: identify a storage process configured to transmit data through a network interface over a network communication channel from a source storage computing device hosting the storage process to a destination storage computing device; maintain a first counter corresponding to a first count of communication availability signals provided by the network interface to the storage process; maintain a second counter corresponding to a second count of communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; and dynamically adjust a resource allocation of computing resources of the source storage computing device to the storage process during real-time operation of the storage process based upon the first counter and the second counter.
17. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of incremental transfer; a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: identify a storage process configured to transmit data through a network interface over a network communication channel from a source storage computing device hosting the storage process to a destination storage computing device; maintain a first counter corresponding to a first count of communication availability signals provided by the network interface to the storage process; maintain a second counter corresponding to a second count of communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; and dynamically adjust a resource allocation of computing resources of the source storage computing device to the storage process during real-time operation of the storage process based upon the first counter and the second counter.
18. The computing device of claim 17 , wherein the machine executable code causes the processor to: maintain a communication availability indicator corresponding to one or more communication availability signals provided by the network interface to the storage process; maintain a communication unavailability indicator corresponding to one or more communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; increase the resource allocation based upon the communication availability indicator; and decrease the resource allocation based upon the communication unavailability indicator.
19. The computing device of claim 17 , wherein the machine executable code causes the processor to: maintain a communication availability indicator corresponding to one or more communication availability signals provided by the network interface to the storage process; maintain a communication unavailability indicator corresponding to one or more communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; identify a communication availability signal provided by the network interface, the communication availability signal indicating that the network communication channel is available for transmitting data; and adjust the communication availability indicator based upon the communication availability signal.
20. The computing device of claim 17 , wherein the machine executable code causes the processor to: maintain a communication availability indicator corresponding to one or more communication availability signals provided by the network interface to the storage process; maintain a communication unavailability indicator corresponding to one or more communication unavailability signals sent by the network interface to the storage process in response to data transmission requests sent by the storage process to the network interface; identify a communication unavailability signal provided by the network interface, the communication unavailability signal indicating that the network communication channel is unavailable for transmitting data of a data transmission request; and adjust the communication unavailability indicator based upon the communication unavailability signal.
Unknown
March 13, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.