congestion control based on L-V model
- 格式:pdf
- 大小:653.23 KB
- 文档页数:10
Design and Implementation of a Bionic Robotic Hand with Multimodal Perception Based on ModelPredictive Controlline 1:line 2:Abstract—This paper presents a modular bionic robotic hand system based on Model Predictive Control (MPC). The system's main controller is a six-degree-of-freedom STM32 servo control board, which employs the Newton-Euler method for a detailed analysis of the kinematic equations of the bionic robotic hand, facilitating the calculations of both forward and inverse kinematics. Additionally, MPC strategies are implemented to achieve precise control of the robotic hand and efficient execution of complex tasks.To enhance the environmental perception capabilities of the robotic hand, the system integrates various sensors, including a sound sensor, infrared sensor, ultrasonic distance sensor, OLED display module, digital tilt sensor, Bluetooth module, and PS2 wireless remote control module. These sensors enable the robotic hand to perceive and respond to environmental changes in real time, thereby improving operational flexibility and precision. Experimental results indicate that the bionic robotic hand system possesses flexible control capabilities, good synchronization performance, and broad application prospects.Keywords-Bionic robotic hand; Model Predictive Control (MPC); kinematic analysis; modular designI. INTRODUCTIONWith the rapid development of robotics technology, the importance of bionic systems in industrial and research fields has grown significantly. This study presents a bionic robotic hand, which mimics the structure of the human hand and integrates an STM32 microcontroller along with various sensors to achieve precise and flexible control. Traditional control methods for robotic hands often face issues such as slow response times, insufficient control accuracy, and poor adaptability to complex environments. To address these challenges, this paper employs the Newton-Euler method to establish a dynamic model and introduces Model Predictive Control (MPC) strategies, significantly enhancing the control precision and task execution efficiency of the robotic hand.The robotic hand is capable of simulating basic human arm movements and achieves precise control over each joint through a motion-sensing glove, enabling it to perform complex and delicate operations. The integration of sensors provides the robotic hand with biological-like "tactile," "auditory," and "visual" capabilities, significantly enhancing its interactivity and level of automation.In terms of applications, the bionic robotic hand not only excels in industrial automation but also extends its use to scientific exploration and daily life. For instance, it demonstrates high reliability and precision in extreme environments, such as simulating extraterrestrial terrain and studying the possibility of life.II.SYSTEM DESIGNThe structure of the bionic robotic hand consists primarily of fingers with multiple joint degrees of freedom, where each joint can be controlled independently. The STM32 servo acts as the main controller, receiving data from sensors positioned at appropriate locations on the robotic hand, and controlling its movements by adjusting the joint angles. To enhance the control of the robotic hand's motion, this paper employs the Newton-Euler method to establish a dynamic model, conducts kinematic analysis, and integrates Model Predictive Control (MPC) strategies to improve operational performance in complex environments.In terms of control methods, the system not only utilizes a motion-sensing glove for controlling the bionic robotic hand but also integrates a PS2 controller and a Bluetooth module, achieving a fusion of multiple control modalities.整整整整如图需要预留一个图片的位置III.HARDWARE SELECTION AND DESIGN Choosing a hardware module that meets the functional requirements of the system while effectively controlling costs and ensuring appropriate performance is a critical consideration prior to system design.The hardware components of the system mainly consist of the bionic robotic hand, a servo controller system, a sound module, an infrared module, an ultrasonic distance measurement module, and a Bluetooth module. The main sections are described below.A.Bionic Mechanical StructureThe robotic hand consists of a rotating base and five articulated fingers, forming a six-degree-of-freedom motion structure. The six degrees of freedom enable the system to meet complex motion requirements while maintaining high efficiency and response speed. The workflow primarily involves outputting different PWM signals from a microcontroller to ensure that the six degrees of freedom of the robotic hand can independently control the movements of each joint.B.Controller and Servo SystemThe control system requires a variety of serial interfaces. To achieve efficient control, a combination of the STM32 microcontroller and Arduino control board is utilized, leveraging the advantages of both. The STM32 microcontroller serves as the servo controller, while the Arduino control board provides extensive interfaces and sensor support, facilitating simplified programming and application processes. This integration ensures rapid and precise control of the robotic hand and promotes efficient development.C.Bluetooth ModuleThe HC-05 Bluetooth module supports full-duplex serial communication at distances of up to 10 meters and offers various operational modes. In the automatic connection mode, the module transmits data according to a preset program. Additionally, it can receive AT commands in command-response mode, allowing users to configure control parameters or issue control commands. The level control of external pins enables dynamic state transitions, making the module suitable for a variety of control scenarios.D.Ultrasonic Distance Measurement ModuleThe US-016 ultrasonic distance measurement module provides non-contact distance measurement capabilities of up to 3 meters and supports various operating modes. In continuous measurement mode, the module continuously emits ultrasonic waves and receives reflected signals to calculate the distance to an object in real-time. Additionally, the module can adjust the measurement range or sensitivity through configuration response mode, allowing users to set distance measurement parameters or modify the measurement frequency as needed. The output signal can dynamically reflect the measurement results via level control of external pins, making it suitable for a variety of distance sensing and automatic control applications.IV. DESIGN AND IMPLEMENTATION OF SYSTEMSOFTWAREA.Kinematic Analysis and MPC StrategiesThe control research of the robotic hand is primarily based on a mathematical model, and a reliable mathematical model is essential for studying the controllability of the system. The Denavit-Hartenberg (D-H) method is employed to model the kinematics of the bionic robotic hand, assigning a local coordinate system to each joint. The Z-axis is aligned with the joint's rotation axis, while the X-axis is defined as the shortest distance between adjacent Z-axes, thereby establishing the coordinate system for the robotic hand.By determining the Denavit-Hartenberg (D-H) parameters for each joint, including joint angles, link offsets, link lengths, and twist angles, the transformation matrix for each joint is derived, and the overall transformation matrix from the base to the fingertip is computed. This matrix encapsulates the positional and orientational information of the fingers in space, enabling precise forward and inverse kinematic analyses. The accuracy of the model is validated through simulations, confirming the correct positioning of the fingertip actuator. Additionally, Model Predictive Control (MPC) strategies are introduced to efficiently control the robotic hand and achieve trajectory tracking by predicting system states and optimizing control inputs.Taking the index finger as an example, the Denavit-Hartenberg (D-H) parameter table is established.The data table is shown in Table ITABLE I. DATA SHEETjoints, both the forward kinematic solution and the inverse kinematic solution are derived, resulting in the kinematic model of the ing the same approach, the kinematic models for all other fingers can be obtained.The movement space of the index finger tip is shownin Figure 1.Fig. 1.Fig. 1.The movement space at the end of the index finger Mathematical Model of the Bionic Robotic Hand Based on the Newton-Euler Method. According to the design, each joint of the bionic robotic hand has a specified degree of freedom.For each joint i, the angle is defined as θi, the angular velocity asθi, and the angular acceleration as θi.The dynamics equation for each joint can be expressed as:τi=I iθi+w i(I i w i)whereτi is the joint torque, I i is the joint inertia matrix, and w i and θi represent the joint angular velocity and acceleration, respectively.The control input is generated by the motor driver (servo), with the output being torque. Assuming the motor input for each joint is u i, the joint torque τi can be mapped through the motor's torque constant as:τi=kτ∙u iThe system dynamics equation can be described as:I iθi+b iθi+c iθi=τi−τext,iwhere b i is the damping coefficient, c i is the spring constant (accounting for joint elasticity), and τext,i represents external torques acting on the joint i, such as gravity and friction.The primary control objective is to ensure that the end-effector of the robotic hand (e.g., fingertip) can accurately track a predefined trajectory. Let the desired trajectory be denoted as y d(t)and the actual trajectory as y(t)The tracking error can be expressed as:e(t)=y d(t)−y(t)The goal of MPC is to minimize the cumulative tracking error, which is typically achieved through the following objective function:J=∑[e(k)T Q e e(k)]N−1k=0where Q e is the error weight matrix, N is the prediction horizon length.Mechanical constraints require that the joint angles and velocities must remain within the physically permissible range. Assuming the angle range of the i-th joint is[θi min,θi max]and the velocity range is [θi min,θi max]。
score based generative modelScore based generative model is a type of artificial intelligence that simulates creative processes and allows for the creation of new and innovative ideas. It is based on a multi-score architecture which uses different metrics to generate and evaluate new ideas or solutions. This model is believed to be a more efficient and less time-consuming approach to problem-solving and idea generation.Score based generative models use numerical scores to assess individual ideas or a group of ideas. Each score is then combined to create a cumulative score that can be usedto rank the idea or group of ideas. This evaluation system allows AI models to identify which ideas have the greatest potential for success and also rate and eliminate ideas that may not be worth pursuing.Score based generative models have applications in a wide range of areas, such as machine learning and research. For example, they can be used to assess images or text to support image or language recognition, or to generate novel and creative designs in engineering, music, or art. It can also be used to develop predictive models for understanding customer preferences or for generating product recommendations.Score based generative models can be used to help foster creative ideas in a variety of ways. First, they can help identify the best ideas, making it easier to move forwardwith a project. Second, it can help generate better ideas by allowing for more experimentation. Finally, it can provideunique insights that could not have been discovered through traditional methods.Overall, Score based generative models have the potential to revolutionize both how we think and how we create. By using scores to evaluate and prioritize ideas, AI models can reduce the time and cost associated with discovering great ideas and uncovering new insights.。
Dynamic topology:As the channel of communicationchanges, some of the neighbors who were reachable on theprevious channel might not be reachable on the currentchannel and vice versa. As a result the topology of the network changes with the change in frequency of operation resulting in route failures and packet loss.Heterogeneity:Different channels may support differenttransmission ranges, data rates and delay characteristics.Spectrum-Handoff delay:For each transition from onechannel to another channel due to the PU’s activity, thereis a delay involved in the transition called Spectrum- Handoff delay.All these factors decrease the predictability of the cause oftransit-delay and subsequent packet loss on the network. Thetime latency during channel hand-off in cognitive networksmight cause the TCP round trip timer to time out. TCP willwrongly recognize the delays and losses due to the abovefactors as network congestion and immediately take steps toreduce the congestion window size knowing not the cause ofpacket delay. This reduces the efficiency of the protocol insuch environments.动态技术:随着信道通信的变化,一些邻进信道的用户在原信道没有发生变化而在新信道发生变化,或者相反。
Process SolutionsHoneywell’s C300 controller provides powerful and robust control for the PlantCruise by Experion® platform. With the C300 and the Control Execution Environment,customers can improve engineering productivity and maintenance, maximize process uptime, and reduce production costs.At the core of the C300 in PlantCruiseis Honeywell’s field-proven deterministic Control Execution Environment (CEE) core software. The CEE provides a superior control execution and scheduling environment. Control strategies are configured and loaded through Control Builder, an easy to use and intuitive engineering tool.The C300 controller hardware offers unique space saving, installation, and maintenance benefits consistent with its innovative Series 8 form factor.The C300 is optionally redundant, requiring no additional hardware other than an identical second hardware module.The ‘designed-vertical’ C300 controller provides a superior control execution and scheduling environment.With the C300 controller, customers can:• Improve engineering productivity with a rich set of function libraries and a seamless and intuitive user environment, • Maximize process uptime and minimize maintenance effort with robust diagnostics and full hardware redundancy, and, • Reduce production costs with flexible and efficient control strategies, on-process migration, and efficient hardware processing power.Easy Control Strategy Creation through Rich Function LibrariesThe Control Execution Environment function blockssupport:• Continuous Control • Logic Based Control • Sequential Control • Model Based ControlEach function block contains a rich set of predefined features, such as alarm limits and priorities, various control algorithms, and maintenance statistics, all of which are configurable parameters. Function blocks are linked together in Control Modules to perform specific control tasks, which provide a foundation for efficient control engineering.Embedded functionality guarantees consistent control strategyexecution and delivers consistent alarming and operations behavior. This consistency reduces operator errors and saves implementation time by eliminating the need to develop low-level basic functions.The CEE fully supports the ISA S88.01 batch standard and integrates sequences with devices. The devices will track the state of the sequences and perform pre-configured actions based on those sequences. This reduces the implementation and complexity of handling abnormal situations. The SCMs support abnormal handling, recipe parameters, and on-line monitoring of the execution through chart visualization.One Seamless Environment through Easy Data CommunicationParameters provide access to every imaginable piece of information in the controller. This data can be used throughout the Experion system, whether for other control strategies or for operator purposes. For example, in custom displays, parameters such as setpoints or outputs can be historized and used in trend views. The engineer does not need to know where the information resides. Instead, he can just reference it, and the system manages the underlying logistics of that information. The system will notify the user based on the status information associated with the value and take appropriate action when required.Each parameter is also protected from accidental changes through a security access level, and certain parameters can only be changed off-line. Communication is based on report- by-exception and publish-subscribe, making efficient use of communication bandwidth by accessing data only when needed and avoiding duplication.Consistent and Predictive Behavior Makes Engineering and Maintenance EasierThe C300 CEE supports an execution period per control strategy, ranging from 50 msec to 2000 msec. The user can make changes to existing or add new control strategies without interrupting other control strategies executed by the controller. The user has full control over the function block execution order within the control strategy and the execution order of multiple control strategies. Control strategies can be easily moved between control environments by using the convenient drag-and-drop feature within Control Builder. Easy and Intuitive Engineering EnvironmentControl Builder is the control engineering and maintenance tool for the Control Execution Environment, and improves the control engineer’s productivity by simplifying configuration with a graphical user interface and predefined function blocks ready for wiring into a specific control strategy. The control engineer can enable and change standard function block features without the need to build these from the ground up. The control strategy can be documented with embedded objects such as text, documents or web-links.Online Monitoring Is Available to the Engineer and OperatorOnce control strategies are created and loaded to the C300 controller, the engineer can monitor the strategy on-line using the same graphical interface. This is helpful for verifying a control strategy or for troubleshooting a process problem. The control or maintenance engineer can directly modify parameters from the engineering environment without needing an operator interface. Controller Based Model Predictive Tuning with ProfitLoopProfit Loop is Honeywell’s patented algorithm that provides a single input / single output model-predictive function block that is included in the standard C300 controller function block library. It has the operating simplicity and computational efficiency of a standard PID function block, yet provides tight, robust control, increasing process stability by up to 30 percent. Profit Loop creates a simple model of the process to predict the effect of control moves on the process (controlled) variable. Because Profit Loop can anticipate future process behavior, the controller knows exactly how much to move the process to meet the desired control objectives. Profit Loop incorporates the best elements of both traditional PID algorithms and the model-based control and optimization technologies of Profit Controller at the regulatory level.For More InformationTo learn more about how Honeywell’sPlantCruise by Experion C300 Controller can improve plant performance, visit our website or contact your Honeywell account manager. Honeywell Process Solutions Honeywell1250 West Sam Houston Parkway South Houston, TX 77042Honeywell House, Arlington Business Park Bracknell, Berkshire, England RG12 1EB Shanghai City Centre, 100 Junyi Road Shanghai, China 20051 Custom Algorithm Blocks Custom Algorithm Blocks (CABs) are similar in purpose and structure to native function blocks included with Control Builder. These blocks have predefined algorithms and data structures. By contrast, Custom Algorithm Blocks have user defined algorithms and data structures. CABs are developed using Visual Basic integrated into Control Builder.The C300 controller supports the execution of CABs in Experion LX. CABs can greatly reduce the effort required to create complex control strategies that require the robust control environment offered by the C300.Investment ProtectionHoneywell is committed to protecting customer investments by supporting and integrating previous control products. Consistent with this philosophy, the Control Execution Environment, which holds the user application, is platform- independent. This allows the user to make use of new, more powerful hardware platforms when they become available, while retaining the specific user application.PN-13-16-ENG February 2014© 2014 Honeywell International Inc.。
Application GuideTable of ContentsChapter 1. Introdution (1)Chapter 2. System Design (2)Chapter 3. Application Architecture (4)Chapter 4. DOCA Libraries (5)Chapter 5. Configuration Flow (6)Chapter 6. Running the Application (8)Chapter 7. Arg Parser DOCA Flags (10)Chapter 8. Port Programmable Congestion Control Register (12)8.1. Usage (12)8.2. Internal Default Algorithm (16)8.3. Counters (16)Chapter 9. References (18)Chapter 1.IntrodutionProgrammable congestion control (PCC) allows users to design and implement their own congestion control (CC) algorithm, giving them good flexibility to work out an optimal solution to handle congestion in their clusters. On BlueField-3, PCC is provided as a component of DOCA.The DOCA PCC application provides users the flexibility to manage allocation of DPA resources according to their needs. The application leverages the DOCA PCC library to generate an executable binary file.Typical DOCA application includes App running on host/Arm and App running on DPA. Developers are advised to use the host/Arm application with minimal changes and focus on developing their algorithm and integrating it into the DPA application.Chapter 2.System DesignDOCA PCC application consists of two parts:‣Host/Arm app is the control plane. It is responsible for allocating all resources and handover to the DPA app initially, then destroying everything when the DPA appfinishes its operation. The host app must always be alive to stay in control while the device app is working.‣Device/DPA app is the data plane. It is mainly for CC event handler. When the first thread is activated, DPA App initialization is done in the DOCA PCC library by calling the algorithm initialization function implemented by the user in the app. Moreover, the user algorithm execution function is called when a CC event arrives. The user algorithm takes event data as input and performs a calculation using per-flowcontext and replies with updated rate value and a flag to sent RTT request.The host/Arm application sends command to NIC firmware when allocating or destroying resources. CC events are generated by NIC hardware automatically when sending data or receiving ACK/NACK/CNP/RTT packets, then the device application handles these eventsSystem Designby calling the user algorithm. After the DPA application replies to hardware, handling of current event is done and the next event can arrive.Chapter 3.Application Architecture/opt/mellanox/doca/applications/pcc/src├── host│ ├── pcc.c│ ├── pcc_core.c│ └── pcc_core.h└── device├── algo│ ├── rtt_template.h│ ├── rtt_template_algo_params.h│ ├── rtt_template_ctxt.h│ └── rtt_template.c└── pcc_dev_main.cThe main content of the reference DOCA PCC application files are the following:‣host/pcc.c – entry point to entire application‣host/pcc_core.c – host functions to initialize and destroy the PCC application resources, parsers for PCC command line parameters‣device/pcc_dev_main.c – callbacks for user CC algorithm initialization, user CC algorithm calculation, algorithm parameter change notification‣device/algo/* – user CC algorithm reference template. Put user algorithm code here.Chapter 4.DOCA LibrariesThis application leverages the following DOCA libraries:‣DOCA PCC libraryChapter 5.Configuration Flow1.Parse application argument.a).Initialize arg parser resources and register DOCA general parameters.doca_argp_init();b).Register PCC application parameters.register_pcc_params();c).Parse all registered parameters.doca_argp_start();i.Parse DOCA flags.ii.Parse DOCA PCC parameters.2.PCC initialization.pcc_init();a).Open DOCA device that supports PCC.b).Create DOCA PCC context.c).Configure affinity of threads handling CC events.3.Start DOCA PCC.doca_pcc_start();a).Create PCC process and other resources.b).Trigger initialization of PCC on device.c).Register the PCC in the NIC hardware so CC events can be generated and anevent handler can be triggered.4.Process state monitor loop.doca_pcc_get_process_state();doca_pcc_wait();a).Get the state of the process:Configuration Flowb).Wait on process events from the device.5.PCC destroy.doca_pcc_destroy();a).Destroy PCC resources. The process stops handling PCC events.b).Close DOCA device.6.Arg parser destroy.doca_argp_destroy();Chapter 6.Running the Application1.Refer to the following documents:‣NVIDIA DOCA Installation Guide for Linux for details on how to install BlueField-related software.‣NVIDIA DOCA Troubleshooting Guide for any issue you may encounter with the installation, compilation, or execution of DOCA applications.‣NVIDIA DOCA Applications Overview for additional compilation instructions and development tips of DOCA applications.2.The pre-built PCC binary is located under /opt/mellanox/doca/applications/pcc/ bin/doca_pcc. To build all the applications together, run:cd /opt/mellanox/doca/applications/meson /tmp/buildninja -C /tmp/build3.To build only the allreduce application:a).Edit the following flags in /opt/mellanox/doca/applications/meson_options.txt:‣Set enable_all_applications to false‣Set enable_pcc to trueb).Run the commands in step 2.Note: doca_pcc is created under /tmp/build/pcc/src/.4.Pre-run setup:a).Enable USER_PROGRAMMABLE_CC in mlxconfig:mlxconfig -y -d /dev/mst/mt41692_pciconf0 set USER_PROGRAMMABLE_CC=1b).Reset firmware or power cycle the host.5.Running the application on the host or BlueField, CLI example:/opt/mellanox/doca/applications/pcc/bin/doca_pcc -d mlx5_0Application usage:Usage: doca_pcc [DOCA Flags] [Program Flags]DOCA Flags:-h, --help Print a help synopsis-v, --version Print program version information-l, --log-level Set the log level for the program <CRITICAL=20, ERROR=30, WARNING=40, INFO=50, DEBUG=60>Running the ApplicationProgram Flags:-d, --device <IB device names> IB device name that supports PCC(mandatory).-w, --wait-time <PCC wait time> The duration of the DOCA PCC wait(optional), can provide negative values which means infinity. If not provided then -1 will be chosen.-p, --pcc-threads <pcc-threads-list> A list of the PCC threads numbers to be chosen for the DOCA PCC context to run on (optional). Must be provided as astring, such that the number are separated by a space.For additional information on available flags, use -h:/opt/mellanox/doca/applications/pcc/bin/doca_pcc -h6.To run doca_pcc using a JSON file:doca_pcc --json [json_file]For example:cd /opt/mellanox/doca/applications/pcc/bin./doca_pcc –-json ./pcc_params.jsonChapter 7.Arg Parser DOCA Flags Refer to NVIDIA DOCA Arg Parser Programming Guide for more information.Arg Parser DOCA FlagsChapter 8.Port ProgrammableCongestion ControlRegisterThe Port Programmable Congestion Control (PPCC) register allows the user to configure and read PCC algorithm parameters.It supports the following functionalities:‣Enabling different algorithms on different ports‣Querying information of both algorithms and tunable parameters/counters‣Changing algorithm parameters without compiling and reburning user image‣Querying or clearing programmable counters8.1. UsageThe PPCC register can be accessed using a string similar to the following:sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --get --op "cmd_type=0" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=0,algo_param_index=0"sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --set "cmd_type=1" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=0,algo_param_index=0"Where you must:‣Set the cmd_type and the indexes‣Give values for algo_slot, algo_param_index‣Keep local_port=1, pnat=0, lp_msb=0‣Keep doca_pcc application running8.2. Internal Default AlgorithmThe internal default algorithm is used when enhanced connection establishment (ECE) negotiation fails. It is mainly used for backward compatibility and can be disabled using "force mode". Otherwise, users may change doca_pcc_dev_user_algo() in the device app to run a specific algorithm without considering the algorithm negotiation.The force mode command is per port:sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --get --op "cmd_type=2" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=15,algo_param_index=0"sudo mlxreg -d /dev/mst/mt41692_pciconf0.1 -y --get --op "cmd_type=2" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=15,algo_param_index=0"8.3. CountersCounters are shared on the port and are only enabled on one algo_slot per port. The following command enables the counters while enabling the algorithm according to the algo_slot:sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --set "cmd_type=1,counter_en=1" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=0,algo_param_index=0"After counters are enabled on the algo_slot, they can be queried using cmd_type 0xC or 0xD.sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --get --op "cmd_type=12" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=0,algo_param_index=0"sudo mlxreg -d /dev/mst/mt41692_pciconf0 -y --get --op "cmd_type=13" --reg_name PPCC --indexes "local_port=1,pnat=0,lp_msb=0,algo_slot=0,algo_param_index=0"Chapter 9.References ‣/opt/mellanox/doca/applications/pcc/srcNoticeThis document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. NVIDIA Corporation nor any of its direct or indirect subsidiaries and affiliates (collectively: “NVIDIA”) make no representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assume no responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality.NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice.Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete.NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document.NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military, aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA product can reasonably be expected to result in personal injury, death, or property or environmental damage. NVIDIA accepts no liability for inclusion and/or use of NVIDIA products in such equipment or applications and therefore such inclusion and/or use is at customer’s own risk.NVIDIA makes no representation or warranty that products based on this document will be suitable for any specified use. Testing of all parameters of each product is not necessarily performed by NVIDIA. It is customer’s sole responsibility to evaluate and determine the applicability of any information contained in this document, ensure the product is suitable and fit for the application planned by customer, and perform the necessary testing for the application in order to avoid a default of the application or the product. Weaknesses in customer’s product designs may affect the quality and reliability of the NVIDIA product and may result in additional or different conditions and/or requirements beyond those contained in this document. NVIDIA accepts no liability related to any default, damage, costs, or problem which may be based on or attributable to: (i) the use of the NVIDIA product in any manner that is contrary to this document or (ii) customer product designs.No license, either expressed or implied, is granted under any NVIDIA patent right, copyright, or other NVIDIA intellectual property right under this document. Information published by NVIDIA regarding third-party products or services does not constitute a license from NVIDIA to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property rights of the third party, or a license from NVIDIA under the patents or other intellectual property rights of NVIDIA.Reproduction of information in this document is permissible only if approved in advance by NVIDIA in writing, reproduced without alteration and in full compliance with all applicable export laws and regulations, and accompanied by all associated conditions, limitations, and notices.THIS DOCUMENT AND ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL NVIDIA BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Notwithstanding any damages that customer might incur for any reason whatsoever, NVIDIA’s aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms of Sale for the product.TrademarksNVIDIA, the NVIDIA logo, and Mellanox are trademarks and/or registered trademarks of Mellanox Technologies Ltd. and/or NVIDIA Corporation in the U.S. and in other countries. The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a world¬wide basis. Other company and product names may be trademarks of the respective companies with which they are associated.Copyright© 2023 NVIDIA Corporation & affiliates. All rights reserved.NVIDIA Corporation | 2788 San Tomas Expressway, Santa Clara, CA 95051。
模型参考自适应控制与模型控制比较模型参考自适应控制(Model Reference Adaptive Control, MRAC)和模型控制(Model-based Control)都是现代控制理论中常用的方法。
它们在实际工程应用中具有重要意义,本文将对这两种控制方法进行比较和分析。
一、模型参考自适应控制模型参考自适应控制是一种基于模型的自适应控制方法,主要用于模型未知或参数变化的系统。
该方法基于一个参考模型,通过在线更新控制器参数以追踪参考模型的输出,从而实现对系统的控制。
在模型参考自适应控制中,首先需要建立系统的数学模型,并根据实际系统的特性选择合适的参考模型。
然后通过设计自适应控制器,利用模型参数估计器对系统的不确定性进行补偿,实现对系统输出的精确追踪。
模型参考自适应控制的优点在于其适应性强,能够处理模型未知或参数变化的系统。
它具有很好的鲁棒性,能够适应系统的不确定性,同时可以实现对参考模型的精确追踪。
然而,模型参考自适应控制也存在一些缺点,如对系统模型的要求较高,需要较为准确的模型参数估计。
二、模型控制模型控制是一种基于数学模型的控制方法,通过对系统的建模和分析,设计出合适的控制器来实现对系统的控制。
模型控制方法主要有PID控制、状态反馈控制、最优控制等。
在模型控制中,首先需要建立系统的数学模型,并对模型进行分析和优化。
然后根据系统的特性,设计合适的控制器参数。
最后,将控制器与系统进行耦合,实现对系统的控制。
模型控制的优点在于其理论基础牢固,控制效果较好。
它能够根据系统的数学模型进行精确的设计和分析,具有较高的控制精度和鲁棒性。
然而,模型控制方法在实际应用中对系统模型的要求较高,而且对系统参数变化不敏感。
三、比较与分析模型参考自适应控制与模型控制都是基于模型的控制方法,它们在实际应用中具有各自的优缺点。
相比而言,模型参考自适应控制具有更强的适应性和鲁棒性,能够处理模型未知或参数变化的系统。
第 22卷第 8期2023年 8月Vol.22 No.8Aug.2023软件导刊Software Guide基于Prophet与LightGBM气象特征优化模型的短时机场飞行流量预测李卿,罗佳(贵阳人文科技学院大数据与信息工程学院,贵州贵阳 550025)摘要:随着经济的高速发展,地域性枢纽机场飞行流量日益增大,若短时流量过大则易产生拥塞,管制部门为解决拥塞问题会采取飞行流量管制措施,从而造成大量航班延误并增加了管制员工作负荷。
针对以上问题,提出一种基于Prophet的高精度进出场流量预测模型。
该模型在时间序列上充分考虑到季节性、趋势性和假期性,分别采取不同的拟合函数,在周期性较强的数据集上具有良好的预测效果。
选择双流机场2019-07-27至2019-09-25之间的高精度起飞降落报文统计数据,对其进行数据清洗和Z-SCORE标准化处理后构建进出场流量数据集。
依照实际流量曲线特点,选择每日固定时间段作为变点调整Prophet预测模型,再结合图像进行可视化调参,将得到的结果与基于ARIMA和LSTM的模型结果进行比较,发现所提模型相较性能最为接近的LSTM算法在MAE上有17.9%的提升,在RMSE上有52.0%的提升,在MAPE上有50.82%的提升。
同时,为了解决单一特征在流量预测中的局限性,引入多种气象特征数据,并根据实际飞行情况进行特征转换,再结合LightGBM算法对Prophet预测结果进行优化修正,最终结果较原始Prophet得到进一步提升,且正确反映了气候变化对飞行流量的影响。
关键词:Prophet;LighGBM;METAR;短时机场飞行流量预测;时间序列DOI:10.11907/rjdk.231305开放科学(资源服务)标识码(OSID):中图分类号:TP391 文献标识码:A文章编号:1672-7800(2023)008-0111-06Short-term Airport Flight Flow Prediction Based on Prophet andLightGBM's METAR Features Optimization ModelLI Qing, LUO Jia(Faculty of Big Data and Information Engineering, Guiyang Institute of Humanities and Technology, Guiyang 550025, China)Abstract:With the rapid development of economy, the flight flow of regional Airline hub is increasing. If the short-term flow is too large,congestion is likely to occur. The control department will take flight flow control measures to solve the congestion problem, resulting in a large number of flight delays and increasing the workload of controllers. To address the above issues, a high-precision entrance and exit flow predic⁃tion model based on Prophet is proposed. This model fully considers seasonality, trendiness, and vacation characteristics in the time series,and adopts different fitting functions. It has good predictive performance on datasets with strong periodicity. Select the high-precision takeoff and landing message statistical data between 2019-07-27 and 2019-09-25 of Shuangliu Airport, and construct the inbound and outbound flow data set after Data cleansing and Z-SCORE standardization. According to the characteristics of the actual traffic curve, a daily fixed time period was selected as the change point to adjust the Prophet prediction model, and visual parameter adjustment was performed using images. The obtained results were compared with the results of models based on ARIMA and LSTM. It was found that the proposed model had a 17.9% improvement in MAE, 52.0% improvement in RMSE, and 50.82% improvement in MAPE compared to the LSTM algorithm with the closest performance. At the same time, in order to address the limitations of a single feature in flow prediction, multiple meteorological feature data were introduced, and feature transformations were carried out based on actual flight conditions. Combined with the LightGBM algorithm, the Prophet prediction results were optimized and corrected. The final result was further improved compared to the original Prophet, and correctly reflected the impact of climate change on flight flow.Key Words:Prophet; LightGBM; METAR; short-term airport flow prediction; time series收稿日期:2023-03-25基金项目:贵州省教育厅自然科学基金项目(KY-2021112)作者简介:李卿(1993-),男,硕士,贵阳人文科技学院大数据与信息工程学院讲师,研究方向为信息抽取和多模态模型;罗佳(1988-),女,硕士,贵阳人文科技学院大数据与信息工程学院副教授,研究方向为时序预测与网络性能优化。
专利名称:CONGESTION CONTROL-BASED POLICY CONTROL METHOD, DEVICE AND SYSTEM 发明人:ZHOU, Xiaoyun,周晓云,WU, Jinhua,吴锦花申请号:CN2014/075625申请日:20140417公开号:WO2014/166438A1公开日:20141016专利内容由知识产权出版社提供专利附图:摘要:The embodiments of the present invention provide a congestion control-based policy control method, device and system. The method comprises: when providing a policy for a PCEF, a PCRF indicating a congestion execution condition of the policy; andaccording to perceived congestion information and the congestion execution condition, the PCEF executing policy check. The congestion control-based policy control technology in the embodiments of the present invention enables a PCEF to determine whether to execute a policy issued by the PCRF or not according to the current congestion situation, thereby achieving the purposes of reducing network congestion and ensuring good user experience.申请人:ZTE CORPORATION,中兴通讯股份有限公司地址:518057 CN,518057 CN国籍:CN,CN代理人:CHINA PAT INTELLECTUAL PROPERTY OFFICE,北京派特恩知识产权代理有限公司更多信息请下载全文后查看。
TCP Symbiosis:Congestion Control Mechanisms of TCP based on Lotka-V olterra Competition ModelGo HasegawaCybermedia CenterOsaka University1-32,Machikaneyama-cho,Toyonaka,Osaka560-0043,JAPAN Email:hasegawa@cmc.osaka-u.ac.jpMasayuki MurataGraduate School of Infomation Science and TechnologyOsaka University1-3,Yamadaoka,Suita,Osaka560-0871,JAPANEmail:murata@ist.osaka-u.ac.jpAbstract—In this paper,we propose TCP Symbiosis,which has a robust,self-adaptive and scalable congestion control mechanism for TCP.Our method is quite different from existing approaches. We change the window size of a TCP connection in response to information of the physical and available bandwidths of the end-to-end network path.The bandwidth information is obtained by an inline network measurement technique we have previously ing the bandwidth information we can resolve the inherent problems in existing AIMD/MIMD-based algorithms such as periodic packet loss and unfairness caused by the difference in RTT.We borrow algorithms from biophysics to update the window size:the logistic growth model and the Lotka-Volterra competition model.This is because these models describe changes in the population size of a species that depends on the living environment.The population of a species can be viewed as the window size of a TCP connection and the living environment as the bandwidth of the bottleneck link.The greatest advantage of using these models is that we can refer to previous discussions and results for various characteristics of the mathematical models,including scalability,convergence,fairness and stability in these models.Through mathematical analysis and extensive simulation experiments,we compare the proposed mechanism with traditional TCP Reno,HighSpeed TCP,Scalable TCP and FAST TCP,and exhibit its effectiveness in terms of scalability to the network bandwidth and delay,convergence time, fairness among competing connections,and stability.I.IntroductionWith increases in the heterogeneity and the complexity of the Internet,many problems have emerged in TCP Reno’s con-gestion control mechanism([1-3]for example).The primary reasons for these problems are that the congestion signals are only indicated by packet loss and that TCP Reno usesfixed Additive-Increase-Multiplicative-Decrease(AIMD)parameter values to increase and decrease window size,whereas those parameters should be changed according to the network condi-tions.Although many solutions have been proposed for there problems[4-6],most of them inherit the fundamental conges-tion control mechanism of TCP Reno:the AIMD mechanism triggered by the detection of packet losses in the network. The congestion control mechanism improves the throughput by adjusting the increasing and decreasing parameters statically and/or dynamically.However,most previous studies have focused on changing the AIMD parameters to accommodate particular network environments.Since these methods employ ad hoc modifications for a certain network situation,their performance when applied to other network environments is unclear.Because window size indicates the maximum amount of packets that TCP can transmit for one Round Trip Time (RTT),an adequate window size for a TCP connection is equal to the product of the available bandwidth and the round-trip propagation delay between the sender and receiver hosts. TCP Reno measures the RTTs of the network path between sender and receiver hosts by checking the departure times of the data packets and the arrival times of the corresponding ACK packets.However,TCP Reno does not have an effective mechanism to recognize the available bandwidth.This explains the fundamental problem:TCP Reno cannot converge its win-dow size to an adequate value when the network environment varies.In a sense,traditional TCP Reno can be considered to be a tool that measures available bandwidth because of its ability to adjust the congestion window size to achieve a transmission rate appropriate to the available bandwidth. However,it is ineffective because it only increases the window size until packet loss occurs.In other words,TCP Reno induces packet loss in order to obtain information about the available bandwidth(-delay product)of the network.That is, even when the congestion control mechanism of TCP works perfectly,the TCP sender experiences packet losses in the network at some intervals.Since all modified versions of TCP using the AIMD policy,including the generalized AIMD algorithm[7]and its variants,contain this essential problem, they cannot avoid packet losses in the network even if they behave ideally.There are some TCP variants,including TCP Vegas[8] and FAST TCP[6],that utilize the RTT values for the congestion indication,based on the fact that the RTTs for a TCP connection usually increase before packet losses occur when the network is congested.However,such RTT-based approaches cannot be applied to high-speed networks due to an inherent problem,i.e.,changes in RTT values of the end-to-end network path becomes invisible as the network bandwidth becomes large.We believe,therefore,that if a TCP sender recognizes the bandwidth information of the network path quickly and adequately,it can create a better mechanism for congestion control in TCP.Although numerous measurement tools that measure the physical and available bandwidths of network paths have been proposed in the literature[9-14],we cannot directly employ these existing methods in TCP mechanisms,primarily because these methods utilize a lot of test probe packets.Moreover, these methods also require too much time to obtain one measurement result.Accordingly,we have proposed a method called Inline measurement TCP(ImTCP)that avoids theseproblems in[15,16].It does not inject extra traffic into the network,and instead it estimates the physical/available band-widths of the network path from data/ACK packets transmitted by an active TCP connection in an inline fashion.Furthermore, since the ImTCP sender obtains bandwidth information every 1–4RTTs,it is well able to follow the trafficfluctuation of the underlying IP network.We believe that,by directly measuring bandwidth information,the congestion control in TCP becomes truly scalable to the bandwidth delay product of the network.AIMD-and MIMD-based mechanisms such as HighSpeed TCP(HSTCP)[4]and Scalable TCP(STCP)[5] are more scalable than TCP Reno,but they have serious problems in parameter tuning.Since no knowledge of the bandwidth information is obtained,the control parameters are configured based on implicit/explicit assumptions about the network environment.For example,in[4],the recommended control parameters are tofill the network link with10Gbps bandwidth,100msec RTT,and a packet loss rate of10−7. One of the advantages of the proposed mechanism is that it is not necessary to configure the control parameters according to the network environment.In addition,because ImTCP is implemented at the bottom of the TCP layer,this measure-ment mechanism can be included in various types of TCP congestion control mechanisms.In this work,we propose a new congestion control mech-anism for TCP,which we call TCP Symbiosis,that utilizes the information of physical and available bandwidths obtained from an inline measurement technique.The proposed mecha-nism does not use ad hoc algorithms such as TCP Vegas and instead employs existing algorithms,which enable us to math-ematically discuss and guarantee their behavior even though posing a simplification of the target system.More importantly, it becomes possible to give a reasonable explanation for our control parameter selections within TCP,instead of conducting intensive computer simulations and/or choosing parameters in an ad hoc fashion.We have designed a window size control algorithm whose purpose is to quickly adjust the window size to an adequate value based on bandwidth information in order to fairly distribute bandwidth among competing connections. For this,we borrowed algorithms from the logistic growth model and the Lotka-V olterra competition model[17],both of which are used in biophysics to describe changes in the population of species.The biophysics models were chosen based on their intrinsic stability and robustness,which is achieved even when they behave without any interaction in an autonomous and distributed fashion.This is the case for the congestion control of TCP:each TCP connection behaves independently,but still we want to improve the bandwidth uti-lization and the throughput of the connection.When applying the logistic growth and Lotka-V olterra competition models to the congestion control algorithm of our TCP,the population of a species can be viewed as the window size of a TCP connec-tion,the carrying capacity of the environment as the physical bandwidth,and interspecific competition among species as bandwidth sharing among competing TCP connections.In the present paper,an analytic investigation of the pro-posed algorithm is performed based on previously reported discussions and results regarding various biophysical char-acteristics of the mathematical models,including scalability, convergence,fairness and stability.Endowing TCP with these characteristics is the primary objective of the present study. Furthermore,a performance analysis for the situation where the traditional TCP Reno and TCP Symbiosys share the bottleneck is present to show the fairness property of the proposed mechanism against the existing TCP version.We also present extensive simulation results in order to evaluate the proposed mechanism and show that,compared with traditional TCP Reno and other TCP variants for high-speed networks,the proposed mechanism utilizes network bandwidth effectively, quickly,and fairly.II.Lotka-Volterra Model and Application to TCP Congestion Control MechanismsIn this paper,we intend to build a robust self-adaptive conges-tion control mechanism for TCP.In this sense,the proposed method is quite different from existing approaches.The con-cept of the window updating algorithm of the proposed method is borrowed from a biological system,which is often pointed out to be robust[18],because in many biological systems,the actions of the entity(e.g.,living organism)are not determined based on the results of direct interactions among entities,but rather on information obtained through the environment,which is a fundamental necessary condition for the system to be robust.The concept is often called“stigmergy”in the literature (see,e.g.,[19]).With respect to the current case,the window increase/decrease strategy is determined based on the physical and available bandwidth,rather than on the packet loss or RTTs,which are direct consequences of the activities of the TCP connections.A.Brief Introduction to the Lotka-Volterra Model1)Logistic ModelThe logistic equation is a formula that represents the evolution of the population of a single species over time.Generally,the per capita birth rate of a species increases as the population of the species becomes larger.However,since there are various restrictions on living environments,the environment has a carrying capacity(total population size),which is usually determined by the available sustaining resources.The logistic equation describes such changes in the population of a species as follows[17]:ddtN=1−NKN(1) where t is time,N is the population of the species,K is the carrying capacity(total population size)of the environment, and is the intrinsic growth rate of the species(0< ).2)Lotka-Volterra Competition ModelThe Lotka-V olterra competition model is a well known model for examining the population growth of two or more species that are engaged in interspecific competition.In the model, Equation(1)is modified to include the effects of both interspe-cific competition and intraspecific competition.The basic two-species Lotka-V olterra competition model with both species N1and N2having logistic growth in the absence of the other is comprised of the following equations[17]:ddtN1= 11−N1+γ12·N2K1N1(2) ddtN2= 21−N2+γ21·N1K2N2(3)20 40 60 80 100 120 0 2040 60 80 100N u m b e r o f S p e c i e sTime [sec]Species #1Species #2Fig. 1.Changes in population of two species with the Lotka-V olterra competition modelwhere N i ,K i ,and i are the population of the species,thecarrying capacity of the environment,and the intrinsic growth rate of the species i ,respectively.In addition,γij is the ratio of the competition coefficient of species i with respect of species j .In this model,the population of species 1and 2does not always converge to a value larger than 0,and in some cases one species becomes extinct,depending on the values of γ12and γmonly,the following equations are sufficient condi-tions for the two species to survive in the environment [17]:γ12<K 1K 2,γ21<K 2K 1(4)Assuming that the two species have the same characteristics,they have the same values:K =K 1=K 2, = 1= 2,and γ=γ1=γ2.Then,Equations (2)and (3)can be written as follows:d dt N 1= 1−N 1+γ·N 2KN 1(5)ddt N 2= 1−N 2+γ·N 1KN 2(6)In addition,Equation (4)can be written as γ<1.Figure 1shows the population changes in the two species using Equa-tions (5)and (6),where K =100, =1.95and γ=0.90,and species 2joins the environment 10seconds after species 1.From the figure,we can observe from this figure that the population of the two species converges quickly to the same value.We can easily extend Equations (5)and (6)for n species as follows:ddt N i = 1−N i +γ· nj =1,i =j N j KN i (7)Note that survival and convergence conditions are identical,i.e.,γ< 1.Even when two or more species exist,each independently utilizes Equation (7)to obtain N i ,and the population of the species can converge to the value equally shared among competing species.We consider that the chang-ing population trends of species depicted in Figure 1is ideal for controlling the transmission speed of TCP.That is,by using Equation (7)for the congestion control algorithm of TCP,rapid and stable link utilization can be realized,whereas each TCP connection can behave independently as an autonomous distributed system.However,this model cannot be directly applied to the congestion control algorithm of TCP because the model must obtain N j .This is discussed in the next subsection.B.Application to Window Size Control AlgorithmTo convert Equation (7)to a window increase/decrease al-gorithm,we consider N i as the transmission rate of TCP sender i and K as the physical bandwidth of the bottleneck link.Furthermore,when applying Equation (7)to the con-gestion control algorithm for connection i ,it is necessaryfor connection i to know the data transmission rates of all other connections that share the same bottleneck link.This assumption is quite unrealistic with respect to the current Internet.Therefore,we use the sum of the data transmission rates of all of the other connections using the physical and available bandwidths as follows:nj =1,i =jN j =K −A i where A i is the available bandwidth for connections i .Thus,Equation (7)becomes:ddt N i = 1−N i +γ·(K −A i )KN i (8)Here we assume that all connections share the same bottleneck link K in the equation.Note that when each TCP connection has a different physical bandwidth,the proposed mechanism share the bottleneck link bandwidth in a reasonable manner,which we will discuss in Subsection IV-E.The proposed mechanism requires modifications only with respect to sender-side TCP,and no change in receiver-side TCP is required.A TCP sender controls its data transmission rate by changing its window size.To retain the essential characteristics of TCP and decrease the implementation overhead,we employ window-based congestion control in the proposed TCP by converting Equation (8)to obtain an increasing algorithm of window size in TCP.The window size of connection i ,w i ,is calculated from N i ,the transmission rate,using the following equation:w i =N i τiwhere τi is the minimum value of the RTTs of connection i ,which is assumed to equal the propagation delay without a queuing delay in the intermediate routers between sender and receiver hosts.Next,Equation (8)can be rewritten as follows:d dt w i = 1−w i +γ(K −A i )τi Kτiw i (9)Finally,we integrate Equation (9)as follows:w i (t )=w i (0)e t 1−γ1−A i K{K −γ(K −A i )}τi w i (0)et1−γ1−A iK−1+{K −γ(K −A i )}τi(10)In Equation (10),when we set the initial value of the window size (w i (0))and the current time to 0(t =0),we can directly obtain window size w i (t )for any time t .We use the above equation for the control algorithm of the window size of TCP connections.Equation (10)requires measurement of the physical and available bandwidths of a network path.Therefore,we utilize the inline network measurement technique in ImTCP [15,16].In [15,16],the authors proposed ImTCP,which is an inline network measurement technique for the physical and available bandwidths of network paths between TCP sender and receiver hosts.ImTCP can continuously measure bandwidth by using data and ACK packets of a TCP connection under data transmission.That is,the TCP sender transmits data packets at intervals determined by an inline measurement algorithm and checks the arrival interval times of the corresponding ACK packets to estimate bandwidth.Since ImTCP performs the measurement without transmitting additional probe pack-ets over the network,the effect on other network traffic is negligible.ImTCP can also quickly update the latest changesin bandwidths by frequently performing measurements (one result per 1–4RTTs)as long as TCP transmits data packets.The authors have also proposed an implementation design of ImTCP,in which the measurement program is located at the bottom of the TCP layer.The proposed implementation design maintains the transmission/arrival intervals of TCP data/ACK packets by introducing a FIFO buffer between the TCP and IP layers.Note that the measurement algorithm has limited effect on TCP’s congestion control algorithm [15],meaning that the measurement algorithm can be applied to any TCP variant including our method proposed in this paper.Note that the inline network measurement algorithm can estimate both of the physical and available bandwidths based on the assumption that the narrowest link on the physical bandwidth of the end-to-end network path becomes the tightest link on the available bandwidth.According to the algorithm in [16],when such an assumption is not satisfied,that is,when the narrowest link and the tightest link are different in the path,the physical bandwidth cannot be measured exactly,whereas the available bandwidth can be obtained successfully.However,in that case,since the physical bandwidth is likely to be underestimated,this measurement error does not cause a serious problem for the proposed congestion control mecha-nism,because underestimation of the physical bandwidth does not result in injecting too many packets into the network.III.Characteristics of Proposed MechanismIn this section,we analyze various characteristics of the pro-posed mechanism,such as scalability,convergence,parameter setting issues and fairness against TCP Reno.This analysis illustrates that the proposed mechanism essentially solves the problems inherent in TCP Reno.A.Convergence Time and ScalabilityIn this subsection,we assume that the physical bandwidth K and available bandwidth A are constant,which means that the utilization of the bottleneck link are stable.In the proposed mechanism,the window size then converges to a certain value in the proposed mechanism.The converged window size,which is denoted as w ∗,can be obtained by setting dw/dt =0in Equation (9):w ∗={(1−γ)K +γA }τ(11)where τis the round-trip propagation delay the TCP connec-tion.In what follows,we consider the time which is required to increase the window size from w 0to ρ·w ∗(0<ρ<1,w 0<ρw ∗).In the proposed mechanism,using Equation (10),the time T becomes as follows:T =11−γ 1−A K ln ρ1−ρw ∗−w 0w 0≤1(1−γ)ln ρ1−ρw ∗−w 0w 0=1(1−γ)ln ρ1−ρ((1−γ)K +γA )τ−w 0w 0(12)because 0≤A ≤K is satisfied.Note that and γare fixed parameters of the proposed mechanism.The issue of setting these parameters will be discussed in the next subsection.This equation indicates that time T of the proposed mechanism increases logarithmically with respect to link bandwidth (K )and propagation delay (τ).In the case of TCP Reno,we can easily calculate T reno ,the time necessary to increase window size from w 0to w ∗,as follows:T reno =(w ∗−w 0)¯τ=[{(1−γ)K +γA }τ−w 0]¯τ(13)where ¯τis the average value of the RTTs of the TCP connection.Here,we ignore the effect of the delayed ACK option [20]and focus only on the congestion avoidance phase of TCP Reno.In the case of HSTCP,which is essentially based on the AIMD policy as in the case of TCP Reno,T hstcp is given by:T hstcp ≥w ∗−w 0a max ¯τ={(1−γ)K +γA }τ−w 0a max¯τ(14)where a max is a parameter of HSTCP that indicates the maximum window size increase during one RTT (equivalent to a (W )in [4]).Equations (13)and (14)indicate that the time required to increase the window size is proportional to physical bandwidth K and propagation delay τ.This illustrates that the time required to fully utilize the bandwidth-delay product of the network path is proportional to the bandwidth-delay product.HSTCP was designed as a new congestion control mechanism to resolve problems inherent in TCP Reno for high-speed and long delay networks.However,since the win-dow size control algorithm of HSTCP is essentially based on the AIMD policy,this algorithm suffers from poor scalability to the bandwidth-delay product.STCP has a window size control algorithm based on Mul-tiplicative Increase Multiplicative Decrease (MIMD)policy and describes logarithmic increases in time with respect to increases in link bandwidth [5].We calculate its convergence time T stcp as follows:T stcp =1a ln w ∗w 0 ¯τ=1aln{(1−γ)K +γA }τw 0¯τ(15)where a is an STCP parameter that indicates the increase in window size when receiving one ACK packet.In [5],a =0.01[packet]is the default value.This equation indi-cates that STCP has good scalability to network bandwidth:however,STCP has poor scalability to propagation delay.FAST TCP has the same equilibrium properties as TCP Vegas,and the window size is updated at intervals based on the RTT [6].This means that FAST TCP does not have good scalability to the propagation delay of the end-to-end network path,as will be shown in Section IV.B.Stability and FairnessIn this Subsection,we utilize the microeconomics analogy as in [21]and its followers to discuss the stability and fairness property of the proposed congestion control mechanism.We consider a single link with the following link cost function:C (x )=12px 2(16)for possible constant p ,which implicitly represents the param-eter of Active Queue Management (AQM)at the link buffer.x is the total traffic arrival rate to the link.By the definition of the available bandwidth,we have;K −A i = k =iw k τk (17)By using the above equation,we can re-write Equation (9)as follows:d dt w i =K K −(1−γ)w i τi −γ kw k τkw iPhysical Bandwidth = K [Mbps]Minimum Round-trip Propagation Delay = τ[msec]Size of the Output Buffer of the Bottleneck Link = B [packets]Fig.2.Model used for fairness analysisFig.3.Changes in the window sizes of TCP Reno and the proposed mechanism2 4 6 8 100 1 2 3 45 6 7 8T h r o u g h p u t R a t i oBuffer = 1/4 BDP Buffer = 1/2 BDP Buffer = 1 BDP Buffer = 2 BDP Buffer = 4 BDPRatio=1Fig.4.Ratio of throughput for various buffer sizes We define the sending rate of connection i as x i =w i /τi ,and assume τi is constant.Then we can derive the dynamics of x i as follows:d dt x i = γx i Kp pγ(K −(1−γ)x i )−p kx k(18)We here introduce the following function U i (x ):U i (x )=p γ K −12(1−γ)xxThen we can obtain the following eqation from Equation (18):d dt x i = γx i Kp(Ui (x i )−C ( kx k ))From this equation,we can regard the proposed mechanism as the source with the utility function U i (x )and link cost function C (x )under the prevailing assumptions.We first note that U i (x )is independent of the RTT τi ,which means that there is no RTT bias in the proposed mechanism.We confirm this characteristics in Section IV.The next remark is that U i (x )depends on the parameters K (physical capacity of the link),p (parameter pof link cost),and γ.For K ,since we assume that each TCP connection obtains the value of physical capacity by using ImTCP,we can say that the proposed mechanism provides fair performance when the same value of K is obtained by competing connections.The effect of different values of K is discussed in Subsection IV-E.For γ,which is the control parameter of the proposed mechanism,we show the setting guideline of γin the next Subsection,and show that the value of γwould affect on the buffering behavior of the bottleneck link,not on the behavior of each connections.This means that the source of the proposed mechanism should use the identical value for γ,which does not affect on the fairness property.For p ,on the other hand,it means that we have a problem in the proposed mechanism that its behavior depends on the AQM parameter.Modifying the algorithm to remove this dependency is one of the future research topic of this work.We also note that since U i (x )=−p (1−γ)/γand γ<1,the utility function U i (x )is strictly concave.This guarantees that the social welfare problem as follows has a unique solution:SY ST EMmaximize i U i (x i )−C (k x k )over x i ≥0,for all iThis characteristics clearly shows the stability of the proposed congestion control mechanism.C.Parameter SettingsThe congestion control algorithm of the proposed mechanism has two parameters,γand .In this subsection,we discuss the effect of these parameters and present some guidelines for configuring γand .1)γSettingThe parameter γindicates the degree of the influence of the other competing connections that share the same bottleneck link.To converge window size to a positive value despite the physical bandwidth K i of each connection,it is necessary to satisfy the condition 0<γ<1.Furthermore,based on Equations (11)and (12),we need to consider the trade-off between convergence speed and the final number of packets accumulated within the buffer at the bottleneck link.That is,although smaller γleads to faster convergence speed,it increases the queue size of the bottleneck router buffer when the window size is ing Equation (11)we can easily obtain the sum of the window size of n TCP connections as follows:n i =1w i =n1+(n −1)γKτ(19)where we assume that the physical bandwidth K and the delayτof each connection are identical.From Equation (19)queue size Q at the bottleneck link is given by:Q =(n −1)(1−γ)1+(n −1)γKτ(20)This equation shows that Q increases as n becomes larger.However,as n goes to infinity,we can obtain the following equation:lim n →∞Q =1−γγKτ(21)That is,there exists an upper bound of the queue size with respect to an increase in the number of concurrent TCP connections.Therefore,if the bottleneck link has a large enough buffer,the proposed mechanism will induce no packet losses regardless of the number of TCP connections.TCP Reno,HSTCP,and STCP,on the other hand,increase their window size until they fully utilize the buffer at the bottleneck link,and as a result,they cannot avoid periodic packet losses.2) Settingdetermines convergence speed,as shown in Equation (9).Generally,when we convert Equation (1)into a discrete equation,the population of the species does not converge with ≥2[17].In contrast,the window size updating。