Deterministic streaming method, apparatus, electronic device, and machine-readable storage medium
By expanding the scheduling slots of network nodes and using global scheduling slot numbering to plan virtual periodic forwarding channels for deterministic flows, the problem of low resource utilization in deterministic networks is solved, and efficient transmission path planning is achieved.
Patent Information
- Application Number
- CN202380009577.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-29
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2043-06-29
AI Technical Summary
In deterministic networks, existing technologies struggle to finely control the transmission resources of deterministic streams, resulting in low resource utilization, ineffective transmission path planning, and a high likelihood of conflicts.
By expanding the scheduling slots of the outgoing interfaces on network nodes, using global scheduling slot numbering to plan virtual periodic forwarding channels for deterministic flows, and creating a resource registry to precisely schedule deterministic data, resource utilization is improved.
It achieves 100% resource utilization for deterministic flow, resolves resource conflicts in transmission path planning, and improves transmission efficiency.
Smart Images

Figure CN119586109B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to network communication technology, in particular to a deterministic streaming method and device, an electronic device and a machine readable storage medium. BACKGROUND
[0002] In a deterministic network, in order to ensure the transmission of deterministic streams, it is often necessary to construct a virtual periodic forwarding path (VPFP) of the deterministic stream. The VPFP is a scheduling forwarding mapping relationship between any node and the next hop node in the forwarding path for transmitting the deterministic stream, except for the tail node. Here, the scheduling forwarding mapping relationship specifically refers to the mapping relationship between the target scheduling slot configured for scheduling the deterministic stream on the target out interface for transmitting the deterministic stream on any node on the forwarding path, except for the tail node, and the target scheduling slot configured for scheduling the deterministic stream on the target out interface for transmitting the deterministic stream on the next hop node.
[0003] After the VPFP of the deterministic stream is determined, the target transmission resource for transmitting the deterministic stream in the target scheduling slot on each node in the VPFP can be planned from the idle transmission resource corresponding to the target scheduling slot, which is equivalent to planning a virtual periodic forwarding channel (VPFC) for transmitting the deterministic stream in the VPFP.
[0004] In specific applications, the scheduling slot configured for the out interface on any node, such as the target scheduling slot, will correspond to a forwarding queue. However, due to resource constraints, the number of forwarding queues that can be implemented on any node is limited, and the number of scheduling slots corresponding to the limited number of forwarding queues is also limited. Accordingly, the time range expressed by the scheduling slots is also limited, which makes it difficult to achieve fine control during the above resource planning. Without fine control of resources, the transmission resources planned for each deterministic stream may conflict. SUMMARY
[0005] The embodiments of the present application provide a deterministic streaming method and device, an electronic device and a machine readable storage medium, to achieve fine planning of transmission resources of deterministic streams based on the VPFC corresponding to the VPFP of the deterministic stream.
[0006] The embodiments of the present application provide a deterministic streaming method, characterized in that the method is applied to a management control plane entity (MCPE), and the MCPE is used to manage and control network nodes in a deterministic network. The method comprises:
[0007] determining an orchestrating calendar for a network node in the deterministic network; the orchestrating calendar is composed of n scheduling calendars, n is greater than 1, and any scheduling calendar includes d scheduling slots configured on an out interface of the network node for scheduling transmission of a deterministic flow, d is greater than 1;
[0008] numbering the scheduling slots in each scheduling calendar in the orchestrating calendar to obtain global slot numbers of the scheduling slots; global slot numbers of any two scheduling slots are different;
[0009] determining a virtual periodic forwarding channel (VPFC) of the deterministic flow based on the global slot numbers and the determined virtual periodic forwarding path (VPFP) of the deterministic flow; the VPFC of the deterministic flow includes: an identifier of the VPFP of the deterministic flow, an out interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling slot number of the out interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled to be transmitted in a scheduling slot corresponding to the global scheduling slot number;
[0010] controlling a first node on the VPFP of each deterministic flow to create a resource registration table (RRT) based on the VPFC of each deterministic flow; the RRT includes an RRT entry corresponding to each global slot number, and any RRT entry includes: an identifier of the VPFC of the deterministic flow scheduled to be transmitted in a scheduling slot corresponding to a global slot number corresponding to the RRT entry or a virtual periodic forwarding channel queue (VQ) allocated to the VPFC, and a data volume of the deterministic flow scheduled to be transmitted in the scheduling slot; the RRT entry is used to schedule deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to a corresponding forwarding queue based on the identifier of the VPFC or the VQ allocated to the VPFC and the data volume in the RRT entry.
[0011] Embodiments of the present application provide a deterministic flow transmission method, which is applied to a network node in a deterministic network, and the method comprises the following steps:
[0012] The node as a head node on a virtual periodic forwarding path (VPFP) of each deterministic flow creates a resource registration table (RRT) under management control of a management control plane entity (MCPE) based on a virtual periodic forwarding channel (VPFC) of each deterministic flow. The VPFC of any deterministic flow includes an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled to be transmitted in a scheduling time slot corresponding to the global scheduling time slot number. The global scheduling time slot number is obtained by numbering scheduling time slots in each scheduling calendar (Scheduling-calendar) in an orchestrating calendar (Orchestrating-calendar). The global time slot numbers of any two scheduling time slots are different. The Orchestrating-calendar is composed of n Scheduling-calendars, and n is greater than 1. Any Scheduling-calendar includes d scheduling time slots (Slot) configured on an out-interface of the network node for scheduling transmission of deterministic flows, and d is greater than 1. The RRT includes an RRT entry corresponding to each global time slot number. Any RRT entry includes an identifier of a VPFC of a deterministic flow scheduled to be transmitted in a scheduling time slot corresponding to a global time slot number corresponding to the RRT entry or an identifier of a virtual periodic forwarding channel queue (VQ) to which the VPFC is allocated, and a data volume of the deterministic flow scheduled to be transmitted in the scheduling time slot.
[0013] The node as a head node on a VPFP of each deterministic flow schedules deterministic data satisfying the data volume cached in a VQ to which a VPFC is allocated to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is allocated and the data volume in an RRT entry.
[0014] Embodiments of the present application also provide a deterministic flow transmission device. The device is applied to a management control plane entity (MCPE) for managing and controlling network nodes in a deterministic network. The device includes:
[0015] An orchestrating unit is configured to determine an orchestrating calendar (Orchestrating-calendar) for network nodes in a deterministic network. The Orchestrating-calendar is composed of n scheduling calendars (Scheduling-calendars), and n is greater than 1. Any Scheduling-calendar includes d scheduling time slots (Slot) configured on an out-interface of the network node for scheduling transmission of deterministic flows, and d is greater than 1.
[0016] And, each scheduling time slot in the Orchestrating-calendar is numbered to obtain a global time slot number of each scheduling time slot; the global time slot numbers of any two scheduling time slots are different;
[0017] The control unit is configured to determine a virtual periodic forwarding channel (VPFC) of the deterministic flow based on the global time slot number and the determined virtual periodic forwarding path (VPFP) of the deterministic flow; the VPFC of the deterministic flow comprises: an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global scheduling time slot number; and
[0018] Based on the VPFC of each deterministic flow, the first node on the VPFP of each deterministic flow is controlled to create a resource registration table (RRT); the RRT comprises an RRT entry corresponding to each global time slot number, any RRT entry comprises: an identifier of the VPFC of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to a global time slot number corresponding to the RRT entry or an identifier of a virtual periodic forwarding channel queue (VQ) allocated to the VPFC, and a data volume of the deterministic flow scheduled for transmission in the scheduling time slot; the RRT entry is used to schedule deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ allocated to the VPFC in the RRT entry and the data volume.
[0019] Embodiments of the present application further provide a deterministic flow transmission device, which is applied to a network node in a deterministic network, and the device comprises:
[0020] The table unit is configured to, when the node is a head node on a virtual periodic forwarding path (VPFP) of each deterministic flow, create a resource registration table (RRT) under the management control of a management control plane entity (MCPE) based on a virtual periodic forwarding channel (VPFC) of each deterministic flow. The VPFC of any deterministic flow includes an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global scheduling time slot number. The global scheduling time slot number is obtained by numbering scheduling time slots in each scheduling calendar (Scheduling-calendar) in an orchestrating calendar (Orchestrating-calendar). The global time slot numbers of any two scheduling time slots are different. The Orchestrating-calendar is composed of n Scheduling-calendars, where n is greater than 1. Any Scheduling-calendar includes d scheduling time slots (Slot) configured on the out-interface of the network node for scheduling transmission of the deterministic flow, where d is greater than 1. The RRT includes an RRT table item corresponding to each global time slot number. Any RRT table item includes an identifier of a VPFC of a deterministic flow scheduled for transmission in a scheduling time slot corresponding to a global time slot number corresponding to the RRT table item or an identifier of a virtual periodic forwarding channel queue (VQ) to which the VPFC is assigned, and a data volume of the deterministic flow scheduled for transmission in the scheduling time slot.
[0021] The packet processing unit is configured to, when the node is a head node on a VPFP of any deterministic flow, schedule deterministic data satisfying a data volume from a VQ to which a VPFC is assigned to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT table item and the data volume.
[0022] Embodiments of the present application also provide an electronic device, which includes a processor and a machine readable storage medium.
[0023] The machine readable storage medium stores machine executable instructions capable of being executed by the processor.
[0024] The processor is configured to execute the machine executable instructions to implement any of the methods above.
[0025] Embodiments of the present application also provide a machine readable storage medium, which stores machine executable instructions capable of being executed by a processor.
[0026] The machine executable instructions are executed by the processor to implement any of the methods above.
[0027] From the above technical solutions, in the embodiments of the present application, the VPFC of the deterministic flow is no longer planned based on the d scheduling slots configured on the outgoing interface of the network node for scheduling transmission of the deterministic flow, but is planned based on d*n scheduling slots, and the VPFC of the deterministic flow is planned based on the global scheduling slot number, so that the first node of the deterministic flow can accurately determine that the deterministic flow will be scheduled in a certain scheduling slot such as slot0 in a certain cycle period based on the global slot number. For example, the packet sending period of the deterministic flow is 1000us, each scheduling slot is 10us, d is 10, and it is assumed that the slot0 scheduling of the deterministic flow in which cycle period (the global slot number / d can obtain the corresponding cycle period) is accurately determined based on the global slot number, such as the slot0 scheduling in the first cycle period, the slot0 scheduling in the tenth cycle period, the slot0 scheduling in the twentieth cycle period, and the like. Other service flows can continue to use the slot0 scheduling in other cycle periods, instead of completely occupying the resources in the slot0 in all cycle periods, so that the utilization rate of the VPFC of the deterministic flow can reach 100%, and the utilization rate is very high. BRIEF DESCRIPTION OF DRAWINGS
[0028] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the present disclosure.
[0029] Figure 1 A time slot-queue structure diagram provided for the embodiments of the present application;
[0030] Figure 2 A method flowchart provided for the embodiments of the present application;
[0031] Figure 3 A time slot number diagram of Scheduling-calendar provided for the embodiments of the present application;
[0032] Figure 4 An MCPE control network node creates a resource registration table structure diagram provided for the embodiments of the present application;
[0033] Figure 5 A resource registration diagram provided for the embodiments of the present application;
[0034] Figure 6 Another method flowchart provided for the embodiments of the present application;
[0035] Figure 7 A message processing architecture diagram provided for the embodiments of the present application;
[0036] Figure 8 An apparatus structure diagram provided for the embodiments of the present application;
[0037] Figure 9 Another device structure diagram provided for the embodiments of the present application;
[0038] Figure 10 An electronic device structure diagram provided for the embodiments of the present application. DETAILED DESCRIPTION
[0039] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is made with reference to the accompanying drawings in which like reference numerals represent like elements, unless the context of use indicates otherwise. The following description of exemplary embodiments is not representative of all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application.
[0040] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used in this application, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0041] In implementation, the egress interface on the network node in the deterministic network is configured for scheduling d scheduling slots for transmitting deterministic flows, d is greater than 1. The d scheduling slots correspond to d scheduling queues, Figure 1 An example is shown for the structure. Correspondingly, in the control plane such as the management control plane entity (MCPE), there are also d scheduling slots corresponding to the d scheduling queues, so that when planning the VPFC for transmitting deterministic flows in the VPFP based on deterministic flows, the VPFC planned is based on the d scheduling slots, such as:
[0042] {
[0043] (VPFP0) : (intf0, Slot0, 1), / / indicates that the egress interface intf0 on the first node in VPFP0 occupies 1 unit of transmission resource in the first scheduling slot Slot0 for scheduling deterministic flows
[0044] transmission;
[0045] (VPFP0) : (intf0, Slot1, 1), / / indicates that the egress interface intf0 on the second node in VPFP0 occupies 1 unit of transmission resource in the second scheduling slot Slot1 for scheduling deterministic flows
[0046] ...
[0047] }
[0048] For the head node in the VPFP of the deterministic flow, it only knows that the deterministic flow is scheduled in a certain scheduling time slot (taking Slot0 described above as an example), but does not know in which cycle period (a cycle period is composed of d scheduling time slots described above) Slot0 is forwarded, that is, resources cannot be controlled in detail. If resources cannot be controlled in detail, the utilization rate of the VPFC of the deterministic flow will be very low. For example, if the packet sending period of the deterministic flow is 1000us and each scheduling time slot is 10us, the utilization rate of the VPFC of the deterministic flow is only 10%, which is very low.
[0049] To solve the above technical problems, the embodiment of the application expands the d scheduling time slots / scheduling queues configured for scheduling transmission of the deterministic flow on the out interface of the network node in the control plane through the MCPE, and the specific implementation can be seen from the flow shown in Figure 2 .
[0050] Referring to Figure 2 , Figure 2 the method flowchart provided by the embodiment of the application. The method is applied to the MCPE, and the MCPE is used to manage and control the network node in the deterministic network.
[0051] As shown in Figure 2 , the flow can include the following steps:
[0052] Step 201, determining an orchestrating calendar for the network node.
[0053] In the embodiment, the orchestrating calendar is composed of n scheduling calendars (Scheduling-calendars), and n is greater than 1. n can be determined according to actual business requirements such as the packet sending period of each deterministic flow via the network node, and the embodiment does not specifically limit it.
[0054] In the embodiment, any Scheduling-calendar includes d scheduling time slots configured for scheduling transmission of the deterministic flow on the out interface of the network node, and d is greater than 1. As described above, the d scheduling time slots configured on the out interface of the network node correspond to d scheduling queues configured on the out interface of the network node.
[0055] For example, d is 10 and n is 10, which means that the MCPE expands the existing 10 scheduling time slots planned for the out interface of the network node to 10*10 (that is, 100) scheduling time slots planned for the out interface of the network node, so as to realize more accurate planning of resources, which will be further described below.
[0056] Step 202, numbering the scheduling slots in each Scheduling-calendar in the Orchestrating-calendar to obtain global slot numbers of the scheduling slots.
[0057] In this embodiment, all the scheduling slots of all the Scheduling-calendars in the Orchestrating-calendar can be globally numbered in time sequence to form global slot numbers. Wherein, the global slot numbers of any two scheduling slots are different.
[0058] As an example, in this embodiment, the Scheduling-calendars can be arranged in time sequence. For each Scheduling-calendar, if the Scheduling-calendar is the first Scheduling-calendar in the Orchestrating-calendar, the scheduling slots in the first Scheduling-calendar are numbered in sequence from a preset initial value such as 0, otherwise, the number of the last scheduling slot in the previous Scheduling-calendar is increased by a set value to obtain a number start value, and the scheduling slots in the Scheduling-calendar are numbered in sequence from the number start value. For example:
[0059] a) The time slot numbers 0, 1, …, d-1 of the first Scheduling-calendar correspond to global slot numbers 0, 1, …, d-1;
[0060] b) The time slot numbers 0, 1, …, d-1 of the second Scheduling-calendar correspond to global slot numbers d, d+1, …, 2d-1;
[0061] c) The time slot numbers 0, 1, …, d-1 of the kth Scheduling-calendar correspond to global slot numbers (k-1)*d, (k-1)*d+1, …, k*d-1; and so on. Figure 3 Examples are given to show the time slot numbers of the Scheduling-calendars.
[0062] Step 203, determining the VPFC of the deterministic flow based on the global slot numbers and the determined VPFP of the deterministic flow.
[0063] The embodiment is different from the existing VPFC in determining the VPFC. Instead of planning in d scheduling slots configured on the out interface of the network node for scheduling transmission of the deterministic flow, the VPFC is planned in d*n scheduling slots. Specifically, in planning the VPFC, after the global scheduling slot number of the out interface of any node in the VPFP except the first node for scheduling transmission of the deterministic flow is determined in planning the VPFP of the deterministic flow, the global scheduling slot number of the out interface of the current node for scheduling transmission of the deterministic flow is determined according to the following formula: y=(x+k)mod M.
[0064] wherein y represents the global scheduling slot number of the out interface of the current node for scheduling transmission of the deterministic flow; x represents the global scheduling slot number of the out interface of the previous node of the current node for scheduling transmission of the deterministic flow, and the value range of x is {x|0≤x<M, x is a natural number}; M is the product of n and d; k is the index value corresponding to the current node, and the k values corresponding to adjacent nodes in the VPFP are the same or different, and the value range of k is {k|0≤k<d, k is a natural number}.
[0065] As an embodiment, the index value k corresponding to the current node is determined according to the phase difference (Offset) of the scheduling slot for scheduling transmission of the deterministic flow on the out interface for scheduling transmission of the deterministic flow between the current node and the previous node. The Offset is determined by the following method:
[0066] Offset=(d+j-i)%d;
[0067] wherein i represents the scheduling slot for scheduling transmission of the deterministic flow on the out interface for scheduling transmission of the deterministic flow of the previous node of the current node (i is less than or equal to d), and j represents the scheduling slot for scheduling transmission of the deterministic flow on the out interface for scheduling transmission of the deterministic flow of the current node (j is less than or equal to d).
[0068] Based on the above description, in step 202, the VPFC of the deterministic flow at least includes the identifier of the VPFP of the deterministic flow, the out interface of each node in the VPFP for scheduling transmission of the deterministic flow, the global scheduling slot number of the out interface for scheduling transmission of the deterministic flow, and the data amount of the deterministic flow scheduled to be transmitted in the scheduling slot corresponding to the global scheduling slot number (which can be planned by testing, and the specific planning can refer to the existing data amount planning).
[0069] Step 203, based on the VPFC of each deterministic flow, control the head node on the VPFP of each deterministic flow to create a resource registering table (RRT).
[0070] As an embodiment, the MCPE can construct the RRT corresponding to the head node on the VPFP of each deterministic flow and issue it to the head node, so as to achieve the control of the head node on the VPFP of each deterministic flow to create the RRT based on the VPFC of each deterministic flow described in step 203.
[0071] As another embodiment, the MCPE can issue the relevant parameters (information required for constructing the RRT) of the RRT corresponding to the head node on the VPFP of each deterministic flow to the head node, so that the head node can construct the RRT based on the received parameters, and finally achieve the control of the head node on the VPFP of each deterministic flow to create the RRT based on the VPFC of each deterministic flow described in step 203. Figure 4 An example is shown to illustrate how the MCPE controls the network nodes to create the resource registering table.
[0072] In this embodiment, the RRT contains RRT entries corresponding to each global time slot number. For example, the number of RRT entries in the RRT is M, and M is the product of n and d. In this embodiment, any RRT entry includes the identifier of the VPFC of the deterministic flow performing scheduled transmission in the scheduled time slot corresponding to the global time slot number corresponding to the RRT entry, or the identifier of the virtual periodic forwarding channel queue (VQ) to which the VPFC is allocated, and the data volume of the deterministic flow performing scheduled transmission in the scheduled time slot. In specific implementation, the global time slot number corresponding to the first RRT entry in the RRT is the smallest, the global time slot number corresponding to the second RRT entry is the second smallest, and so on, until the global time slot number corresponding to the last RRT entry is the largest. Figure 5 An example is shown to illustrate the RRT taking the VQ as an example.
[0073] In this embodiment, the RRT entry is used to schedule the deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to the corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is allocated in the RRT entry, and the data volume. The specific description will be given from the perspective of the network node below, which will not be repeated here.
[0074] So far, the process shown in the flowchart is completed. Figure 2 The flowchart shown.
[0075] By Figure 2The process shown in this embodiment is to plan the VPFC of the deterministic flow instead of using d scheduling slots configured on the outgoing interface of the network node for scheduling the transmission of deterministic flow. Instead, it plans the VPFC of the deterministic flow using d*n scheduling slots. By planning the VPFC of the deterministic flow through the global scheduling slot number, the first node of the deterministic flow can accurately determine which scheduling slot, such as slot0, the deterministic flow will be scheduled in a certain cycle based on the global slot number. For example, if the packet transmission period of a deterministic flow is 1000us, each scheduling slot is 10us, and d is 10, and if we can accurately determine which cycle (global slot number / d) the deterministic flow will be scheduled in, such as in the first cycle, the 10th cycle, the 20th cycle, and so on, then other service flows can continue to be scheduled in slots in other cycles, instead of completely occupying the resources in slots in all cycles. The utilization rate of the VPFC of the deterministic flow can reach 100%, which is very high.
[0076] The method provided in this application embodiment is described below from the perspective of a network node:
[0077] See Figure 6 , Figure 6 This is another method flowchart provided for an embodiment of this application. This process is applied to network nodes in a deterministic network. For example... Figure 6 As shown, the process may include the following steps:
[0078] Step 601: This node, as the first node on the VPFP of each deterministic flow, creates an RRT based on the VPFC of each deterministic flow under the management and control of the MCPE.
[0079] This step 601 corresponds to the above. Figure 2 Step 203 in the process shown will not be repeated here.
[0080] Step 602: This node, as the first node on any deterministic flow's VPFP, schedules the deterministic data cached in the VQ to which the VPFC is assigned, based on the VPFC identifier in the RRT entry or the identifier of the VQ to which the VPFC is assigned, and the data volume, to the corresponding forwarding queue.
[0081] Before step 602, this node, as the first node on the VPFP of any deterministic flow, will cache the deterministic data packet to the VQ allocated to the VPFC of the deterministic flow after receiving the deterministic data packet belonging to that deterministic flow.
[0082] Under the premise, scheduling the deterministic data satisfying the data amount buffered in the VQ to which the VPFC is allocated to the corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is allocated in the RRT entry and the data amount can include:
[0083] Step 1), determining a target RRT entry corresponding to a next time slot of a current time slot in the RRT under the current time slot, wherein the current time slot refers to a time slot corresponding to a global time slot number currently indicated by a time slot counter, the time slot counter indicates a global time slot number every time interval, such as 10us, and the number of global time slot numbers allowed to be indicated by the time slot counter is M, M is the product of n and d, and the time slot counter is reset every M time interval; the next time slot refers to a time slot corresponding to a next global time slot number to be indicated by the time slot counter. In this embodiment, the time interval here refers to a time interval of two adjacent scheduling time slots in d scheduling time slots configured on a network node for scheduling transmission of deterministic flow, such as 10us described above.
[0084] Step 2), obtaining at least one deterministic data packet from the VQ corresponding to the identifier based on the identifier of the VPFC or the identifier of the VQ in the target RRT entry and the data amount, wherein the data amount of the obtained deterministic data packet is less than or equal to the data amount in the target RRT entry; for each deterministic data packet obtained, determining whether the deterministic data packet is an expired packet based on the reception time of the deterministic data packet and the current time, and if not, storing the deterministic data packet in the corresponding forwarding queue.
[0085] As an embodiment, the above-mentioned determination of whether the deterministic data packet is an expired packet based on the reception time of the deterministic data packet and the current time for each deterministic data packet obtained includes: for each deterministic data packet obtained, calculating the time difference between the reception time of the deterministic data packet and the current time, checking whether the time difference is greater than the required delay of the deterministic flow to which the deterministic data packet belongs, and if so, determining that the deterministic data packet is an expired packet, and if not, determining that the deterministic data packet is not an expired packet. Here, the required delay of the deterministic flow to which the deterministic data packet belongs can be pre-configured, and this embodiment is not specifically limited. In this embodiment, if it is determined that the deterministic data packet is an expired packet, the expired packet can be discarded.
[0086] In addition, as an embodiment, in the step 1), the global time slot number of the current time slot is mapped to the corresponding scheduling time slot configured on the out interface of the node for scheduling transmission of the deterministic data packet in the current time slot, and the deterministic data packet in the forwarding queue corresponding to the scheduling time slot is scheduled. Based on the global scheduling time slot number, it is ensured that the first node can accurately determine that the deterministic data packet is scheduled in a scheduling time slot in a certain cycle period (if the out interface is configured with d scheduling time slots, the cycle period can be determined by the global time slot number of the current time slot / d) so as to subsequently fully utilize the resources in the scheduling time slot in other cycle periods to schedule other deterministic flows, and improve the resource utilization rate.
[0087] In addition, in the embodiment, the d scheduling time slots configured on the out interface for scheduling transmission of the deterministic flow correspond to d forwarding queue identifiers (ISQs), the RRTs are grouped into d RRT table items, d is an even number such as 10, the RRT table items in each group are sequentially configured to correspond to the ISQs, and the d ISQs are grouped into 2 ISQs, the ISQs in each group are sequentially mapped to corresponding physical queues, and different ISQs in the same group are mapped to different physical queues. Based on this, the forwarding queue refers to the physical queue to which the ISQ corresponding to the target RRT table item is mapped. Figure 7 An architecture is shown in which the network node as the first node of the deterministic flow receives the deterministic data packet belonging to the deterministic flow from the outside.
[0088] Thus, the process shown in Figure 6 is completed.
[0089] Through the process shown in Figure 6 , the embodiment realizes that the VPFC of the deterministic flow is no longer planned according to the d scheduling time slots configured on the out interface of the network node for scheduling transmission of the deterministic flow, but is planned according to the d*n scheduling time slots, and the VPFC of the deterministic flow is planned according to the global scheduling time slot number, which can be accurately determined by the first node of the deterministic flow based on the global time slot number that the deterministic flow is scheduled in a scheduling time slot such as slot0 in a certain cycle period. For example, the packet sending period of the deterministic flow is 1000us, each scheduling time slot is 10us, d is 10, and it is assumed that the global time slot number is accurately determined that the deterministic flow is scheduled in slot0 in a certain cycle period (the corresponding cycle period can be obtained by the global time slot number / d), such as slot0 in the first cycle period, slot0 in the tenth cycle period, slot0 in the twentieth cycle period, and so on. This can continue to schedule other business flows in slot0 in other cycle periods, rather than completely occupy the resources in slot0 in all cycle periods, and the utilization rate of the VPFC of the deterministic flow can reach 100%, which is very high.
[0090] The method provided by the embodiments of the present application is described above, and the system and device provided by the embodiments of the present application are described below.
[0091] The system provided by the embodiments of the present application mainly comprises an MCPE and a network node in a deterministic network. The MCPE performs a flow as shown in Figure 2 , and the network node performs a flow as shown in Figure 6 .
[0092] Referring to Figure 8 , Figure 8 , a device structure diagram provided by the embodiments of the present application. The device is applied to an MCPE, and the MCPE is used for managing and controlling a network node in a deterministic network. The device comprises:
[0093] an arrangement unit, configured to determine an orchestrating calendar (Orchestrating-calendar) for the network node in the deterministic network; the Orchestrating-calendar is composed of n Scheduling-calendars, and n is greater than 1; any Scheduling-calendar comprises d scheduling slots (Slots) configured on an out interface of the network node for scheduling transmission of a deterministic flow, and d is greater than 1;
[0094] numbering the scheduling slots in each Scheduling-calendar in the Orchestrating-calendar to obtain global slot numbers of the scheduling slots; the global slot numbers of any two scheduling slots are different;
[0095] a control unit, configured to determine a virtual periodic forwarding channel (VPFC) of the deterministic flow based on the global slot numbers and a virtual periodic forwarding path (VPFP) of the deterministic flow which has been determined; the VPFC of the deterministic flow comprises: an identifier of the VPFP of the deterministic flow, an out interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling slot number on the out interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled to be transmitted in the scheduling slot corresponding to the global scheduling slot number; and
[0096] Based on the VPFC of each deterministic flow, a first node on the VPFP of each deterministic flow creates a resource registration table RRT; the RRT contains RRT entries corresponding to each global time slot number, and any RRT entry includes: an identifier of the VPFC of the deterministic flow performing scheduled transmission in the scheduling time slot corresponding to the RRT entry or an identifier of the virtual periodic forwarding channel queue VQ allocated to the VPFC, and a data volume of the deterministic flow performing scheduled transmission in the scheduling time slot; the RRT entry is used to schedule deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ allocated to the VPFC, and the data volume.
[0097] As an embodiment, the global time slot number of each scheduling time slot in the Scheduling-calendar in the Orchestrating-calendar is numbered, including:
[0098] Arranging the Scheduling-calendars in chronological order, for each Scheduling-calendar, if the Scheduling-calendar is the first Scheduling-calendar in the Orchestrating-calendar, the scheduling time slots in the first Scheduling-calendar are numbered in order starting from a preset initial value, otherwise, the numbering start value is obtained by increasing the number of the last scheduling time slot in the previous Scheduling-calendar by a set value, and the scheduling time slots in the Scheduling-calendar are numbered in order starting from the numbering start value.
[0099] As an embodiment, the global scheduling time slot number for scheduling transmission of any deterministic flow on the out-interface of each node in the VPFP of the deterministic flow is determined according to the following formula:
[0100] y = (x + k) mod M;
[0101] Wherein, y represents the global scheduling time slot number on the out interface of the current node for scheduling transmission of the deterministic flow, the current node refers to any node in the VPFP of the deterministic flow except the first node; x represents the global scheduling time slot number on the out interface of the last node of the current node for scheduling transmission of the deterministic flow, the value range of x is {x | 0≤xM, x is a natural number}, k is the index value corresponding to the current node, the k values corresponding to adjacent nodes in the VPFP are the same or different, the value range of k is {k | 0≤kd, k is a natural number}; M is the product of n and d.
[0102] As an embodiment, the index value k corresponding to the current node is determined according to the phase difference Offset of the scheduling time slot on the out interface of the current node and the last node for scheduling transmission of the deterministic flow;
[0103] Wherein, Offset is determined by the following way:
[0104] Offset = (d + j - i) % d;
[0105] Wherein, i represents the scheduling time slot on the out interface of the last node of the current node for scheduling transmission of the deterministic flow, j represents the scheduling time slot on the out interface of the current node for scheduling transmission of the deterministic flow.
[0106] As an embodiment, the number of RRT table entries in the RRT is M, M is the product of n and d;
[0107] The first RRT table entry in the RRT corresponds to the smallest global time slot number, the second RRT table entry corresponds to the second smallest global time slot number, and the last RRT table entry corresponds to the largest global time slot number.
[0108] At this point, the structure of the device is completed Figure 8 The structure of the device is described.
[0109] Referring to Figure 9 , Figure 9 Another device structure diagram provided by the embodiment of the application. The device is applied to a network node in a deterministic network, and the device comprises:
[0110] The table unit is configured to, when the node is a head node of a virtual periodic forwarding path (VPFP) of each deterministic flow, create a resource registration table (RRT) under the management control of a management control plane entity (MCPE) and based on a virtual periodic forwarding channel (VPFC) of each deterministic flow. The VPFC of any deterministic flow includes an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global scheduling time slot number. The global scheduling time slot number is obtained by numbering scheduling time slots in each scheduling calendar (Scheduling-calendar) in an orchestrating calendar (Orchestrating-calendar). The global time slot numbers of any two scheduling time slots are different. The Orchestrating-calendar is composed of n Scheduling-calendars, where n is greater than 1. Any Scheduling-calendar includes d scheduling time slots (Slot) configured on the out-interface of the network node for scheduling transmission of deterministic flows, where d is greater than 1. The RRT includes an RRT table item corresponding to each global time slot number. Any RRT table item includes an identifier of a VPFC of a deterministic flow scheduled for transmission in a scheduling time slot corresponding to a global time slot number corresponding to the RRT table item or an identifier of a virtual periodic forwarding channel queue (VQ) to which the VPFC is assigned, and a data volume of the deterministic flow scheduled for transmission in the scheduling time slot.
[0111] The packet processing unit is configured to, when the node is a head node of a VPFP of each deterministic flow, schedule deterministic data satisfying the data volume from a VQ to which a VPFC is assigned to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT table item and the data volume.
[0112] As an embodiment, the packet processing unit is further configured to receive a deterministic data packet at the node and, when the node is a head node of a deterministic flow to which the deterministic data packet belongs, cache the deterministic data packet in a VQ to which a VPFC of the deterministic flow is assigned.
[0113] The scheduling of the deterministic data satisfying the data volume from the VQ to which the VPFC is assigned to the corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT table item and the data volume includes:
[0114] In the current time slot, a target RRT entry corresponding to a next time slot of the current time slot is determined in the RRT; the current time slot refers to a time slot corresponding to a global time slot number currently indicated by a time slot counter, the time slot counter indicates a global time slot number every time slot interval, and the number of global time slot numbers allowed to be indicated by the time slot counter is M, M is a product of n and d, and the time slot counter is reset every M time slot intervals; the next time slot refers to a time slot corresponding to a next global time slot number to be indicated by the time slot counter.
[0115] Based on the identifier of the VPFC or the identifier of the VQ in the target RRT entry and the data volume, at least one deterministic data packet is obtained from the VQ corresponding to the identifier, and the data volume of the obtained deterministic data packet is less than or equal to the data volume in the target RRT entry; for each deterministic data packet obtained, whether the deterministic data packet is an expired packet is determined based on a receiving time at which the deterministic data packet is received and a current time, and if not, the deterministic data packet is stored in the corresponding forwarding queue.
[0116] As an embodiment, for each deterministic data packet obtained, whether the deterministic data packet is an expired packet is determined based on a receiving time at which the deterministic data packet is received and a current time, and if not, the deterministic data packet is stored in the corresponding forwarding queue.
[0117] For each deterministic data packet obtained, a time difference between the receiving time at which the deterministic data packet is received and the current time is calculated, and whether the time difference is greater than a time delay required by a deterministic flow to which the deterministic data packet belongs is checked, if yes, the deterministic data packet is determined to be an expired packet, and if not, the deterministic data packet is determined not to be an expired packet.
[0118] As an embodiment, the packet processing unit is further configured to, in the current time slot, map the global time slot number of the current time slot to a corresponding scheduling time slot configured for an out interface of the node for scheduling transmission of the deterministic data packet, and schedule the deterministic data packet in the forwarding queue corresponding to the scheduling time slot.
[0119] As an embodiment, the d scheduling time slots configured for the out interface for scheduling transmission of the deterministic flow correspond to d forwarding queue identifiers ISQs, d is an even number, the RRTs are grouped in d RRT entries, and the RRT entries in each group are sequentially configured to correspond to the ISQs; the d ISQs are grouped in 2 ISQs, the ISQs in each group are sequentially mapped to corresponding physical queues, and different ISQs in the same group are mapped to different physical queues.
[0120] The forwarding queue refers to a physical queue to which the ISQ corresponding to the target RRT entry is mapped.
[0121] So far, the completionFigure 9 Structure description of the device shown.
[0122] The embodiment of the present application also provides a hardware structure of the device, Figure 10 The hardware structure provided by the embodiment of the present application is shown in the structure diagram of an electronic device. Figure 10 The hardware structure can include a processor and a machine readable storage medium, the machine readable storage medium stores machine executable instructions capable of being executed by the processor; and the processor is used for executing the machine executable instructions to realize the method disclosed in the above examples of the present application.
[0123] Based on the same application concept as the above method, the embodiment of the present application also provides a machine readable storage medium, the machine readable storage medium stores a plurality of computer instructions, and the computer instructions can realize the method disclosed in the above examples of the present application when executed by a processor.
[0124] For example, the machine readable storage medium can be a RAM (Random Access Memory), a volatile memory, a non-volatile memory, a flash memory, a storage drive (such as a hard disk drive), a solid state disk, any type of storage disk (such as an optical disk, a DVD, etc.), or similar storage medium, or a combination thereof.
[0125] The system, device, module or unit illustrated in the above embodiment can be specifically implemented by a computer chip or an entity, or by a product with certain function. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transmitting and receiving device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0126] For the convenience of description, the above device is described in various units by function. Of course, the functions of the units can be implemented in the same or multiple software and / or hardware in the implementation of the present application.
[0127] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can adopt a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer usable storage media (including but not limited to a disk memory, a CD-ROM, an optical memory, etc.) containing computer usable program codes.
[0128] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 means for functionally implementing the steps in one or more flowcharts and / or blocks
[0129] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 means for functionally implementing the steps in one or more flowcharts and / or blocks
[0130] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 Figure 1 means for functionally implementing the steps in one or more flowcharts and / or blocks
[0131] The embodiments of the present application described above are merely used to illustrate the present application and should not be used to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application should be included in the scope of protection of the present application.
Claims
1. A deterministic streaming method, characterized in that, The method is applied to a management control plane entity (MCPE) for managing control of network nodes in a deterministic network, and the method comprises: determining an orchestrating calendar (Orchestrating-calendar) for the network nodes in the deterministic network; the Orchestrating-calendar comprises n Scheduling-calendars, n is greater than 1, and any Scheduling-calendar comprises d scheduling slots (Slots) configured on an out interface of the network node for scheduling transmission of a deterministic flow, d is greater than 1; numbering the scheduling slots in each Scheduling-calendar in the Orchestrating-calendar to obtain global slot numbers of the scheduling slots; the global slot numbers of any two scheduling slots are different; determining a virtual periodic forwarding channel (VPFC) of the deterministic flow based on the global slot numbers and a virtual periodic forwarding path (VPFP) of the deterministic flow that has been determined; the VPFC of the deterministic flow comprises: an identifier of the VPFP of the deterministic flow, an out interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling slot number of the out interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling slot corresponding to the global scheduling slot number; based on the VPFC of each deterministic flow, controlling a first node on the VPFP of each deterministic flow to create a resource registration table (RRT); the RRT comprises an RRT entry corresponding to each global slot number, any RRT entry comprises: an identifier of the VPFC of the deterministic flow scheduled for transmission in a scheduling slot corresponding to a global slot number corresponding to the RRT entry or an identifier of a virtual periodic forwarding channel queue (VQ) allocated to the VPFC, and a data volume of the deterministic flow scheduled for transmission in the scheduling slot; the RRT entry is used to schedule deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ allocated to the VPFC in the RRT entry and the data volume.
2. The method of claim 1, wherein the numbering of the scheduling slots in each Scheduling-calendar in the Orchestrating-calendar to obtain global slot numbers of the scheduling slots comprises: The Scheduling-calendars are arranged in chronological order, and for each Scheduling-calendar, if the Scheduling-calendar is the first Scheduling-calendar in the Orchestrating-calendar, the scheduling slots in the first Scheduling-calendar are numbered in order from a preset initial value, otherwise, the number of the last scheduling slot in the previous Scheduling-calendar is increased by a set value to obtain a number start value, and the scheduling slots in the Scheduling-calendar are numbered in order from the number start value.
3. The method of claim 1, wherein, The global scheduling slot number for scheduling transmission of the deterministic flow on the out-interface of each node in the VPFP of any deterministic flow is determined according to the following formula: y = (x + k) mod M; wherein y represents the global scheduling slot number for scheduling transmission of the deterministic flow on the out-interface of the current node for scheduling transmission of the deterministic flow, the current node refers to any node in the VPFP of the deterministic flow except the first node; x represents the global scheduling slot number for scheduling transmission of the deterministic flow on the out-interface of the previous node of the current node for scheduling transmission of the deterministic flow, the value range of x is {x | 0≤x < M, x is a natural number}, k is a calibration value corresponding to the current node, the k values corresponding to adjacent nodes in the VPFP are the same or different, the value range of k is {k | 0≤k < d, k is a natural number}; M is the product of n and d.
4. The method of claim 3, wherein, The calibration value k corresponding to the current node is determined according to the phase difference Offset of the scheduling slot for scheduling transmission of the deterministic flow on the out-interface of the current node and the previous node for scheduling transmission of the deterministic flow; wherein Offset is determined by the following method: Offset = (d + j - i) % d; wherein i represents the scheduling slot for scheduling transmission of the deterministic flow on the out-interface of the previous node of the current node for scheduling transmission of the deterministic flow, and j represents the scheduling slot for scheduling transmission of the deterministic flow on the out-interface of the current node for scheduling transmission of the deterministic flow.
5. The method of claim 1, wherein, The number of RRT table entries in the RRT is M, and M is the product of n and d; The global slot number corresponding to the first RRT table entry in the RRT is the smallest, the global slot number corresponding to the second RRT table entry is the second smallest, and the global slot number corresponding to the last RRT table entry is the largest.
6. A method of deterministic streaming, the method comprising: The method is applied to a network node in a deterministic network, and the method comprises: The node as a first node on a virtual periodic forwarding path (VPFP) of each deterministic flow creates a resource registration table (RRT) under the management control of a management control plane entity (MCPE) based on a virtual periodic forwarding channel (VPFC) of each deterministic flow. The VPFC of any deterministic flow includes an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global scheduling time slot number. The global scheduling time slot number is obtained by numbering scheduling time slots in each scheduling calendar (Scheduling-calendar) in an orchestrating calendar (Orchestrating-calendar). The Orchestrating-calendar is composed of n Scheduling-calendars, and n is greater than 1. Any Scheduling-calendar includes d scheduling time slots (Slot) configured on an out-interface of the network node for scheduling transmission of deterministic flows, and d is greater than 1. The RRT includes an RRT entry corresponding to each global time slot number. Any RRT entry includes an identifier of a VPFC of a deterministic flow scheduled for transmission in a scheduling time slot corresponding to a global time slot number corresponding to the RRT entry or an identifier of a virtual periodic forwarding channel queue (VQ) to which the VPFC is assigned, and a data volume of the deterministic flow scheduled for transmission in the scheduling time slot. The node as the first node on the VPFP of each deterministic flow schedules deterministic data satisfying the data volume cached in the VQ to which the VPFC is assigned to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT entry and the data volume.
7. The method of claim 6, wherein, The method further includes that the node receives a deterministic data packet, and when the node is a first node of a deterministic flow to which the deterministic data packet belongs, the node caches the deterministic data packet in a VQ assigned to a VPFC of the deterministic flow. The scheduling of the deterministic data satisfying the data volume cached in the VQ to which the VPFC is assigned to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT entry and the data volume includes that: In a current time slot, a target RRT entry corresponding to a next time slot of the current time slot is determined in the RRT. The current time slot refers to a time slot corresponding to a global time slot number currently indicated by a time slot counter. The time slot counter indicates a global time slot number every time slot interval. The number of global time slot numbers allowed to be indicated by the time slot counter is M, which is a product of n and d. The time slot counter is reset every M time slot intervals. The next time slot refers to a time slot corresponding to a next global time slot number to be indicated by the time slot counter. obtaining at least one deterministic data packet from a VQ corresponding to the identifier based on the identifier of the VPFC or the identifier of the VQ in the target RRT entry, and a data volume of the deterministic data packet obtained being less than or equal to the data volume in the target RRT entry; for each deterministic data packet obtained, determining whether the deterministic data packet is an expired packet based on a receiving time at which the deterministic data packet is received and a current time, and if not, storing the deterministic data packet in a corresponding forwarding queue.
8. The method of claim 7, wherein, The determining whether the deterministic data packet is the expired packet based on the receiving time at which the deterministic data packet is received and the current time includes: For each deterministic data packet obtained, calculating a time difference between the receiving time at which the deterministic data packet is received and the current time, and checking whether the time difference is greater than a time delay required by a deterministic flow to which the deterministic data packet belongs, and if so, determining that the deterministic data packet is the expired packet, and if not, determining that the deterministic data packet is not the expired packet.
9. The method of claim 7, wherein, The method further includes: In a current time slot, mapping a global time slot number of the current time slot to a corresponding scheduling time slot configured on an out interface of the node for scheduling transmission of the deterministic data packet, and scheduling the deterministic data packet in the forwarding queue corresponding to the scheduling time slot.
10. The method of claim 9, wherein, The d scheduling time slots configured on the out interface for scheduling transmission of the deterministic flow correspond to d forwarding queue identifiers ISQs, d is an even number, the RRTs are grouped in d RRT entries, and the RRT entries in each group are configured in sequence with corresponding ISQs; the d ISQs are grouped in 2 ISQs, the ISQs in each group are mapped in sequence to corresponding physical queues, and different ISQs in the same group are mapped to different physical queues. The forwarding queue refers to a physical queue to which the ISQ corresponding to the target RRT entry is mapped.
11. A deterministic streaming apparatus, comprising: The device is applied to a management control plane entity MCPE, the MCPE is used for managing and controlling network nodes in a deterministic network, and the device includes: an arrangement unit configured to determine an arrangement calendar Orchestrating-calendar for the network nodes in the deterministic network; the Orchestrating-calendar is composed of n Scheduling-calendars, n is greater than 1, and any Scheduling-calendar includes d scheduling time slots Slots configured on an out interface of the network node for scheduling transmission of a deterministic flow, d is greater than 1; and, numbering the scheduling time slots in each Scheduling-calendar in the Orchestrating-calendar to obtain global time slot numbers of the scheduling time slots; and global time slot numbers of any two scheduling time slots are different. The control unit is configured to determine a virtual periodic forwarding channel (VPFC) of the deterministic flow based on the global time slot number and the determined virtual periodic forwarding path (VPFP) of the deterministic flow. The VPFC of the deterministic flow comprises an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling time slot number on the out-interface for scheduling transmission of the deterministic flow, and a data volume of the deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global scheduling time slot number. The control unit is further configured to control a first node on the VPFP of each deterministic flow to create a resource registration table (RRT). The RRT comprises an RRT entry corresponding to each global time slot number. Each RRT entry comprises an identifier of a VPFC of a deterministic flow scheduled for transmission in a scheduling time slot corresponding to the global time slot number or an identifier of a virtual periodic forwarding channel queue (VQ) allocated to the VPFC, and a data volume of the deterministic flow scheduled for transmission in the scheduling time slot. The RRT entry is used to schedule deterministic data satisfying the data volume cached in the VQ allocated to the VPFC to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ allocated to the VPFC, and the data volume. The global time slot number of each scheduling time slot in the Orchestrating-calendar is determined by:
12. The apparatus of claim 11, wherein, arranging the Scheduling-calendars in time sequence, and for each Scheduling-calendar, if the Scheduling-calendar is the first Scheduling-calendar in the Orchestrating-calendar, numbering the scheduling time slots in the first Scheduling-calendar in sequence from a preset initial value, otherwise, obtaining a numbering start value by adding a set value to the number of the last scheduling time slot in the previous Scheduling-calendar, and numbering the scheduling time slots in the Scheduling-calendar in sequence from the numbering start value. The global scheduling time slot number on the out-interface on each node in the VPFP of any deterministic flow for scheduling transmission of the deterministic flow is determined according to the following formula:
13. The apparatus of claim 11, wherein, y = (x + k) mod M. Wherein, y represents the global scheduling time slot number on the out interface of the current node for scheduling transmission of the deterministic flow, the current node refers to any node in the VPFP of the deterministic flow except the first node; x represents the global scheduling time slot number on the out interface of the last node of the current node for scheduling transmission of the deterministic flow, the value range of x is {x | 0≤xM, x is a natural number}, k is the index value corresponding to the current node, the k values corresponding to adjacent nodes in the VPFP are the same or different, the value range of k is {k | 0≤kd, k is a natural number}; M is the product of n and d.
14. The apparatus of claim 13, wherein, The index value k corresponding to the current node is determined according to the phase difference Offset of the scheduling time slot on the out interface of the current node and the last node for scheduling transmission of the deterministic flow; Wherein, Offset is determined by the following way: Offset = (d + j - i) % d; Wherein, i represents the scheduling time slot on the out interface of the last node of the current node for scheduling transmission of the deterministic flow, j represents the scheduling time slot on the out interface of the current node for scheduling transmission of the deterministic flow.
15. The apparatus of claim 11, wherein, The number of RRT table entries in the RRT is M, M is the product of n and d; The global time slot number corresponding to the first RRT table entry in the RRT is the smallest, the global time slot number corresponding to the second RRT table entry is the second smallest, and the global time slot number corresponding to the last RRT table entry is the largest.
16. A deterministic streaming device, comprising: The device is applied to a network node in a deterministic network, and the device comprises: The table unit is configured to, when the node is a head node of a virtual periodic forwarding path (VPFP) of each deterministic flow, create a resource registration table (RRT) under the management control of a management control plane entity (MCPE) based on a virtual periodic forwarding channel (VPFC) of each deterministic flow. The VPFC of any deterministic flow includes an identifier of the VPFP of the deterministic flow, an out-interface on each node in the VPFP for scheduling transmission of the deterministic flow, a global scheduling slot number for scheduling transmission of the deterministic flow on the out-interface, and a data volume of the deterministic flow scheduled for transmission in a scheduling slot corresponding to the global scheduling slot number. The global scheduling slot number is obtained by numbering scheduling slots in each scheduling calendar (Scheduling-calendar) in an orchestrating calendar (Orchestrating-calendar). The global slot numbers of any two scheduling slots are different. The Orchestrating-calendar is composed of n Scheduling-calendars, where n is greater than 1. Any Scheduling-calendar includes d scheduling slots (Slot) configured on the out-interface of the network node for scheduling transmission of the deterministic flow, where d is greater than 1. The RRT includes an RRT table item corresponding to each global slot number. Any RRT table item includes an identifier of a VPFC of a deterministic flow scheduled for transmission in a scheduling slot corresponding to a global slot number corresponding to the RRT table item or an identifier of a virtual periodic forwarding channel queue (VQ) to which the VPFC is assigned, and a data volume of the deterministic flow scheduled for transmission in the scheduling slot. The packet processing unit is configured to, when the node is a head node of a VPFP of each deterministic flow, schedule deterministic data satisfying the data volume from a VQ to which a VPFC is assigned to a corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT table item and the data volume.
17. The apparatus of claim 16, wherein, The packet processing unit is further configured to receive a deterministic data packet at the node and buffer the deterministic data packet to a VQ to which a VPFC of a deterministic flow to which the deterministic data packet belongs is assigned when the node is a head node of the deterministic flow. The scheduling of the deterministic data satisfying the data volume from the VQ to which the VPFC is assigned to the corresponding forwarding queue based on the identifier of the VPFC or the identifier of the VQ to which the VPFC is assigned in the RRT table item and the data volume includes: In a current time slot, a target RRT table item corresponding to a next time slot of the current time slot is determined in the RRT. The current time slot refers to a time slot corresponding to a global slot number currently indicated by a time slot counter. The time slot counter indicates a global slot number every time slot interval. The number of global slot numbers allowed to be indicated by the time slot counter is M, which is the product of n and d. The time slot counter is reset every M time slot intervals. The next time slot refers to a time slot corresponding to a next global slot number to be indicated by the time slot counter. obtain at least one deterministic data packet from a VQ corresponding to the identifier based on the identifier of the VPFC or the identifier of the VQ in the target RRT entry and a data volume, the data volume of the obtained deterministic data packet being less than or equal to the data volume in the target RRT entry; for each deterministic data packet obtained, determine whether the deterministic data packet is an expired packet based on a receiving time at which the deterministic data packet is received and a current time, and if not, store the deterministic data packet in a corresponding forwarding queue.
18. The apparatus of claim 17, wherein, The determining whether the deterministic data packet is the expired packet based on the receiving time at which the deterministic data packet is received and the current time includes: For each deterministic data packet obtained, calculating a time difference between the receiving time at which the deterministic data packet is received and the current time, and checking whether the time difference is greater than a time delay required by a deterministic flow to which the deterministic data packet belongs, and if so, determining that the deterministic data packet is the expired packet, and if not, determining that the deterministic data packet is not the expired packet.
19. The apparatus of claim 17, wherein, The packet processing unit is further configured to, in a current time slot, map a global time slot number of the current time slot to a corresponding scheduling time slot on the node in which an out interface configured to schedule transmission of the deterministic data packet is configured, and schedule the deterministic data packet in the forwarding queue corresponding to the scheduling time slot.
20. The apparatus of claim 19, wherein, The d scheduling time slots configured on the out interface for scheduling transmission of the deterministic flow correspond to d forwarding queue identifiers ISQs, d is an even number, the RRTs are grouped in d RRT entries, and the RRT entries in each group are configured in sequence with corresponding ISQs; the d ISQs are grouped in 2 ISQs, the ISQs in each group are mapped in sequence to corresponding physical queues, and different ISQs in the same group are mapped to different physical queues. The forwarding queue refers to a physical queue to which the ISQ corresponding to the target RRT entry is mapped.
21. An electronic device, comprising: The electronic device includes a processor and a machine-readable storage medium; The machine-readable storage medium stores machine-executable instructions that can be executed by the processor; The processor is configured to execute the machine-executable instructions to implement the method in any one of claims 1 to 10.
22. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-executable instructions that can be executed by the processor; The machine-executable instructions are executed by the processor to implement the method in any one of claims 1 to 10.
Citation Information
Patent Citations
Unmanned aerial vehicle cluster cooperative opportunistic routing method based on virtual potential field method
CN111132258A
Message forwarding method, electronic equipment and storage medium
CN115037399A