Method and device for data flow control
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorReiner Ludwig
Life of this patent
Estimating the term…
Abstract
A method and device for controlling the flow of a data amount from a sender to a receiver in a packet exchange connection. The packet exchange connection includes a plurality of links connected by routers. The sender determines from the data amount a data sequence to be sent. One or more bandwidth values respectively associated with one or more of the links is automatically determined. One or more bandwidth values is employed in the process of controlling the flow of the sequence from the sender to the receiver. This flow control directly takes properties of the connection into account.
Claims30
A method of controlling the flow of a data amount from a sender to a receiver in a packet exchange connection, said packet exchange connection including a plurality of links connected by routers, comprising:
- controlling said sender to determine from said data amount a data sequence to be sent;
- automatically determining one or more bandwidth values respectively associated with one or more of said links by monitoring bandwidth values of one or more of said links at one or both of each said sender and said receiver;
- employing said one or more bandwidth values in the process of controlling the flow of said data sequence from said sender to said receiver;
- and
- acknowledging the receipt of data in the receiver by returning to the sender messages that indicate up to which point in said data sequence data has been received,
- controlling the sending of said data sequence so that only data inside a data window defining a data amount expressed in units of data is sent at a point in time, said data window being defined by a first limit determined based on an amount of data already sent and acknowledged which falls outside of said window, and by a second limit determined by adding a data window size value to said first limit, and
- employing said one or more bandwidth values in the process of determining said data window size value.
A device for controlling the flow of a data amount from a sender to a receiver in a packet exchange connection, said packet exchange connection consisting of a plurality of links connected by routers, comprising:
- data sequence determining circuitry configured to determine from said data amount a data sequence to be sent;
- bandwidth determining circuitry configured to determine one or more bandwidth values respectively associated with one or more of said links by monitoring bandwidth values of one or more of said links at one or both of said sender and said receiver;
- and
- a controller for employing said one or more bandwidth values in the process of controlling the flow of said sequence from said sender to said receiver,
- wherein received data is acknowledged by messages that indicate up to which point in said data sequence data has been received,
- wherein the controller is configured to control the sending of said data sequence so that only data inside a data window defining a data amount expressed in units of data is sent at a point in time, said data window being defined by a first limit based on an amount of data already sent and acknowledged which falls outside of said window and by a second limit determined by adding a data window size value to said first limit, and
- wherein the controller is configured to employ said one or more bandwidth values in the process of determining said data window size value.
A communications device for sending and receiving data over a packet exchange connection, said packet exchange connection consisting of a plurality of links connected by routers, comprising:
- a controller for controlling said communications device, wherein when said communications device acts as a sender, the controller is configured to send an amount of data over said connection as a data sequence, to determine one or more bandwidth values respectively associated with one or more of said links in the direction in which said data sequence is to be sent, and to control the flow of said data sequence sent from said sender using said one or more bandwidth values and
- wherein when said communications device acts as a receiver, the controller is configured to receive data over said connection from a communications partner at the other end of said connection, to determine one or more bandwidth values, in the direction from said partner to said device respectively associated with one or more of said links and to send a message to said partner such that said one or more bandwidth values is used in controlling the flow of said data sent by said partner,
- wherein a protocol for sending data over said connection is such that a receiver acknowledges receipt of a sequence of data bytes by returning to a sender of said sequence a message that indicates up to which byte has been received, and the sending of a sequence of data bytes is performed such that only data inside a data window defining a data amount expressed in units of data is sent at a point in time, said data window being defined by a first limit determined based on an amount of data already sent and acknowledged which falls outside of said window and by a second limit determined by adding a data window size value to said first limit,
- wherein said controller, when said communications device acts as a sender, is configured to use said one or more bandwidth values in determining said data window size value, and
- wherein said controller, when said communications device acts as a receiver, is configured to determine a data amount value based on said one or more bandwidth values, said amount value to be sent to said partner for use in determining said data window size value in said partner.
Dependencies are inferred from the claim text.