ARINC664 network virtual link configuration method

By configuring bandwidth allocation interval, maximum frame length, virtual link path and buffer memory, the uncertainty problem of virtual link configuration in the ARINC664 network is solved, and deterministic data transmission and efficient resource utilization are realized.

CN120378298APending Publication Date: 2025-07-25CHINESE AERONAUTICAL RADIO ELECTRONICS RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510427985.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-07
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art is difficult to effectively configure virtual links in the ARINC664 network, resulting in problems such as uncertainty in data transmission and insufficient resource utilization.

Method used

Using the configuration method of bandwidth allocation interval (BAG), maximum frame length (MFS), virtual link path (VLPath) and sub-virtual link buffer memory (BufferSize), BAG and MFS are calculated through formulas, VLPath is generated using the breadth-first search algorithm, and BufferSize is calculated to ensure the determinism and efficiency of data transmission.

Benefits of technology

Deterministic data transmission of virtual links in ARINC664 network is realized, data transmission efficiency and resource utilization are improved, and accurate data frame transmission and network reliability are ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378298A_ABST
    Figure CN120378298A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual link configuration method for an ARINC664 network, and the method comprises the steps: designing four parameters of a virtual link: a bandwidth allocation interval (BAG), a maximum frame length (MFS), a virtual link path (VLath), and a buffer area memory size (Buffer Size) of a sub-virtual link (SubVL), so as to support the data transmission work of the ARINC664 network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of avionics systems, and particularly relates to a method for configuring virtual links of an ARINC664 network. Background Art

[0002] The avionics system has always been one of the most important system components in an aircraft and has been playing a crucial role. New technologies such as electronic information and computer systems have been continuously integrated into the avionics system, and the theory and technology of the avionics system have also been continuously improved. Currently, it has developed to the stage of an integrated modular avionics system. In the latest models, such as the Comac C919 and Boeing B787 in China, their avionics systems both adopt the avionics full-duplex switched Ethernet (AFDX) network as the backbone network.

[0003] The avionics system is a typical distributed real-time system. Airborne network devices such as switches and end systems cannot provide data transmission services for the avionics system alone, but need to construct an airborne network system according to the communication requirements of each avionics subsystem.

[0004] The ARINC664 Part7 specification provides the virtual link technology used in the AFDX network. Based on the virtual link, the determinacy of network resources can be guaranteed. A virtual link is a communication channel that establishes a one-way logical path between one terminal and one or more terminals. Virtual links are used to define and isolate data streams to ensure transmission rate and fault isolation.

[0005] In the ARINC664 Part7 specification, it is defined that an end system can be designed to only receive VLs without sending VLs, or vice versa; in this way, a terminal system can have no initiating or receiving VLs. Ethernet frames are exchanged between end systems through VLs. Any VL in the avionics network has only a unique source end system.

[0006] The AFDX network introduces the concept of virtual links (VLs). Logically, a VL is similar to a link in ARINC 429. Physically, multiple VLs share an Ethernet link and are switched through a switch.

[0007] The AFDX network protocol transforms the traditional Ethernet through VLs, which is mainly reflected in:

[0008] 1) Traffic shaping: The traffic shaping function means that for each VL, traffic shaping is performed at the sending end according to the configured bandwidth allocation gap (BAG) to constrain the logical bandwidth of the VL;

[0009] 2) VL Scheduling: The AFDX network schedules different Sub-Virtual Links (SubVLs) in a polling manner at the source end. For different VLs, a priority scheduling strategy is adopted to enhance the real-time performance of critical message forwarding;

[0010] 3) Static Routing: The AFDX network adopts a static routing method to achieve frame routing and forwarding based on VLs. Therefore, the source end system, destination end system, and the switches passed by the VL are all determined, ensuring the determinacy of the VL path;

[0011] 4) Traffic Policing: The traffic policing function in the AFDX switch will discard or buffer burst traffic to implement the contract check of the VL traffic bandwidth consumption. The traffic policing function can isolate the burst VL traffic due to faults;

[0012] 5) Frame Filtering and Fault Isolation: In the switch, the frame filtering function will check each VL, and the incorrect data frames will be discarded, thus increasing the communication reliability.

[0013] A virtual link is a conceptual communication object with the following attributes:

[0014] ● The virtual link defines a logically unidirectional connection from a source to one or more destination end systems, as Figure 1 shown.

[0015] ● Each virtual link is assigned a maximum bandwidth. The maximum available bandwidth of each VL is determined by its BAG and the allowed maximum frame length (Lmax). The maximum available bandwidth = (Lmax + 20) / BAG, in Kbytes per second. The present invention aims to design algorithms for BAG and the maximum frame length to ensure data transmission and terminal bandwidth utilization in sequence.

[0016] For each virtual link, regardless of how other virtual links use the bandwidth, the communication protocol stack of the end system should ensure the bandwidth allocated to it, aiming to maintain isolation between partitions at the network level. A virtual link should not be shared by two or more source partitions.

[0017] At the output end of each end system, the traffic of the frames associated with a specific virtual link is described by two parameters: bandwidth allocation interval and jitter. They are generated by Figure 2 two stages respectively.

[0018] To ensure the BAG of each VL, the traffic of the frames is regularized, that is, the terminal designs a traffic shaping function to regularize the traffic. As Figure 3As shown, VL reads the data frame every BAG time units according to the polling mechanism. If there is no jitter in the frames passing through the scheduler, BAG reflects the minimum time interval between the start bits of two adjacent frames in the same VL.

[0019] Due to the large number of nodes and complex structure in the IMA system, in order to achieve global unified allocation of virtual links for the entire system, it is necessary to develop a virtual link allocation algorithm. Therefore, based on the data transmission problem of the ARINC664 network, this application realizes the virtual link configuration technology of the ARINC664 network, which can better complete the data transmission of the ARINC664 network in the avionics system. Summary of the Invention

[0020] The object of the present invention is to provide a method for configuring virtual links in the ARINC664 network. Using this method to achieve virtual link allocation is of great significance to the field of data transmission in the avionics system.

[0021] The object of the present invention is achieved through the following technical solutions:

[0022] A method for configuring virtual links in the ARINC664 network includes allocating the bandwidth allocation interval BAG of the virtual link:

[0023] (1) If all the message sending periods of the ARINC664 messages in the virtual link are integer milliseconds, the value of BAG of the virtual link is calculated according to the following formula:

[0024] BAG = X / Y;

[0025]

[0026] Where: X is the least common multiple period LCM of the message periods transmitted on the virtual link;

[0027] Y is the total number of data frames transmitted on this virtual link within the least common multiple period time;

[0028] a is the number of fragments of the ARINC664 message generated by message i within the message sending period time (data frames are generated after message fragmentation);

[0029] b is the number of times message i sends messages within the LCM time;

[0030] (2) If all the message sending periods of the ARINC664 messages in the virtual link are not integer milliseconds, the value of BAG of the virtual link is calculated according to the following formula:

[0031] BAG = X / Y;

[0032]

[0033] Wherein:

[0034] X is the maximum message transmission period of all messages on the virtual link;

[0035] Y is the total number of frames sent by the virtual link within this maximum message transmission period;

[0036] a is the number of fragments of the ARINC664 message generated by message i within this message transmission period (data frames are generated after message fragmentation);

[0037] b is the number of times message i sends messages within time X;

[0038] In a given virtual link, the number of fragments into which the ARINC664 message is segmented is determined by using the following formula:

[0039] When

[0040] MessageSize <= MTU - MAC_IP_Header_Size - UDP_Header_Size - EDE_Wrapper_Size

[0041] then the number of fragments = 1; otherwise

[0042] the number of fragments = 1 + Ceiling(PayloadSize / Floor8(MTU - MAC_IP_Header_Size));

[0043] PayloadSize = MessageSize + UDP_Header_Size + EDE_Wrapper_Size - (MTU -

[0044] MAC_IP_Header_Size)

[0045] Wherein:

[0046] MTU represents the maximum transmission unit of the virtual link;

[0047] UDP_Header_Size represents the UDP header size of the message, and its value is 8 bytes;

[0048] MAC_IP_Header_Size represents the MAC and IP header sizes of the message, and its value is 39 bytes;

[0049] EDE_Wrapper_Size represents the EDE flag size. When this virtual link has high integrity, i.e., EDE is enabled, EDE_Wrapper_Size is 12 bytes; otherwise EDE_Wrapper_Size is 0 bytes.

[0050] Floor8() represents a function that obtains the next multiple of 8;

[0051] Ceiling() represents a function for rounding up;

[0052] MessageSize represents the message size. If MessageSize is less than (17 - EDE_Wrapper_Size), it is carried over to (17 - EDE_Wrapper_Size).

[0053] Furthermore, it also includes the maximum frame length for allocating link transmission data. When the message length is greater than 1471 bytes, the maximum frame length is set to 1518 bytes. When the message length is less than 1471 bytes, the maximum frame length is set to the message length + 47 bytes.

[0054] Furthermore, it also includes the data transmission path for allocating virtual links. Adopting the principle of the shortest number of hops, the breadth-first search algorithm is used to generate the virtual link path.

[0055] Furthermore, it also includes allocating the buffer memory BufferSize for sub-virtual links:

[0056]

[0057] NumMsgCopies = (NUMVLFragments * BAG) / Messageperiod

[0058]

[0059] Where:

[0060] NumMsgCopies obtains the adjacent integer;

[0061] RoundedMaxMsgSize is the value of the maximum message length (MaxMsgSize) of the sub-virtual link (SubVL), which is obtained as the next multiple of 8, in bits;

[0062] NumVLFragments is the total number of fragments of all ARINC664 messages included in the virtual link; BAG is the BAG value of the virtual link;

[0063] NumFragments is the number of fragments into which the ARINC664 message will be fragmented in the VL;

[0064] RoundedMsgSize is the message size of the ARINC664 message, which is obtained as the next multiple of 8, in bits;

[0065] QueueLength is the queue depth of SubVL. If the application logic port that sends ARINC664 messages is A653QueuingPort or HFQueuingPort, QueueLength is equal to the QueueLength value of the application logic port that sends ARINC664 messages; if the application logic port that sends ARINC664 messages is A653SamplingPort or HFSamplingPort, QueueLength is equal to 1.

[0066] The beneficial effects of the present invention are as follows: Based on the ARINC664 protocol, the present invention establishes a virtual link to implement the communication function of the ARINC664 network. Description of the Drawings

[0067] Figure 1 Define a diagram for the virtual link;

[0068] Figure 2 Define diagrams for two stages of end-system data transmission;

[0069] Figure 3 Define a diagram for the end-system traffic shaping function. Detailed Implementation Manner

[0070] The present invention will be further described in detail below with reference to the drawings and embodiments.

[0071] When an ARINC664 network virtual link configuration method shown in the present invention is applied to the field of avionics network data transmission, it is first necessary to read all application logic ports with transceiver relationships in the ARINC664 network. The purpose is to configure virtual links between two application logic ports with transceiver relationships. Its input data comes from the avionics system network data. Finally, virtual links and their attribute values are generated through the present invention to support the data transmission of the ARINC664 network.

[0072] An ARINC664 network virtual link configuration method of the present invention includes the following steps:

[0073] Step 1: Allocate the bandwidth allocation gap (BAG) of the virtual link;

[0074] In order to achieve the transmission of all virtual link data frames without causing the loss of transmitted end-system frames in the present invention, it is considered to ensure that all virtual link data frames generated by the messages sent within the least common multiple period (LCM) of the message periods transmitted on the virtual link can be accurately transmitted within this period.

[0075] The value of BAG is considered from the following aspects:

[0076] (1) If all the message transmission periods of the ARINC664 messages in the virtual link are integer milliseconds, the BAG value of the virtual link is calculated according to the following formula:

[0077] BAG = X / Y;

[0078]

[0079] Where: X is the least common multiple period of the message periods transmitted on the virtual link;

[0080] Y is the total number of data frames transmitted by the virtual link within the least common multiple period time;

[0081] a is the number of fragments of the ARINC664 message generated by message i within the message transmission period time (data frames are generated after message fragmentation);

[0082] b is the number of times message i is sent within the LCM time;

[0083] (2) If all the message transmission periods of the ARINC664 messages in the virtual link are not integer milliseconds, the BAG value of the virtual link is calculated according to the following formula:

[0084] BAG = X / Y;

[0085]

[0086] Where:

[0087] X is the maximum message transmission period of all the messages on the virtual link;

[0088] Y is the total number of frames transmitted by the virtual link within the maximum message transmission period time;

[0089] a is the number of fragments of the ARINC664 message generated by message i within the message transmission period time (data frames are generated after message fragmentation);

[0090] b is the number of times message i is sent within X time;

[0091] In a given virtual link, the number of fragments into which the ARINC664 message is segmented is determined by using the following formula:

[0092] When

[0093] MessageSize <= MTU - MAC_IP_Header_Size - UDP_Header_Size - EDE_Wrapper_Size

[0094] Then the number of fragments = 1; otherwise

[0095] Number of fragments = 1 + Ceiling(PayloadSize / Floor8(MTU - MAC_IP_Header_Size));

[0096] PayloadSize = MessageSize + UDP_Header_Size + EDE_Wrapper_Size - (MTU -

[0097] MAC_IP_Header_Size)

[0098] Where:

[0099] MTU represents the maximum transmission unit of the virtual link;

[0100] UDP_Header_Size represents the UDP header size of the message, and its value is 8 bytes;

[0101] MAC_IP_Header_Size represents the MAC and IP header size of the message, and its value is 39 bytes;

[0102] EDE_Wrapper_Size represents the EDE flag size. When this virtual link has high integrity, that is, EDE is enabled, EDE_Wrapper_Size is 12 bytes; otherwise EDE_Wrapper_Size is 0 bytes.

[0103] Floor8() represents a function to round down to the next multiple of 8;

[0104] Ceiling() represents a function to round up;

[0105] MessageSize represents the message size. If MessageSize is less than (17 - EDE_Wrapper_Size), it is rounded up to (17 - EDE_Wrapper_Size);

[0106] Step 2: Allocate the maximum frame length (MFS) for link data transmission;

[0107] Based on the principle that a large number of fragments will increase the message transmission delay, the present invention tries to minimize the number of fragments. When the message length is greater than 1471 bytes, the maximum frame length is set to 1518 bytes. When the message length is less than 1471 bytes, the maximum frame length is set to the message length + 47 bytes.

[0108] Step 3: Allocate the data transmission path (VLPath) of the virtual link;

[0109] For the path configuration of the virtual link, the present invention adopts the principle of the shortest hop count and uses the Breadth First Search (BFS) algorithm to generate the virtual link path.

[0110] Step 4: Allocate the buffer memory (BufferSize) of the Sub - Virtual Link (SubVL).

[0111] The present invention considers that the overflow of messages in the SubVL buffer will affect network determinism, and uses the following formula to calculate the size of the SubVL buffer memory:

[0112] BufferSize =

[0113]

[0114] Where:

[0115] NumMsgCopies rounds to the adjacent integer;

[0116] RoundedMaxMsgSize is the value of the maximum message length (MaxMsgSize) of the Sub - Virtual Link (SubVL), rounded to the next multiple of 8, in bits;

[0117] NumVLFragments is the total number of fragments of all ARINC664 messages included in the virtual link; BAG is the BAG value of the virtual link;

[0118] NumFragments is the number of fragments that the ARINC664 message will be fragmented into in the VL;

[0119] RoundedMsgSize is the message size of the ARINC664 message, rounded to the next multiple of 8, in bits;

[0120] QueueLength is the queue depth of the SubVL. If the application logic port sending the ARINC664 message is A653QueuingPort or HFQueuingPort, QueueLength is equal to the QueueLength value of the application logic port sending the ARINC664 message; if the application logic port sending the ARINC664 message is A653SamplingPort or HFSamplingPort, QueueLength is equal to 1.

[0121] It can be understood that for those of ordinary skill in the art, equivalent substitutions or changes can be made according to the technical solutions and inventive concepts of the present invention, and all such changes or substitutions should fall within the protection scope of the claims appended to the present invention.

Claims

1. A method for configuring an ARINC664 network virtual link, characterized in that It includes the following steps: Allocate the bandwidth allocation gap BAG of the virtual link: (1) If all the message transmission periods of the ARINC664 messages in the virtual link are integer milliseconds, the value of BAG of the virtual link is calculated according to the following formula: BAG = X / Y; Where: X is the least common multiple period LCM of the message periods transmitted on the virtual link; Y is the total number of data frames transmitted by this virtual link within the least common multiple period time; a is the number of fragments of the ARINC664 message generated by message i within the message transmission period time; b is the number of times message i sends messages within the LCM time; (2) If all the message transmission periods of the ARINC664 messages in the virtual link are not integer milliseconds, the value of BAG of the virtual link is calculated according to the following formula: BAG = X / Y; Where: X is the maximum message transmission period of all messages on the virtual link; Y is the total number of frames transmitted by the virtual link within the maximum message transmission period time; a is the number of fragments of the ARINC664 message generated by message i within the message transmission period time; b is the number of times message i sends messages within the X time; In a given virtual link, the number of fragments into which the ARINC664 message is segmented is determined by using the following formula: When MessageSize <= MTU - MAC_IP_Header_Size - UDP_Header_Size - EDE_Wrapper_Size Then the number of fragments = 1; otherwise The number of fragments = 1 + Ceiling(PayloadSize / Floor8(MTU - MAC_IP_Header_Size)); PayloadSize = MessageSize + UDP_Header_Size + EDE_Wrapper_Size - (MTU - MAC_IP_Header_Size) Where: MTU represents the maximum transmission unit of the virtual link; UDP_Header_Size represents the UDP header size of the message, and its value is 8 bytes; MAC_IP_Header_Size represents the MAC and IP header sizes of the message, and its value is 39 bytes; EDE_Wrapper_Size represents the EDE flag size. When this virtual link has high integrity, That is, EDE is enabled, and EDE_Wrapper_Size is 12 bytes; otherwise EDE_Wrapper_Size is 0 bytes; Floor8() represents a function that rounds down to the next multiple of 8; Ceiling() represents a function that rounds up; MessageSize represents the message size. If MessageSize is less than (17 - EDE_Wrapper_Size), it is rounded up to (17 - EDE_Wrapper_Size).

2. The ARINC664 network virtual link configuration method according to claim 1, wherein It also includes the maximum frame length for data transmission on the allocated link. When the message length is greater than 1471 bytes, the maximum frame length is set to 1518 bytes. When the message length is less than 1471 bytes, the maximum frame length is set to the message length + 47 bytes.

3. The method for configuring an ARINC664 network virtual link according to claim 1, wherein It also includes the data transmission path for the allocated virtual link. The shortest hop count principle is adopted, and the breadth-first search algorithm is used to generate the virtual link path.

4. A method for configuring an ARINC664 network virtual link according to claim 1, characterized in that It also includes the buffer memory BufferSize for the allocated sub-virtual link: NumMsgCopies = (NUMVLFragments * BAG) / Messageperiod Where: NumMsgCopies is rounded to the nearest integer; RoundedMaxMsgSize is the value of the maximum message length (MaxMsgSize) of the sub-virtual link (SubVL), rounded to the next multiple of 8, in bits; NumVLFragments is the total number of fragments of all ARINC664 messages included in the virtual link; BAG is the BAG value of the virtual link; NumFragments is the number of fragments that the ARINC664 message will be fragmented into in the VL; RoundedMsgSize is the message size of the ARINC664 message, rounded to the next multiple of 8, in bits; QueueLength is the queue depth of the SubVL. If the application logic port sending the ARINC664 message is A653QueuingPort or HFQueuingPort, QueueLength is equal to the QueueLength value of the application logic port sending the ARINC664 message. If the application logic port sending the ARINC664 message is A653SamplingPort or HFSamplingPort, QueueLength is equal to 1.