Units API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/units/?format=api&page=589
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 15869,
    "next": "https://weblate.info.ucl.ac.be/api/units/?format=api&page=590",
    "previous": "https://weblate.info.ucl.ac.be/api/units/?format=api&page=588",
    "results": [
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "The congestion control scheme should be `fair`. Most congestion schemes aim at achieving `max-min fairness`. An allocation of transmission rates to sources is said to be `max-min fair` if :"
            ],
            "previous_source": "",
            "target": [
                "The congestion control scheme should be `fair`. Most congestion schemes aim at achieving `max-min fairness`. An allocation of transmission rates to sources is said to be `max-min fair` if :"
            ],
            "id_hash": -6932240934654564333,
            "content_hash": -6932240934654564333,
            "location": "../../principles/sharing.rst:934",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 149,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34928/?format=api",
            "priority": 100,
            "id": 34928,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=1fcbbb99387e2813",
            "url": "https://weblate.info.ucl.ac.be/api/units/34928/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.123535+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "no link in the network is congested"
            ],
            "previous_source": "",
            "target": [
                "no link in the network is congested"
            ],
            "id_hash": 6061489366125309976,
            "content_hash": 6061489366125309976,
            "location": "../../principles/sharing.rst:936",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 150,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34929/?format=api",
            "priority": 100,
            "id": 34929,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=d41ebc769db4f018",
            "url": "https://weblate.info.ucl.ac.be/api/units/34929/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.215810+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "the rate allocated to source :math:`j` cannot be increased without decreasing the rate allocated to a source :math:`i` whose allocation is smaller than the rate allocated to source :math:`j` [Leboudec2008]_ ."
            ],
            "previous_source": "",
            "target": [
                "the rate allocated to source :math:`j` cannot be increased without decreasing the rate allocated to a source :math:`i` whose allocation is smaller than the rate allocated to source :math:`j` [Leboudec2008]_ ."
            ],
            "id_hash": -7945295704382114760,
            "content_hash": -7945295704382114760,
            "location": "../../principles/sharing.rst:937",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 151,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34930/?format=api",
            "priority": 100,
            "id": 34930,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=11bca3a720ddf438",
            "url": "https://weblate.info.ucl.ac.be/api/units/34930/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.298175+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Depending on the network, a `max-min fair allocation` may not always exist. In practice, `max-min fairness` is an ideal objective that cannot necessarily be achieved. When there is a single bottleneck link as in the example above, `max-min fairness` implies that each source should be allocated the same transmission rate."
            ],
            "previous_source": "",
            "target": [
                "Depending on the network, a `max-min fair allocation` may not always exist. In practice, `max-min fairness` is an ideal objective that cannot necessarily be achieved. When there is a single bottleneck link as in the example above, `max-min fairness` implies that each source should be allocated the same transmission rate."
            ],
            "id_hash": 3636859490996780216,
            "content_hash": 3636859490996780216,
            "location": "../../principles/sharing.rst:939",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 152,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 50,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34931/?format=api",
            "priority": 100,
            "id": 34931,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=b278b8702adefcb8",
            "url": "https://weblate.info.ucl.ac.be/api/units/34931/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.397198+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "To visualize the different rate allocations, it is useful to consider the graph shown below. In this graph, we plot on the `x-axis` (resp. `y-axis`) the rate allocated to host `B` (resp. `A`). A point in the graph :math:`(r_B,r_A)` corresponds to a possible allocation of the transmission rates. Since there is a `2 Mbps` bottleneck link in this network, the graph can be divided into two regions. The lower left part of the graph contains all allocations :math:`(r_B,r_A)` such that the bottleneck link is not congested (:math:`r_A+r_B<2`). The right border of this region is the `efficiency line`, i.e. the set of allocations that completely utilize the bottleneck link (:math:`r_A+r_B=2`). Finally, the `fairness line` is the set of fair allocations."
            ],
            "previous_source": "",
            "target": [
                "To visualize the different rate allocations, it is useful to consider the graph shown below. In this graph, we plot on the `x-axis` (resp. `y-axis`) the rate allocated to host `B` (resp. `A`). A point in the graph :math:`(r_B,r_A)` corresponds to a possible allocation of the transmission rates. Since there is a `2 Mbps` bottleneck link in this network, the graph can be divided into two regions. The lower left part of the graph contains all allocations :math:`(r_B,r_A)` such that the bottleneck link is not congested (:math:`r_A+r_B<2`). The right border of this region is the `efficiency line`, i.e. the set of allocations that completely utilize the bottleneck link (:math:`r_A+r_B=2`). Finally, the `fairness line` is the set of fair allocations."
            ],
            "id_hash": -1201921044800328812,
            "content_hash": -1201921044800328812,
            "location": "../../principles/sharing.rst:941",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 153,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 119,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34932/?format=api",
            "priority": 100,
            "id": 34932,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=6f51eb2d849c2b94",
            "url": "https://weblate.info.ucl.ac.be/api/units/34932/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.492696+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Possible allocated transmission rates"
            ],
            "previous_source": "",
            "target": [
                "Possible allocated transmission rates"
            ],
            "id_hash": -3636108924407704826,
            "content_hash": -3636108924407704826,
            "location": "../../principles/sharing.rst:947",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 154,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34933/?format=api",
            "priority": 100,
            "id": 34933,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=4d89f232bc0d1306",
            "url": "https://weblate.info.ucl.ac.be/api/units/34933/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.571953+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "As shown in the graph above, a rate allocation may be fair but not efficient (e.g. :math:`r_A=0.7,r_B=0.7`), fair and efficient ( e.g. :math:`r_A=1,r_B=1`) or efficient but not fair (e.g. :math:`r_A=1.5,r_B=0.5`). Ideally, the allocation should be both fair and efficient. Unfortunately, maintaining such an allocation with fluctuations in the number of flows that use the network is a challenging problem. Furthermore, there might be several thousands flows that pass through the same link [#fflowslink]_."
            ],
            "previous_source": "",
            "target": [
                "As shown in the graph above, a rate allocation may be fair but not efficient (e.g. :math:`r_A=0.7,r_B=0.7`), fair and efficient ( e.g. :math:`r_A=1,r_B=1`) or efficient but not fair (e.g. :math:`r_A=1.5,r_B=0.5`). Ideally, the allocation should be both fair and efficient. Unfortunately, maintaining such an allocation with fluctuations in the number of flows that use the network is a challenging problem. Furthermore, there might be several thousands flows that pass through the same link [#fflowslink]_."
            ],
            "id_hash": 5893856123881829649,
            "content_hash": 5893856123881829649,
            "location": "../../principles/sharing.rst:950",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 155,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 73,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34934/?format=api",
            "priority": 100,
            "id": 34934,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=d1cb2eeaed3cb511",
            "url": "https://weblate.info.ucl.ac.be/api/units/34934/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.664180+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "To deal with these fluctuations in demand, which result in fluctuations in the available bandwidth, computer networks use a congestion control scheme. This congestion control scheme should achieve the three objectives listed above. Some congestion control schemes rely on a close cooperation between the end hosts and the routers, while others are mainly implemented on the end hosts with limited support from the routers."
            ],
            "previous_source": "",
            "target": [
                "To deal with these fluctuations in demand, which result in fluctuations in the available bandwidth, computer networks use a congestion control scheme. This congestion control scheme should achieve the three objectives listed above. Some congestion control schemes rely on a close cooperation between the end hosts and the routers, while others are mainly implemented on the end hosts with limited support from the routers."
            ],
            "id_hash": -676391276381506950,
            "content_hash": -676391276381506950,
            "location": "../../principles/sharing.rst:952",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 156,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 64,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34935/?format=api",
            "priority": 100,
            "id": 34935,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=769cf9b7c21b727a",
            "url": "https://weblate.info.ucl.ac.be/api/units/34935/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.756914+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "A congestion control scheme can be modeled as an algorithm that adapts the transmission rate (:math:`r_i(t)`) of host :math:`i` based on the feedback received from the network. Different types of feedback are possible. The simplest scheme is a binary feedback [CJ1989]_  [Jacobson1988]_ where the hosts simply learn whether the network is congested or not. Some congestion control schemes allow the network to regularly send an allocated transmission rate in Mbps to each host [BF1995]_."
            ],
            "previous_source": "",
            "target": [
                "A congestion control scheme can be modeled as an algorithm that adapts the transmission rate (:math:`r_i(t)`) of host :math:`i` based on the feedback received from the network. Different types of feedback are possible. The simplest scheme is a binary feedback [CJ1989]_  [Jacobson1988]_ where the hosts simply learn whether the network is congested or not. Some congestion control schemes allow the network to regularly send an allocated transmission rate in Mbps to each host [BF1995]_."
            ],
            "id_hash": 8153297850829402650,
            "content_hash": 8153297850829402650,
            "location": "../../principles/sharing.rst:954",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 157,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 74,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34936/?format=api",
            "priority": 100,
            "id": 34936,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=f126553282a4721a",
            "url": "https://weblate.info.ucl.ac.be/api/units/34936/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.853647+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Let us focus on the binary feedback scheme which is the most widely used today. Intuitively, the congestion control scheme should decrease the transmission rate of a host when congestion has been detected in the network, in order to avoid congestion collapse. Furthermore, the hosts should increase their transmission rate when the network is not congested. Otherwise, the hosts would not be able to efficiently utilize the network. The rate allocated to each host fluctuates with time, depending on the feedback received from the network. The figure below illustrates the evolution of the transmission rates allocated to two hosts in our simple network. Initially, two hosts have a low allocation, but this is not efficient. The allocations increase until the network becomes congested. At this point, the hosts decrease their transmission rate to avoid congestion collapse. If the congestion control scheme works well, after some time the allocations should become both fair and efficient."
            ],
            "previous_source": "",
            "target": [
                "Let us focus on the binary feedback scheme which is the most widely used today. Intuitively, the congestion control scheme should decrease the transmission rate of a host when congestion has been detected in the network, in order to avoid congestion collapse. Furthermore, the hosts should increase their transmission rate when the network is not congested. Otherwise, the hosts would not be able to efficiently utilize the network. The rate allocated to each host fluctuates with time, depending on the feedback received from the network. The figure below illustrates the evolution of the transmission rates allocated to two hosts in our simple network. Initially, two hosts have a low allocation, but this is not efficient. The allocations increase until the network becomes congested. At this point, the hosts decrease their transmission rate to avoid congestion collapse. If the congestion control scheme works well, after some time the allocations should become both fair and efficient."
            ],
            "id_hash": -3141800332159331496,
            "content_hash": -3141800332159331496,
            "location": "../../principles/sharing.rst:959",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 158,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 154,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34937/?format=api",
            "priority": 100,
            "id": 34937,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=5466153e6e705358",
            "url": "https://weblate.info.ucl.ac.be/api/units/34937/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:38.940197+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Evolution of the transmission rates"
            ],
            "previous_source": "",
            "target": [
                "Evolution of the transmission rates"
            ],
            "id_hash": 356995313288313905,
            "content_hash": 356995313288313905,
            "location": "../../principles/sharing.rst:965",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 159,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34938/?format=api",
            "priority": 100,
            "id": 34938,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=84f44d5893077c31",
            "url": "https://weblate.info.ucl.ac.be/api/units/34938/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.038225+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Various types of rate adaption algorithms are possible. `Dah Ming Chiu`_ and `Raj Jain`_ have analyzed, in [CJ1989]_, different types of algorithms that can be used by a source to adapt its transmission rate to the feedback received from the network. Intuitively, such a rate adaptation algorithm increases the transmission rate when the network is not congested (ensure that the network is efficiently used) and decrease the transmission rate when the network is congested (to avoid congestion collapse)."
            ],
            "previous_source": "",
            "target": [
                "Various types of rate adaption algorithms are possible. `Dah Ming Chiu`_ and `Raj Jain`_ have analyzed, in [CJ1989]_, different types of algorithms that can be used by a source to adapt its transmission rate to the feedback received from the network. Intuitively, such a rate adaptation algorithm increases the transmission rate when the network is not congested (ensure that the network is efficiently used) and decrease the transmission rate when the network is congested (to avoid congestion collapse)."
            ],
            "id_hash": 3904981874394031386,
            "content_hash": 3904981874394031386,
            "location": "../../principles/sharing.rst:968",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 160,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 78,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34939/?format=api",
            "priority": 100,
            "id": 34939,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=b63148534598651a",
            "url": "https://weblate.info.ucl.ac.be/api/units/34939/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.125731+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "The simplest form of feedback that the network can send to a source is a binary feedback (the network is congested or not congested). In this case, a `linear` rate adaptation algorithm can be expressed as :"
            ],
            "previous_source": "",
            "target": [
                "The simplest form of feedback that the network can send to a source is a binary feedback (the network is congested or not congested). In this case, a `linear` rate adaptation algorithm can be expressed as :"
            ],
            "id_hash": 1043528407632393634,
            "content_hash": 1043528407632393634,
            "location": "../../principles/sharing.rst:970",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 161,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34940/?format=api",
            "priority": 100,
            "id": 34940,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=8e7b5b8ed1f535a2",
            "url": "https://weblate.info.ucl.ac.be/api/units/34940/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.207907+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                ":math:`rate(t+1)=\\alpha_C + \\beta_C rate(t)` when the network is congested"
            ],
            "previous_source": "",
            "target": [
                ":math:`rate(t+1)=\\alpha_C + \\beta_C rate(t)` when the network is congested"
            ],
            "id_hash": -5922148989642659192,
            "content_hash": -5922148989642659192,
            "location": "../../principles/sharing.rst:972",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 162,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 9,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34941/?format=api",
            "priority": 100,
            "id": 34941,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=2dd04cdeed692a88",
            "url": "https://weblate.info.ucl.ac.be/api/units/34941/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.317833+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                ":math:`rate(t+1)=\\alpha_N + \\beta_N rate(t)` when the network is *not* congested"
            ],
            "previous_source": "",
            "target": [
                ":math:`rate(t+1)=\\alpha_N + \\beta_N rate(t)` when the network is *not* congested"
            ],
            "id_hash": 5709982942451390602,
            "content_hash": 5709982942451390602,
            "location": "../../principles/sharing.rst:973",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 163,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34942/?format=api",
            "priority": 100,
            "id": 34942,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=cf3def3bbe5ad88a",
            "url": "https://weblate.info.ucl.ac.be/api/units/34942/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.406340+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "With a linear adaption algorithm, :math:`\\alpha_C,\\alpha_N, \\beta_C` and :math:`\\beta_N` are constants. The analysis of [CJ1989]_ shows that to be fair and efficient, such a binary rate adaption mechanism must rely on `Additive Increase and Multiplicative Decrease`. When the network is not congested, the hosts should slowly increase their transmission rate (:math:`\\beta_N=1~and~\\alpha_N>0`). When the network is congested, the hosts must multiplicatively decrease their transmission rate (:math:`\\beta_C < 1~and~\\alpha_C = 0`). Such an AIMD rate adaptation algorithm can be implemented by the pseudo-code below."
            ],
            "previous_source": "",
            "target": [
                "With a linear adaption algorithm, :math:`\\alpha_C,\\alpha_N, \\beta_C` and :math:`\\beta_N` are constants. The analysis of [CJ1989]_ shows that to be fair and efficient, such a binary rate adaption mechanism must rely on `Additive Increase and Multiplicative Decrease`. When the network is not congested, the hosts should slowly increase their transmission rate (:math:`\\beta_N=1~and~\\alpha_N>0`). When the network is congested, the hosts must multiplicatively decrease their transmission rate (:math:`\\beta_C < 1~and~\\alpha_C = 0`). Such an AIMD rate adaptation algorithm can be implemented by the pseudo-code below."
            ],
            "id_hash": 5467197680040349607,
            "content_hash": 5467197680040349607,
            "location": "../../principles/sharing.rst:975",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 164,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 82,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34943/?format=api",
            "priority": 100,
            "id": 34943,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=cbdf6352d3a50fa7",
            "url": "https://weblate.info.ucl.ac.be/api/units/34943/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.494938+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Which binary feedback ?"
            ],
            "previous_source": "",
            "target": [
                "Which binary feedback ?"
            ],
            "id_hash": 9107375331043151531,
            "content_hash": 9107375331043151531,
            "location": "../../principles/sharing.rst:989",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 165,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34944/?format=api",
            "priority": 100,
            "id": 34944,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=fe63e59c52fb8eab",
            "url": "https://weblate.info.ucl.ac.be/api/units/34944/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.588337+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Two types of binary feedback are possible in computer networks. A first solution is to rely on implicit feedback. This is the solution chosen for TCP. TCP's congestion control scheme [Jacobson1988]_ does not require any cooperation from the router. It only assumes that they use buffers and that they discard packets when there is congestion. TCP uses the segment losses as an indication of congestion. When there are no losses, the network is assumed to be not congested. This implies that congestion is the main cause of packet losses. This is true in wired networks, but unfortunately not always true in wireless networks. Another solution is to rely on explicit feedback. This is the solution proposed in the DECBit congestion control scheme [RJ1995]_ and used in Frame Relay and ATM networks. This explicit feedback can be implemented in two ways. A first solution would be to define a special message that could be sent by routers to hosts when they are congested. Unfortunately, generating such messages may increase the amount of congestion in the network. Such a congestion indication packet is thus discouraged :rfc:`1812`. A better approach is to allow the intermediate routers to indicate, in the packets that they forward, their current congestion status. Binary feedback can be encoded by using one bit in the packet header. With such a scheme, congested routers set a special bit in the packets that they forward while non-congested routers leave this bit unmodified. The destination host returns the congestion status of the network in the acknowledgments that it sends. Details about such a solution in IP networks may be found in :rfc:`3168`. Unfortunately, as of this writing, this solution is still not deployed despite its potential benefits."
            ],
            "previous_source": "",
            "target": [
                "Two types of binary feedback are possible in computer networks. A first solution is to rely on implicit feedback. This is the solution chosen for TCP. TCP's congestion control scheme [Jacobson1988]_ does not require any cooperation from the router. It only assumes that they use buffers and that they discard packets when there is congestion. TCP uses the segment losses as an indication of congestion. When there are no losses, the network is assumed to be not congested. This implies that congestion is the main cause of packet losses. This is true in wired networks, but unfortunately not always true in wireless networks. Another solution is to rely on explicit feedback. This is the solution proposed in the DECBit congestion control scheme [RJ1995]_ and used in Frame Relay and ATM networks. This explicit feedback can be implemented in two ways. A first solution would be to define a special message that could be sent by routers to hosts when they are congested. Unfortunately, generating such messages may increase the amount of congestion in the network. Such a congestion indication packet is thus discouraged :rfc:`1812`. A better approach is to allow the intermediate routers to indicate, in the packets that they forward, their current congestion status. Binary feedback can be encoded by using one bit in the packet header. With such a scheme, congested routers set a special bit in the packets that they forward while non-congested routers leave this bit unmodified. The destination host returns the congestion status of the network in the acknowledgments that it sends. Details about such a solution in IP networks may be found in :rfc:`3168`. Unfortunately, as of this writing, this solution is still not deployed despite its potential benefits."
            ],
            "id_hash": -5536400230365688285,
            "content_hash": -5536400230365688285,
            "location": "../../principles/sharing.rst:991",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 166,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 285,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34945/?format=api",
            "priority": 100,
            "id": 34945,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=332ac152d6a98e23",
            "url": "https://weblate.info.ucl.ac.be/api/units/34945/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.673572+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "Congestion control with a window-based transport protocol"
            ],
            "previous_source": "",
            "target": [
                "Congestion control with a window-based transport protocol"
            ],
            "id_hash": -869654206936283737,
            "content_hash": -869654206936283737,
            "location": "../../principles/sharing.rst:996",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 167,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34946/?format=api",
            "priority": 100,
            "id": 34946,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=73ee5e1b3e2385a7",
            "url": "https://weblate.info.ucl.ac.be/api/units/34946/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.757676+02:00"
        },
        {
            "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlessharing/en/?format=api",
            "source": [
                "AIMD controls congestion by adjusting the transmission rate of the sources in reaction to the current congestion level. If the network is not congested, the transmission rate increases. If congestion is detected, the transmission rate is multiplicatively decreased. In practice, directly adjusting the transmission rate can be difficult since it requires the utilization of fine grained timers. In reliable transport protocols, an alternative is to dynamically adjust the sending window. This is the solution chosen for protocols like TCP and SCTP that will be described in more details later. To understand how window-based protocols can adjust their transmission rate, let us consider the very simple scenario of a reliable transport protocol that uses `go-back-n`. Consider the very simple scenario shown in the figure below."
            ],
            "previous_source": "",
            "target": [
                "AIMD controls congestion by adjusting the transmission rate of the sources in reaction to the current congestion level. If the network is not congested, the transmission rate increases. If congestion is detected, the transmission rate is multiplicatively decreased. In practice, directly adjusting the transmission rate can be difficult since it requires the utilization of fine grained timers. In reliable transport protocols, an alternative is to dynamically adjust the sending window. This is the solution chosen for protocols like TCP and SCTP that will be described in more details later. To understand how window-based protocols can adjust their transmission rate, let us consider the very simple scenario of a reliable transport protocol that uses `go-back-n`. Consider the very simple scenario shown in the figure below."
            ],
            "id_hash": -8347482122594855412,
            "content_hash": -8347482122594855412,
            "location": "../../principles/sharing.rst:999",
            "context": "",
            "note": "",
            "flags": "",
            "state": 100,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 168,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 124,
            "source_unit": "https://weblate.info.ucl.ac.be/api/units/34947/?format=api",
            "priority": 100,
            "id": 34947,
            "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlessharing/en/?checksum=c27c93c81cf560c",
            "url": "https://weblate.info.ucl.ac.be/api/units/34947/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2019-10-14T10:39:39.847161+02:00"
        }
    ]
}