CN115460159A - Congestion control middleware implementation method for satellite communication - Google Patents

Congestion control middleware implementation method for satellite communication Download PDF

Info

Publication number
CN115460159A
CN115460159A CN202211090021.8A CN202211090021A CN115460159A CN 115460159 A CN115460159 A CN 115460159A CN 202211090021 A CN202211090021 A CN 202211090021A CN 115460159 A CN115460159 A CN 115460159A
Authority
CN
China
Prior art keywords
bandwidth
amount
terminal
allocation
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211090021.8A
Other languages
Chinese (zh)
Inventor
唐晓刚
张斌权
高丽娟
李海滨
杨华果
于凤坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peoples Liberation Army Strategic Support Force Aerospace Engineering University
Original Assignee
Peoples Liberation Army Strategic Support Force Aerospace Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peoples Liberation Army Strategic Support Force Aerospace Engineering University filed Critical Peoples Liberation Army Strategic Support Force Aerospace Engineering University
Publication of CN115460159A publication Critical patent/CN115460159A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/765Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the end-points
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18584Arrangements for data networking, i.e. for data packet routing, for congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for implementing congestion control middleware for satellite communications is disclosed. After receiving an allocation request sent by the first terminal, reallocating the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, and generating a second allocation response to be sent to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocated bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.

Description

Congestion control middleware implementation method for satellite communication
The present application claims priority from chinese patent application No. 2022103779731 entitled "a method for implementing congestion control middleware for satellite communications" filed on 12.04.2022, which is incorporated herein by reference in its entirety.
Technical Field
The invention relates to the technical field of communication, in particular to a congestion control middleware implementation method for satellite communication.
Background
Satellite communication is communication between radio communication stations on earth (including ground and lower atmosphere) by using a satellite as a relay, and has the characteristics of large communication range, high reliability, quick circuit opening, flexible setting and the like. In satellite communication, a TCP (Transmission Control Protocol)/IP (Internet Protocol) Protocol undertakes a task of transmitting data points and data blocks, but exhibits poor performance such as high delay, high error rate, etc. after being coupled with the TCP Protocol due to inherent characteristics of a satellite channel.
In the prior art, the method for solving the problems of high delay and high error rate is mainly realized by various congestion control algorithms. For example, in congestion control based on packet loss, the packet loss is regarded as congestion, a slow detection method is adopted to gradually increase a congestion window, and when the packet loss occurs, the congestion window is decreased. And in the congestion control based on the time delay, the time delay increase is regarded as the occurrence of congestion, the congestion window is increased when the time delay increase, and the congestion window is reduced when the time delay decrease. And (3) controlling the congestion based on the link capacity, measuring the bandwidth and the time delay of the network in real time, and considering that the congestion occurs when the total amount of messages on the network is greater than the bandwidth-time delay product. Based on learned congestion control, there is no specific congestion signal, but rather a control strategy is formed using a machine learning approach based on training data with the help of an evaluation function.
However, the congestion control algorithm is relatively large in calculation amount on one hand, and on the other hand, in some special scenarios, for example, scenarios in which a plurality of client nodes share a gateway to access a high-latency link, the congestion algorithm may greatly affect network elasticity and connection survivability, and reduce the performance of the client host.
Disclosure of Invention
In view of this, an object of the embodiments of the present invention is to provide a method for implementing a congestion control middleware for satellite communication, which can dynamically adjust the bandwidth amount of each terminal device according to the usage of the terminal device for bandwidth, reduce the amount of computation, and improve network elasticity, connection survivability and performance of the terminal device.
In a first aspect, an embodiment of the present invention provides a method for implementing congestion control middleware for satellite communication, which is applicable to a gateway, and the method includes:
in an initial state, determining a first distribution bandwidth amount of each terminal device according to a total bandwidth amount and the number of the terminal devices which have access to the gateway;
determining a distribution state;
generating a first allocation response based on the first allocated bandwidth amount and the allocation status; and
sending the first allocation response to each terminal device;
the first allocated bandwidth amount is the ratio of the total bandwidth amount to the number of the terminal devices which have access to the gateway;
receiving an allocation request sent by a first terminal, wherein the first terminal is a terminal device accessed to the gateway, the allocation request comprises a current state and a used bandwidth amount of the first terminal, and the current state is used for representing an acquired bandwidth utilization rate of the first terminal;
allocating bandwidth to the first terminal according to the current state and the used bandwidth amount, and generating a second allocation response, wherein the second allocation response comprises a second allocation bandwidth amount and an allocation state, and the allocation state is used for representing an update state of the gateway indicating terminal equipment; and
sending the second allocation response to the first terminal.
In some embodiments, the method further comprises:
acquiring the total bandwidth quantity of a bottleneck link, and determining the total bandwidth quantity of the bottleneck link as the total bandwidth quantity;
and acquiring the total bandwidth amount of the bottleneck link, wherein the acquired total bandwidth amount of the bottleneck link is the set total bandwidth amount of the bottleneck link, or automatically detecting the total bandwidth amount of the bottleneck link.
In some embodiments, the method further comprises:
receiving a network access request sent by a second terminal, wherein the second terminal is a terminal device which does not access the gateway;
determining a third allocated bandwidth amount according to the first allocated bandwidth amount and the unallocated bandwidth amount;
determining a distribution state;
generating a third allocation response based on the third allocation bandwidth amount and the allocation status; and
and sending the third allocation response to the second terminal.
In some embodiments, the current state includes a normal state and an idle state, the normal state is used for representing that the used bandwidth amount of the first terminal is greater than or equal to the allocated bandwidth amount, and the idle state is used for representing that the used bandwidth amount of the first terminal is less than the allocated bandwidth amount;
wherein, in response to that the current state is a normal state, the second allocated bandwidth amount is a larger value of the used bandwidth amount and an allocable average bandwidth of the first terminal in the normal state, the allocable average bandwidth of the first terminal in the normal state is a ratio of an available bandwidth of the first terminal in the normal state to the number of the first terminals in the normal state, and the available bandwidth of the first terminal in the normal state is a difference between a total bandwidth amount and an allocated bandwidth amount of the first terminal in an idle state;
in response to the current state being an idle state, the second allocated bandwidth amount is the amount of used bandwidth.
In a second aspect, an embodiment of the present invention provides a method for implementing congestion control middleware for satellite communication, which is applicable to a terminal device, and the method includes:
receiving a first allocation response sent by a gateway, wherein the first allocation response comprises a first allocation bandwidth amount and an allocation state; and
using bandwidth according to the first allocated bandwidth amount;
determining a current state in response to the amount of used bandwidth and the amount of allocated bandwidth satisfying a predetermined condition;
generating an allocation request according to the current state and the used bandwidth amount and sending the allocation request to a gateway;
receiving a second allocation response sent by the gateway, wherein the second allocation response comprises a second allocated bandwidth amount and an allocation state;
using bandwidth in accordance with the second allocated bandwidth amount; and
updating the current state to the allocation state.
In some embodiments, the method further comprises:
and acquiring the used bandwidth amount through a detection module.
In some embodiments, the method further comprises:
sending a network access request to a gateway;
receiving a third allocation response, the third allocation response including a third allocation bandwidth amount and an allocation status; and
and using the bandwidth according to the third allocated bandwidth amount.
In some embodiments, said determining the current state in response to the amount of used bandwidth and the amount of allocated bandwidth satisfying a predetermined condition comprises:
determining that the current state is a normal state in response to the amount of used bandwidth being greater than or equal to the amount of allocated bandwidth; and
determining that the current state is an idle state in response to the amount of used bandwidth being less than the amount of allocated bandwidth; or
In response to the used bandwidth amount being smaller than the allocated bandwidth amount and the difference between the used bandwidth amount and the allocated bandwidth amount meeting a predetermined condition, determining that the current state is an idle state;
the difference value meets a preset condition that the difference value is larger than a preset bandwidth threshold value, or the ratio of the difference value to the allocated bandwidth amount is larger than a preset ratio.
In a third aspect, the present invention provides a computer-readable storage medium on which computer program instructions are stored, wherein the computer program instructions, when executed by a processor, implement the method according to the first aspect and the second aspect.
In a fourth aspect, an embodiment of the present invention provides an electronic device, including a memory and a processor, wherein the memory is configured to store one or more computer program instructions, and wherein the one or more computer program instructions are executed by the processor to implement the method according to the first aspect and the second aspect.
According to the technical scheme of the embodiment of the invention, after the allocation request sent by the first terminal is received, the bandwidth is reallocated for the first terminal according to the current state and the used bandwidth amount of the first terminal, and the second allocation response is generated and sent to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent from the following description of the embodiments of the present invention with reference to the accompanying drawings, in which:
FIG. 1 is a schematic diagram of a communication system of an embodiment of the present invention;
FIG. 2 is a schematic diagram of the protocol layers of an embodiment of the present invention;
FIG. 3 is a flow diagram of bandwidth allocation in an initial state according to an embodiment of the present invention;
FIG. 4 is a flow chart of dynamic adjustment of bandwidth allocated by a gateway to a terminal device in an idle state;
FIG. 5 is a flow chart of dynamic adjustment of bandwidth allocated by a gateway to a terminal device in a normal state;
fig. 6 is a flow chart regarding bandwidth allocation to the new terminal device;
FIG. 7 is a schematic illustration of queue occupancy for an embodiment of the present invention;
FIG. 8 is a graphical illustration of throughput for an embodiment of the present invention;
fig. 9 is a flowchart of a communication method of a gateway of an embodiment of the present invention;
fig. 10 is a flowchart of a communication method of a terminal device of the embodiment of the present invention;
FIG. 11 is a schematic view of an electronic device of an embodiment of the invention.
Detailed Description
The present invention will be described below based on examples, but the present invention is not limited to only these examples. In the following detailed description of the present invention, certain specific details are set forth. It will be apparent to one skilled in the art that the present invention may be practiced without these specific details. Well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
Furthermore, those of ordinary skill in the art will appreciate that the drawings provided herein are for illustrative purposes and are not necessarily drawn to scale.
Meanwhile, it should be understood that, in the following description, a "circuit" refers to a conductive loop constituted by at least one element or sub-circuit through electrical or electromagnetic connection. When an element or circuit is referred to as being "connected to" another element or element/circuit is referred to as being "connected between" two terminals, it may be directly coupled or connected to the other element or intervening elements may be present, and the connection between the elements may be physical, logical, or a combination thereof. In contrast, when an element is referred to as being "directly coupled" or "directly connected" to another element, it is intended that there are no intervening elements present.
Unless the context clearly requires otherwise, throughout the description, the words "comprise", "comprising", and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is, what is meant is "including, but not limited to".
In the description of the present invention, it is to be understood that the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. In addition, in the description of the present invention, "a plurality" means two or more unless otherwise specified.
Fig. 1 is a schematic diagram of a communication system of an embodiment of the present invention. In the embodiment shown in fig. 1, the communication system comprises a plurality of terminal devices, gateways, satellites 3 and servers 4. In fig. 1, the terminal devices are plural, and are respectively shown as 1a, 1b and 1c in the figure. The gateways include a gateway 2a and a gateway 2b.
In the present embodiment, the terminal devices 1a, 1b, and 1c communicate with the server 4 by way of satellite communication. Among them, the terminal devices 1a, 1b, and 1c communicate with the satellite 3 through the gateway 2a, and the server 4 communicates with the satellite 3 through the gateway 2b. Thereby, communication between the terminal device and the server can be realized.
For example, when the terminal devices 1a, 1b, and 1c need to report information to the server 4, first, the terminal devices 1a, 1b, and 1c send the information to be reported to the gateway 2a through the local network, and after the gateway 2a establishes a bidirectional data Transmission connection AL with the satellite 3 based on a TCP/IP (Transmission Control Protocol/Internet Protocol) Protocol, the reported information is sent to the satellite 3 through the bidirectional data Transmission connection AL. The satellite 3 establishes a bidirectional data transmission connection BL with the gateway 2b, the reported information is sent to the gateway 2b, and the gateway 2b sends the reported information to the server 4 through the local network. And after processing the reported information, the server 4 sends the processed information to the gateway 2b, and the processed information is sent to the terminal equipment 1a, 1b and 1c through the BL, the satellite 3, the AL and the gateway 2a, so that the communication between the terminal equipment and the server is realized.
The communication connection between the terminal devices 1a, 1b, and 1c and the gateway may be wired connection or wireless connection.
In an alternative implementation, the terminal devices 1a, 1b, and 1c are communicatively connected to the gateway by a wired connection. The wired connection may be implemented by a bus interface such as a CAN (Controller Area Network), a LIN (Local Interconnect Network), an RS-485, a UART (Universal Asynchronous Receiver/Transmitter), and the like. Wherein CAN is a serial communication protocol of ISO international organization for standardization. LIN (bus is a low-cost serial communication protocol based on UART/SCI (universal asynchronous receiver/transmitter/serial interface) and is mainly used for serial communication of sensors and controllers, RS-485 bus standard is a very wide two-way and balanced transmission standard interface used in industry (attendance, monitoring and data acquisition system) and supports multipoint connection, and UART is a universal serial data bus used for asynchronous communication, and the bus can realize full-duplex transmission and reception.
In another alternative implementation, the terminal devices 1a, 1b, and 1c are communicatively connected to the gateway by wireless connection. The wireless connection can be through a wireless network such as Bluetooth, wi-Fi, NB-IoT, loRa or ZigBee. The bluetooth is a radio technology supporting short-distance communication of devices, and has the advantages of large transmission range, strong penetrability, strong anti-interference performance, low power consumption, low cost and the like. Wi-Fi is a wireless communication technology and is widely used in daily life, and thus, communication connection is achieved without additional hardware facilities for class saving. NB-IoT (Narrow-Band Internet of Things) has the characteristics of wide coverage, low power consumption, lower module cost and the like. The LoRa is one of LPWAN (Low Power Wide Area Network), is an ultra-long distance wireless transmission scheme based on spread spectrum technology adopted and popularized by Semtech corporation in the united states, and has the characteristics of long distance, low Power consumption, multiple nodes, low cost and the like. The ZigBee technology is a two-way wireless communication technology with short distance, low complexity, low power consumption, low speed and low cost.
In this embodiment, the Gateway includes an internet Gateway, a Local Area Network (LAN) Gateway, an EWG (event Wireless Gateway), and the like.
In this embodiment, the gateway may be configured with a storage device, where the storage device includes a hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), and the like, and is used to store information.
Further, the terminal device and the gateway communicate based on protocol layers, which typically include an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer, and a physical layer. In this embodiment, in order to enable the gateway 2a to manage bandwidths of a plurality of connected terminal devices, a congestion control layer is added in a protocol layer of the gateway 2a and the terminal devices in the embodiment of the present invention. In particular, FIG. 2 is a schematic diagram of protocol layers of an embodiment of the present invention. In the embodiment shown in fig. 2, in addition to the existing seven-layer protocol layers, a congestion control layer is inserted between the application layer and the transport layer, which uses the congestion control layer protocol as a default standard for communication, and adds relevant control information to the congestion control layer.
Specifically, for the congestion control layer of the terminal device, a communication initiation instruction, a communication termination instruction and a message instruction are added.
More specifically, the communication initiation command is CLIENT _ HELLO, which is sent by the terminal device to the gateway to inform the gateway that it wants to send information.
And the message instruction is USED _ BW, and is sent to the gateway by the terminal equipment to inform the gateway of the USED bandwidth of the terminal equipment.
The terminal device obtains the used bandwidth through a Channel State Information (CSI) detection module.
And the communication ending instruction is CLIENT _ BYE, is sent to the gateway by the terminal equipment and informs the gateway that the information is sent completely.
For the congestion control layer of the gateway, a communication initiation confirmation instruction and a message receiving instruction are added.
Specifically, the communication initiation confirmation instruction is ACK _ HELLO, which is sent by the gateway to the terminal device and serves as a reply signal of the communication initiation instruction sent by the terminal device received by the gateway.
The received message instruction is ACK _ USED, is sent to the terminal equipment by the gateway and is USED as a reply signal of the message instruction sent by the terminal equipment received by the gateway, an
And the gateway allocates bandwidth for the terminal equipment.
Further, the communication initiation confirmation instruction and the received message instruction carry a data block, where the data block includes an allocation bandwidth and an allocation state allocated to the terminal device by the gateway. The distribution state is used for representing the updating state of the gateway indicating terminal equipment.
Wherein the data block carries an authentication identifier of the gateway for preventing counterfeiting. The data block includes BLOB (Binary Large Object) data, NCLOB (national Character Large Object), CLOB (Character Large Object), and the like. Wherein BLOB data is used to store unstructured binary large objects, BLOB data is used to store single bytes, i.e. to store a fixed width character set, NCLOB data is used to store a number of fixed width single or multiple bytes of characters, i.e. fixed width and variable width character sets, based on the national language character set.
Further, when the terminal device sends the communication ending instruction and the message instruction to the gateway, the data block is displayed back to the gateway.
The data block includes a current state and an amount of used bandwidth of the terminal device, where the current state is used to characterize an acquired bandwidth utilization rate of the terminal device, and specifically, the terminal device marks the current state as a normal state in response to that the amount of used bandwidth is greater than or equal to the allocated bandwidth amount, that is, the terminal device uses all of the allocated bandwidth. And the terminal equipment marks the current state as an idle state in response to that the used bandwidth amount is smaller than the allocated bandwidth amount or the used bandwidth amount is smaller than a set threshold value, namely, the terminal equipment cannot use all the allocated bandwidth.
In this embodiment, the terminal device stores the allocated bandwidth, the used bandwidth, the current state, and the data block in a memory. The memory includes a hard disk, ROM, RAM, etc.
Therefore, through the congestion control layer, the terminal equipment can report the use condition and the state of the bandwidth to the gateway, and meanwhile, the gateway can send the allocated bandwidth and the state to the terminal equipment. So that the gateway manages the bandwidth of the terminal device.
In particular, fig. 3 is a flow chart of bandwidth allocation in an initial state of an embodiment of the present invention. As shown in fig. 3, in the initial state, the bandwidth allocation of the gateway to the terminal device includes the following steps:
and step S101, determining the number of the terminal devices.
In this embodiment, the gateway obtains the number of the network nodes to be maintained, and further determines the number of the connected terminal devices.
Further, in the initial state, the terminal device may access the gateway. In the initial state, before the gateway does not allocate the bandwidth to the terminal device, the gateway acquires the number of the accessed terminal devices.
And step S102, determining the total bandwidth amount.
In this embodiment, the gateway obtains the total bandwidth amount of the bottleneck link, and determines the total bandwidth amount of the bottleneck link as the total bandwidth amount. The obtained total bandwidth amount of the bottleneck link may be the set total bandwidth amount of the bottleneck link, or may be the total bandwidth amount of the bottleneck link which is automatically detected.
And step S103, determining a first distribution bandwidth amount.
In this embodiment, in an initial state, the gateway determines the first allocated bandwidth amount of each terminal device according to the total bandwidth amount and the number of terminal devices that have accessed the gateway.
Further, the first allocated bandwidth amount is a ratio of a total bandwidth amount to the number of terminal devices having access to the gateway.
Specifically, assuming that the number of terminal devices currently maintained by the gateway is n and the total bandwidth is B, the calculation formula of the first allocated bandwidth amount is as follows:
Figure 298184DEST_PATH_IMAGE001
wherein bi is a first allocated bandwidth amount of the ith terminal device, B is a total bandwidth of the gateway, and n is the number of terminal devices currently maintained by the gateway.
And step S104, determining the distribution state.
In this embodiment, the gateway marks the allocation status as normal.
And step S105, generating a first distribution response.
In this embodiment, the gateway generates a first allocation response according to the first allocation bandwidth bi and the allocation status si, where the first allocation response includes the first allocation bandwidth bi and the allocation status si.
Further, the first allocated bandwidth amount is a data block including a first allocated bandwidth bi and an allocation status si.
And step S106, sending a first distribution response.
In this embodiment, the gateway sends a first allocation response to the terminal device.
And step S107, receiving a first distribution response.
In this embodiment, the terminal device receives the first allocation response.
And step S108, updating the current state to the distribution state.
In this embodiment, in response to receiving a first allocation response, the terminal device obtains a first allocation bandwidth amount and an allocation status from the first allocation response, where the allocation status is a normal status.
Further, the terminal equipment updates the current state to the normal state according to the distribution state.
And step S109, using the bandwidth according to the first allocated bandwidth amount.
As described above, the terminal device may acquire the first allocated bandwidth amount from the first allocation response, and thus, the terminal device uses the bandwidth according to the acquired first allocated bandwidth amount.
Thereby, the bandwidth can be allocated to each terminal device in the initial state. Meanwhile, by the principle of average allocation, on one hand, all bandwidths can be allocated to each terminal device, so that the utilization rate of the bandwidths is improved, on the other hand, the bandwidths allocated to each terminal device are the same, and the bandwidths occupied by part of the terminal devices are avoided.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Further, since there may be a case where the bandwidth used by a part of the terminal devices is lower than the allocated bandwidth and the allocated bandwidth of a part of the terminal devices is not enough, the embodiment of the present invention may further dynamically adjust the bandwidth of each terminal device.
Specifically, when the bandwidth used by the terminal device is lower than the allocated bandwidth, the flow of dynamically adjusting the bandwidth allocated by the gateway to the terminal device in the idle state may be as shown in fig. 4, where the first terminal is a terminal device that has access to the gateway. The method specifically comprises the following steps:
step S201, determining that the current state is an idle state.
In this embodiment, the first terminal obtains the used bandwidth through the CSI detection module, and determines the current state according to the used bandwidth and the allocated bandwidth amount, where the current state is used to represent the obtained bandwidth utilization rate of the first terminal. The allocated bandwidth amount is the bandwidth amount allocated to the first terminal by the gateway last time, and may be the first allocated bandwidth amount allocated in the initial state, or may be the allocated bandwidth amount after adjustment.
Further, the current state includes a normal state and an idle state, the normal state is used to indicate that the used bandwidth amount of the first terminal is greater than or equal to the allocated bandwidth amount, and the idle state is used to indicate that the used bandwidth amount of the first terminal is less than the allocated bandwidth amount. The first terminal, in response to the used bandwidth amount and the allocated bandwidth amount satisfying a predetermined condition, determining the current state comprises: determining that the current state is a normal state in response to the amount of used bandwidth being greater than or equal to the amount of allocated bandwidth. Determining that the current state is an idle state in response to the amount of used bandwidth being less than the amount of allocated bandwidth.
In an optional implementation manner, in response to that the used bandwidth amount is smaller than the allocated bandwidth amount, the first terminal characterizes that the first terminal cannot use all the allocated bandwidth amount, and determines that the current state is an idle state.
In another optional implementation manner, the first terminal determines that the current state is an idle state in response to that the used bandwidth amount is smaller than the allocated bandwidth amount and that a difference between the used bandwidth amount and the allocated bandwidth amount satisfies a predetermined condition. The difference satisfying the predetermined condition may be that the difference is greater than a predetermined bandwidth threshold, or a ratio of the difference to the allocated bandwidth amount is greater than a predetermined ratio.
Step S202, sending a communication initiating instruction.
In this embodiment, in response to that the current state is the idle state, the first terminal sends a communication initiation instruction to the gateway to notify the gateway that communication needs to be performed.
Wherein, the communication initiating instruction is a CLIENT _ HELLO instruction.
And step S203, receiving a communication initiation instruction.
And step S204, sending a communication initiation confirmation instruction.
In this embodiment, the gateway receives the communication initiation instruction sent by the first terminal, and sends a communication initiation confirmation instruction to the first terminal to inform that the first terminal is ready for communication.
Wherein, the communication initiation confirmation instruction is an ACK _ HELLO instruction.
Optionally, the ACK _ HELLO carries a data block, where the data block includes an allocation bandwidth amount and an allocation status. The allocation state is a normal state.
And step S205, receiving a communication initiation confirmation instruction.
Step S206, sending an allocation request.
In this embodiment, after receiving a communication initiation confirmation instruction, a first terminal sends an allocation request to a gateway, where the allocation request includes a current state and an amount of used bandwidth of the first terminal. The current state is an idle state.
Further, the allocation request is a USED _ BW instruction, and the USED bandwidth of the first terminal is declared to the gateway.
Step S207, receiving an allocation request.
And step S208, determining a second allocated bandwidth amount.
In this embodiment, the gateway receives the allocation request sent by the first terminal, and acquires the used bandwidth and the current state of the first terminal from the allocation request. Determining the used bandwidth as the second allocated bandwidth amount in response to the current state being an idle state.
Step S209, determining the allocation status.
In this embodiment, the gateway determines that the allocation status is a normal status.
And step S210, generating a second distribution response.
In this embodiment, the gateway generates a second allocation response including the second allocated bandwidth amount and the allocation status.
Further, the second allocation response is an ACK _ USED instruction, where the ACK _ USED instruction carries the data block, and the data block includes a second allocation bandwidth amount and an allocation status.
And step S211, sending a second distribution response.
In this embodiment, the gateway sends the second allocation response to the first terminal.
And step S212, receiving a second distribution response.
In this embodiment, the first terminal receives the second allocation response sent by the gateway.
Step S213, the current state is updated to the allocation state.
In this embodiment, the first terminal receives a second allocation response sent by the gateway, and acquires a second allocation bandwidth amount and an allocation state from the second allocation response, where the allocation state is a normal state.
Further, the first terminal updates the current state to the allocation state, that is, to the normal state.
And step S214, using the bandwidth according to the second allocated bandwidth amount.
In this embodiment, the first terminal uses the bandwidth according to the second allocated bandwidth amount.
Thus, when the bandwidth used by the terminal device is lower than the allocated bandwidth, the gateway can allocate the bandwidth amount normally used by the terminal device to the terminal device, and thus the gateway can obtain a part of the unallocated bandwidth. Meanwhile, the gateway can allocate redundant bandwidth to the terminal device with insufficient bandwidth or newly connected network.
Therefore, the potential of the bottleneck link can be fully utilized, even under the condition that the bandwidth utilization rate of the terminal equipment fluctuates, the interference is performed under the condition that the channel state changes obviously and suddenly without the change of the channel caused by radio oscillation, the bandwidth of each terminal equipment is dynamically allocated, and the result of improving the communication performance of the system is achieved.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
When the bandwidth allocated to the terminal device is not enough, a flow of dynamically adjusting the bandwidth allocated to the terminal device in the normal state by the gateway may be as shown in fig. 5, where the first terminal is a terminal device that has accessed the gateway, and the method specifically includes the following steps:
and step S301, determining that the current state is a normal state.
In this embodiment, the first terminal obtains the used bandwidth through the CSI detection module, and determines the current state according to the used bandwidth and the allocated bandwidth amount, where the current state is used to represent the obtained bandwidth utilization rate of the first terminal. The allocated bandwidth amount is the bandwidth amount allocated to the first terminal by the gateway last time, and may be the first allocated bandwidth amount allocated in the initial state, or may be the allocated bandwidth amount after adjustment.
Further, the current state includes a normal state and an idle state, the normal state is used to indicate that the used bandwidth amount of the first terminal is greater than or equal to the allocated bandwidth amount, and the idle state is used to indicate that the used bandwidth amount of the first terminal is less than the allocated bandwidth amount. The first terminal responds to the used bandwidth amount and the allocated bandwidth amount meeting the preset condition, and the determining of the current state comprises the following steps: determining that the current state is a normal state in response to the amount of used bandwidth being greater than or equal to the amount of allocated bandwidth. Determining that the current state is an idle state in response to the amount of used bandwidth being less than the amount of allocated bandwidth.
Specifically, when the first terminal is in the normal state, two cases may be used.
In the first case, the used bandwidth of the first terminal is equal to the allocated bandwidth amount, or the used bandwidth amount of the first terminal is smaller than the allocated bandwidth amount but does not satisfy the criteria of the idle state, and at this time, the first terminal marks itself as the normal state.
In the second case, as can be known from the process shown in fig. 4, when the used bandwidth amount of the first terminal is smaller than the allocated bandwidth amount, it is determined that the current state is an idle state, the state of the first terminal is marked as an idle state, and an allocation request is sent to the gateway to request the gateway to reallocate the bandwidth amount. Before the gateway completes the reallocation of the bandwidth amount, because the current allocated bandwidth amount of the first terminal is large, it may happen that the current used bandwidth amount is larger than the used bandwidth amount reported by the first terminal to the gateway, where the reported used bandwidth amount is the allocated bandwidth amount of the gateway. That is, the amount of used bandwidth is greater than the amount of allocated bandwidth for the first terminal in the idle state. At this time, the first terminal updates the state to the normal state.
In an alternative implementation, the first terminal performs the following steps S302-313 as long as it is in a normal state, regardless of the first or second case.
In another alternative implementation, the first terminal may not need to reallocate the amount of bandwidth due to the first scenario described above. In this case, the first terminal does not need to send an allocation request, i.e. does not perform the following steps S302-313. In the second case, the following steps S302-313 are performed.
And step S302, sending a communication initiating instruction.
Step S303, receiving a communication initiating instruction.
And step S304, sending a communication initiation confirmation instruction.
Step S305, receiving and sending a communication initiation confirmation instruction.
The steps S302 to S305 can refer to the steps S202 to S205, and the embodiment of the present invention is not described herein again.
Step S306, sending an allocation request.
In this embodiment, after receiving a communication initiation confirmation instruction, a first terminal sends an allocation request to a gateway, where the allocation request includes a current state and an amount of used bandwidth of the first terminal. The current state is a normal state.
Further, the allocation request is a USED _ BW instruction, and the USED bandwidth of the first terminal is declared to the gateway.
Step S307, receiving a distribution request.
Step S308, determining a second allocated bandwidth amount.
In this embodiment, in response to the current state being the normal state, the gateway determines the larger value of the used bandwidth amount and the allocable average bandwidth of the first terminal in the normal state as the second allocated bandwidth amount. The allocable average bandwidth of the first terminal in the normal state is a ratio of an available bandwidth of the first terminal in the normal state to the number of the first terminals in the normal state, and the available bandwidth of the first terminal in the normal state is a difference between a total bandwidth amount and an allocated bandwidth amount of the first terminal in an idle state.
That is, after the gateway receives the allocation request, the state of the first terminal in the allocation request is normal, which indicates that the first terminal may need a higher bandwidth, and therefore, the gateway reallocates the allocated bandwidth amount of the first terminal, and the gateway replies an ACK _ USED message including the second allocated bandwidth amount to the first terminal.
The second allocated bandwidth amount bi is calculated as follows:
Figure 684166DEST_PATH_IMAGE002
wherein the content of the first and second substances,
Figure 165700DEST_PATH_IMAGE003
the method comprises the steps that the allocable average bandwidth of a first terminal in a normal state is defined, ci is the used bandwidth amount, B is the total bandwidth amount, B2 is the sum of the allocated bandwidth amounts of the first terminal in an idle state, and n1 is the number of the first terminals in the normal state.
Step S309, the allocation status is determined.
In this embodiment, the gateway determines that the allocation status is a normal status.
Step S310, generating a second allocation response.
In this embodiment, the gateway generates a second allocation response including the second allocated bandwidth amount and the allocation status.
Further, the second allocation response is an ACK _ USED instruction, where the ACK _ USED instruction carries the data block, and the data block includes a second allocation bandwidth amount and an allocation status.
Step S311, sending a second allocation response.
In this embodiment, the gateway sends the second allocation response to the first terminal.
Step S312, receiving a second allocation response.
In this embodiment, the first terminal receives the second allocation response sent by the gateway.
And step 313, using the bandwidth according to the second allocated bandwidth amount.
In this embodiment, the first terminal receives a second allocation response sent by the gateway, and acquires a second allocation bandwidth amount and an allocation state from the second allocation response, where the allocation state is a normal state.
Further, the first terminal updates the current state to the allocation state, that is, to the normal state.
Therefore, when the bandwidth used by the first terminal is not enough, the bandwidth of the first terminal can be dynamically adjusted.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocated bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Further, when a new terminal device needs to access a network, a flow of bandwidth allocation of the gateway to the new terminal device may be as shown in fig. 6, where the second terminal represents a terminal device that newly requests to access the network, and specifically includes the following steps:
step S401, sending a network access request.
In this embodiment, the second terminal sends a network access request to the gateway.
Step S402, receiving a network access request.
In this embodiment, the gateway receives the network access request sent by the second terminal.
And step S403, determining the unallocated bandwidth amount.
In this embodiment, the gateway determines the difference between the total bandwidth amount and the allocated bandwidth amount as the unallocated bandwidth amount. Wherein the allocated bandwidth amount is the sum of the allocated bandwidth amounts of all the terminal devices maintained by the gateway. That is, the sum of the allocated bandwidth amount of the terminal device in the normal state and the allocated bandwidth amount of the terminal device in the idle state.
And step S404, determining a third distribution bandwidth amount.
In this embodiment, the gateway determines the smaller of the average allocated bandwidth amount and the unallocated bandwidth amount of the first terminal in the normal state as the third allocated bandwidth amount.
Further, the third allocated bandwidth amount is calculated as follows:
Figure 29751DEST_PATH_IMAGE004
wherein B1 is the sum of the allocated bandwidth amounts of the first terminals in the normal state, n1 is the number of the first terminals in the normal state, B2 is the sum of the allocated bandwidth amounts of the first terminals in the idle state,
step S405, determines the allocation status.
In this embodiment, the gateway determines that the allocation status is a normal status.
And step S406, generating a third distribution response.
In this embodiment, the gateway generates a third allocation response comprising a third allocation bandwidth amount and an allocation status.
Further, the third allocation response is an ACK _ USED instruction, where the ACK _ USED instruction carries the data block, and the data block includes a third allocation bandwidth amount and an allocation status.
And step S407, sending a third distribution response.
In this embodiment, the gateway sends the third allocation response to the second terminal.
And step S408, receiving a third distribution response.
In this embodiment, the second terminal receives the third allocation response sent by the gateway.
In step S409, the allocation status is set to the current status.
In this embodiment, the second terminal receives a second allocation response sent by the gateway, and acquires a second allocation bandwidth amount and an allocation state from the second allocation response, where the allocation state is a normal state.
Further, the second terminal updates the current state to the allocation state, that is, to the normal state.
And step S410, using the bandwidth according to the third allocated bandwidth amount.
In this embodiment, the second terminal uses the bandwidth according to the third allocated bandwidth amount.
Therefore, when the new terminal equipment needs to access the network, the gateway can allocate the bandwidth to the new terminal equipment.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocated bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Fig. 7 is a diagram illustrating queue occupancy in accordance with an embodiment of the present invention. Fig. 8 is a graphical illustration of throughput for an embodiment of the present invention. In fig. 7 and 8, simulations were performed using an ns-3 network simulator in order to test the performance of the congestion control structure. The network topology consists of 12 ns-3 nodes in total. Ten of them are LAN clients connected to the gateway to reach the external host; the client node and the gateway are connected through point-to-point ns-3 links, the bandwidth of each link is 20 Mbit/s, the propagation delay is 5 ms, and the LTE access network represents average performance; the gateway and remote nodes are connected by a point-to-point ns-3 link with a bandwidth of 20 Mbit/s and a propagation delay of 350 ms, which represents a well-behaved geosynchronous orbit satellite channel. For comparison, two different simulations were performed, respectively. It can be seen from the results shown in fig. 7 that the utilization of the gateway queues is much higher when congestion control middleware is used. In the standard TCP architecture, the queue usage efficiency is low, possibly reaching critical levels; conversely, queue usage does not reach problematic levels at peak times when congestion control structures are used. In the case of the standard TCP architecture, throughput oscillates dramatically between about 4 to 20Mbps, while the congestion control architecture is able to manage bandwidth efficiently and throughput is stable.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Fig. 9 is a flowchart of a communication method of a gateway according to an embodiment of the present invention. As shown in fig. 9, the communication method according to the embodiment of the present invention includes the following steps:
step S510, receiving an allocation request sent by a first terminal, where the first terminal is a terminal device that has accessed to the gateway, the allocation request includes a current state and an amount of used bandwidth of the first terminal, and the current state is used to represent an acquired bandwidth utilization rate of the first terminal.
Step S520, allocating bandwidth to the first terminal according to the current state and the used bandwidth amount, and generating a second allocation response, where the second allocation response includes a second allocation bandwidth amount and an allocation state, and the allocation state is used to characterize an update state of the gateway indication terminal device.
Step S530, sending the second allocation response to the first terminal.
In some embodiments, the method further comprises:
in an initial state, determining a first distribution bandwidth amount of each terminal device according to a total bandwidth amount and the number of the terminal devices which have access to the gateway;
determining a distribution state;
generating a first allocation response based on the first allocated bandwidth amount and the allocation status; and
sending the first allocation response to each terminal device;
and the first allocated bandwidth amount is the ratio of the total bandwidth amount to the number of the terminal devices which have access to the gateway.
In some embodiments, the method further comprises:
receiving a network access request sent by a second terminal, wherein the second terminal is a terminal device which does not access the gateway;
determining a third allocated bandwidth amount according to the first allocated bandwidth amount and the unallocated bandwidth amount;
determining an allocation state;
generating a third allocation response based on the third allocated bandwidth amount and the allocation status; and
and sending the third allocation response to the second terminal.
In some embodiments, the current state includes a normal state and an idle state, the normal state is used for representing that the used bandwidth amount of the first terminal is greater than or equal to the allocated bandwidth amount, and the idle state is used for representing that the used bandwidth amount of the first terminal is less than the allocated bandwidth amount;
wherein, in response to that the current state is a normal state, the second allocated bandwidth amount is a larger value of the used bandwidth amount and an allocable average bandwidth of the first terminal in the normal state, the allocable average bandwidth of the first terminal in the normal state is a ratio of an available bandwidth of the first terminal in the normal state to the number of the first terminals in the normal state, and the available bandwidth of the first terminal in the normal state is a difference between a total bandwidth amount and an allocated bandwidth amount of the first terminal in an idle state;
in response to the current state being an idle state, the second allocated bandwidth amount is the amount of used bandwidth.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Fig. 10 is a flowchart of a communication method of a terminal device according to an embodiment of the present invention. As shown in fig. 10, the communication method according to the embodiment of the present invention includes the following steps:
step S610, in response to the used bandwidth amount and the allocated bandwidth amount satisfying a predetermined condition, determining a current state.
Step S620, sending an allocation request to a gateway, where the allocation request includes the current state and the used bandwidth amount.
Step S630, receiving a second allocation response sent by the gateway, where the second allocation response includes a second allocated bandwidth amount and an allocation status.
And step S640, using the bandwidth according to the second allocated bandwidth amount.
And step S650, updating the current state to the distribution state.
In some embodiments, the method further comprises:
receiving a first allocation response sent by a gateway, wherein the first allocation response comprises a first allocation bandwidth amount and an allocation state; and
and using the bandwidth according to the first allocated bandwidth amount.
In some embodiments, the method further comprises:
sending a network access request to a gateway;
receiving a third allocation response, the third allocation response including a third allocation bandwidth amount and an allocation status; and
and using the bandwidth according to the third allocated bandwidth amount.
In some embodiments, said determining the current state in response to the amount of used bandwidth and the amount of allocated bandwidth satisfying a predetermined condition comprises:
determining that the current state is a normal state in response to the amount of used bandwidth being greater than or equal to the amount of allocated bandwidth; and
determining that the current state is an idle state in response to the amount of used bandwidth being less than the amount of allocated bandwidth.
After receiving an allocation request sent by a first terminal, the embodiment of the invention reallocates the bandwidth for the first terminal according to the current state and the used bandwidth amount of the first terminal, generates a second allocation response and sends the second allocation response to the first terminal, so that the first terminal uses the bandwidth according to the reallocated second allocation bandwidth amount and the allocation state. Therefore, the bandwidth amount of each terminal device can be dynamically adjusted according to the use condition of the terminal device to the bandwidth, the calculated amount is reduced, and the network elasticity, the connection survivability and the performance of the terminal device are improved.
Fig. 11 is a schematic diagram of an electronic device of an embodiment of the invention. The electronic device shown in fig. 11 is a general-purpose data processing apparatus comprising a general-purpose computer hardware structure including at least a processor 111 and a memory 112. The processor 111 and the memory 112 are connected by a bus 113. The memory 112 is adapted to store instructions or programs executable by the processor 111. Processor 111 may be a stand-alone microprocessor or may be a collection of one or more microprocessors. Thus, processor 111 implements the processing of data and the control of other devices by executing instructions stored by memory 112 to perform the method flows of embodiments of the present invention as described above. The bus 113 connects the above components together, and also connects the above components to a display controller 114 and a display device and an input/output (I/O) device 115. Input/output (I/O) device 115 may be a mouse, keyboard, modem, network interface, touch input device, motion sensing input device, printer, and other devices known in the art. Typically, the input/output devices 115 are coupled to the system through input/output (I/O) controllers 116.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus (device) or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations of methods, apparatus (devices) and computer program products according to embodiments of the application. It will be understood that each flow in the flow diagrams can be implemented by computer program instructions.
These computer program instructions may be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows.
These computer program instructions may also be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows.
The above description is only a preferred embodiment of the present invention and is not configured to limit the present invention, and various modifications and variations of the present invention may occur to those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A congestion control middleware implementation method for satellite communication, which is applicable to a gateway, is characterized in that the method comprises the following steps:
in an initial state, determining a first distribution bandwidth amount of each terminal device according to a total bandwidth amount and the number of the terminal devices which have access to the gateway;
determining a distribution state;
generating a first allocation response based on the first allocated bandwidth amount and the allocation status; and
sending the first allocation response to each terminal device;
the first allocated bandwidth amount is the ratio of the total bandwidth amount to the number of the terminal devices which have access to the gateway;
receiving an allocation request sent by a first terminal, wherein the first terminal is a terminal device accessed to the gateway, the allocation request comprises a current state and a used bandwidth amount of the first terminal, and the current state is used for representing an acquired bandwidth utilization rate of the first terminal;
allocating bandwidth to the first terminal according to the current state and the used bandwidth amount, and generating a second allocation response, wherein the second allocation response comprises a second allocation bandwidth amount and an allocation state, and the allocation state is used for representing an update state of the gateway indicating terminal equipment; and
sending the second allocation response to the first terminal.
2. The method of claim 1, further comprising:
acquiring the total bandwidth quantity of a bottleneck link, and determining the total bandwidth quantity of the bottleneck link as the total bandwidth quantity;
and acquiring the total bandwidth amount of the bottleneck link, wherein the acquired total bandwidth amount of the bottleneck link is the set total bandwidth amount of the bottleneck link, or automatically detecting the total bandwidth amount of the bottleneck link.
3. The method of claim 1, further comprising:
receiving a network access request sent by a second terminal, wherein the second terminal is a terminal device which does not access the gateway;
determining a third allocated bandwidth amount according to the first allocated bandwidth amount and the unallocated bandwidth amount;
determining a distribution state;
generating a third allocation response based on the third allocated bandwidth amount and the allocation status; and
and sending the third distribution response to the second terminal.
4. The method of claim 1, wherein the current state comprises a normal state and an idle state, wherein the normal state is used for indicating that the used bandwidth amount of the first terminal is greater than or equal to the allocated bandwidth amount, and the idle state is used for indicating that the used bandwidth amount of the first terminal is less than the allocated bandwidth amount;
wherein, in response to that the current state is a normal state, the second allocated bandwidth amount is a larger value of the used bandwidth amount and an allocable average bandwidth of the first terminal in the normal state, the allocable average bandwidth of the first terminal in the normal state is a ratio of an available bandwidth of the first terminal in the normal state to the number of the first terminals in the normal state, and the available bandwidth of the first terminal in the normal state is a difference between a total bandwidth amount and an allocated bandwidth amount of the first terminal in an idle state;
in response to the current state being an idle state, the second allocated bandwidth amount is the amount of used bandwidth.
5. A congestion control middleware implementation method for satellite communication is applicable to a terminal device, and is characterized in that the method comprises the following steps:
receiving a first allocation response sent by a gateway, wherein the first allocation response comprises a first allocation bandwidth amount and an allocation state; and
using bandwidth according to the first allocated bandwidth amount;
determining a current state in response to the amount of used bandwidth and the amount of allocated bandwidth satisfying a predetermined condition;
sending an allocation request to a gateway, the allocation request including the current state and an amount of used bandwidth;
receiving a second allocation response sent by the gateway, wherein the second allocation response comprises a second allocated bandwidth amount and an allocation state;
using bandwidth in accordance with the second allocated amount of bandwidth; and
and updating the current state to the distribution state.
6. The method of claim 5, further comprising:
and acquiring the used bandwidth amount through a detection module.
7. The method of claim 5, further comprising:
sending a network access request to a gateway;
receiving a third allocation response, the third allocation response including a third allocation bandwidth amount and an allocation status; and
and using the bandwidth according to the third allocated bandwidth amount.
8. The method of claim 5, wherein determining the current state in response to the amount of used bandwidth and the amount of allocated bandwidth satisfying a predetermined condition comprises:
determining that the current state is a normal state in response to the amount of used bandwidth being greater than or equal to the amount of allocated bandwidth; and
determining that the current state is an idle state in response to the amount of used bandwidth being less than the amount of allocated bandwidth; or
Determining that the current state is an idle state in response to the used bandwidth amount being less than the allocated bandwidth amount and a difference between the used bandwidth amount and the allocated bandwidth amount satisfying a predetermined condition;
and when the difference value meets the preset condition, the difference value is larger than a preset bandwidth threshold value, or the ratio of the difference value to the allocated bandwidth amount is larger than a preset ratio.
9. A computer-readable storage medium on which computer program instructions are stored, which, when executed by a processor, implement the method of any one of claims 1-8.
10. An electronic device comprising a memory and a processor, wherein the memory is configured to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method of any of claims 1-8.
CN202211090021.8A 2022-04-12 2022-09-07 Congestion control middleware implementation method for satellite communication Pending CN115460159A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022103779731 2022-04-12
CN202210377973 2022-04-12

Publications (1)

Publication Number Publication Date
CN115460159A true CN115460159A (en) 2022-12-09

Family

ID=84302381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211090021.8A Pending CN115460159A (en) 2022-04-12 2022-09-07 Congestion control middleware implementation method for satellite communication

Country Status (1)

Country Link
CN (1) CN115460159A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309103A (en) * 2008-07-15 2008-11-19 中国电子科技集团公司第五十四研究所 Congestion management suitable for wideband satellite communication system
CN102244898A (en) * 2010-05-14 2011-11-16 华为技术有限公司 Group-based traffic control method, equipment and system
CN109495932A (en) * 2019-01-22 2019-03-19 中国电子科技集团公司第五十四研究所 The on-demand method of adjustment of satellite communication dynamic bandwidth based on IP traffic amount
US20200028581A1 (en) * 2018-07-23 2020-01-23 Hughes Network Systems, Llc Dynamic Allocation Of Satellite Gateway Assignments
CN111682892A (en) * 2020-06-08 2020-09-18 南京凯瑞得信息科技有限公司 Automatic link establishment method based on service perception of intelligent gateway in satellite communication
CN113726374A (en) * 2021-09-18 2021-11-30 北方工业大学 Multi-beam satellite bandwidth allocation method with complementary long and short periods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309103A (en) * 2008-07-15 2008-11-19 中国电子科技集团公司第五十四研究所 Congestion management suitable for wideband satellite communication system
CN102244898A (en) * 2010-05-14 2011-11-16 华为技术有限公司 Group-based traffic control method, equipment and system
US20200028581A1 (en) * 2018-07-23 2020-01-23 Hughes Network Systems, Llc Dynamic Allocation Of Satellite Gateway Assignments
CN109495932A (en) * 2019-01-22 2019-03-19 中国电子科技集团公司第五十四研究所 The on-demand method of adjustment of satellite communication dynamic bandwidth based on IP traffic amount
CN111682892A (en) * 2020-06-08 2020-09-18 南京凯瑞得信息科技有限公司 Automatic link establishment method based on service perception of intelligent gateway in satellite communication
CN113726374A (en) * 2021-09-18 2021-11-30 北方工业大学 Multi-beam satellite bandwidth allocation method with complementary long and short periods

Similar Documents

Publication Publication Date Title
CN110225553B (en) Data distribution method, device and system
US6813244B1 (en) Available bandwidth measurement with variable speed probing and zoom-in/zoom-out technique
Chen et al. Localized algorithm for aggregate fairness in wireless sensor networks
US20020052205A1 (en) Quality of service scheduling scheme for a broadband wireless access system
US10440666B2 (en) Managing communication between a plurality of moving objects through control of transmit power and/or transmit rate
US20070213101A1 (en) Adjustment of parameters based upon battery status
CN108092908B (en) Method for controlling flow and sending end equipment
CN111787069A (en) Method, device and equipment for processing service access request and computer storage medium
JP2005236416A (en) Transmission apparatus
CN109245959B (en) Method, network equipment and system for counting number of active streams
CN114143270B (en) Bandwidth adjustment method and device
CN111835564B (en) Self-adaptive recovery method and system for power Internet of things communication link fault
CN112887217B (en) Control data packet sending method, model training method, device and system
CN100418314C (en) Wireless mobile terminal and telecommunication system
JPWO2007135919A1 (en) Transmission apparatus, transmission method, system LSI, and program
Balador et al. A novel contention window control scheme for IEEE 802.11 WLANs
US20220248259A1 (en) Data processing method and apparatus
CN113840330B (en) Connection establishment method, gateway equipment, network system and dispatching center
US9398600B2 (en) Base station device, radio communication system, and base station device control method
CN115460159A (en) Congestion control middleware implementation method for satellite communication
CN113542215B (en) Method and related device for improving streaming media transmission performance
JP6142195B2 (en) Wireless communication system, wireless base station, wireless communication method, and program
JP2020141322A (en) Wireless communication system and method
CN114158069B (en) Method and device for data transmission in private network
CN109474693B (en) Data transmission method and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination