Cell stream transmission method, cell stream transmission device, network device, and computer-readable storage medium
By detecting time offsets and inserting code blocks to synchronize cell stream transmission with a reference time, the method stabilizes cell stream speeds and phase positions, addressing the instability caused by frequency offsets in communication networks.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-06
- Publication Date
- 2026-03-24
AI Technical Summary
The instability of cell stream speeds and phase positions due to frequency offsets in system operating clocks of different devices in communication networks, leading to buffer overflow, lead-off phenomena, and unpredictable phase shifts, which affect the stability and synchronization of cell streams across devices.
A method and device for adjusting cell stream transmission times by detecting time offsets and inserting predetermined code blocks, such as IDLE blocks, to synchronize the cell stream transmission with a reference time, ensuring consistent speed and phase alignment across devices.
Stabilizes cell stream transmission speeds and phase positions, reducing internal delays and ensuring synchronized transmission without the need for additional buffering, thereby maintaining stable and synchronized cell stream operations.
Smart Images

Figure 0007834849000001 
Figure 0007834849000002 
Figure 0007834849000003
Abstract
Description
Technical Field
[0001] This application claims the priority of Chinese Patent Application No. 202111061216.5 filed on September 10, 2021, and incorporates the content of the Chinese patent application herein by reference.
[0002] This application relates to the field of communication networks, specifically to a method for transmitting a cell stream, a device for transmitting a cell stream, a network device, and a computer-readable storage medium.
Background Art
[0003] When using cells to transmit customer services in a communication network, there are frequency offsets in the system operating clocks of different devices. Therefore, the speeds at which cell streams are expressed in different devices do not match, it is difficult to maintain the stability of the cell stream speed between devices in the network, and the phase positions between cell streams are unstable and uncertain.
Summary of the Invention
Means for Solving the Problems
[0004] An embodiment of this application provides a method for transmitting a cell stream, including steps of detecting a time offset value between the actual transmission time of a cell in a specified device and a reference time, calculating the number of code blocks corresponding to the time offset value, controlling the specified device, and inserting a code block of a predetermined type into the cell stream transmitted according to the number of code blocks to adjust the actual transmission time of the cell in the specified device to the reference time.
[0005] Embodiments of the present invention provide a cell stream transmission device comprising: a time detection module configured to detect a time offset value between the actual transmission time of a cell in a designated device and a reference time; a code block calculation module configured to calculate the number of code blocks corresponding to the time offset value; and a code block insertion module configured to control the designated device and insert a predetermined type of code block into the transmitted cell stream according to the number of code blocks, thereby adjusting the actual transmission time of a cell in the designated device to the reference time.
[0006] Embodiments of the present invention provide a network device comprising at least one processor and a memory that stores at least one computer program, and when the at least one computer program is executed by the at least one processor, causes the at least one processor to implement the cell stream transmission method according to embodiments of the present invention.
[0007] Embodiments of the present invention provide a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the cell stream transmission method according to embodiments of the present invention is realized.
[0008] Further explanation of the above-described embodiments of this application, other embodiments, and methods of implementation thereof will be provided in the description of the drawings, specific embodiments, and claims. [Brief explanation of the drawing]
[0009] [Figure 1] This is a schematic diagram illustrating the cell transmission process in a network according to the embodiment of the present invention. [Figure 2] This is a schematic diagram of a structure in which multiple cell streams according to the embodiment of the present invention are consolidated into a single cell stream. [Figure 3] This is a schematic diagram showing the device internal cell business processing process according to the embodiment of the present invention. [Figure 4]This is a schematic diagram showing the process by which cells are sequentially transmitted in the embodiment of the present invention. [Figure 5] The 64 / 66 encoding rules defined in the 802.3 standard in this embodiment are shown. [Figure 6] This diagram shows a schematic representation of the cell structure after an idle block has been inserted into the cell stream in this embodiment. [Figure 7] A schematic diagram of the cell multiframe structure according to this embodiment is shown. [Figure 8] A schematic flowchart of the cell stream transmission method in this embodiment is shown. [Figure 9] This diagram shows a schematic structure of a business processing device according to the embodiment of the present invention. [Figure 10] This diagram shows a schematic structure of the cell stream transmission device in this embodiment. [Figure 11] A schematic block diagram of an exemplary network device for implementing the present embodiment is shown. [Modes for carrying out the invention]
[0010] To further clarify the purpose, technical proposal, and advantages of this application, embodiments of this application will be described in detail below, accompanied by drawings. Note that the embodiments and their respective features can be combined arbitrarily as long as they do not contradict each other.
[0011] In some embodiments of the present invention, the rapid increase in user network information traffic has driven the rapid development of communication network information transmission bandwidth, and the interface bandwidth speed of communication devices has improved from 10M (megabits per second) to 100M, further to 1G (gigabits per second), 10G, and now has reached a bandwidth speed of 100G, with a large number of commercial 100G optical modules already on the market.
[0012] In high-bandwidth applications, networks still need to be compatible with existing low-rate dedicated line services, such as those for dedicated line customers in the power, banking, and railway sectors. The dedicated line bandwidth purchased by these customers is significantly smaller than the equipment network interface bandwidth and requires a relatively stable bandwidth rate. However, the demands on the quality of service for bandwidth-related services are very high, requiring guaranteed bandwidth (not shared with other units even if not used by the service itself), physical isolation, and unaffected by other customer operations. When high-bandwidth and low-bandwidth services coexist on a network, strict physical isolation between different services and complete non-influence is required, and the method typically employed is cell transmission.
[0013] Figure 1 is a schematic diagram illustrating the cell transmission process in a network according to an embodiment of the present invention. In Figure 1, four node devices, Device 1, Device 2, Device 3, and Device 4, on a communication link in the network are illustrated. As shown in Figure 1, the data transmission structure on the communication link is a cell stream, and a cell is a basic unit with fixed length and fixed format characteristics. Each cell is assigned a cell serial number, and the serial numbers on different cells can be used to distinguish between different cells, thereby assigning customer operations to different cells.
[0014] The number of devices shown in Figure 1 is merely illustrative. Node devices on the communication link can be flexibly configured according to the actual application environment and needs.
[0015] In Figure 1, device 1 can transmit sequence cells according to the system operating clock frequency clock 1, device 2 transmits sequence cells according to the system operating clock frequency clock 2, and device 3 transmits sequence cells according to the system operating clock frequency clock 3.
[0016] Because each individual cell has a small transmission bandwidth, customer operations can be transmitted simultaneously across multiple cells, increasing the speed at which customer operations are carried across multiple cells. In other words, if the customer operation bandwidth is relatively small, one cell can be selected to carry the transmission, and if the customer operation speed is relatively high, transmission across multiple cells can be selected. When the customer operation speed and the number of cells that need to carry it are related, the communication link can carry customer operations at different speeds, solving customer operations with various different bandwidth needs. Furthermore, because the cells are strictly separated, strict physical separation between different customer operations can be achieved. Each cell shown in Figure 1 is an independently carried basic unit, and each cell can carry only one customer operation. In some application scenarios, each cell may be divided into multiple subslots, each subslot can carry only one customer operation, and customer operations may be carried across one or more subslots, with different customer operations being carried across different subslots, achieving complete separation between customer operations. Such a configuration also belongs to the cell carrying mode and is within the scope of this application. The cells of this application (also called basic units) are a set of basic units having fixed length and fixed format features, where each basic unit as a whole may not have sub-slots divided into it, or may have many sub-slots divided within each basic unit, and customer operations may be carried out in different sub-slots, and any such arrangement falls within the scope of this application.
[0017] In Figure 1, since the cell stream is transmitted from the first node device, the true speed of the cell stream can be determined by the speed of the first node device. The Ethernet standard allows for a frequency offset of up to ±100 PPM (parts per million) of the operating clock frequency of a device Ethernet interface. Because the transmission speed of a cell is affected by the system operating clock frequency of the device, a frequency offset exists between the system operating clocks of different devices, which can lead to unstable cell stream speeds.
[0018] Taking Device 2 as an example, Device 2 receives the cell stream transmitted from Device 1. The cell stream speed is determined by the operating clock frequency of Device 1. At the same time, Device 2 also transmits the cell stream to Device 3 according to the operating clock frequency of Device 2. Since there may be a frequency offset between the clocks of Device 2 and Device 1, the reception speed and the transmission speed of the cell stream in Device 2 may not match. When the reception speed of the cell stream is greater than the transmission speed of the cell stream, some cells cannot be transmitted, cells are accumulated in Device 2, and finally a buffer overflow is caused, resulting in a service interruption. When the reception speed of the cell stream is less than the transmission speed of the cell stream, the cell stream transmitted by Device 2 is insufficient, which causes a lead-off phenomenon.
[0019] To solve the problem that the operating clock frequencies do not match between different devices, it is necessary to add appropriate idle information blocks (IDLE blocks) to the cells to adjust the speed of the cell stream. However, by adding IDLE blocks, the reception time and transmission time of cells in each device are uncertain, and the phase positions between cell streams may become random and unstable.
[0020] FIG. 2 is a structural schematic diagram of aggregating a plurality of cell streams into one cell stream according to an embodiment of the present application.
[0021] As shown in FIG. 2, in some application scenarios, the cell streams of multiple access links can aggregate the service flows of some cells of one link, for example, the service flow of some cells on the first link and the service flow of some cells on the third link into the second service stream, and the cell streams in three directions are aggregated into one cell stream on the second link. Since there are cell streams from two or more directions, if the clock frequencies of the cell streams from different directions do not match, the cell stream speed in the transmission direction does not match the speeds from all different direction cell streams and cannot be directly aggregated, and can only be aggregated when the speeds of the cell streams in all directions are adjusted to the same speed.
[0022] As can be seen from the above content, when there is a difference in the device clock frequency, the speeds at which cell streams are represented by different devices do not match, causing difficulties in transmitting services at different nodes. Especially for two cell streams in different directions, if their speeds do not match, they cannot be aggregated into one cell stream. How to ensure that cells are normally transmitted on the network is a problem that needs to be solved when currently transmitting customer services using cells, without being affected by the device clocks of each node. The cell current phase position is related to the start time when each device starts cell transmission, and the device power-on transmission time is random. Although the clock frequency synchronization mode can be adopted to make the system clock frequencies of all network devices match and the speeds of cell streams match, there is a possibility that the cell current phase positions do not match. Since the cell phase position is related to the operating time after each power-on, the cell phase position is random and unstable.
[0023] Even if the speed synchronization of cells is achieved between devices, the phase relationship between cells is only temporarily stable, and the phase positions between cells after each power-on are also random and related to the device power-on time and the instantaneous power-on state. Since the phase positions between cells cannot be made constant and stable, it brings an extra delay time to the customer services carried by the cell stream.
[0024] In some embodiments, in one device, the cell phase position transmitted from upstream does not match the cell phase position transmitted downstream by the device itself, resulting in a cell phase shift phenomenon. If the cell phase shift is not determined, the device loses the opportunity to transmit after receiving cells from upstream and cannot transmit cells directly, requiring it to cache them first.
[0025] Figure 3 is a schematic diagram showing the device internal cell business processing process according to the embodiment of the present invention.
[0026] As shown in Figure 3, the device may include a cell receiving module 310, a cell processing module 320, a cache, a speed adjustment module 330, and a cell transmitting module 340.
[0027] The cell receiving module 310 is configured to receive upstream cells and transmit the received upstream cells to the cell processing module 320. The cell processing module 320 is configured to process the received upstream cells and extract the customer content of the cells. The cache and speed adjustment module 330 is configured to cache and speed adjustment the customer content. The cell transmitting module 340 is configured to reencapsulate the speed-adjusted cells into transmitting cells and, when the transmission time arrives, to transmit output to the transmitting cells. If the transmit port velocity and the upstream receiving port velocity are different, the phase of the transmitting cells and the phase position of the receiving cells are floating and not fixed. For example, the port velocity for three different receiving directions is different, and the cell velocity converging in the transmit direction is different from the velocity in any of the three receiving directions.
[0028] In Figure 2 above, even if clock synchronization mode is adopted, the clock frequencies of all devices remain synchronized, but the phase difference problem that exists between the receiving port cell and the transmitting port cell in device 23 cannot be resolved.
[0029] In device 23 of Figure 2, it is necessary to aggregate and integrate cells from three directions. Although the cell velocities from different directions are the same, the cell phases from different directions are different. In the multi-direction to unidirectional convergence mode, there is always a phase difference between the cell phase in one direction at the receiving end and the cell at the transmitting end, which the device needs to resolve using a cache.
[0030] For example, at a fixed time, the sequence number of the cell sent by device 12 to device 23 is cell 5, the sequence number of the cell sent by device 22 to device 23 is cell 40, and the sequence number of the cell sent by device 32 to device 23 is cell 90. The phases of the cells sent by devices 12, 22, and 32 at the same time do not coincide, being cell 5, cell 40, and cell 90 respectively, while the sequence number of the cell sent by device 23 at this time is cell 40. The contents of cell 40 from device 22 may be sent immediately, but the contents of cell 5 received from device 12 and the contents of cell 90 from device 32 must be cached and waited for until the corresponding cell is sent before being sent. The larger the phase offset between the receiving end and the transmitting end cell, the larger the buffer size; the smaller the phase offset, the smaller the buffer size. To satisfy the floating range of the phase difference between the phase of the receiving cell and the phase of the transmitting cell, it is necessary to design according to the maximum cache, and a large amount of customer business information must be pre-cached to satisfy the maximum floating range in the phase difference floating process, but this results in extra delay time for customer business.
[0031] Figure 4 is a schematic diagram showing the process by which cells are sequentially transmitted in the embodiment of the present invention.
[0032] In this embodiment, the cells that handle customer operations are typically information sets of fixed length and fixed format. As shown in Figure 4, in cells 1, 2, 3, 4, ..., n-2, n-1, and n, the length of each cell is constant, each cell transmits sequentially, and the cells transmit sequentially in a cyclical manner.
[0033] In the embodiments of the present invention, a cell is a set of information bitstreams having fixed-length and fixed-format features, the information bitstream set may take various specific forms, for example, fixed-length and fixed-format Ethernet packets, and a cell may be a specific coded block group of fixed length.
[0034] A particular encoding block may include various encoding schemes, such as 8 / 10 (8-bit / 10-bit) encoding blocks and 64 / 66 (64-bit / 66-bit) encoding blocks. In an Ethernet network, when Ethernet packets are transmitted over a link, they need to be converted into encoding blocks, such as 8b / 10b encoding blocks or 64 / 66 encoding blocks. Fixed-length Ethernet packet information slices, after encoding, are represented as fixed-length code block groups, and on a high-speed Ethernet interface, messages can be converted into, for example, 64 / 66 code blocks.
[0035] For the sake of explanation, the following description uses a fixed-length 64 / 66 coded block group cell as an example. Exemplary, the exemplary cell consists of an S-code block, a D-code block, and a T-code block. The exemplary cell begins with an S-code block, has several D-code blocks in the middle, and ends with a T-code block, with the S-code block indicating the cell's start flag, the D-code block being the cell's body, and the T-code block indicating the cell's end flag. When Ethernet packets are coded into 8 / 10 coded blocks or other fixed-length coded blocks, the processing method is the same as for fixed-length 64 / 66 coded blocks and will not be described further in this application. The same principle applies to other types of cell formats.
[0036] Figure 5 shows the 64 / 66 encoding rules defined in the 802.3 standard in this embodiment of the present invention.
[0037] As shown in Figure 5, when an Ethernet data packet is 64 / 66 encoded, the 64-bit customer data content encoding results in an information block of 66 bits, with the first two bits of the 66-bit code block being the synchronization header bits (sync in Figure 5). These 66-bit encoded blocks are divided into two types: one is the data block (i.e., abbreviated as the data block or D block), and the other is the control block. The first two bits of the data block are "01", and the following 64 bits are the customer information content. The first two bits of the control block are "10", and the first byte of the following 64 bits is the control field type domain (Block Byte Field), which consists of 8 bits and is used to indicate the type of this control block. According to the control word type field, content control blocks are divided into idle blocks (IDLE blocks, control field content is 0x1E), S blocks (control field content is 0x78), O blocks (control field content is 0x4B), and T blocks (8 types of T blocks from T0 to T7, with control word field content of 0x87, 0x99, 0xAA, 0xB4, 0xCC, 0xD2, 0xE1, and 0xFF respectively). For example, there are multiple types of control blocks, used to indicate different meanings. For instance, an S block, which is a message start instruction block, is configured to indicate that it is the first block of a message, and a T block, which is a message end instruction block, is configured to indicate that it is the message tail block. The T block may be further subdivided into eight types, T0 to T7 (different T blocks indicate the message tail function as well as having a D block function, carrying different customer information, with T0 carrying 0 bytes of customer information, T1 carrying 1 byte of customer information, and so on). Other control blocks include an O block, which is a fault information instruction block, and an idle information block (i.e., an IDLE block, abbreviated as an I block).
[0038] After an Ethernet packet is encoded, it becomes a code block stream, which begins with an S block, has a D block in the middle, and ends with a T block (i.e., S block + D block + T block), with sub-I blocks and O blocks between the two preceding and succeeding packet code stream blocks. The I block is an idle block, and if there is idle time between packets, or if there are no data packets, the packet is padded with an I block.
[0039] Figure 6 shows a schematic diagram of the cell structure after an idle block has been inserted into the cell stream in this embodiment.
[0040] As shown in Figure 6, one I-block is inserted between cell 2 and cell 3, and one I-block is inserted between cell n-1 and cell n. In some embodiments, O-blocks for transmitting fault information may be present between cells.
[0041] In the embodiments of this application, I blocks (i.e., IDLE blocks) and O blocks are used as encoding blocks unrelated to customer business and may be used for speed adaptation in addition to padding idle positions between cells. An increase in inserted I or O blocks corresponds to a decrease in the proportion of active business flow and a decrease in service speed, while a decrease in padded I or O blocks corresponds to an increase in the proportion of active business flow and an increase in service speed. The clock frequency offset range defined in the Ethernet standard is positive and negative 100M (i.e., the total range size is 200 PPM), and frequency offsets existing between different devices can be adapted by increasing or decreasing the number of IDLE blocks in the customer business stream.
[0042] Therefore, the cell stream transmission method according to the embodiment of the present invention can adjust the cell stream transmission time by adjusting the number of IDLE blocks and / or O blocks, which are not related to customer operations, thereby matching the cell stream transmission time with the reference time. When all device time synchronization and the reference time are in sync, the transmission times of all device cell streams are in sync, the speed between cells transmitted by all devices is stable, and the phase position is constant. In the technical proposal according to the embodiment of the present invention, speed adjustment may be performed using IDLE blocks and O blocks. The IDLE blocks and O blocks used for speed adjustment are collectively referred to as a specific code block, and the cell transmission time is adjusted by adjusting the number of insertions of this specific code block. After the cell stream speed is constant and the phase position is stable, the phase position difference between the cell phase received by all receiving ends and the cell phase transmitted by the transmitting end in the same device also becomes stable. The phase difference between the cell phase received by the receiving end and the cell phase transmitted by the transmitting end is always constant, eliminating the effects of fluctuations in the phase difference value between the receiving and transmitting end cells without adding extra buffers when the device processes the cell internally. The device does not need to properly configure its operations based on the phase position at the transmitting end, and the cell can be transmitted immediately after receiving processing within the device without requiring buffer waiting, thereby reducing the internal delay time of the cell-carrying operations within the device.
[0043] Figure 7 shows a schematic diagram of the cell multiframe structure according to the embodiment of the present invention.
[0044] In the embodiment of this application, one Fine Grain Base Unit (fg-BU) is defined according to a previously acquired fine-grained slicing technology enterprise standard, for example, a mobile carrier enterprise standard, and one Fine Grain Base Unit is one cell as defined in this application. Each Fine Grain Base Unit in the mobile carrier enterprise standard may consist of 197 66-bit code blocks (1 S block + 195 D blocks + 1 T block). Each Fine Grain Base Unit has a serial number flag field, and the serial number value changes from 0 to 19 in a fixed order, and in this way 20 Fine Grain Base Units (i.e., 20 cells) constitute a multi-frame structure of one Fine Grain Unit (i.e., cell multi-frame), and the multi-frame of one Fine Grain Base Unit consists of 20 Fine Grain Base Units with serial number values from 0 to 19.
[0045] Each fine-grained base unit is divided into 24 subslots, resulting in a total of 480 subslots across 20 fine-grained base units. Customer operations can choose to be hosted in any number of subslots. The fine-grained base units are transmitted over one 5G rate (bits / second) time slot or multiple 5G time slots of Flexible Ethernet (Flex E) and are hosted and transmitted via the FlexE interface. When a fine-grained base unit is hosted over one 5G rate FlexE slot, the bandwidth of each subslot in the fine-grained base unit is 10M (megabits / second).
[0046] One fine-grained base unit is treated as one cell, and according to the cell stream transmission method of the embodiment of the present invention, the number of idle code blocks that need to be inserted is obtained from the difference between the reference time and the transmission time of the fine-grained base unit, and by inserting an appropriate amount of idle blocks between the fine-grained base units, the transmission time of the fine-grained base unit is made to match the reference time, thereby ensuring that all devices maintain a consistent transmission time when they transmit the fine-grained base unit at their transmission ports.
[0047] Figure 8 shows a schematic flowchart of the cell stream transmission method in the embodiment of the present invention. As shown in Figure 8, the cell stream transmission method in the embodiment of the present invention may include the following steps S810 to S830.
[0048] In S810, the time offset value between the actual transmission time of a cell on the specified device and the reference time is detected.
[0049] In S820, calculate the number of code blocks corresponding to the time offset value.
[0050] In S830, the specified device is controlled, and a predetermined type of code block is inserted into the transmitted cell stream according to the number of code blocks, thereby adjusting the actual transmission time of the cell at the specified device to a reference time.
[0051] In the cell stream transmission method according to the embodiment of the present invention, the actual transmission time of the cell is the clock time when the cell actually transmits.
[0052] According to the cell stream transmission method of the present embodiment, after detecting the time offset value between the actual transmission time of a cell and a reference time at a designated device, the number of code blocks that need to be inserted based on the time offset value is calculated, and when the designated device transmits a cell, the specified code blocks are inserted between the transmitted cells according to the number of code blocks to be inserted as needed. This adjusts the actual transmission time of the cell to the reference time, and adjusts the transmission speed and transmission phase of the cell. As a result, the speed synchronization and phase position between cells are always stable, reaching a state of the same speed and phase, and the cell delay time is reduced.
[0053] In some embodiments, step S810 may include the following steps S11 to S13.
[0054] In S11, a cell with a predetermined serial number on the specified device is selected as a reference cell for time comparison based on the reference time.
[0055] In S12, the time comparison period is determined based on the reference time.
[0056] In S13, the time offset value between the actual transmission time of the reference cell and the reference reference time is detected in each time comparison cycle.
[0057] In steps S11 to S13 described above, a cell to be compared based on the reference reference time is selected as a reference cell, and the actual transmission time of the reference cell is matched with the reference reference time. For example, a cell with a cell serial number of 0 (abbreviated as cell 0) may be selected as a reference cell based on the reference reference time, or any cell with any other serial number may be selected as a reference cell. If cell 0 is selected as a reference cell, it is detected whether or not cell 0 was transmitted at the reference reference time (i.e., the acquired reference reference time is used as the reference reference time for transmitting cell 0). When it is detected when cell 0 was transmitted (i.e., the actual transmission time of cell 0), the transmitting end of the specified device provides the transmission time of the cell with cell serial number 0 when transmitting the cell, and the actual transmission time of cell 0 is compared with the reference reference time to obtain a time offset value between the actual transmission time of cell 0 and the reference reference time.
[0058] In some embodiments, the reference time includes one of the following, obtained by a predetermined time acquisition method: a time value of the global clock corresponding to the cell, a pulse appearance time value having global clock attributes, and a time value that the cell expects to transmit; the time comparison period is the time length between two consecutive reference times; and the predetermined time acquisition method includes one of the calibration methods of the 1588 functions supported by the specified device, a global positioning clock signal, and an external clock source.
[0059] In the cell stream transmission method according to the embodiment of the present application, the time comparison period may be understood as the occurrence period of the reference time, or the time length between two consecutive reference time occurrences may be defined as the time comparison period. In some embodiments, the time length between each pair of consecutive reference time occurrences may be equal; that is, the reference time may occur at equal intervals.
[0060] In the cell stream transmission method according to the embodiment of the present invention, the time value of the global clock corresponding to the cell at the reference time, the pulse appearance time value having global clock attributes, or the time value that the cell expects to transmit may be a time value obtained by at least one of the following methods: the calibration mode of the 1588 function supported by the specified device, the Global Positioning System (GPS) clock signal, and the external clock source.
[0061] In the cell stream transmission method according to the embodiment of this invention, most devices currently support the 1588 function or external time input function. The full name of the IEEE 1588 protocol is the Precision Clock Synchronization Protocol Standard for Network Measurement and Control Systems, and it is a standard protocol for devices on a network to achieve time synchronization. The basic function of IEEE 1588 is to synchronize all clocks in a distributed network with the optimal clock. Through the exchange of 1588 messages between the master device and the standby device, the optical fiber delay time between the master device and the standby device and the clock difference value between the two devices can be tested. The standby device synchronizes its clock with the main device clock by calibrating using the clock difference value.
[0062] In some embodiments, the 1588 function enables time synchronization between all devices on the network, maintaining consistency between the operating time of network devices and the time of a reference clock source. Devices without the 1588 function provide a GPS clock source function and provide time information via a GPS clock signal. If a GPS clock source function is not available, the device may receive a clock signal from an external clock source via an external clock source interface and provide reference time information via the external clock source.
[0063] In the cell stream transmission method according to the embodiment of the present invention, after obtaining a reference time according to the above embodiment, a reference cell can be selected based on the reference time. For example, a cell having a predetermined cell serial number to be transmitted at the reference time is designated as the reference cell. In this scenario, a fixed time comparison period exists, and the time comparison period is fixed, in addition to being a comparison period determined based on the reference time obtained by the above method.
[0064] Exemplary, in some embodiments of the present application, the occurrence period of the reference time may be the occurrence period of the second pulse corresponding to the reference time. If the device has clock synchronization information values for the reference time, the device can provide time synchronization information to all boards and modules in the device in a second pulse manner. The second pulse manner is a single pulse signal, and when the pulse appears, it indicates that the time at which the pulse appears is the 1-second time in Coordinated Universal Time (UTC). In the case of time calibration, the second pulses of timekeeping devices worldwide appear simultaneously, and the whole-second times of all devices are the same and perfectly aligned with one another.
[0065] In the above embodiment, the appearance period for providing second pulses corresponding to the reference time may be used as the time comparison period. That is, the second pulse is used as the calculation period for time comparison, and a time offset value is calculated between the actual transmission time of the transmission cell and the reference time in integer seconds, i.e., the time offset value is calculated every second.
[0066] For example, in some embodiments of the present application, in addition to calculating the time difference at a frequency of 1 second, the time difference may also be calculated according to a time comparison period of 100 milliseconds, 10 milliseconds, or 1 millisecond, and the processing principle is the same as that for a time comparison period of 1 second.
[0067] In some embodiments, the reference time is the expected reference time when the reference cell appears each time, and the reference cell is a cell having a predetermined serial number that has been selected in advance from a designated device.
[0068] In some embodiments, step S810 may include the following steps S14 and S15.
[0069] In S14, the expected occurrence period of the expected reference time of the reference cell is set as the time comparison period.
[0070] In S15, a time offset value is detected between the actual transmission time of the reference cell and the reference reference time (i.e., the expected reference time) of the reference cell during each time comparison cycle.
[0071] Steps S14 and S15 above allow the reference time to be determined based on the reference cell. That is, based on the selected reference cell, the reference time is the expected reference time each time the reference cell appears, thereby aligning the actual transmission time of the reference cell with the expected reference time. For example, the cell with cell number 0 (abbreviated as cell 0) can be determined as the reference cell first, and then the expected reference time of cell 0 can be determined as the reference time to be actually used. In this scenario, the actual transmission time of cell 0 may not be definitive or fixed, and therefore the time of the time comparison operation between the actual transmission time of cell 0 and the reference time may not be definitive or fixed. However, the expected appearance cycle of cell 0 is constant, and the time comparison cycle is calculated according to the expected appearance cycle, so the time comparison cycle is also constant, and when inserting a code block based on a time offset value, the operation is performed according to a constant time comparison cycle.
[0072] As can be seen from the above, two implementation methods are provided for detecting the time offset value between the actual transmission time and the reference time of a cell in a specified device. The first method involves selecting a cell with a predetermined serial number as a reference cell for which time comparison is necessary when the reference time appears, comparing the actual transmission time of the reference cell with the reference time, and obtaining the offset value between the actual transmission time and the reference time of the reference cell. The second method involves determining the actual transmission time of the reference cell and the reference time corresponding to the reference cell (i.e., the expected reference time) when the reference cell appears, and detecting and obtaining the offset value between the reference time (i.e., the expected reference time) and the actual transmission time of the reference cell.
[0073] Furthermore, as can be seen from the above, the cell stream transmission method according to the embodiment of the present invention provides an implementation method with different time comparison periods. For example, the time comparison period may be determined according to the occurrence period of the reference reference time, for example, the second pulse of the reference reference time. For example, the time offset value between the actual transmission time of the cell and the reference reference time may be calculated according to a time comparison period of a user-defined time length, for example, 100 milliseconds, or 10 milliseconds, or 1 millisecond. For example, a reference cell may be determined first, and the expected occurrence period of the reference cell may be used as the time comparison period.
[0074] In actual application scenarios, depending on the actual needs, it is possible to flexibly select a determination method with different time comparison periods and to select an implementation method that detects the time offset value between the actual transmission time of the reference cell and the reference reference time based on the time comparison period, and this invention is not specifically limited.
[0075] In some embodiments, if the number of occurrences of a cell having a predetermined serial number in the time comparison period is greater than 1, step S11 may include the following step S21.
[0076] In S21, a cell having a predetermined serial number associated with a reference time is selected from the designated device as a reference cell, and N cells having the predetermined serial number are spaced between the two reference cells, where N is the number of times the cell having the predetermined serial number appears in the time comparison period.
[0077] In the above embodiment, when comparing times, it is necessary to consider the number of reference cells in the time comparison period. If multiple reference cells appear within the time comparison period, the cells associated with the reference reference time are selected to be involved in the time comparison, thereby improving the accuracy of the time offset value detected within the comparison period.
[0078] For example, when selecting and comparing cells with serial number 0, if cell 0 appears 1000 times in one time comparison cycle, and there are 1000 cells with serial number 0 in one comparison cycle, but the reference time appears only once in one time comparison cycle, the comparison module will select and compare only the cell 0 associated with the reference time, and there are 1000 cells with predetermined serial numbers between the two selected cell 0s. For example, it will sequentially infer the 1000th cell 0, the 2000th cell 0, the 3000th cell 0, and so on, selecting and comparing only the cell 0 associated with the reference time and the reference time, and other cells with serial number 0 will not be involved in the time comparison.
[0079] As another example, if we select and compare cells with serial number 0, cell 0 appears 800 times within one time comparison cycle, and there are 800 cells with serial number 0 within one comparison cycle. However, if the reference time appears only once within one time comparison cycle, the comparison module will select and compare only the cell 0 associated with the reference time, and the interval between the two selected cell 0s will contain 800 cells with a predetermined serial number. For example, by analogy, the 800th cell 0, the 1600th cell 0, the 2400th cell 0, and so on, it will select and compare only the cell 0 associated with the reference time and the reference time, and other cells with serial number 0 will not be involved in the time comparison.
[0080] In the cell stream transmission method according to the embodiment of the present invention, the time comparison period may be understood as the size of the time period for performing the time comparison activity. By periodically comparing times, the number of code blocks corresponding to the time offset value is periodically calculated by periodically outputting a time offset value, a designated device is periodically controlled, and a predetermined type of code block is inserted into the transmitted cell stream according to the number of code blocks, thereby periodically adjusting the actual transmission time of the cell in the cell stream.
[0081] In some embodiments, the time offset value is a time offset value detected within each predetermined time comparison period, and step S830 may include step S31.
[0082] In S31, an insertion instruction signal is sent to a designated device, a time comparison period is performed, the designated device is controlled based on the insertion instruction signal, and a predetermined type of code block is uniformly inserted into the transmitted cell stream according to the number of code blocks.
[0083] In the above embodiment, after calculating the total number of code blocks that need to be inserted within the time comparison period based on the time offset value, an insertion instruction signal is provided to the designated device, and the insertion instruction signal controls the designated device to distribute each insertion opportunity evenly within the time comparison period, thereby uniformly inserting a predetermined type of code block into the cell stream transmitted by the designated device according to the total number of code blocks that need to be inserted.
[0084] In some embodiments, step S31 may include step S41.
[0085] In S41, a first insertion instruction signal is transmitted to a designated device, which is used to indicate the time comparison period and the number of code blocks. Based on the time comparison period and the number of code blocks, the designated device determines the average distribution of code block insertion positions within each comparison period and the number of code blocks uniformly distributed at each code block insertion position.
[0086] In the above embodiment, the first insertion instruction signal can transmit the number of code blocks corresponding to the time comparison period and the time offset value to a designated device. The designated device then uniformly inserts a predetermined type of code block into the transmission cell stream within the time comparison period based on the time comparison period and the number of code blocks. In other words, the designated device itself determines the insertion positions in which it uniformly distributes the predetermined type of code block into the transmission cell stream based on the time comparison period and the number of code blocks.
[0087] In some embodiments, step S31 may include steps S51 and S52.
[0088] In S51, the code block insertion positions that are uniformly distributed within each comparison period and the number of code blocks that are uniformly distributed at each code block insertion position are set according to the number of code blocks that need to be inserted within each time comparison period.
[0089] In S52, a second insertion instruction signal is transmitted to a designated device at each uniformly distributed code block insertion position, and each second insertion instruction signal is used to indicate the number of uniformly distributed code blocks that need to be inserted at the current code block insertion position.
[0090] In the above embodiment, the uniformly distributed code block insertion positions within the comparison period and the uniformly distributed number of code block insertions at each code block insertion position are calculated in advance. At each uniformly distributed code block insertion position, a second insertion instruction signal is transmitted to a designated device, instructing the designated device to insert a code block at the current time and to insert the pre-calculated uniformly distributed number of code block insertions. This realizes the uniform insertion of a predetermined type of code block into the cell stream transmitted by the designated device according to the number of code blocks corresponding to the time offset value.
[0091] In the cell stream transmission method according to the embodiment of the present invention, when the cell transmission module of the designated device transmits a cell and receives an insertion instruction signal, it inserts a specific code block between cells, adjusts the cell transmission time, and synchronizes the cell transmission time with a reference time.
[0092] Taking cell 0 as an example, after aligning the transmission time of cell 0 with the reference time, all cells are transmitted sequentially. Because specific code blocks are inserted between cells and distributed uniformly, subsequent cells such as cell 1, cell 2, cell 3, etc., will automatically transmit their outputs at their corresponding fixed times. All reference times on the network are based on Coordinated Universal Time (UTC), and all reference times appear at the same time. When the transmission time of a reference cell matches the reference time for all devices, all transmitting cells of all devices are transmitted at the same time, the cell transmission speeds are the same, and the transmission phases are aligned. After all devices have the same transmitting cell speed and aligned phases, in any one device, the phase position between the cell received by the receiving port and the cell transmitted by the transmitting port is constant, achieving a state of identical speed and phase, and reducing the cell delay time.
[0093] In some embodiments, the number of code blocks corresponding to the time offset value includes a code block insertion reference value and a code block insertion correction value, and step S820 may include steps S61 to S63.
[0094] In S61, frequency offset adaptation requirement values between pre-configured different devices are obtained, and the calculated and obtained specified device obtains code block insertion reference values for each predetermined time comparison period.
[0095] In S62, the number of code blocks corresponding to the time offset value in each time comparison period is set as the code block insertion correction value for each time comparison period of the specified device.
[0096] In S63, the sum of the code block insertion reference value and the code block insertion correction value for each time comparison period is calculated, and the number of code blocks corresponding to the time offset value for each time comparison period of the specified device is obtained.
[0097] By performing steps S61 to S63 above, a code block insertion reference value for each time comparison period is calculated according to the frequency offset adaptation requirement value between devices (frequency offset adaptation requirement value), and a code block insertion correction value for each time comparison period is calculated based on the time offset value. This allows the total number of code blocks that need to be inserted in each time comparison period to be adjusted by the code block insertion correction value, based on the fact that the number of insertions is the code block insertion reference value. This satisfies the frequency offset adaptation requirement value between different devices and improves calculation efficiency.
[0098] In a cell stream transmission method provided in embodiments of the present invention, a cell is a set of basic units having fixed length and fixed format features, and the cell includes fine-grained basic units defined by the standards of a mobile communications carrier.
[0099] In this embodiment, the cells include, but are not limited to, the fine-grained basic units defined by the mobile carrier's standards. In actual application scenarios, fine-grained basic units defined according to actual business needs may be used, or fine-grained basic units defined by other carrier standards may be used. This application does not specifically limit the scope. For simplicity, the calculation and updating process of the code block insertion criterion value will be described below using the fine-grained basic units defined by the mobile carrier's standards as an example. However, this description does not limit the scope or feasibility of this solution. Processing methods for fine-grained basic units defined by standards other than those defined by the mobile carrier's standards, or defined in other ways, are consistent with the processing methods for the mobile carrier's fine-grained basic units.
[0100] In some embodiments, the method for transmitting the cell stream may include the following steps S71 to S75 before step S61.
[0101] In S71, the number of code blocks contained within a unit time length of the communication bandwidth in one slot is calculated based on the communication bandwidth used by the specified device, a predetermined number of slots, and the number of information units contained in one code block. The unit time length is the time length corresponding to the time comparison period.
[0102] Assuming a unit time length of 1 second and a cell length determined in the mobile carrier's fine-grained slicing technology standard of 197 66-bit code blocks, if a fine-grained basic unit is carried in one or more fifth-generation wireless systems (5G) (bits / second) rate slots in the Flexible Ethernet (Flex E) protocol, and assuming that the fine-grained basic unit is carried in one 5G rate slot, the bandwidth of 100GE Ethernet is 103.125G, and one 5G slot has (103.125G / 20) / 66 = 78,125,000 66-bit code blocks per second.
[0103] In S72, the ratio of the number of code blocks included in a unit time length to a preset frequency offset adaptation requirement value is calculated, the minimum number of idle blocks required in a unit time length is obtained, and the number of code blocks used in a cell (fine-grained basic unit) in a unit time length is calculated based on the number of code blocks included in a unit time length and the minimum number of idle blocks.
[0104] For example, according to a frequency offset adaptive requirement of 200 PPM, at least 78125000 * 200 PPM = 15625 code blocks out of 78125000 code blocks in one second are required to be idle blocks (these idle blocks may be called, for example, IDLE blocks, I blocks, or idle code blocks). By increasing or decreasing the number of idle code blocks, speed adjustment of the code block stream is achieved between different devices using a speed deviation adaptive requirement of 200 PPM, so that a given communication bandwidth can contain up to 78125000 - 15625 = 78109375 blocks as code blocks of fine-grained basic units within a time length of one second in one time slot.
[0105] In S73, the number of code blocks used in a cell (fine-grained basic unit) within a unit time length is first divided by the number of corresponding code blocks that make up each cell, and then divided by the number of corresponding cells that make up one multiframe. The integer value of the resulting number is taken as the number of multiframes of cells (fine-grained basic units) that can be transmitted within a unit time length.
[0106] For example, in the fine-grained slicing technology standard of a mobile communications carrier, the length of each cell (fine-grained unit) consists of 197 66 code blocks, and 20 cells (fine-grained basic units) constitute one multiframe. Thus, the number of multiframes of fine-grained basic units that can be transmitted within a unit time length of 1 second is (78109375 / 197) / 20 = 19824.71, meaning that 19824 fine-grained multiframes can be transmitted within 1 second.
[0107] In S74, the number of multiframes that can be transmitted within a unit time is multiplied by the number of code blocks corresponding to each cell and the number of cells corresponding to one multiframe to obtain the number of code blocks that the number of multiframes that can be transmitted within a unit time must occupy.
[0108] For example, in step S73, if a fine-grained multiframe of 19824 cells is transmitted in 1 second, a 19824 fine-grained multiframe would require occupying 19824 * 197 * 20 = 78,106,560 66-bit code blocks.
[0109] In S75, the difference between the number of code blocks included within a unit time length and the number of code blocks that need to be occupied by the number of multi-frames that can be transmitted within a unit time length is calculated, and the code block insertion reference value for the specified device in each time comparison period is obtained.
[0110] For example, if the number of code blocks that need to be occupied by the number of multiframes that can be transmitted within a unit time length of 1 second, calculated in step S74, is 78,106,560 66-bit code blocks, then the number of remaining code blocks (e.g., idle code blocks) within a unit time length of 1 second is 78,125,000 - 78,106,560 = 18,440, and thus the calculated code block insertion threshold is 18,440.
[0111] By following steps S71 to S75 described above, it is possible to calculate the code block insertion reference value that the specified device will use for each predetermined time comparison period, based on the preset frequency offset adaptation requirement values between different devices.
[0112] The numerical values necessary for calculation, such as the unit time length used in the calculation process, the frequency offset adaptation requirement value, the applicable network type, the network bandwidth, the cell length determined in the fine-grained slicing technology standard of the telecommunications carrier, the number of code blocks that make up the length of each cell, and the number of cells that make up one multiframe, may all be determined based on the actual application scenario, and this application does not specifically limit them.
[0113] For example, based on the calculation results of the code block insertion criteria above, if the transmission port of the specified device uniformly inserts 18,440 idle code blocks (a multiframe with 19,824 fine-grained basic units per second, totaling 19,824 * 20 = 396,480 fine-grained basic units, with an average of 1 idle code block inserted for every 21 fine-grained basic units) between fine-grained basic units within a unit time length of 1 second, the number of idle code blocks in the code block stream can be increased or decreased by 200 PPM.
[0114] If the time at which the fine-grained base unit is transmitted matches the reference cell time, and the time difference is 0, the code block insertion module will transmit insertion instruction signals at a frequency that uniformly inserts 18,440 idle code blocks within one second (these 18,440 idle code blocks are referred to as the code block insertion reference value). If the time at which the fine-grained base unit is transmitted is earlier than the reference time, the time comparison module calculates the number of corresponding code blocks based on the earlier time difference. For example, if the earlier arrival time is equivalent to 8 code blocks (8 code blocks are referred to as the code block insertion revision value), the code block insertion module uniformly inserts 18448 (i.e., 18440+8) idle code blocks within one time comparison cycle and transmits an insertion instruction signal. If the time at which the fine-grained base unit is transmitted is later than the reference time, the time comparison module calculates the number of corresponding code blocks based on the later arrival time difference. For example, if the later arrival time is equivalent to 5 code blocks, the code block insertion module transmits insertion instruction signals at a frequency that uniformly inserts 18435 (i.e., 18440-5) idle code blocks within one time comparison cycle.
[0115] In some embodiments, if a time offset value is detected in each time comparison period within a predetermined time length, the cell stream transmission method further includes the following steps S64 and S65 after step S63.
[0116] In S64, the number of code blocks corresponding to the time offset value for each time comparison period of the specified device is used as the final code block insertion value for each time comparison period of the specified device, and multiple consecutive final insertion values are obtained within a predetermined time length.
[0117] In S65, the average of multiple consecutive final insertion values is used as the new code block insertion criterion, or the weighted average of multiple consecutive final insertion values is used as the new code block insertion criterion.
[0118] Steps S64 and S65 described above allow for correction of the code block insertion reference value, thereby improving the accuracy of the number of code blocks corresponding to the time offset value.
[0119] In the cell stream transmission method provided by the embodiment of the present invention, a time offset value is detected only once within a predetermined time range. If no time offset value has occurred prior to that time, a code block insertion adjustment is performed once based solely on the content of the code block insertion correction value. This adjustment involves inserting a number of code blocks corresponding to the time offset value in that time comparison period of the calculated specified device, so that a predetermined type of code block is uniformly distributed in the transmitted cell stream. If a time offset value is detected once each time within the predetermined time range, it indicates that the original insertion base value is not valid, and the code block insertion reference value (for example, the code block insertion reference value 18440 described above) may be corrected.
[0120] In some embodiments, the method for correcting the code block insertion reference value may involve calculating the final insertion value by summing the code block insertion reference value and the code block insertion correction value, and then using the average of several consecutive final insertion values as the new reference value, or using the weighted average of several consecutive final insertion values as the new reference value. In the cell stream transmission method according to the embodiment of the present invention, when the code block insertion reference value is corrected to an appropriate value, the time offset value is 0 for most of the time, and synchronization between the transmission time of the transmitted fine-grained basic unit and the reference time can be achieved. This reduces the number of times a predetermined type of code block is inserted into the transmitted cell stream and improves the efficiency of adjusting the actual transmission time of the cell stream.
[0121] In the cell stream transmission method according to the embodiment of the present invention, in the above example, within a unit time length of 1 second, for example, it is possible to transmit a multi-frame calculation of 19,824 fine-grained basic units, the number of idle code blocks is 18,440, which just satisfies the frequency offset adjustment need of 200 PPM, and the frequency offset adjustment range has no extra margin.
[0122] In actual applications, if the frequency offset adjustment range is greater than 200 PPM and it is necessary to leave some margin in the frequency offset adjustment range, the code block insertion reference value needs to be recalculated.
[0123] In some embodiments, if the frequency offset adaptation requirement value has a need to retain a remaining amount of adjustment range, the cell stream transmission method further includes the following steps S81 to S84 after step S61.
[0124] In S81, the number of multi-frame cells that need to be transmitted within a unit time length is determined to meet the remaining data retention needs.
[0125] In S82, the number of multiframes of cells that need to be transmitted within a unit of time is multiplied by the number of corresponding code blocks that make up each cell and the number of corresponding cells that make up one multiframe to obtain the number of code blocks that the number of multiframes of cells that need to be transmitted within a unit of time must occupy.
[0126] For example, when transmitting a multiframe containing 19820 (less than 18440) cells within a unit time length of 1 second, a multiframe with 19820 cells would need to occupy 19820 * 197 * 20 = 78,090,800 66-bit code blocks.
[0127] In S83, the difference between the number of code blocks included within a unit time length and the number of code blocks that need to be occupied by the number of multi-frames of cells that need to be transmitted within that unit time length is calculated, and the updated value of the code block insertion reference value for each time comparison period of the specified device is obtained.
[0128] For example, the difference between the number of code blocks included in a unit time length (78,125,000) and the number of multiframes of fine-grained basic units that need to be transmitted within that unit time length (78,090,800) is 34,200. That is, the total number of code blocks remaining after excluding the 19,820 multiframes of fine-grained basic units within a unit time length (e.g., idle code blocks) is 78,125,000 - 78,090,800 = 34,200 code blocks. This number of code blocks can satisfy a maximum frequency adjustment range of 437.76 PPM.
[0129] In S84, the updated value of the code block insertion criterion is used as the code block insertion criterion.
[0130] In this step, the updated code block insertion reference value for each time comparison period of the specified device calculated is used as the actual code block insertion reference value. For example, the code block insertion reference value calculated above starts at 34,200 code blocks.
[0131] As an example, in actual implementation, the code block insertion criterion value may be any other value, for example, a unit time length of 1 second, and a multi-frame calculation of 19810 fine-grained basic units may be transmitted within 1 second, the initial code block insertion criterion value may be 73600, and the maximum frequency adjustment range may be 942.08 PPM, for example, a multi-frame calculation capable of transmitting 19800 fine-grained basic units within 1 second, the initial code block insertion criterion value may be 113000, and the maximum frequency adjustment range may be 1446.4 PPM.
[0132] By following the steps S81 to S84 described above, a code block insertion reference value can be calculated and obtained so that, in accordance with the need to retain the remaining adjustment range of the frequency offset, the code block insertion reference value in the cell stream transmission process matches the need to retain the remaining adjustment range of the frequency offset in actual application scenarios.
[0133] In some embodiments, if a variation occurs in the reference time, the cell stream transmission method further includes the following steps S91 and S92 before step S810. In S91, the reference time before the change is set as the first time, and the direction and value of the change at the first time are determined.
[0134] In S92, the specified time calibration value is adjusted relative to the current reference time until the current reference time becomes equal to the first time in the opposite direction of the wave motion. The specified time calibration value is smaller than the predetermined time length value.
[0135] In actual applications, if the reference time is provided by a calibration scheme for the 1588 function supported by the specified device, the time value of the 1588 module is obtained by the calibration scheme, and the reference time may fluctuate during the calibration process. Similarly, if the reference time is provided by a global positioning clock signal or an external clock source, the reference time will fluctuate if the time value provided by the global positioning clock signal or external clock source fluctuates.
[0136] If the reference time fluctuates, the reference time is adjusted each time by steps S91 and S92 using a time calibration value less than or equal to a predetermined time length value. This smooths out the reference time and allows it to shift slowly and smoothly. This process detects the time offset value between the actual transmission time of a cell in a specified device and the reference time, thus avoiding the adverse effects of large fluctuations in the process of calculating the time offset value by comparing times.
[0137] According to the cell stream transmission method provided by the embodiment of the present invention, a time offset value between the actual transmission time and a reference time at a designated device can be detected, and the number of code blocks that need to be inserted to match the time offset value can be calculated. When the designated device transmits cells, it is controlled to insert a specified code block between transmitted cells according to the number of code blocks that need to be inserted, thereby adjusting the actual transmission time of the cells to the reference time, adjusting the transmission speed and transmission phase of the cells, and furthermore, achieving constant and stable speed synchronization and phase position between cells, reaching a state of the same speed and phase, and reducing the cell delay time.
[0138] The following describes in detail the cell stream transmission device according to the embodiment of the present invention, using the drawings as a reference. Figure 9 shows a schematic diagram of the structure of the cell stream transmission device according to the embodiment of the present invention. As shown in Figure 9, the cell stream transmission device 900 may include a time detection module 910, a code block calculation module 920, and a code block insertion module 930.
[0139] The time detection module 910 is configured to detect a time offset value between the actual transmission time of a cell on a specified device and a reference time.
[0140] The code block calculation module 920 is configured to calculate the number of code blocks corresponding to the time offset value.
[0141] The code block insertion module 930 is configured to control a designated device and adjust the actual transmission time of cells in the designated device to a reference time by inserting a predetermined type of code block into the transmitted cell stream according to the number of code blocks.
[0142] According to the cell stream transmission module provided by the embodiment of the present invention, a time offset value between the actual transmission time of a cell and a reference time is detected in a designated device, and the number of code blocks that need to be inserted to match the time offset value is calculated. The designated device is then controlled to insert a specified code block between transmitted cells according to the number of code blocks that need to be inserted when transmitting cells, thereby adjusting the actual transmission time of the cell to the reference time, adjusting the transmission speed and transmission phase of the cell, and further, achieving constant and stable speed synchronization and phase position between cells, reaching a state of identical speed and phase, and reducing cell delay time.
[0143] In some embodiments, the time detection module 910 may include a reference cell selection unit configured to select a cell having a predetermined serial number in a designated device as a reference cell for which time comparison is required, based on a reference reference time, and a comparison period determination unit configured to determine a time comparison period based on the reference reference time, wherein the time detection module 910 is further configured to detect a time offset value between the actual transmission time of the reference cell and the reference reference time in each time comparison period.
[0144] In some embodiments, the reference time is the expected reference time each time a reference cell appears, the reference cell is a cell having a predetermined serial number selected in advance from a designated device, and the time detection module 910 may include a comparison period determination unit configured to set the expected appearance period at the expected reference time of the reference cell as the time comparison period, and the time detection module 910 is further configured to detect a time offset value between the actual transmission time of the reference cell and the reference reference time (i.e., the expected reference time) of the reference cell in each time comparison period.
[0145] In some embodiments, the reference time includes one of the following, obtained by a predetermined time acquisition method: a time value of the global clock corresponding to the cell, a pulse appearance time value having global clock attributes, and a time value that the cell expects to transmit; the time comparison period is the time length between two consecutive reference times; and the predetermined time acquisition method includes one of the calibration methods of the 1588 functions supported by the specified device, a global positioning clock signal, and an external clock source.
[0146] In some embodiments, if the number of occurrences of a cell having a predetermined serial number in the time comparison period is greater than 1, the reference cell selection unit is further configured to select a cell having a predetermined serial number associated with a reference reference time from a designated device as a reference cell, and has N cells having the predetermined serial number spaced apart between the two reference cells, where N is the number of occurrences of the cell having the predetermined serial number in the time comparison period.
[0147] In some embodiments, the time offset value is a time offset value detected within a predetermined time comparison period, and the code block insertion module 930 includes a signal transmission unit configured to transmit an insertion instruction signal to a designated device, control the designated device based on the insertion instruction signal in each time comparison period, and uniformly insert a predetermined type of code block into the transmitted cell stream according to the number of code blocks. In some embodiments, the signal transmission unit includes a first signal transmission subunit configured to transmit a first insertion instruction signal to a designated device, the first insertion instruction signal being used to indicate a time comparison period and a number of code blocks, thereby allowing the designated device to determine uniformly distributed code block insertion positions in each comparison period and a uniformly distributed number of code block insertions at each code block insertion position, based on the time comparison period and the number of code blocks.
[0148] In some embodiments, the signal transmission unit includes a second signal transmission subunit configured to set uniformly distributed code block insertion locations and a uniformly distributed number of code block insertions in each comparison period based on the number of code blocks that need to be inserted in each time comparison period, and transmits a second insertion instruction signal to a designated device at each uniformly distributed code block insertion location, each second insertion instruction signal being used to indicate a uniformly distributed number of code block insertions that need to be inserted at the current code block insertion location.
[0149] In some embodiments, the number of code blocks includes a code block insertion reference value and a code block insertion correction value, and the code block calculation module 920 includes a reference value calculation unit configured to obtain a code block insertion reference value for each predetermined time comparison period of a specified device, which is obtained by pre-calculating based on pre-set frequency offset adaptation requirement values between different devices, and a correction value calculation unit configured to calculate the number of code blocks corresponding to the time offset value within each time comparison period as the code block insertion correction value for each time comparison period of the specified device, and the code block calculation module 920 is further configured to calculate the sum of the code block insertion reference value and the code block insertion correction value in each time comparison period to obtain the number of code blocks corresponding to the time offset value in each time comparison period of the specified device.
[0150] In some embodiments, the reference value calculation unit calculates the number of code blocks included within a unit time length in one time slot of the communication bandwidth, based on the communication bandwidth used by the designated device, a predetermined number of time slots, and the number of information metric units included in one code block, before obtaining a code block insertion reference value for each predetermined time comparison period of the designated device, which is obtained by pre-calculating based on a pre-set frequency offset adaptation requirement value between different devices, where the unit time length is the time length corresponding to the time comparison period, and calculates the ratio of the number of code blocks included within the unit time length to the pre-set frequency offset adaptation requirement value to obtain the minimum number of idle blocks required within the unit time length, and uses the number of code blocks included within the unit time length and the minimum number of idle blocks to determine which cells are used within the unit time length. The system is configured to calculate the number of code blocks, divide the number of code blocks used in a cell within a unit time length by the number of corresponding code blocks that make up each cell, and then divide that by the number of corresponding cells that make up one multiframe, and take the integer value of the resulting number as the number of multiframes of cells that can be transmitted within a unit time length. The number of multiframes that can be transmitted within a unit time length is multiplied by the number of corresponding code blocks that make up each cell and the number of cells that correspond to one multiframe to obtain the number of code blocks that the number of multiframes that can be transmitted within a unit time length needs to occupy, and calculate the difference between the number of code blocks included within a unit time length and the number of code blocks that the number of multiframes that can be transmitted within a unit time length needs to occupy to obtain the code block insertion reference value for each time comparison period of the specified device.
[0151] In some embodiments, when a time offset value is detected in each time comparison cycle within a predetermined time length, the code block calculation module 920 is configured to further obtain the number of code blocks corresponding to the time offset value of each time comparison cycle from the designated device, set the number of code blocks corresponding to the time offset value of each time comparison cycle from the designated device as the final code block insertion value for each time comparison cycle from the designated device, obtain multiple consecutive final insertion values within the predetermined time length, set the average value of the multiple consecutive final insertion values as the new code block insertion reference value, or set the weighted average value of the multiple consecutive final insertion values as the new code block insertion reference value.
[0152] In some embodiments, if the frequency offset adaptation requirement value has a remaining reserve need within the adjustment range, the base value calculation unit further obtains a code block insertion reference value for each predetermined time comparison period of a specified device, which is obtained by pre-calculating based on the frequency offset adaptation requirement value between different devices, then determines the number of multiframes of cells that need to be transmitted within a unit time length for the remaining reserve need, multiplies the number of multiframes of cells that need to be transmitted within a unit time length by the number of code blocks corresponding to each cell and the number of corresponding cells that make up one multiframe to obtain the number of code blocks that the number of multiframes of cells that need to be transmitted within a unit time length must occupy, calculates the difference between the number of code blocks included within a unit time length and the number of code blocks that the number of multiframes of cells that need to be transmitted within a unit time length must occupy, obtains an updated value of the code block insertion reference value for each time comparison period of the specified device, and is configured to use the updated value of the code block insertion reference value as the code block insertion reference value.
[0153] In some embodiments, the reference time is a time value obtained by a calibration scheme using a 1588 function supported by the designated device, and if a fluctuation occurs in the reference time, the cell stream transmitting device further includes a fluctuation information acquisition module configured to determine the direction and value of the fluctuation at the first time, with the reference time before the fluctuation occurred being the first time, before detecting a time offset value between the actual transmission time of the cell and the reference time in the designated device; and a reference time calibration module configured to adjust a specified time calibration value with respect to the current reference time until the current reference time is equal to the first time in the opposite direction of the fluctuation, wherein the specified time calibration value is less than or equal to a predetermined time length value.
[0154] According to the cell stream transmitting device provided by the embodiment of the present invention, after detecting a time offset value between the actual transmission time of a cell and a reference time in a designated device, the number of code blocks that need to be inserted based on the time offset value is calculated, and when the designated device transmits a cell, it controls the insertion of specific code blocks between transmitted cells according to the number of code blocks that need to be inserted, thereby adjusting the actual transmission time of the cell to the reference time, thereby achieving adjustment of the cell transmission speed and transmission phase, and furthermore, the speed synchronization and phase position between cells become constant and stable, reaching a state of the same speed and phase, and reducing the cell delay time.
[0155] Figure 10 shows a schematic diagram of the structure of a cell stream transmission device in an embodiment of the present invention. The same or equivalent components in Figure 10 and Figure 3 are denoted by the same reference numerals. As shown in Figure 10, in some embodiments, the internal structure of a specified device may include a cell receiving module 310, a cell processing module 320, and a cell transmitting module 340. The cell stream transmission device in an embodiment of the present invention may further include a time reference module 1010, a time comparison module 1020, and a code block insertion module 1030.
[0156] The time reference module 1010 is configured to provide a reference time, the time comparison module 1020 is configured to compare the offset between the cell's transmission time and the reference time and obtain a time offset value, and the code block insertion module 1030 is configured to calculate the number of code blocks that need to be inserted based on the time offset value.
[0157] In some embodiments, the code block insertion module 1030 may further set uniformly distributed code block insertion positions within each comparison cycle and a uniformly distributed number of code block insertions at each code block insertion position to uniformly distribute the insertion positions of the code blocks and provide an insertion instruction signal for each code block to be inserted.
[0158] The cell transmission module 340 of the designated device is configured to adjust the cell transmission time by inserting specific code blocks between cells based on insertion instruction signals when transmitting cells.
[0159] According to the cell stream transmission device provided in the embodiment of the present invention, the device detects time offset information of the cell's transmission time and reference time at a designated device, and inserts a specific code block corresponding to the time offset information between transmitting cells. This adjusts the actual transmission time of the cell to the reference time, achieving the transmission target at a fixed time in the cell stream and enabling adjustment of the cell's transmission speed and transmission phase.
[0160] Furthermore, this application is not limited to the specific configurations and processes described and illustrated above. For the sake of convenience and conciseness, detailed explanations of known methods are omitted here. In addition, the specific operating processes of the systems, modules, and units described above will not be explained again here, as they can be found in the corresponding processes described in the methods above.
[0161] The present application further provides a network device and a computer-readable storage medium. Figure 11 shows a schematic block diagram of an exemplary network device that can implement embodiments of the present application. This network device is intended for various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The network device can further represent various forms of mobile devices, such as personal digital processing devices, mobile phones, smartphones, and wearable devices. The components shown herein, their connections and relationships, and their functions are illustrative and do not limit the implementation of the present application as described herein and / or required herein.
[0162] As shown in Figure 11, the network device 1100 includes a compute unit 1101 that can perform various appropriate operations and processes based on a computer program stored in a read-only memory (ROM) 1102 or a computer program that randomly accesses memory (RAM) 1103 from a storage unit 1108. The RAM 1103 may further store various programs and data necessary for the operation of the network device 1100. The compute unit 1101, ROM 1102, and RAM 1103 are interconnected by a bus 1104. An input / output interface 1105 is also connected to the bus 1104. Multiple components of the network device 1100 are connected to the I / O interface 1105 and include, for example, an input unit 1106 such as a keyboard or mouse, an output unit 1107 such as various types of displays or speakers, a storage unit 1108 such as a magnetic disk or optical disk, and a communication unit 1109 such as a network card, modem, or wireless communication transceiver. The communication unit 1109 allows the network device 1100 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunications networks.
[0163] The computing unit 1101 may be a variety of general-purpose and / or dedicated processing components having processing and computation capabilities. Some examples of the computing unit 1101 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computation chips, computation units for various behavioral machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1101 performs each of the methods and processes described in the preceding paragraph, for example, the cell stream transmission method. For example, in some embodiments, the cell stream transmission method may be implemented as a computer software program tangibly contained in a machine-readable medium such as a storage unit 1108. In some embodiments, part or all of the computer program may be loaded and / or installed into the device 1100 via ROM 1102 and / or communication unit 1109. When the computer program is loaded into RAM 1103 and executed by the computing unit 1101, one or more steps of the cell stream transmission method described in the preceding paragraph can be performed. In some embodiments, the computing unit 1101 may be configured to perform the cell stream transmission method by any other suitable method (e.g., via firmware).
[0164] The various embodiments of the systems and technologies described above may be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), dedicated standard products (ASSPs), on-chip system (SOCs), loadable programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can be implemented in one or more computer programs that run and / or interpret on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, and which may receive data and instructions from a storage system, at least one input device and at least one output device, and transmit data and instructions to the storage system, the at least one input device and the at least one output device.
[0165] The program code for carrying out the method of the present invention may be written in any combination of one or more programming languages. These program codes are provided to a processor or controller of a general-purpose computer, a dedicated computer, or other programmable data processing device, and when the program code is executed by the processor or controller, the functions / operations defined in the flowchart and / or block diagram are performed. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as an independent software package, or entirely on a remote machine or server.
[0166] In the context of this application, a machine-readable storage medium may be a tangible medium that contains or stores programs used by or with an instruction execution system, apparatus, or device. A machine-readable storage medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable storage medium includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. More specific examples of machine-readable storage mediums include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
[0167] To provide user interaction, a computer may implement the systems and techniques described herein, which may include a display device for displaying information to the user (e.g., a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) monitor) and a keyboard and pointing device (e.g., a mouse or trackball), through which the user may provide input to the computer. Other types of devices may be used to provide user interaction, for example, the feedback provided to the user may be any form of sensing feedback (e.g., visual feedback, auditory feedback, or haptic feedback), and input from the user may be received in any form (including voice input, speech input, or haptic input).
[0168] The systems and technologies described herein may be implemented in a computing system including background components (e.g., a data server), a computing system including middleware components (e.g., an application server), or a computing system including front-end components (e.g., a user computer having a graphical user interface or a web browser, through which the user can interact with embodiments of the systems and technologies described herein), or in a computing system including any combination of such background components, middleware components, or front-end components. The components of the system are interconnected by digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet. A computer system may include a client and a server. The client and server are geographically separated and typically interact via a communication network. The client-server relationship is generated by computer programs running on corresponding computers that have a client-server relationship with each other.
[0169] According to embodiments of the present invention, the present invention further provides a computer program product including a computer program, the computer program, when executed by a processor, implements the method for transmitting the cell stream described above.
[0170] The above are merely illustrative embodiments of the present application and do not limit the scope of the claims. Various embodiments of the present application can generally be implemented in hardware, dedicated circuits, software, logic boards, or any combination thereof. For example, in one embodiment it can be implemented in hardware, and in another embodiment it can be implemented in firmware or software running on a controller, microprocessor, or other computing device. The present application is not limited thereto.
[0171] Embodiments of the present invention can be implemented by a data processor of a mobile device executing computer program directives, for example, in a processor entity, or by hardware, or by a combination of software and hardware. The computer program directives may be assembler directives, directive set architecture (ISA) directives, machine directives, machine-related directives, microcode, firmware directives, state setting data, or source code or target code written in any combination of one or more programming languages.
[0172] Any block diagram of a logic flow in the drawings of this application may represent a program step, an interconnected logic circuit, module, and function, or a combination of a program step and a logic circuit, module, and function. Computer programs can be stored in memory. Memory may be any type suitable for the local technical environment, such as read-only memory (ROM), random access memory (RAM), optical memory devices and systems (digital multifunction discs DVD or CD discs), and may be implemented using any suitable data storage technology, but is not limited to these. Readable storage media of a computer may include non-volatile memory media. Data processors may be any type suitable for the local technical environment, such as general-purpose computers, dedicated computers, microprocessors, digital signal processors (DSPs), dedicated integrated circuits (ASICs), programmable logic devices (FGPA), and processors based on multi-core processor architectures, but is not limited to these.
[0173] Exemplary and non-limiting embodiments of the present application have been described in detail above by illustrative and non-limiting examples. However, considering the drawings and claims together, various modifications and adjustments to the above embodiments are obvious to those skilled in the art and do not deviate from the scope of the present application. Therefore, the appropriate scope of the present application is determined by the claims.
Claims
1. A step of detecting the time offset value between the actual transmission time of a cell on a specified device and a reference time, The steps include: calculating the number of code blocks corresponding to the aforementioned time offset value; The step of controlling the designated device and inserting a predetermined type of code block into the cell stream transmitted by the designated device according to the calculated number of code blocks, thereby adjusting the actual transmission time of the cells in the designated device to the reference time, The number of code blocks calculated above includes the code block insertion reference value and the code block insertion correction value, and the step of calculating the number of code blocks corresponding to the time offset value is, A step of obtaining a code block insertion reference value that is calculated in advance based on pre-set frequency offset adaptation requirement values between different devices, and which is inserted by the designated device at each of the pre-set time comparison periods, The steps include: setting the number of code blocks corresponding to the time offset value in the time comparison period to the code block insertion correction value inserted in the time comparison period by the designated device; The process includes the step of calculating the sum of a code block insertion reference value inserted in the time comparison period and a code block insertion correction value inserted in the time comparison period, and obtaining the number of code blocks corresponding to the time offset value inserted in the time comparison period by the designated device. How to send cell streams.
2. The step of detecting a time offset value between the actual transmission time of a cell on a specified device and a reference time is: The steps include selecting a cell having a predetermined serial number in the designated device based on the aforementioned reference time as a reference cell for which time comparison is necessary, A step of determining the time comparison period based on the aforementioned reference time, The time comparison period includes the step of detecting a time offset value between the actual transmission time of the reference cell and the reference reference time. The method according to claim 1.
3. The aforementioned reference time includes one of the following, obtained by a predetermined time acquisition method: the time value of the global clock corresponding to the cell, the pulse appearance time value having global clock attributes, and the time value that the cell expects to transmit. The aforementioned time comparison period is the time length between two adjacent reference time points. The predetermined time acquisition method includes one of the calibration methods of the 1588 functions supported by the designated device, a global positioning clock signal, and an external clock source. The method according to claim 2.
4. If the number of occurrences of a cell having the predetermined serial number in the aforementioned time comparison period is greater than 1, then there are N cells having the predetermined serial number spaced apart between two adjacent reference cells, where N is the number of occurrences of a cell having the predetermined serial number in the aforementioned time comparison period. The method according to claim 2.
5. The aforementioned time offset value is a time offset value detected within the time comparison period, and the step of controlling the designated device and inserting a predetermined type of code block into the cell stream transmitted by the designated device in accordance with the number of code blocks calculated is: The steps include controlling the designated device based on an insertion instruction signal, and controlling the designated device based on the insertion instruction signal to uniformly insert a predetermined type of code block into the cell stream transmitted by the designated device, according to the number of calculated code blocks to be inserted in the time comparison period, The method according to claim 1.
6. The step of controlling the designated device by an insertion instruction signal is: The specified device is controlled by a first insertion instruction signal, the first insertion instruction signal indicates the time comparison period and the number of code blocks calculated, and the specified device determines the code block insertion positions that are averagely distributed within the time comparison period and the number of code blocks that are uniformly distributed at each of the code block insertion positions, based on the time comparison period and the number of code blocks calculated. The method according to claim 5.
7. The step of controlling the designated device by an insertion instruction signal is: The steps include providing code block insertion positions that are distributed on average within the time comparison period according to the number of code blocks that need to be inserted within the time comparison period, and providing a number of code block insertions that are uniformly distributed at each of the code block insertion positions, The steps include controlling the designated device with a second insertion instruction signal at each of the evenly distributed code block insertion positions, wherein each of the second insertion instruction signals is used to indicate the number of evenly distributed code block insertions that need to be inserted at the current code block insertion position, The method according to claim 5.
8. Prior to the step of obtaining a predetermined code block insertion reference value for the specified device's predetermined time comparison period, which is obtained by pre-calculating based on pre-set frequency offset adaptation requirement values between different devices, the number of code blocks included within a unit time length in one time slot of the communication bandwidth is calculated based on the communication bandwidth used by the specified device, a predetermined number of time slots, and the number of information quantity metric units included in one code block, and the unit time length is the time length corresponding to the time comparison period. The steps include: calculating the ratio of the number of code blocks included within the unit time length to a preset frequency offset adaptation requirement value; obtaining the minimum number of code blocks of a predetermined type required within the unit time length; and calculating the number of code blocks used in cells within the unit time length based on the number of code blocks included within the unit time length and the minimum number of code blocks of a predetermined type; The steps include first dividing the number of code blocks used in a cell within the aforementioned unit time length by the number of corresponding code blocks constituting each cell, then dividing by the number of corresponding cells constituting one multiframe, and taking the integer value of the calculated number as the number of multiframes of cells that can be transmitted within the unit time length, The steps include: multiplying the number of multiframes that can be transmitted within the unit time length by the number of corresponding code blocks that constitute each cell and the number of corresponding cells that constitute one multiframe to obtain the number of code blocks that the number of multiframes that can be transmitted within the unit time length needs to occupy; The further step includes calculating the difference between the number of code blocks included within the unit time length and the number of code blocks that need to be occupied by the number of multiframes that can be transmitted within the unit time length, and obtaining a code block insertion reference value for the designated device in the time comparison period. The method according to claim 1.
9. If the time offset value is detected in the time comparison period within a predetermined time length, the method The steps include: obtaining the number of code blocks corresponding to the time offset value in the time comparison period using the designated device, setting the number of code blocks corresponding to the time offset value in the time comparison period as the final insertion value of the code blocks of the designated device in the time comparison period, and obtaining the final insertion value multiple times consecutively within a predetermined time length; The further step includes setting the average value of the aforementioned multiple consecutive final insertion values as the new code block insertion criterion value, or setting the weighted average value of the aforementioned multiple consecutive final insertion values as the new code block insertion criterion value. The method according to claim 1.
10. If the frequency offset adaptation requirement value has a need to retain the remaining amount of the adjustment range, the method After the step of obtaining a predetermined code block insertion reference value for the specified device's predetermined time comparison period, which is obtained by pre-calculating based on pre-set frequency offset adaptation requirement values between different devices, the step of determining the number of multiframes of cells that need to be transmitted within a unit time length for the remaining capacity retention needs, The steps include: obtaining the number of code blocks occupied to obtain the number of multiframes of cells that need to be transmitted within the unit time length by multiplying the number of corresponding code blocks that make up each cell by the number of corresponding cells that make up one multiframe; The steps include: calculating the difference between the number of code blocks included within the unit time length and the number of code blocks that need to be occupied by the number of multi-frames of cells that need to be transmitted within the unit time length, and obtaining an updated value for the code block insertion reference value of the designated device in the time comparison period; The step of setting the updated value of the code block insertion reference value to the code block insertion reference value, further includes, The method according to claim 1.
11. If an offset occurs in the aforementioned reference time, Prior to the step of detecting the time offset value between the actual transmission time of a cell in a specified device and a reference reference time, the step of setting the reference reference time before the offset occurs in the reference reference time as a first time, The process further includes: adjusting the current reference time to a specified time calibration value each time until the current reference time is equal to the first time, wherein the specified time calibration value is less than or equal to a predetermined time length value; The method according to claim 1.
12. The cell is a set of basic units having fixed length and fixed format features, and the cell includes a fine-grained basic unit defined by the mobile communications carrier's standards. The method according to claim 1.
13. A time detection module configured to detect a time offset value between the actual transmission time of a cell on a specified device and a reference time, A code block calculation module configured to calculate the number of code blocks corresponding to the aforementioned time offset value, Includes a code block insertion module configured to control the designated device and insert a predetermined type of code block into the cell stream transmitted by the designated device according to the calculated number of code blocks, thereby adjusting the actual transmission time of the cells in the designated device to the reference time, The number of code blocks calculated above includes the code block insertion reference value and the code block insertion correction value. The aforementioned code block calculation module is: A step of obtaining a code block insertion reference value that is calculated in advance based on pre-set frequency offset adaptation requirement values between different devices, and which is inserted by the designated device at each of the pre-set time comparison periods, The steps include: setting the number of code blocks corresponding to the time offset value in the time comparison period to the code block insertion correction value inserted in the time comparison period by the designated device; The steps include: calculating the sum of the code block insertion reference value inserted in the time comparison period and the code block insertion correction value inserted in the time comparison period to obtain the number of code blocks corresponding to the time offset value inserted in the time comparison period by the designated device; This calculates the number of code blocks corresponding to the aforementioned time offset value. Cell stream transmitting device.
14. At least one processor, A memory that stores at least one computer program, and when the at least one computer program is executed by the at least one processor, causes the at least one processor to implement the cell stream transmission method described in any one of claims 1 to 12, Network device.
15. When a computer program is stored and executed by a processor, the cell stream transmission method described in any one of claims 1 to 12 is realized. A computer-readable storage medium.
16. A step of detecting the time offset value between the actual transmission time of a cell on a specified device and a reference time, The steps include: calculating the number of code blocks corresponding to the aforementioned time offset value; The step of controlling the designated device and inserting a predetermined type of code block into the cell stream transmitted by the designated device according to the calculated number of code blocks, thereby adjusting the actual transmission time of the cells in the designated device to the reference time, The aforementioned time offset value is a time offset value detected in each of the preset time comparison periods, and the step of controlling the designated device and inserting a predetermined type of code block into the cell stream transmitted by the designated device according to the calculated number of code blocks is: The designated device is controlled by a first insertion instruction signal, the first insertion instruction signal indicates the time comparison period and the number of code blocks calculated, and the designated device includes the step of determining the code block insertion positions that are averagely distributed within the time comparison period and the number of code blocks that are uniformly distributed at each of the code block insertion positions, based on the time comparison period and the number of code blocks calculated, or The steps include providing code block insertion positions that are distributed on average within the time comparison period according to the number of code blocks that need to be inserted within the time comparison period, and providing a number of code block insertions that are uniformly distributed at each of the code block insertion positions, The process includes controlling the designated device with a second insertion instruction signal at each of the evenly distributed code block insertion positions, wherein each second insertion instruction signal indicates the number of code blocks to be inserted at each of the code block insertion positions and distributed evenly, so that the designated device uniformly inserts the code blocks that are inserted at each of the code block insertion positions and distributed evenly. How to send cell streams.
Citation Information
Patent Citations
Data transmission method and device, network equipment and storage medium
CN110266612A
Cell flow characteristic value adjusting method, device and system and storage medium
CN112511455A
Ethernet frame fixing method and device
CN112994843A
Frame transmission system in samplingg time synchronizing telemeter system
JP1981054596A
Tdma method information collection system and terminal station used for this system
JP1999331961A