Federated scheme for coordinating throttled network data transfer in a multi-host scenario
First Claim
1. A multi-host system for coordinating data transfer to an external network, comprising:
- a plurality of host devices communicatively coupled to a shared internal network and the external network, each of the plurality of host devices comprising;
a portion of a distributed queue, each portion of the distributed queue of one of the plurality of host devices being synched with other portions of the distributed queue of other ones of the plurality of host devices via the internal network, anda token generator module, the token generator module of one of the plurality of host devices being an active token generator module, and the token generator module of each of the remaining plurality of host devices being an inactive token generator module,the active token generator module configured to generate and send at least one new token to the distributed queue such that any of the plurality of host devices that query the distributed queue receive a new token from the distributed queue, the received new token permitting a recipient host device to send data to the external network via the shared internal network in accordance with a term of the received new token, the term of the received new token selected from the group consisting of;
a value, a time unit, and a priority;
the inactive token generator modules configured to monitor the health of the active token generator module and, upon detection that the active token generator module is unavailable, activate a process to select a new active token generator module from the remaining plurality of token generator modules based on at least one of;
a characteristic of the token generator module, or a characteristic of the host device of the token generator module;
wherein the number of new tokens generated by the active token generator module corresponds to an amount of bandwidth allocated to the plurality of host devices.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments relate to systems and methods that facilitate coordination amongst host devices that share network resources in order to use available bandwidth effectively. Embodiments can ensure the host devices themselves take responsibility for sending their data via shared network bandwidth, keeping access to bandwidth fair to all the host devices. Embodiments also include adapting to a continuously changing network bandwidth allocation policy for the shared network resource. In one embodiment, this includes using tokens (e.g., small chunk messages) to represent a grant to a host device to send a specified number of bytes over the network. Using a token generator module and a distributed queue, embodiments provide a unique and adaptive way to manage data transmissions among host devices within available resources.
-
Citations
18 Claims
-
1. A multi-host system for coordinating data transfer to an external network, comprising:
-
a plurality of host devices communicatively coupled to a shared internal network and the external network, each of the plurality of host devices comprising; a portion of a distributed queue, each portion of the distributed queue of one of the plurality of host devices being synched with other portions of the distributed queue of other ones of the plurality of host devices via the internal network, and a token generator module, the token generator module of one of the plurality of host devices being an active token generator module, and the token generator module of each of the remaining plurality of host devices being an inactive token generator module, the active token generator module configured to generate and send at least one new token to the distributed queue such that any of the plurality of host devices that query the distributed queue receive a new token from the distributed queue, the received new token permitting a recipient host device to send data to the external network via the shared internal network in accordance with a term of the received new token, the term of the received new token selected from the group consisting of;
a value, a time unit, and a priority;the inactive token generator modules configured to monitor the health of the active token generator module and, upon detection that the active token generator module is unavailable, activate a process to select a new active token generator module from the remaining plurality of token generator modules based on at least one of;
a characteristic of the token generator module, or a characteristic of the host device of the token generator module;wherein the number of new tokens generated by the active token generator module corresponds to an amount of bandwidth allocated to the plurality of host devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of coordinating data transfer to an external network, comprising:
-
generating at least one new token by an active token generator module of one of a plurality of devices communicatively coupled to a shared internal network and the external network; holding the generated at least one new token in a queue distributed and synchronized between the plurality of devices via the internal network; requesting a new token from the queue by any of the plurality of devices that wants to send data over the external network; receiving the new token by the requesting device; checking at least one term of the received new token the term of the received new token selected from the group consisting of;
a value, a time unit and a priority;sending the data to the external network via the internal network by the requesting device in accordance with the at least one term; monitoring, by inactive token generator modules of the others of the plurality of devices, the health of the active token generator module; and upon detection that the active token generator module is unavailable, activating a process to select a new active token generator module from the remaining plurality of token generator modules based on at least one of;
a characteristic of the token generator module, or a characteristic of the host device of the token generator module;wherein the number of new tokens generated by the active token generator module corresponds to an amount of bandwidth allocated to the plurality of host devices. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification