WO2016173346A1 - 一种光突发环网动态带宽分配方法及装置 - Google Patents
一种光突发环网动态带宽分配方法及装置 Download PDFInfo
- Publication number
- WO2016173346A1 WO2016173346A1 PCT/CN2016/077144 CN2016077144W WO2016173346A1 WO 2016173346 A1 WO2016173346 A1 WO 2016173346A1 CN 2016077144 W CN2016077144 W CN 2016077144W WO 2016173346 A1 WO2016173346 A1 WO 2016173346A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time slot
- guaranteed
- wavelength
- bandwidth
- request
- Prior art date
Links
Images
Definitions
- the invention relates to a sub-wavelength all-optical switching network, in particular to a method and a device for allocating a dynamic bandwidth of an optical burst ring network.
- optical packet switching is an inevitable development direction.
- the storage and forwarding mechanism cannot be adopted in the all-optical domain, making all-optical packet switching difficult to implement, and optical packet switching cannot be greatly developed in the short term.
- the optical burst ring network adopts all-optical time slot switching technology and the whole network synchronous control mechanism, does not require optical buffer, and has the potential to solve resource competition problems. It is a strong competitor of the next generation metropolitan area network.
- the Optical Burst Transport Network adopts an all-optical switching technology based on Optical Burst (OB), which provides on-demand and fast scheduling capabilities of the optical layer bandwidth of any node on the network.
- OB Optical Burst
- the dynamic adaptation and good support of various traffic can improve resource utilization efficiency and network flexibility, while retaining the advantages of high speed, large capacity and low cost of the optical layer.
- Suitable for star/tree/ring various network topologies. 1 is a schematic diagram of a basic structure of an OBTN ring network provided by the prior art, as shown in FIG.
- each node is configured with a pair of fast tunable burst transmitters and fast tunable
- the burst receiver (expandable to multiple), the whole network has two wavelengths ⁇ 0 and ⁇ 1 as data channels, one wavelength ⁇ c as the control channel, and node A as the main node.
- OA is an optical amplifier in FIG.
- the English name is Optical Amplifier.
- the OMU is an optical coupler.
- the English name is Optical Multiplex Unit.
- the ODU is a splitter.
- the English name is Optical Demultiplex Unit.
- the FT-BMR is a fast tunable burst mode receiver. Fully known as Fast Tunable Burst Mode Receiver, FT-BMT is a fast tunable burst mode transmitter, and its English name is Fast Tunable Burst Mode Transmitter.
- the OBTN technology has the following features:
- the most basic transmission unit in the data channel is OB. There are guard times between OBs as intervals. Several OBs form a data frame. The corresponding OB frames and OB slot start positions of different wavelength channels need to be aligned.
- the data channel uses a burst optical receiver/transmitter. The optical burst data is sent from the source node to the destination node for direct transmission by the optical layer, and no intermediate node is required for electrical layer forwarding. The source side needs to aggregate and encapsulate the client side data packets to the OB to send.
- the control channel is separated from the data channel.
- the OBTN uses independent wavelength channel bearer control information, including Operation Administration and Maintenance (OAM) information, a bandwidth report for collecting bandwidth requests of each node, and a bandwidth map indicating the data sent/received by each node.
- Control frames are sent by the master node to each slave section Point, indicating the bandwidth map of each node to send/receive data, and then returning from each slave node to the master node, with the bandwidth request report of each slave node and the OAM information of the slave node.
- the control frame is sent before the primary node corresponding to the corresponding data frame, and also arrives at each slave node before the corresponding data frame.
- the control channel can use a common optical receiver/transmitter as a transceiver device, and each domain performs electrical domain processing to receive and update corresponding control information.
- the timing relationship between control frames and data frames in the OBTN ring network is shown in Figure 2.
- the OBTN node can quickly adjust the transmit/receive wavelength of the (nanosecond) transmitter/receiver to select the corresponding wavelength and OB time slot for burst data transmission/reception according to the bandwidth map to implement OB-based all-optical switching.
- OBTN adopts centralized control mode.
- Each slave node periodically reports bandwidth requests to the master node through the control frame.
- the master node performs wavelength and OB time slot allocation according to the current resource status and bandwidth allocation policy, and records the allocation result into the bandwidth map.
- the control frame is distributed to each slave node to implement fast scheduling of optical layer resources according to traffic requirements.
- the burst data packet is directly transmitted to the optical layer of the source destination node without being electrically processed, it is subject to wavelength consistency and slot consistency.
- node A sends a burst of data packets to node D.
- the bandwidth map specifies the third OB slot of the corresponding data frame at wavelength ⁇ 0. Since the optical layer transmits directly, there is no wavelength. Converter and optical buffer (wavelength converter is costly and has a serious impact on signal quality; optical buffer technology is not broken).
- this burst packet When passing through node B and node C to node D, this burst packet must also occupy wavelength ⁇ 0.
- the third OB slot of the data frame cannot change the wavelength and slot position.
- the resource conflicts in OBTN mainly include the following three types:
- a source transmitter can transmit burst data at only one wavelength at any slot position. As shown in Figure 1, node A sends a burst of A-->D in the third OB slot of the corresponding data frame of wavelength ⁇ 0; at this time, if there is another service in the bandwidth map with the node A as the source node At the third OB slot of the corresponding data frame of wavelength ⁇ 1, a transmitter resource collision is generated.
- a destination receiver can receive burst data at only one wavelength at any slot position. As shown in the figure, node D receives a burst of A-->D in the third OB slot of the corresponding data frame of wavelength ⁇ 0; at this time, if there is another service in the bandwidth map with the D node as the destination node, A receiver resource conflict occurs when the wavelength ⁇ 1 corresponds to the third OB slot of the corresponding data frame.
- the bandwidth allocation of each OB slot needs to query the usage status of the above three types of resources.
- the industry uses the primary node to allocate bandwidth to each node of the ring network, and establishes a resource status table at the primary node to record the usage status of the above three types of resources.
- the resource table includes: 1) source/destination resource status table Src_state[S][m ]/Dst_state[D][m], indicating the source section Point S/Usage state of the mth transmission/reception slot of the destination node D.
- the routing table Route_state[(S,D)][(i,j)] indicates whether the route of the node pair (S, D) whose source node is the destination node D is the link (i, j), After setting 1, it is set to 0, as shown in Figure 5.
- the data channel has N wavelengths, and each wavelength supports L OB slots, the number of OB slots allocated by the ring network at most is M*N*L.
- the time complexity of assigning one time slot to AB for each node is: querying the status of the use of the transmitter resource ⁇ (1), querying the status of the receiver resource usage ⁇ (1), and querying the routing table ⁇ (M-1) ), traversing the link resource usage status ⁇ (N*(M-1)) of all wavelengths. Therefore, the maximum time complexity is: ⁇ (1+1+(M-1)+N*(M-1)), that is, the time complexity of assigning an OB slot between pairs of nodes is ⁇ (( N+1)*(M-1)+2).
- the purpose of the embodiments of the present invention is to provide a method and a device for allocating a dynamic bandwidth of an optical burst ring network, which can better solve the problem of reducing the DBA period during the allocation of dynamic bandwidth in the optical burst ring network.
- a method for dynamically bandwidth allocation of an optical burst ring network including:
- the step of allocating a fixed time slot for each node pair includes:
- the found source node resource status, the destination node resource status, and the state value of the link resource status of each wavelength of each link through which the route passes are bitwise logically operated to obtain corresponding wavelengths.
- the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out until the accumulated result of the number of unoccupied time slots is greater than or equal to a, and then the fixed time is determined.
- a unoccupied time slot allocated by the slot is determined.
- the determined un-occupied time slots are saved as fixed time slots to the fixed time slot allocation result random access memory of the corresponding wavelength number.
- the step of allocating a guaranteed time slot for each node pair includes:
- the found source node resource status, the destination node resource status, and the state value of the link resource status of each wavelength of each link through which the route passes are bitwise logically operated to obtain corresponding wavelengths.
- the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out until the accumulated result of the number of unoccupied time slots is greater than or equal to b, and then the participating guaranteed time slots are determined.
- the allocated b unoccupied time slots are determined.
- the step of determining the non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation includes:
- the node pair actually participating in the non-guaranteed time slot allocation is selected, and the selected non-guaranteed time slot request of the node pair actually participating in the non-guaranteed time slot allocation is regarded as the actual participation non- A non-guaranteed time slot request that guarantees slot allocation.
- the step of allocating a non-guaranteed time slot for each node pair includes:
- Finding the source section of the node pair according to a non-guaranteed slot request of a node pair actually participating in the non-guaranteed slot allocation Point resource status, destination node resource status, link resource status of each wavelength of each link through which the route passes;
- the found source node resource status, the destination node resource status, and the state value of the link resource status of each wavelength of each link through which the route passes are bitwise logically operated to obtain corresponding wavelengths.
- a certain wavelength whose wavelength number is the smallest/largest and the slot resources are not fully occupied is determined, and the unoccupied time slot with the lowest/highest bit is used as the non-guaranteed time slot.
- two guaranteed time slot request random memories are set, and two guaranteed time slot requests of different dynamic bandwidth allocation periods are respectively saved.
- two non-guaranteed time slot requests are provided in the first-in first-out memory, and two non-guaranteed time slot requests of different dynamic bandwidth allocation periods are respectively saved.
- two sets of guaranteed and non-guaranteed time slot allocation result random memories for respectively maintaining the guaranteed and non-guaranteed time slot allocation results of two different dynamic bandwidth allocation periods are set, each group having a corresponding wavelength Numbered multiple guaranteed and non-guaranteed time slot allocation results random access memory, so that each node pair is guaranteed and non-guaranteed to the corresponding group according to the dynamic bandwidth allocation period and different wavelengths Time slot allocation result random access memory.
- a source node resource status table register for storing a source node resource status table, a destination node resource status table register for storing a destination node resource status table, and each link for storing each link.
- the status table register obtains the state of the target node resource of the node pair, obtains each link passing by the node pair by searching the routing table, and obtains a route by searching the link resource status table register of each wavelength of each link.
- the link resource status of each wavelength of each link is set.
- the fixed time slot allocation of each node pair is completed in the initialization phase, and remains unchanged afterwards.
- Each dynamic bandwidth allocation period is allocated a guaranteed bandwidth time slot according to the bandwidth request of each node pair. Non-guaranteed bandwidth time slots.
- each source node resource state, the destination node resource state, and the link resource state of each wavelength of each link are restored to the initial stage fixed time slot allocation in the initial stage of each dynamic bandwidth allocation period.
- an optical burst ring network dynamic bandwidth allocation apparatus including:
- the bandwidth request generating module is configured to generate, in the optical burst ring network, a fixed bandwidth request, a guaranteed bandwidth request, and a non-guarantee in a byte unit according to a bandwidth request of each node pair input by the outside world.
- Bandwidth request will The generated fixed bandwidth request, guaranteed bandwidth request, and non-guaranteed bandwidth request for each node pair are converted into fixed slot requests, guaranteed slot requests, and non-guaranteed slot requests, respectively, in slot units. ;
- the non-guaranteed bandwidth scheduling module is configured to determine a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation by scheduling a non-guaranteed time slot request for each node pair;
- the bandwidth map generating module is configured to allocate a fixed time slot, a guaranteed time slot, and a non-guaranteed time slot for each node pair according to the fixed time slot request, the guaranteed time slot request, and the non-guaranteed time slot request actually participating in the non-guaranteed time slot allocation. And generating a bandwidth map based on fixed time slots, guaranteed time slots, and non-guaranteed time slots assigned to each node pair.
- the bandwidth map generating module searches for the source node resource status, the destination node resource status, and each link of each route that the route pair passes.
- the link resource status of the wavelength is differentiated according to the wavelength, and the found source node resource status, the destination node resource status, and the state value of the link resource status of each wavelength of each link through which the route passes are bitwise logically ANDed Operation, obtaining state values corresponding to different wavelengths; determining a certain wavelength whose wavelength number is the smallest/largest and the slot resources are not fully occupied according to the state values corresponding to the different wavelengths, and calculating the bits of the unoccupied time slots and The number of unoccupied time slots is compared with the number of unoccupied time slots a to be allocated, and the number of unoccupied time slots is greater than or equal to the number of fixed time slots to be allocated by the node pair.
- a determining the unoccupied time slots participating in the fixed time slot allocation according to the order of the bits of the unoccupied time slots from low to high/high to low, otherwise, according to The long number is from small to large/large to small, and the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out until the accumulated result of the number of unoccupied time slots is greater than or equal to a, and then the a fixed time slot allocation is determined. Unoccupied time slots.
- the bandwidth map generating module has a plurality of fixed slot allocation result random memories respectively corresponding to different wavelength numbers, and the bandwidth map generating module distinguishes according to wavelengths, and the determined ones are unoccupied.
- the time slot is stored as a fixed time slot in a fixed time slot allocation result random access memory of the corresponding wavelength number.
- the bandwidth map generating module searches for the source node resource status, the destination node resource status, and each wavelength of each link that the route passes according to the guaranteed time slot request of a certain node pair.
- the link resource status is differentiated according to the wavelength, and the found source node resource status, the destination node resource status, and the status value of the link resource status of each wavelength of each link through which the route passes are bitwise logically operated.
- the non-guaranteed bandwidth scheduling module selects a node pair that actually participates in the non-guaranteed time slot allocation according to the priority or weight of each node pair, and allocates the selected actual participating non-guaranteed time slot.
- the node pair corresponds to the non-guaranteed time slot request as a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation.
- the bandwidth map generating module searches for a source node resource status, a destination node resource status, and a route of the node pair according to a non-guaranteed time slot request of a node pair actually participating in the non-guaranteed time slot allocation.
- the link resource status of each wavelength of each link passed is differentiated according to the wavelength, and the found source node resource status, the destination node resource status, and the link resource status of each wavelength of each link through which the route passes are
- the state value is subjected to bitwise logical AND operation to obtain state values corresponding to different wavelengths, and according to the state values corresponding to different wavelengths, a certain wavelength whose wavelength number is the smallest/largest and the time slot resources are not fully occupied is determined, and the bits are The lowest/highest unoccupied time slot is used as a non-guaranteed time slot.
- the bandwidth map generating module has two guaranteed time slot request random memories, which respectively store two guaranteed dynamic time slot allocation guarantee time slot requests.
- the bandwidth map generating module has two non-guaranteed time slots requesting first-in first-out memory, and respectively storing two non-guaranteed time slot requests of different dynamic bandwidth allocation periods.
- the bandwidth map generating module has two sets of guaranteed and non-guaranteed time slot allocation result random storage memories for respectively storing the guaranteed and non-guaranteed time slot allocation results of two different dynamic bandwidth allocation periods, each of which The group has a plurality of guaranteed and non-guaranteed time slot allocation result random memories corresponding to different wavelength numbers, so that the guaranteed time slots and non-guaranteed time slots allocated for each node pair are saved to the dynamic bandwidth allocation period and different wavelengths to The corresponding set of guaranteed and non-guaranteed time slot allocation results are random access memory.
- the bandwidth map generating module has a source node resource status table register for saving a source node resource status table, and a destination node resource status table register for saving a destination node resource status table, for saving.
- the resource status table register gets the link resource status for each wavelength of each link through which the route passes.
- the source node resource state and the destination node resource state are updated and saved according to resource usage conditions.
- the fixed time slot allocation of each node pair is completed in the initialization phase, and remains unchanged afterwards.
- Each dynamic bandwidth allocation period is allocated a guaranteed bandwidth time slot according to the bandwidth request of each node pair. Non-guaranteed bandwidth time slots.
- each source node resource state, the destination node resource state, and each wavelength resource state of each link according to the wavelength are restored to the initial stage fixed time slot in the initial stage of each dynamic bandwidth allocation period.
- the corresponding status value after the assignment is completed.
- a computer storage medium is further provided, and the computer storage medium may store an execution instruction, where the execution instruction is used to execute the optical burst ring network dynamic bandwidth allocation method in the foregoing embodiment.
- power consumption is reduced by reducing the number of resources and routing queries.
- Two dynamic bandwidth allocation cycles can be realized by using two guaranteed time slot request random memories, two non-guaranteed time slots request first-in first-out memory, and two sets of guaranteed and non-guaranteed time slot allocation result random memories. , greatly shortening the dynamic bandwidth allocation cycle.
- FIG. 1 is a schematic diagram of a basic structure of an OBTN ring network provided by the prior art
- FIG. 2 is a schematic diagram of relative timing of control frames and data frames in an OBTN ring network provided by the prior art
- FIG. 3 is a schematic block diagram of a method for dynamically bandwidth allocation of an optical burst ring network according to an embodiment of the present invention
- FIG. 4 is a structural block diagram of an optical burst ring network dynamic bandwidth allocation apparatus according to an embodiment of the present invention.
- FIG. 5 is a structural block diagram of a bandwidth map generation module in FIG. 4;
- FIG. 6 is a schematic diagram of initializing a routing table in a bandwidth map generating module according to an embodiment of the present invention
- FIG. 6b is a schematic diagram of initializing a source node resource status table in a bandwidth map generating module according to an embodiment of the present invention
- FIG. 6c is a schematic diagram of initializing a target node resource status table in a bandwidth map generating module according to an embodiment of the present invention.
- FIG. 6 is a schematic diagram of initialization of a wavelength 0 link resource status table in a bandwidth map generation module according to an embodiment of the present invention
- FIG. 6e is a schematic diagram of initializing a wavelength 1 link resource state table in a bandwidth map generating module according to an embodiment of the present invention
- FIG. 7a is a schematic diagram of a bandwidth request report input by a bandwidth request module according to an embodiment of the present invention.
- FIG. 7b is a schematic diagram of a fixed time slot request output by a bandwidth request module according to an embodiment of the present invention.
- FIG. 7c is a schematic diagram of a guaranteed time slot request output by a bandwidth request module according to an embodiment of the present invention.
- FIG. 7 is a schematic diagram of a non-guaranteed time slot request output by a bandwidth request module according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram of a wavelength 0 fixed time slot bandwidth map generated by a bandwidth map generating module according to an embodiment of the present invention.
- FIG. 8b is a schematic diagram of a wavelength 1 fixed time slot bandwidth map generated by a bandwidth map generating module according to an embodiment of the present invention.
- FIG. 8c is a schematic diagram of a wavelength 0 guarantee and a non-guaranteed time slot bandwidth map generated by a bandwidth map generating module according to an embodiment of the present invention
- FIG. 8 is a schematic diagram of a wavelength 1 guaranteed and non-guaranteed time slot bandwidth map generated by a bandwidth map generating module according to an embodiment of the present invention
- FIG. 9a is a source node resource status table after a bandwidth map generating module generates a bandwidth map according to an embodiment of the present invention.
- FIG. 9b is a destination node resource status table after a bandwidth map generating module generates a bandwidth map according to an embodiment of the present invention.
- FIG. 9c is a wavelength 0 link resource status table after the bandwidth map generating module generates the bandwidth map according to the embodiment of the present invention.
- FIG. 9 is a wavelength 1 link resource status table after the bandwidth map generating module generates a bandwidth map according to an embodiment of the present invention.
- the optical burst ring network has one master node and one or more slave nodes.
- the master node is responsible for dynamic bandwidth allocation according to the collected bandwidth request of each node including itself.
- the system administrator configures a fixed bandwidth byte number and a load length per time slot for each node pair at the primary node, and the system requests bandwidth in units of bytes. Convert to a bandwidth request in time slots and assign a corresponding time slot to each node pair.
- FIG. 3 is a schematic block diagram of a method for dynamically bandwidth allocation of an optical burst ring network according to an embodiment of the present invention. As shown in FIG. 3, the steps include:
- Step S101 In the optical burst ring network, generate a fixed bandwidth request, a guaranteed bandwidth request, and a non-guaranteed bandwidth request in bytes for each node pair according to a bandwidth request for each node pair input by the outside world, and Converting the byte-based fixed bandwidth request, guaranteed bandwidth request, and non-guaranteed bandwidth request of each node pair into fixed time slot requests, guaranteed time slot requests, and non-guaranteed time slot requests, respectively, in time slots. .
- Step S102 Determine a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation by scheduling the non-guaranteed time slot request of each node pair.
- the node pair has a non-guaranteed time slot request, according to the priority or weight of each node pair, the node pair actually participating in the non-guaranteed time slot allocation is selected, and the selected actual participating non-guaranteed time slot allocation is selected.
- the node pair corresponding to the non-guaranteed time slot request is a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation.
- Step S103 non-guaranteed time slot according to fixed time slot request, guaranteed time slot request and actual participation in non-guaranteed time slot allocation
- the request allocates a fixed time slot, a guaranteed time slot, and a non-guaranteed time slot for each node pair, and generates a bandwidth map according to the fixed time slot, the guaranteed time slot, and the non-guaranteed time slot assigned to each node pair.
- the invention relates to a subwavelength all-optical switching network and a dynamic bandwidth allocation technology of an optical burst transmission network.
- the query of the three types of resource usage states is the key of the bandwidth dynamic allocation algorithm, and specifically includes the source node resource state table and the destination node resource state. Table, link resource status table, routing table query.
- the bandwidth provided by the operator for users is usually divided into three categories, one is fixed bandwidth, the other is guaranteed bandwidth, and the other is non-guaranteed bandwidth.
- Fixed bandwidth and guaranteed bandwidth have high priority. Due to the adoption of planning and access control mechanisms, fixed bandwidth and guaranteed bandwidth can be fully allocated.
- Non-guaranteed bandwidth is shared bandwidth with lower priority. There are resource conflicts between nodes in the allocation phase. In the case of the need to consider the fairness of the distribution. In general, the fixed bandwidth is allocated in the system initialization phase, and remains unchanged after that. Both the guaranteed bandwidth and the non-guaranteed bandwidth need to be allocated in real time according to the network operation, which consumes more time.
- a fixed time slot is allocated and recorded for each node pair, and the specific steps include: allocating a request for a fixed time slot of a certain node pair, searching for source node resource status and destination node resources of the node pair.
- the state value of the resource state is subjected to bitwise logical AND operation to obtain state values corresponding to different wavelengths; according to state values corresponding to different wavelengths, a certain wavelength whose wavelength number is the smallest/largest and the time slot resources are not fully occupied is determined, and Calculating the number of unoccupied time slots and the number of unoccupied time slots; comparing the number of unoccupied time slots with the number of fixed time slots to be allocated a of the pair of nodes; if the number of unoccupied time slots is greater than or equal to Determining the number of fixed time slots to be allocated in the node pair, determining the participation in the fixed time slot according to the order of the bits of the unoccupied time slot from low to high/high to low.
- All the unoccupied time slots are allocated; otherwise, the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out in the order of the wavelength number from small to large/large to small, until the accumulated result of the number of unoccupied time slots is greater than or equal to a, then determine a non-occupied time slot that participates in the fixed time slot allocation. Wherein, the determined one unoccupied time slot is saved as an allocated fixed time slot to the fixed time slot allocation result random memory of the corresponding wavelength number according to the wavelength.
- the step of allocating a guaranteed time slot for each node pair includes: searching for a source node resource status, a destination node resource status, and each chain of the route passing by the node pair according to the guaranteed time slot request of a certain node pair The link resource status of each wavelength of the path; distinguishing according to the wavelength, and locating the found source node resource status, the destination node resource status, and the status value of the link resource status of each wavelength of each link through which the route passes.
- Logic and operation obtaining state values corresponding to different wavelengths; determining a certain wavelength whose wavelength number is the smallest/largest and not occupied by the time slot resource according to the state value corresponding to the different wavelength, and calculating the bit of the unoccupied time slot And the number of unoccupied time slots; comparing the number of unoccupied time slots with the number of guaranteed time slots b to be allocated by the node pair; if the number of unoccupied time slots is greater than or equal to the number of to-be-assigned to the pair of nodes Assigning the guaranteed number of timeslots b, determining the b unoccupied time slots participating in the guaranteed time slot allocation according to the order of the bits of the unoccupied time slots from low to high/high to low; Then, according to the wavelength number from small to large/large to small, the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out until the accumulated result of the number of unoccupied time slots is greater than or equal to b, and then the participating guaranteed time slots are determined.
- the allocated b unoccupied time slots are assigned to the node pair as guaranteed time slots.
- two guaranteed time slot request random memories are set, and two guaranteed time slot requests of different dynamic bandwidth allocation periods are respectively saved, and two sets are set.
- the guaranteed time slot request random access memory is to form a pipeline operation from the last dynamic bandwidth allocation switch to the next dynamic bandwidth allocation, and shorten the time required for each dynamic bandwidth allocation.
- the fixed bandwidth time slot allocation request of each node pair is also stored in a guaranteed time slot request random access memory.
- the step of allocating a non-guaranteed time slot for each node pair includes: searching for a source node resource status and purpose of the node pair according to a non-guaranteed time slot request of a node pair actually participating in the non-guaranteed time slot allocation Node resource status, link resource status of each wavelength of each link through which the route passes; distinguishing by wavelength, finding the source node resource status, destination node resource status, and each link of each link through which the route passes.
- the state value of the link resource state is subjected to bitwise logical AND operation to obtain state values corresponding to different wavelengths; according to state values corresponding to different wavelengths, a certain wavelength whose wavelength number is the smallest/largest and the slot resources are not fully occupied is determined.
- the unoccupied time slot with the lowest/highest bit is used as the non-guaranteed time slot, and is assigned to the node pair. If no unoccupied time slot is found according to all wavelength state values, the node is not guaranteed this time. The time slot assignment was not successful. Wherein, two non-guaranteed time slot requests are provided in the first-in first-out memory, and two non-guaranteed time slot requests of different dynamic bandwidth allocation periods are respectively saved.
- Guaranteed and non-guaranteed time slot allocation result random memories for respectively storing the guaranteed and non-guaranteed time slot allocation results of two different dynamic bandwidth allocation periods are set, each group having a number corresponding to different wavelength numbers.
- Guaranteed and non-guaranteed time slot allocation result random access memory ie, a random access memory with multiple guaranteed and non-guaranteed time slot allocation results in each group, each of which guarantees a non-guaranteed time slot allocation result random access memory corresponding to a wavelength number
- the b time slots and non-guaranteed time slots allocated as guaranteed slots for each node pair are saved to the corresponding group of guaranteed and non-guaranteed time slot allocation result random memories.
- a source node resource status table register for storing a source node resource status table, a destination node resource status table register for storing a destination node resource status table, and a wavelength-differentiated one for storing each link are set.
- FIG. 4 is a structural block diagram of an optical burst ring network dynamic bandwidth allocation apparatus according to an embodiment of the present invention. As shown in FIG. 4, the method includes a bandwidth request generation module 10, a non-guaranteed bandwidth scheduling module 20, a bandwidth map generation module 30, and a CPU interface. Module 40.
- the bandwidth request generating module 10 is configured to generate, in the optical burst ring network, a fixed bandwidth request, a guaranteed bandwidth request, and a non-byte for each node pair according to a bandwidth request for each node pair input by the outside world. Guarantee bandwidth request, convert the generated fixed bandwidth request, guaranteed bandwidth request, and non-guaranteed bandwidth request of each node pair into fixed time slot request in time slot, guaranteed time slot request And the non-guaranteed time slot request, and sending the fixed time slot request and the guaranteed time slot request to the bandwidth map generating module, and sending the non-guaranteed time slot request to the non-guaranteed bandwidth scheduling module.
- the non-guaranteed bandwidth scheduling module 20 is configured to determine the actual by scheduling the non-guaranteed slot request for each node pair. Non-guaranteed time slot requests participating in non-guaranteed time slot allocation. Specifically, when the node pair has a non-slot allocation request, the non-guaranteed bandwidth scheduling module 20 selects a node pair that actually participates in the non-guaranteed time slot allocation according to the priority or weight of each node pair, and selects the actual selected.
- the non-guaranteed time slot request corresponding to the node participating in the non-guaranteed time slot allocation is a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation.
- the bandwidth map generation module 30 is configured to allocate a fixed time slot, a guaranteed time slot, and a non-guaranteed time slot for each node pair according to a fixed time slot request, a guaranteed time slot request, and a non-guaranteed time slot request that actually participates in the non-guaranteed time slot allocation. And generating a bandwidth map based on fixed time slots, guaranteed time slots, and non-guaranteed time slots assigned to each node pair. Specifically, in the initialization phase, for a certain node pair, according to the fixed slot request, the bandwidth map generating module 30 searches for the source node resource status, the destination node resource status of the node pair, and each link of each route that the route passes.
- the link resource status of the wavelength is differentiated according to the wavelength, and the found source node resource status, the destination node resource status, and the state value of the link resource status of each wavelength of each link through which the route passes are bitwise logically ANDed Operation, obtaining state values corresponding to different wavelengths; determining a certain wavelength whose wavelength number is the smallest/largest and the slot resources are not fully occupied according to the state values corresponding to the different wavelengths, and calculating the bits of the unoccupied time slots and The number of unoccupied time slots is compared with the number of unoccupied time slots a to be allocated, and the number of unoccupied time slots is greater than or equal to the number of fixed time slots to be allocated by the node pair.
- a determining the unoccupied time slots participating in the fixed time slot allocation according to the order of the bits of the unoccupied time slots from low to high/high to low, otherwise, press
- the wavelengths that are not occupied by the subsequent time slot resources are sequentially taken out until the accumulated result of the number of unoccupied time slots is greater than or equal to a, and then the fixed time slot allocation is determined.
- a unoccupied time slot is assigned to the node pair as a fixed time slot.
- each node sends its own bandwidth request to the master node, and the master node utilizes the bandwidth request generation module 10 to survive the guaranteed slot request, and the master node utilizes the bandwidth request generation module 10 and the non-guaranteed bandwidth.
- the scheduling module 20 generates a request to actually participate in the non-guaranteed time slot allocation.
- the bandwidth map generating module 30 searches for the source node resource status, the destination node resource status, and the link resource status of each wavelength of each link that the route passes according to the guaranteed time slot request of a certain node pair, according to the wavelength.
- the wavelength number is from small to large/by To a small order, sequentially taken subsequent wavelength slot resource is not fully occupied, until the number of unoccupied time slots equal to or greater than the accumulation result b, and then determines the allocated guaranteed time slots participate b unoccupied slots.
- the bandwidth map generating module 30 searches for the source node resource status, the destination node resource status, and each link of each route that the node pairs are based on a non-guaranteed time slot request of a node pair that actually participates in the non-guaranteed time slot allocation.
- the link resource status of the wavelength is differentiated according to the wavelength, and the found source resource status, the destination node resource status, and the status value of the link resource status of each wavelength of each link through which the route passes are bitwise logically operated.
- the node's non-guaranteed time slot allocation is not successful.
- the bandwidth map generation module 30 has a plurality of fixed time slot allocation result random memories respectively corresponding to different wavelength numbers (ie, corresponding to each wavelength number, having A fixed time slot allocation result random access memory), the bandwidth map generating module distinguishes according to the wavelength, and saves the determined a unoccupied time slots as fixed time slots to the fixed time slot allocation result random access memory of the corresponding wavelength number.
- the bandwidth map generation module 30 also has two guaranteed slot request random memories, which respectively store guaranteed time slot requests for two different dynamic bandwidth allocation periods.
- the bandwidth map generation module 30 also has two non-guaranteed time slot requests for first-in first-out memory to store two non-guaranteed time slot requests for different dynamic bandwidth allocation periods.
- the bandwidth map generation module 30 also has two sets of guaranteed and non-guaranteed slot allocation result random memories for respectively storing the guaranteed and non-guaranteed slot allocation results of two different dynamic bandwidth allocation periods, each group having a corresponding wavelength number. Multiple guaranteed and non-guaranteed time slot allocation results random access memory (ie corresponding to each wavelength number, with a guaranteed and non-guaranteed time slot allocation result random access memory), thus according to the dynamic bandwidth allocation period and different wavelengths, will be for each The pair of nodes allocates b time slots and non-guaranteed time slots as guaranteed slots to the corresponding group of guaranteed and non-guaranteed time slot allocation result random memories.
- the bandwidth map generation module 30 further has a source node resource status table register for storing the source node resource status table, a destination node resource status table register for storing the destination node resource status table, and is used to save each wavelength of each link.
- the resource status table register obtains the status of the destination node resource of the node pair, obtains each link that the node pair passes through the lookup routing table, and obtains a route by searching the link resource status table register corresponding to each wavelength of each link. The status of each wavelength resource per link.
- each wavelength link resource status table register After assigning a fixed time slot and a guaranteed time slot to a node pair or after allocating a non-guaranteed time slot, update and save the source node resource status, the destination node resource status, and each link according to the wavelength according to the resource usage.
- the status value of each wavelength resource state That is to say, each time a slot pair is allocated, regardless of whether a fixed time slot, a guaranteed time slot or a non-guaranteed time slot is allocated, the source node resource status table register, the destination node resource status table register, and each are updated.
- the segment links each wavelength link resource status table register to reflect the usage status of each resource.
- each source node resource state, destination node resource state, each wavelength resource state of each link differentiated by wavelength is restored to the corresponding state value after the completion of the fixed slot allocation in the initialization phase. That is, each time the dynamic bandwidth allocation period begins, the source node resource status table register, the destination node resource status table register, and each wavelength link resource status table register for each link, their state values are restored to initialization. The status value after the stage fixed slot allocation is completed.
- the optical burst ring network dynamic bandwidth allocation device has a simple structure. No matter how many time slots are supported by an optical burst ring network, only 8 clock cycles of the master node can complete a fixed bandwidth or guarantee bandwidth allocation of a node pair. It takes 5 clock cycles to allocate a non-guaranteed time slot for a node pair, which greatly reduces the time taken for guaranteed bandwidth and non-guaranteed bandwidth allocation, reduces the state query time consumed by each dynamic bandwidth allocation cycle, and ensures optical warheads. Send ring network bandwidth real-time allocation.
- the bandwidth allocation of the present invention actually allocates the required time slots according to the bandwidth of each (S, D) node to the real-time request, where S is the source node from which the data starts, and D is the destination node to which the data needs to arrive.
- the bandwidth request generation module 10 classifies the bandwidth request by the externally input (S, D) node into three categories: a fixed bandwidth request, a guaranteed bandwidth request, and a non-guaranteed bandwidth request.
- the fixed bandwidth request and guaranteed bandwidth request in bytes are converted into fixed time slot requests and guaranteed time slot requests in units of time slots.
- One time slot can transmit several bytes, each time slot is in bytes.
- the load length for the unit is configured by the CPU interface module 40, and the fixed time slot request and the guaranteed time slot request are sent to the bandwidth map generation module 30.
- the non-guaranteed bandwidth request in bytes is converted into a non-guaranteed slot request in units of slots, and the non-guaranteed slot request must be sent to the non-guaranteed bandwidth scheduling module 20.
- the non-guaranteed bandwidth scheduling module 20 converts the non-guaranteed slot bandwidth request into a non-guaranteed slot request that actually participates in the non-guaranteed slot allocation, and transmits it to the bandwidth map generation module 30, while ensuring fairness.
- the bandwidth map generating module 30 queries, selects, and allocates time slot resources of the optical burst ring network according to the received fixed time slot request, guaranteed time slot request, and non-guaranteed time slot request of each (S, D) node pair.
- the actual time slot generates a bandwidth map, and outputs the generated bandwidth map to the master node according to the requirements of the master node.
- the bandwidth map generating module 30 specifically includes: a source node resource state table, a destination node resource state table, a routing table, a link resource state table, and a guaranteed slot request random access memory.
- a source node resource state table a destination node resource state table
- a routing table a link resource state table
- a guaranteed slot request random access memory 0
- non-guaranteed time slot request first-in first-out FIFO memory fixed time slot allocation result random memory group
- guaranteed and non-guaranteed time slot allocation The result consists of a random access memory group and a time slot allocation and operation control module.
- each source node resource state Src_State is saved by a register (ie, a source node resource status table register), and each destination node resource state Dst_State is also used.
- the register ie, the destination node resource status table register
- W is a positive integer, indicating the maximum number of slots allocated per bandwidth.
- the link resource status table between the node and the node is stored in a register (ie, a link resource status table register), and each link resource state Wave_n_Link_State of each wavelength of the data channel adopts a bit width W.
- the register is saved, n is the corresponding wavelength number.
- n For an optical burst ring network with N wavelengths, its value is an integer between [0, N-1], and the definition of n below is also the same.
- the routing table is stored by a dual port random access memory (ie, routing table dual port random access memory), and each storage unit represents a set of links that need to pass from a certain source node to a destination node, and the number of nodes is M.
- Each bit of the storage unit corresponds to a link that the data needs to pass from the source node to the destination node.
- the data is set from the source node to the destination node when passing the corresponding link, and is set to 0 when not passing.
- the storage address of any (S, D) node pair in the routing table is composed of the source node S number and the destination node D number.
- the routing table storage address high is the number of the source node S, and the lower address is the destination node D. Binary number.
- FIG. 6a is a schematic diagram of initializing a routing table in a bandwidth map generating module according to an embodiment of the present invention. As shown in FIG. 6a, a routing table of an optical burst ring optical network composed of four nodes A0, A1, A2, and A3, any one of them.
- the storage address ADDR[3:0] of the (S, D) node is composed of the node number of the source node S and the node number of the destination node D, where ADDR[3:2] is equal to the number of the source node S, ADDR [1:0] is the number of the destination node D, where the route storage address of (A0, A0) is 0, the route storage address of (A0, A1) is 1; the bit0 in each storage unit of the routing table indicates (A0, A1) Path, bit 1 indicates the (A1, A2) path, bit 2 indicates the (A2, A3) path, and bit 3 indicates the (A3, A0) path.
- Guaranteed time slot requests are saved using two dual port memories, dual port memory, one port for writing data and one port for reading data. These two memories are respectively called guaranteed time slot request random memory 0 and guaranteed time slot request random storage Reservoir 1, their memory address line number and address data structure are exactly the same as the routing table.
- the reason for using two guaranteed time slots to request random access memory is to ensure that the time slot is allocated a DBA cycle followed by a DBA cycle flow: a memory that holds all nodes to guarantee the time slot bandwidth request in the time slot allocation and operation control module When the current DBA cycle is used, the other does not save any node guarantee slot bandwidth request, or the guaranteed time slot bandwidth request of all saved node pairs has been traversed by the time slot allocation and operation control module in the previous DBA cycle, and allocated The corresponding time slot is used to save the guaranteed time slot request data of each node pair in the next DBA time slot allocation period.
- the non-guaranteed time slot request is stored in two first-in, first-out FIFO memories, which are non-guaranteed time slot request FIFO memory 0 and non-guaranteed time slot request FIFO memory 1, respectively, and the FIFO memory holds each (S, D) node pair.
- the binary code, the high order of each memory cell is numbered by the source node S, and the low bit is the binary number of the destination node D.
- the reason why two non-guaranteed time slots are used to request the FIFO memory is to ensure that the time slot is allocated one DBA cycle and then one DBA cycle, and one time slot allocation and operation control module performs the current DBA cycle non-guaranteed time slot allocation.
- Another idle non-guaranteed time slot request FIFO memory can be used to store the non-guaranteed time slot request data required for the next DBA cycle time slot allocation.
- the bandwidth map generation module clears the FIFO prepared to save data before writing the DBA period non-guaranteed slot request data, and then writes the non-guaranteed slot request data of all node pairs in the current DBA period.
- the fixed time slot allocation result is saved by a set of dual port random access memory (ie, fixed time slot allocation result random access memory 0, 1, ..., N-1), the memory has a bit width of W, the number of memory address lines and the address data structure and The routing table is exactly the same.
- the data channel has N wavelengths of optical burst ring network, and N such memories are needed to store fixed bandwidth allocation results, one wavelength corresponds to one, wavelength 0 corresponds to fixed time slot allocation result, random memory 0, and wavelength n corresponds to fixed time slot allocation.
- the result is a random access memory n.
- the guaranteed time slot and non-guaranteed time slot allocation results are stored in a dual port random access memory.
- the bit width of this type of memory is W, and the number of memory address lines and the address data structure are exactly the same as the routing table.
- the data channel has an N-wavelength optical burst ring network, and N sets of dual-port random access memories are needed to preserve the guaranteed time slot and non-guaranteed time slot allocation results, one wavelength corresponding to a set of dual port memories.
- Each group is stored using two memories, which are the guaranteed and non-guaranteed time slot allocation result random access memory n0 and the guaranteed and non-guaranteed time slot allocation result random access memory n1.
- each group uses two guaranteed and non-guaranteed time slot allocation result random access memory: one holds the randomization of all nodes for guaranteed and non-guaranteed time slot allocation results.
- the memory is for the master node to read the bandwidth map in the current DBA bandwidth allocation period, the other does not save the guaranteed and non-guaranteed slot allocation results or although the guaranteed and non-guaranteed slot allocation results are saved, but the allocation result has been Complete reading in the previous DBA cycle, the latter is used to save the next DBA time slot allocation period guarantee and non-guaranteed time slot allocation results.
- an optical burst ring network with N wavelengths in the data channel requires two sets of dual-port random access memories for storing the guaranteed and non-guaranteed slot allocation results of two different dynamic bandwidth allocation periods to preserve the guaranteed time slots and As a result of the non-guaranteed slot allocation, each set of dual port random access memories has N dual port random access memories corresponding to different N wavelengths.
- the bandwidth request generation module 10 is first configured by the CPU interface module 40, and a fixed bandwidth in bytes is configured for each (S, D) node pair, and each time slot is configured in bytes. Load length. At this time, the fixed bandwidth allocation completion signal outputted by the bandwidth request generation 10 module to the primary node is invalid, and the primary node thus does not input a bandwidth request to the optical burst ring dynamic bandwidth allocation device.
- the non-guaranteed bandwidth scheduling module 20 is configured with the necessary parameters, such as priority, weight, etc., by the CPU interface module 40, so that the non-guaranteed bandwidth scheduling module 20 can perform non-guaranteed bandwidth scheduling work as required after the initialization is completed.
- This embodiment takes a 4-node optical burst ring network as an example.
- the bandwidth map generation module 30 also needs to be initialized, and each bit of each source node resource status register and destination node resource status register is set to 1, indicating that the corresponding time slot is idle, as shown in FIG. 6b.
- Each bit of the link resource status register corresponding to each link of each wavelength is set to 1, indicating that the corresponding link-related time slot is also idle, as shown in FIG. 6d, the bandwidth map generation module provided by the embodiment of the present invention.
- the routing table is initialized, and each storage unit of the routing table corresponds to a route of one (S, D) node pair, and each link of the storage unit corresponds to each link of the data from the source node S to the destination node D.
- the traversed link is set to 1, and the non-passed link is set to 0.
- the initialization diagram of the routing table in the bandwidth map generating module 30 provided by the embodiment of the present invention is shown in FIG. 6a.
- the CPU interface module 40 issues an indication to the bandwidth request generation module 10 to initiate a fixed bandwidth time slot allocation operation.
- the bandwidth request generation module 10 converts the fixed bandwidth in bytes of the CPU configuration into fixed time slot request data in units of time slots, such as the fixed time output of the bandwidth request module provided by the embodiment of the present invention as shown in FIG. 7b.
- Schematic diagram of the slot request (the number is represented in hexadecimal notation), and the request data is sent to the bandwidth map generating module 30, and the bandwidth map generating module 30 saves the data in the guaranteed slot request random memory 0, one (S, D)
- the node pair occupies one storage unit.
- the bandwidth map generation module 30 After receiving the fixed time slot request of all (S, D) node pairs, the bandwidth map generation module 30 initiates the allocation of fixed time slots.
- the result of the fixed time slot allocation that is, the fixed bandwidth map is grouped by wavelength, and is stored in the fixed time slot allocation result random access memory 0 to the fixed bandwidth time slot allocation result random access memory N-1, respectively.
- the bandwidth map generating module 30 notifies the bandwidth request generating module 10 that the bandwidth request generating module 10 asserts the fixed bandwidth allocation completion instruction signal.
- the master node sends each (S, D) node to the bandwidth request generation module 10 for the bandwidth request report in bytes, and the bandwidth request report is as shown in FIG. 7a (the numbers therein are expressed in decimal).
- the bandwidth request generation module 10 generates a guaranteed slot request and a non-guaranteed slot request according to the bandwidth request of each node pair, and ensures that the slot request is as shown in FIG.
- the guaranteed time slot request is directly sent to the guaranteed time slot request random memory 0 of the bandwidth map generating module 30, and the non-guaranteed time slot request is sent to the non-guaranteed bandwidth scheduling module 20, and the non-guaranteed bandwidth requesting module 10 according to the parameters of the initial configuration, according to the fairness
- all (S, D) nodes are scheduled for non-guaranteed time slot requests, and node pairs participating in non-guaranteed time slot allocation are selected, each time given a certain selection.
- the node requests a non-guaranteed time slot request. Since each opportunity represents only one non-guaranteed time slot request of a certain (S, D) node pair, the FIFO memory holds the binary number of the pair of nodes.
- the data ⁇ S, D ⁇ , the non-guaranteed bandwidth scheduling module 20 first clears the non-guaranteed slot request FIFO memory 0, and then transmits each scheduled binary data ⁇ S, D ⁇ to the non-guaranteed time of the bandwidth map generating module 30. The gap is requested in FIFO memory 0.
- the bandwidth request generating module 10 issues a bandwidth map generating start signal to the bandwidth map generating module 30, and the bandwidth map is generated.
- the guaranteed time slot allocation is initiated. In order to shorten the running time and ensure that the time slot adopts the method of batch allocation, one scheduling allocates a guaranteed time slot of the request to the node pair according to requirements, and saves the allocated result according to the wavelength in the guaranteed and non-guaranteed time slots.
- the time slot allocation and operation control module After all the guaranteed time slots of the node pair are allocated, the time slot allocation and operation control module reads the non-guaranteed time slot request FIFO memory, Reading a non-guaranteed time slot request from a pair of nodes from the FIFO memory, and then scheduling the resource status with the time slot allocation and operation control module, assigning a time slot to the node pair if a suitable time slot is found, and The corresponding time slot is stored in the guaranteed and non-guaranteed time slot allocation result memory n0 according to the wavelength. If the appropriate time slot cannot be found for the requested node pair, the allocation fails.
- the time slot allocation and operation control module will continue to read the FIFO and allocate non-guaranteed time slots for other node pairs. .
- the time slot allocation and operation control module continues the allocation of the non-guaranteed time slots in the above manner, and only two cases complete or stop the allocation of the non-guaranteed time slots. In one case, the FIFO is empty, and this case is all non-guaranteed.
- the time slot has been allocated; one case is to ensure that the time slot request random access memory 1 has received all the (S, D) nodes to guarantee the time slot request data for the next DBA cycle bandwidth allocation, which indicates the next DBA allocation.
- the time is up, the current DBA cycle is forced to end.
- An example of a bandwidth allocation result is shown in Figures 8a to 8d (where the numbers are expressed in hexadecimal), and the status register values after one DBA bandwidth allocation are as shown in Figures 9a to 9d.
- the time slot allocation and operation control module issues a bandwidth map ready signal, and after receiving the signal, the master node reads the fixed time slot allocation result memory 0 to the fixed time slot allocation result memory N-1.
- the bandwidth allocation of the next DBA cycle is started after the guaranteed time slot request random access memory 1 has received all (S, D) nodes for the guaranteed time slot request data of the next DBA cycle bandwidth allocation, and the time slot allocation and operation control module read first.
- the guaranteed time slot request random access memory 1 starts the allocation of the guaranteed time slot, and the allocated result is stored in the guaranteed time slot and the non-guaranteed time slot allocation result memory n1 (n is the wavelength number) according to the wavelength.
- the non-guaranteed time slot request FIFO memory 1 is read, the non-guaranteed time slot allocation is started, and the allocated result is also stored in the guaranteed time slot and the non-guaranteed time slot allocation result memory n1 according to the wavelength.
- the time slot allocation and operation control module will stop the non-guaranteed time slot allocation in only two cases. One is that the FIFO is empty, and the other is to ensure that the time slot request random memory 0 has received all (S, D) node pairs. Guaranteed time slot request data for a DBA periodic bandwidth allocation. According to the above rules, the device performs bandwidth allocation for the optical burst ring network loop.
- the allocated time slots of each (S, D) node pair are divided into three categories: fixed bandwidth, guaranteed bandwidth, and non-guaranteed bandwidth.
- Fixed bandwidth and guaranteed bandwidth are allocated in batches, and all required time slots are allocated in one allocation.
- Non-guaranteed bandwidth time slot In order to ensure fairness, only one requested time slot is allocated to the requested (S, D) node pair at a time, and the non-guaranteed bandwidth needs to be allocated multiple times to be allocated.
- the fixed bandwidth is completed in the initialization phase, and the fixed bandwidth allocation is no longer performed during the running of the system.
- the time slot allocation of the bandwidth map generation module 30 is pipelined. Whether it is fixed bandwidth, guaranteed bandwidth or non-guaranteed bandwidth, the primary bandwidth allocation of one (S, D) node pair is divided into six steps, but the guaranteed bandwidth and non-guaranteed The number of time slots allocated for each bandwidth is different. The clock period required for operation is different. It takes eight clocks for any (S, D) node to allocate num_slots (num_slots greater than 1) fixed bandwidth or guaranteed bandwidth time slots at a time. Cycles, it takes only five clock cycles to allocate a non-guaranteed bandwidth time slot for any (S, D) node pair.
- the fixed bandwidth or guaranteed bandwidth time slot allocation process of the bandwidth map generation module 30 includes the following six steps:
- Step 1 Query the routing table to obtain all the links that the (S, D) node pairs pass.
- Step 2 First, query the source/destination node resource status register to obtain the resource state Src_State of the source node S and the resource state Dst_State of the destination node D. Query the link resource status table and query the resource status of each link (i, j) that the (S, D) node has passed.
- Step 3 For the (S, D) node, the resource state of each link (i, j) through which the route passes, the resource state Src_State of the source node S, and the resource state Dst_State of the destination node D are distinguished according to the wavelength, and are respectively separated by Perform bitwise AND operations and save the results separately.
- bitwise and operation result of the above wavelength 0 is saved in Wave_0_State
- bitwise operation result of the wavelength 1 is saved in Wave_1_State
- bitwise logical operation result of the wavelength n is saved in Wave_n_State
- n is a non-negative integer.
- Step 4 Determine whether the state value corresponding to the wavelength of the wavelength/minimum/maximum wavelength is 0. For convenience of description, it is assumed that the wavelength is a, and its state value is Wave_a_State. If Wave_a_State is greater than 0, starting from the highest bit of Wave_a_State, look for all bits that are 1 and note their serial number, and calculate the number N of bits of 1.
- N is greater than num_slots of (S, D)
- the time slots indicated by the num_slots of 1 from the lowest/highest bit participate in the time slot allocation, and the time slots represented by all other bits do not participate in the time slot. Assignment, time slot assignment is successful, go to step 5.
- the bits according to the unoccupied time slots are determined from low to high/high to low. Participate in num_slots unoccupied time slots that guarantee slot allocation;
- the state value corresponding to the next wavelength whose wavelength number is larger/shorter than the previous available wavelength number is taken. If its state value is equal to 0, the state value corresponding to a larger number of wavelengths is taken, and if the state value is not obtained, For wavelengths other than 0, then (S, D) The time slot allocation ends, and the process proceeds to step 5. Otherwise, the following operation is performed for the wavelength b whose next state value is not 0.
- the state value is assumed to be Wave_b_State, so:
- Wave_a_State is subjected to a bitwise logical exclusive OR operation with the binary number 1111...1 to obtain State_temp, and then State_temp and Wave_b_State are bitwise logically ANDed to obtain a State.
- the subsequent time slot resources need to be sequentially extracted according to the wavelength number from small to large/small to large.
- the wavelengths that are not fully occupied until the accumulated number of unoccupied time slots satisfy the requested fixed bandwidth or the number of time slots of the guaranteed bandwidth time slot num_slots.
- Step 5 The (S, D) node updates the result of the time slot allocation to the random access memory, that is, the fixed time slot allocation result is saved according to the wavelength to the fixed time slot allocation result random memory; for ensuring the time slot allocation result, The wavelength is saved to the guaranteed and non-guaranteed time slot allocation results in the random access memory.
- the source node resource status register, the destination node resource status register, and the link resource status register corresponding to the wavelength are updated, and the used time slot is set to 0. Indicates that the time slot has been occupied so that it cannot be allocated again in the next time slot allocation, thereby avoiding resource conflicts.
- the time slot assignment of this (S, D) node pair ends.
- Step 6 The allocation fails. No wavelength successfully participates in the time slot allocation.
- the bandwidth map does not need to be updated.
- the source node resource status register, the destination node resource status register, and the link resources of all wavelengths of the (S, D) node pair need not be updated.
- Status register The time slot assignment of this (S, D) node pair ends.
- the non-guaranteed time slot allocation process of the bandwidth map generating module 30 includes the following six steps:
- Step 1 Query the routing table to obtain all the links that the (S, D) node pairs pass.
- Step 2 Query the source/destination node resource status register to obtain the resource state Src_State of the source node S and the resource state Dst_State of the destination node D. Query the link resource status table and query the resource status of each link (i, j) that the (S, D) node has passed.
- Step 3 For the (S, D) node, the resource state of each link (i, j) through which the route passes, the source node S resource state Src_State, and the destination node D resource state Dst_State are distinguished according to the wavelength, and are sequentially pressed Bits and operations and save the results separately.
- bitwise and operation result of the above wavelength 0 is saved in Wave_0_State
- bitwise operation result of the wavelength 1 is saved in Wave_1_State
- bitwise logical operation result of the wavelength n is saved in Wave_n_State
- n is a non-negative integer.
- Step 4 Determine whether the state value corresponding to the wavelength of the wavelength/minimum/maximum wavelength is 0.
- the wavelength is a
- its state value is Wave_a_State. If Wave_a_State is greater than 0, starting from the lowest/highest bit of Wave_a_State, look for the location of the first data with data 1 and record its serial number. The corresponding time slot is when the non-guaranteed time slot bandwidth is allocated. Gap, turn to step five. If Wave_a_State is equal to 0, the state value corresponding to the next wavelength whose wavelength number is larger/shorter than the previous available wavelength number is taken. If no wavelength is available for selection, the process proceeds to step 6, otherwise the step is repeated.
- Step 5 Update the result of the time slot allocation of the (S, D) node to the random memory of the guaranteed and non-guaranteed time slot allocation result. If a certain wavelength participates in the time slot allocation successfully, and the time slot is contributed, the source node is updated.
- the resource status register, the destination node resource status register, and the link resource status register corresponding to the wavelength set the used time slot to 0, indicating that the time slot has been occupied so that it cannot be allocated again in the next time slot allocation.
- the time slot assignment of this (S, D) node pair ends.
- Step 6 The allocation fails. No wavelength successfully participates in the time slot allocation.
- the bandwidth map does not need to be updated.
- the source node resource status register, the destination node resource status register, and the link resources of all wavelengths of the (S, D) node pair need not be updated.
- Status register The time slot assignment of this (S, D) node pair ends.
- the invention has fast calculation capability when the dynamic bandwidth of the optical burst ring network is allocated on demand, and the response is fast, and the bandwidth allocation time of each ring network is reduced, that is, the time of each DBA cycle is short, and the algorithm delay is avoided.
- the resulting response delays, delays, jitter, and packet loss.
- each node is generated according to a bandwidth request for each node pair input by the outside world in the optical burst ring network.
- a fixed time slot request, a guaranteed time slot request, and a non-guaranteed time slot request in units of time slots; and a non-guaranteed time slot request for each non-guaranteed time slot allocation is determined by scheduling each non-guaranteed time slot request a slot request; assigning a fixed time slot, a guaranteed time slot, and a non-guaranteed time slot to each node pair according to a fixed time slot request, a guaranteed time slot request, and a non-guaranteed time slot request actually participating in the non-guaranteed time slot allocation, and according to the allocation
- a bandwidth map is generated for fixed time slots, guaranteed time slots, and non-guaranteed time slots for each node pair. The number of resource status queries is greatly reduced, the clock period of dynamic bandwidth allocation is greatly shortened,
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Optical Communication System (AREA)
Abstract
本发明公开一种光突发环网动态带宽分配方法及装置,包括在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,并将所述每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。
Description
本发明涉及一种子波长全光交换网络,特别涉及一种光突发环网动态带宽分配方法及装置。
全球范围内数据业务的迅猛增长,对核心骨干网的传输能力提出了更高的要求。随着密集波分复用技术的进一步成熟,单根光纤上的带宽越来越大,现有的基于电处理的分组交换速度与单根光纤上的带宽相比显得很低,为了提高交换速度和带宽利用率,光分组交换是必然的发展方向。但由于光缓存技术不成熟,在全光域无法采用存储转发机制,使得全光分组交换难以实现,光分组交换在短期内不可能有大的发展。光突发环网采用全光时隙交换技术和全网同步控制机制,不需要光缓存,且具备解决资源竞争问题的潜力,是下一代城域网的有力竞争者。
光突发传送网(Optical Burst Transport Network,OBTN)采用基于光突发(Optical Burst,OB)的全光交换技术,具备网络任意节点对间光层带宽按需提供和快速调度能力,可实现对各种流量(如南北向突发流量、东西向突发流量等)场景的动态适应和良好支持,能够提升资源利用效率和网络灵活性,同时保留光层高速大容量和低成本的优点,且适用于星形/树形/环形各种网络拓扑。图1是现有技术提供的OBTN环网基本结构示意图,如图1所示,具体是一种4节点OBTN单向环形网络,每个节点配置一对快速可调谐突发发射机和快速可调谐突发接收机(可扩展为多个),整网有两个波长λ0和λ1作为数据通道,一个波长λc作为控制通道,节点A为主节点,需要说明的是,图1中OA为光放大器,其英文全称为Optical Amplifier,OMU为光耦合器,其英文全称为Optical Multiplex Unit,ODU为分光器,其英文全称为Optical Demultiplex Unit,FT-BMR为快速可调谐突发模式接收机,其英文全称为Fast Tunable Burst Mode Receiver,FT-BMT为快速可调谐突发模式发射机,其英文全称为Fast Tunable Burst Mode Transmitter。
所述OBTN技术具有如下特征:
(1)数据通道中最基本的传输单元为OB。OB间有保护时间作为间隔,若干OB组成一个数据帧,不同波长通道的相应OB帧和OB时隙起始位置需要对齐。数据通道采用突发光接收机/发射机,光突发数据从源节点发送到目的节点是光层直传,不需要中间节点作电层转发。源端需要将客户侧数据包汇聚并封装至OB发送。
(2)控制通道与数据通道相分离。OBTN采用独立的波长通道承载控制信息,其中包括操作维护管理(Operations Administration and Maintenance,OAM)信息、用于搜集各节点带宽请求的带宽报告和指示各节点发送/接收数据的带宽地图。控制帧由主节点发送到各个从节
点,指示各节点发送/接收数据的带宽地图,再从各个从节点返回到主节点,带有各个从节点的带宽请求报告和从节点的OAM信息。控制帧在主节点先于对应的数据帧发送,也先于对应的数据帧到达每个从节点。控制通道可以采用普通的光接收机/发射机作为收发设备,在每个节点都进行电域处理,以接收和更新相应控制信息。OBTN环网中控制帧与数据帧的时序关系如图2所示。
(3)采用快速可调谐光器件实现基于OB的全光交换。OBTN节点可以快速调节(纳秒级)发射机/接收机的发射/接收波长,以根据带宽地图选择相应的波长和OB时隙进行突发数据发送/接收,以实现基于OB的全光交换。
(4)流量感知的实时光层资源调度。OBTN采用集中式控制方式,各从节点通过控制帧周期性上报带宽请求至主节点,主节点根据当前资源状态和带宽分配策略进行波长和OB时隙分配,并将分配结果记入带宽地图,再由控制帧分发至各从节点,以根据流量需求实现光层资源快速调度。
然而,由于突发数据包在源目的节点对间光层直传,而不进行电处理,因此受到波长一致性和时隙一致性的约束。如图1所示,节点A发往节点D的一个突发数据包,在节点A由带宽地图指定在波长λ0相应数据帧的第3个OB时隙上路,由于光层直传,且没有波长变换器和光缓存(波长变换器成本高昂,对信号质量有严重影响;光缓存技术未突破),在经过节点B、节点C至节点D下路时,此突发数据包必须也占用波长λ0相应数据帧的第3个OB时隙,而不能更改波长和时隙位置。更进一步,由于波长时隙分配受到上述多重约束,且带宽资源有限,因此,如分配不当,会导致资源冲突,引起大量丢包,严重降低网络性能。OBTN中资源冲突主要包括下列三种:
(1)发射机资源冲突。一个源端发射机于任意时隙位置能且仅能在一个波长上发送突发数据。如图1,节点A在波长λ0相应数据帧的第3个OB时隙发送一个A-->D的突发数据包;此时,如果带宽地图中还有一个以A节点为源节点的业务在波长λ1相应数据帧的第3个OB时隙上,则产生发射机资源冲突。
(2)接收机资源冲突。一个目的端接收机于任意时隙位置能且仅能在一个波长上接收突发数据。如图,节点D在波长λ0相应数据帧的第3个OB时隙接收一个A-->D的突发数据包;此时,如果带宽地图中还有一个以D节点为目的节点的业务在波长λ1相应数据帧的第3个OB时隙上,则产生接收机资源冲突。
(3)链路资源冲突。同一链路上任意波长相应数据帧的任意时隙能且仅能被分配一次。如图1,业务A-->D占用波长λ0相应数据帧的第3个OB时隙;此时,如果带宽地图中还有业务B-->A占用波长λ0相应数据帧的第3个OB时隙,则在链路BC和链路CD上将产生链路资源冲突。
为了防止资源冲突,每个OB时隙的带宽分配,都需要查询上述三类资源的使用状态。目前业界采用主节点对环网的每个节点分配带宽,在主节点设立资源状态表来记录上述三类资源的使用状态,资源表包含:1)源/目的资源状态表Src_state[S][m]/Dst_state[D][m],表示源节
点S/目的节点D的第m个发送/接收时隙的使用状态。2)链路资源状态表Link_state[(i,j)][w][m],表示链路(i,j)上波长通道w的第m个时隙的占用状态,占用置0,反之置1。3)路由表Route_state[(S,D)][(i,j)]表示源节点为S目的节点为D的节点对(S,D)的路由是否经过链路(i,j),经过置1,反之置0,如图5所示。
对于一个具有M个节点,数据通道有N个波长,每个波长支持L个OB时隙的环网,环网每次供分配的OB时隙数最多为M*N*L个。每为一个节点对AB分配一个时隙最多的时间复杂度为:查询一次发射机资源使用状态Ο(1),查询一次接收机资源使用状态Ο(1),查询一次路由表Ο(M-1),遍历所有波长的链路资源使用状态Ο(N*(M-1))。因此,最大时间复杂度为:Ο(1+1+(M-1)+N*(M-1)),也就是说,节点对之间一个OB时隙分配的时间复杂度为Ο((N+1)*(M-1)+2)。综合上述叙述,可以知道,完成一次环网的所有OB时隙分配的时间复杂度为Ο(((N+1)*(M-1)+2)*M*N*L)。因此,很显然动态带宽分配算法是实现光层带宽按需提供的关键技术,为了实现动态带宽按需分配,动态带宽分配(Dynamic Bandwidth Allocation,DBA)必需在流量变化时,进行快速响应,即具备快速计算能力,使得每次环网带宽分配时间,也就是每个DBA周期的时间很短,以防止算法延时导致的响应延时及时延、抖动和丢包等负面影响。
发明内容
本发明实施例的目的在于提供一种光突发环网动态带宽分配方法及装置,能更好地解决在光突发环网中分配动态带宽期间减小DBA周期的问题。
根据本发明的一个实施例,提供了一种光突发环网动态带宽分配方法,包括:
在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,并将所述每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;
通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;
根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。
在本发明实施例中,为每个节点对分配固定时隙的步骤包括:
对于某一节点对,根据固定时隙分配请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;
按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;
根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;
比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a;
若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙;
否则,按照波长编号由小至大/或由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙。
在本发明实施例中,按照波长进行区分,将所确定的a个未占用时隙作为固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。
在本发明实施例中,所述的为每个节点对分配保证时隙的步骤包括:
根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;
按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;
根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;
比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b;
若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙;
否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙。
在本发明实施例中,所述的确定实际参与非保证时隙分配的非保证时隙请求的步骤包括:
根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
在本发明实施例中,所述的为每个节点对分配非保证时隙的步骤包括:
根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节
点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;
按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;
根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙。
在本发明实施例中,设置两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求。
在本发明实施例中,设置两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。
在本发明实施例中,设置两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器,从而按照动态带宽分配周期和不同的波长,将为每个节点对分配保证时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。
在本发明实施例中,设置一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、用来保存每段链路每个波长的资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长的链路资源状态表寄存器得到路由经过的每段链路每个波长的链路资源状态。
在本发明实施例中,为某个节点对分配固定时隙和保证时隙之后或一次分配一个非保证时隙之后,根据资源使用情况,更新并保存源节点资源状态、目的节点资源状态、每段链路每个波长资源状态的状态值。
在本发明实施例中,每个节点对的固定时隙分配在初始化阶段完成,以后一直保持不变,每个动态带宽分配周期根据每个节点对的带宽请求,为其分配保证带宽时隙和非保证带宽时隙。
在本发明实施例中,每个动态带宽分配周期的起始阶段,每个源节点资源状态、目的节点资源状态、每段链路每个波长的链路资源状态恢复到初始化阶段固定时隙分配完成之后相应的状态值。
根据本发明的另一实施例,提供了一种光突发环网动态带宽分配装置,包括:
带宽请求生成模块,设置为在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,将
所生成的每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;
非保证带宽调度模块,设置为通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;
带宽地图生成模块,设置为根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。
在本发明实施例中,对于某一节点对,根据固定时隙请求,所述带宽地图生成模块查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,并按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a,若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙。
在本发明实施例中,所述带宽地图生成模块具有多个分别对应于不同波长编号的固定时隙分配结果随机存储器,所述带宽地图生成模块按照波长进行区分,将所确定的a个未占用时隙作为固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。
在本发明实施例中,所述带宽地图生成模块根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b,若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙。
在本发明实施例中,所述非保证带宽调度模块根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
在本发明实施例中,所述带宽地图生成模块根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙。
在本发明实施例中,所述带宽地图生成模块具有两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求。
在本发明实施例中,所述带宽地图生成模块具有两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。
在本发明实施例中,所述带宽地图生成模块具有两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器,从而按照动态带宽分配周期和不同的波长,将为每个节点对分配的保证时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。
在本发明实施例中,所述带宽地图生成模块具有一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、用来保存每段链路每个波长的链路资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长的链路资源状态表寄存器得到路由经过的每段链路每个波长的链路资源状态。
在本发明实施例中,为某个节点对分配固定时隙和保证时隙之后或一次分配一个非保证时隙之后,根据资源使用情况,更新并保存源节点资源状态、目的节点资源状态、按照波长区分的每段链路每个波长资源状态的状态值。
在本发明实施例中,每个节点对的固定时隙分配在初始化阶段完成,以后一直保持不变,每个动态带宽分配周期根据每个节点对的带宽请求,为其分配保证带宽时隙和非保证带宽时隙。
在本发明实施例中,每个动态带宽分配周期的起始阶段,每个源节点资源状态、目的节点资源状态、按照波长区分的每段链路每个波长资源状态恢复到初始化阶段固定时隙分配完成之后相应的状态值。
在本发明实施例中,还提供了一种计算机存储介质,该计算机存储介质可以存储有执行指令,该执行指令用于执行上述实施例中的光突发环网动态带宽分配方法。
与现有技术相比较,本发明实施例的有益效果在于:
1、现有技术为每个节点对分配固定带宽和保证带宽时,一次源节点资源状态、目的节点资源状态、链路资源状态和路由表查询之后只分配一个固定时隙或一个保证时隙给相应的节点对,如果每个节点对分配的固定时隙或保证时隙数为N,就需要进行N次上述资源和路由查询,而本发明提供的方法和装置,在为任何一个节点对分配所需的固定带宽和保证带宽时,一次源节点资源状态、目的节点资源状态、链路资源状态和路由表查询之后,就将其所需的所有固定时隙或保证时隙全部一次性分配给相应的节点对,不再需要进行第二次资源和路由查询,因而大大减少了资源状态查询的次数,大大缩短了动态带宽分配的时钟周期,能够快速响应各个节点对的带宽请求。
2、由于每次资源和路由查询都需要消耗能量,本发明实施例通过减少资源和路由查询次数,降低了功耗。
3、由于分别采用两个保证时隙请求随机存储器、两个非保证时隙请求先入先出存储器和两组保证和非保证时隙分配结果随机存储器,使得两个动态带宽分配周期能够实现流水切换,大大地缩短了动态带宽分配周期。
图1是现有技术提供的OBTN环网基本结构的示意图;
图2是现有技术提供的OBTN环网中控制帧与数据帧相对时序的示意图;
图3是本发明实施例提供的光突发环网动态带宽分配方法原理框图;
图4是本发明实施例提供的光突发环网动态带宽分配装置结构框图;
图5是图4中带宽地图生成模块的结构框图;
图6a本发明实施例提供的带宽地图生成模块中路由表的初始化示意图;
图6b本发明实施例提供的带宽地图生成模块中源节点资源状态表的初始化示意图;
图6c本发明实施例提供的带宽地图生成模块中目的节点资源状态表的初始化示意图;
图6d本发明实施例提供的带宽地图生成模块中波长0链路资源状态表初始化示意图;
图6e本发明实施例提供的带宽地图生成模块中波长1链路资源状态表初始化示意图;
图7a本发明实施例提供的带宽请求模块输入的带宽请求报告示意图;
图7b本发明实施例提供的带宽请求模块输出的固定时隙请求示意图;
图7c本发明实施例提供的带宽请求模块输出的保证时隙请求示意图;
图7d本发明实施例提供的带宽请求模块输出的非保证时隙请求示意图;
图8a本发明实施例提供的带宽地图生成模块生成的波长0固定时隙带宽地图示意图;
图8b本发明实施例提供的带宽地图生成模块生成的波长1固定时隙带宽地图示意图;
图8c本发明实施例提供的带宽地图生成模块生成的波长0保证和非保证时隙带宽地图示意图;
图8d本发明实施例提供的带宽地图生成模块生成的波长1保证和非保证时隙带宽地图示意图;
图9a本发明实施例提供的带宽地图生成模块生成带宽地图之后的源节点资源状态表;
图9b本发明实施例提供的带宽地图生成模块生成带宽地图之后的目的节点资源状态表;
图9c本发明实施例提供的带宽地图生成模块生成带宽地图之后的波长0链路资源状态表;
图9d本发明实施例提供的带宽地图生成模块生成带宽地图之后的波长1链路资源状态表。
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
光突发环网具有一个主节点和一个或一个以上的从节点,主节点根据收集到的包括自己在内的每个节点的带宽请求,负责动态带宽分配。在光突发环网中,在系统初始化阶段,系统管理员在主节点为每个节点对配置固定带宽字节数和每个时隙的负载长度,系统将以字节为单位的带宽请求,转换为以时隙为单位的带宽请求,并为每个节点对分配相应的时隙。
图3是本发明实施例提供的光突发环网动态带宽分配方法原理框图,如图3所示,步骤包括:
步骤S101:在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,并将所述每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求。
步骤S102:通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求。
具体地说,若节点对有非保证时隙请求,则根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
步骤S103:根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙
请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙,生成带宽地图。
本发明是关于子波长全光交换网络,光突发传送网的动态带宽分配技术,三类资源使用状态的查询是带宽动态分配算法的关键,具体包括对源节点资源状态表、目的节点资源状态表、链路资源状态表、路由表的查询。
运行商为用户提供的带宽通常区分成三类,一类是固定带宽,一类是保证带宽,一类是非保证带宽。固定带宽和保证带宽具有高优先级,由于采用规划和接入控制机制,能确保固定带宽和保证带宽完全分配;非保证带宽为共享带宽,优先级较低,在分配阶段各节点对存在资源冲突的情况下,需要考虑分配的公平性问题。一般情况下,固定带宽在系统初始化阶段就完成分配,之后一直保持不变,保证带宽和非保证带宽都需要根据网络运行情况进行实时分配,消耗的时间比较多。
具体地说,在初始化阶段,为每个节点对分配并记录固定时隙,具体步骤包括:对于某一节点对的固定时隙分配请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a;若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙;否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙。其中,按照波长进行区分,将所确定的a个未占用时隙作为已分配的固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。
具体地说,为每个节点对分配保证时隙的步骤包括:根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b;若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙;否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙,将其作为保证时隙分配给该节点对。其中,设置两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求,设置两个
保证时隙请求随机存储器,是为了从上一次动态带宽分配切换到下一次动态带宽分配的时候,能形成流水操作,缩短每次动态带宽分配所需的时间。此外,为了节约资源,在初始化阶段,每个节点对的固定带宽时隙分配请求也保存在一个保证时隙请求随机存储器中。
具体地说,为每个节点对分配非保证时隙的步骤包括:根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙,将其分配给该节点对,如果根据所有的波长状态值都找不到未占用时隙,则该节点此次非保证时隙分配没有成功。其中,设置两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。
具体地说,设置两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器,(即每组中具有多个保证和非保证时隙分配结果随机存储器,其每个保证和非保证时隙分配结果随机存储器与一个波长编号相对应)从而按照动态带宽分配周期和不同的波长,将为每个节点对分配的作为保证时隙的b个时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。
具体地说,设置一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、按照波长进行区分的用来保存每段链路每个波长的链路资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长对应的链路资源状态表寄存器得到路由经过的每段链路每个波长的链路资源状态。
图4是本发明实施例提供的光突发环网动态带宽分配装置结构框图,如图4所示,包括带宽请求生成模块10、非保证带宽调度模块20、带宽地图生成模块30,以及CPU接口模块40。
带宽请求生成模块10设置为在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求、和非保证带宽请求,将所生成的每个节点对的以字节为单位的固定带宽请求、保证带宽请求、和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求,并将所述固定时隙请求和保证时隙请求发送至带宽地图生成模块,将所述非保证时隙请求发送至非保证带宽调度模块。
非保证带宽调度模块20设置为通过对每个节点对的非保证时隙请求进行调度,确定实际
参与非保证时隙分配的非保证时隙请求。具体地说,非保证带宽调度模块20在节点对有非时隙分配请求时,根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
带宽地图生成模块30设置为根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。具体地说,在初始化阶段,对于某一节点对,根据固定时隙请求,带宽地图生成模块30查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,并按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a,若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙,将其作为固定时隙分配给该节点对。在初始化阶段结束之后,启动系统正常运行,每个节点将自己的带宽请求发送至主节点,主节点利用带宽请求生成模块10生存保证时隙请求,主节点利用带宽请求生成模块10和非保证带宽调度模块20生成实际参与非保证时隙分配的请求。带宽地图生成模块30根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b,若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙。带宽地图生成模块30根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙,如果根据所有的波长状态值都找不到未占用时隙,则该节点此次非保证时隙分配没有成功。进一步地,带宽地图生成模块30具有多个分别对应于不同波长编号的固定时隙分配结果随机存储器(即对应于每个波长编号,具有
一个固定时隙分配结果随机存储器),所述带宽地图生成模块按照波长进行区分,将所确定的a个未占用时隙作为固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。带宽地图生成模块30还具有两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求。带宽地图生成模块30还具有两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。带宽地图生成模块30还具有两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器(即对应于每个波长编号,具有一个保证和非保证时隙分配结果随机存储器),从而按照动态带宽分配周期和不同的波长,将为每个节点对分配的作为保证时隙的b个时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。带宽地图生成模块30还具有一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、用来保存每段链路每个波长的链路资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长对应的链路资源状态表寄存器得到路由经过的每段链路每个波长资源状态。
为某个节点对分配固定时隙和保证时隙之后或一次分配一个非保证时隙之后,根据资源使用情况,更新并保存源节点资源状态、目的节点资源状态、按照波长区分的每段链路每个波长资源状态的状态值。也就是说,每为一个节点对完成一次时隙分配,不管分配的是固定时隙、保证时隙还是非保证时隙,都要更新源节点资源状态表寄存器、目的节点资源状态表寄存器和每段链路每个波长链路资源状态表寄存器,以反应每个资源的使用状态。
每个动态带宽分配周期的起始阶段,每个源节点资源状态、目的节点资源状态、按照波长区分的每段链路每个波长资源状态恢复到初始化阶段固定时隙分配完成之后相应的状态值。也就是说,每次动态带宽分配周期开始阶段,源节点资源状态表寄存器、目的节点资源状态表寄存器和每段链路每个波长链路资源状态表寄存器,他们的状态值都要恢复到初始化阶段固定时隙分配完成之后的状态值。
所述光突发环网动态带宽分配装置结构简单,不论一个光突发环形网络支持多少个时隙,只需要8个时钟周期主节点就能完成一个节点对的固定带宽或保证带宽分配,只需要5个时钟周期能为一个节点对分配一个非保证时隙,大大地减少了保证带宽和非保证带宽分配所消耗的时间,减少了每个动态带宽分配周期消耗的状态查询时间,确保光突发环形网络带宽实时分配。
本发明的带宽分配实际上是根据每个(S,D)节点对实时请求的带宽,为它们分配需要的时隙,其中S为数据出发的源节点,D为数据需要到达的目的节点。对于节点对(S,D),带宽请求生成模块10将外界输入的(S,D)节点对带宽请求分为三类:固定带宽请求、保证带宽请求和非保证带宽请求。以字节为单位的固定带宽请求和保证带宽请求又被换算成以时隙为单位的固定时隙请求和保证时隙请求,一个时隙可以传输若干个字节,每个时隙以字节
为单位的负载长度通过CPU接口模块40配置,固定时隙请求和保证时隙请求发送给带宽地图生成模块30。以字节为单位的非保证带宽请求被换算成以时隙为单位的非保证时隙请求,非保证时隙请求必须发送给非保证带宽调度模块20。非保证带宽调度模块20在确保公平性的情况下,将非保证时隙带宽请求转化为实际参与非保证时隙分配的非保证时隙请求,并发送到带宽地图生成模块30。带宽地图生成模块30根据接收的每个(S,D)节点对的固定时隙请求、保证时隙请求和非保证时隙请求,对光突发环形网络的时隙资源进行查询和选择,分配实际的时隙,生成带宽地图,并根据主节点的要求将生成的带宽地图输出给主节点使用。
图5是图4中带宽地图生成模块30的结构框图,带宽地图生成模块30具体包括:源节点资源状态表、目的节点资源状态表、路由表、链路资源状态表、保证时隙请求随机存储器0、保证时隙请求随机存储器1、非保证时隙请求先进先出FIFO存储器0、非保证时隙请求先进先出FIFO存储器1、固定时隙分配结果随机存储器组、保证和非保证时隙分配结果随机存储器组以及时隙分配与运行控制模块组成。
进一步说,源节点资源状态表和目的节点资源状态表都采用寄存器实现,每个源节点资源状态Src_State采用一个寄存器(即源节点资源状态表寄存器)保存,每个目的节点资源状态Dst_State也采用一个寄存器(即目的节点资源状态表寄存器)保存,寄存器的位宽为W,W为正整数,表示每次带宽分配的最大时隙数。
进一步说,在主节点,节点与节点之间的链路资源状态表采用寄存器(即链路资源状态表寄存器)保存,数据通道每个波长的每一段链路资源状态Wave_n_Link_State采用一个位宽为W的寄存器保存,n为相应的波长编号,对于有N个波长的光突发环形网络来说,其值为[0,N-1]之间的整数,下文n的定义也一样。
进一步说,路由表采用一个双端口随机存储器(即路由表双端口随机存储器)保存,每个存储单元表示从某一个源节点到某一个目的节点需要经过的链路集,对于一个节点数为M的光突发环形网络,路由表的存储单元数为M2,存储单元的位宽为M。存储单元的每一位对应数据从源节点到目的节点需要经过的一段链路,数据从源节点到目的节点经过相应链路时置1,不经过时置0。任意一个(S,D)节点对在路由表中的存储地址由源节点S编号和目的节点D编号组合而成,路由表存储地址高位为源节点S的二进行编号,地址低位为目的节点D的二进制编号。
图6a本发明实施例提供的带宽地图生成模块中路由表的初始化示意图,如图6a所示,由4个节点A0、A1、A2和A3组成的光突发环形光网络的路由表,任意一个(S,D)节点对路由的存储地址ADDR[3:0]由源节点S的节点编号和目的节点D的节点编号组合而成,其中ADDR[3:2]等于源节点S的编号,ADDR[1:0]是目的节点D的编号,其中(A0,A0)的路由存储地址为0,(A0,A1)的路由存储地址为1;路由表每个存储单元中的bit0表示(A0,A1)路径,bit1表示(A1,A2)路径,bit2表示(A2,A3)路径,bit3表示(A3,A0)路径。
保证时隙请求利用两个双端口存储器保存,双端口存储器,一个端口供写入数据,一个端口供读出数据。这两个存储器分别称为保证时隙请求随机存储器0和保证时隙请求随机存
储器1,它们的存储器地址线根数以及地址数据结构和路由表完全一样。之所以采用两个保证时隙请求随机存储器,是为了确保时隙分配一个DBA周期接着一个DBA周期流水进行:一个保存了所有节点对保证时隙带宽请求的存储器在供时隙分配与运行控制模块在当前DBA周期使用时,另一个没有保存任何节点对保证时隙带宽请求,或保存的所有节点对的保证时隙带宽请求已经被时隙分配与运行控制模块在上一个DBA周期遍历,并且分配了相应的时隙,当下一个DBA时隙分配周期各个节点对的保证时隙请求数据到来时,就用后者来保存。
非保证时隙请求采用二个先入先出FIFO存储器保存,它们分别为非保证时隙请求FIFO存储器0和非保证时隙请求FIFO存储器1,FIFO存储器保存的是每个(S,D)节点对的二进制编码,每个存储单元高位为源节点S的二进行编号,低位为目的节点D的二进制编号。之所以采用两个非保证时隙请求FIFO存储器,是为了确保时隙分配一个DBA周期接着一个DBA周期流水进行,一个供时隙分配与运行控制模块进行当前DBA周期非保证时隙分配使用的时候,另一空闲的非保证时隙请求FIFO存储器可以用来保存下一个DBA周期时隙分配所需的非保证时隙请求数据。带宽地图生成模块在写入一次DBA周期非保证时隙请求数据之前,先将准备用来保存数据的FIFO清空,然后才写入当前DBA周期所有节点对的非保证时隙请求数据。
固定时隙分配结果采用一组双端口随机存储器(即固定时隙分配结果随机存储器0,1,…,N-1)保存,存储器的位宽为W,存储器地址线根数以及地址数据结构和路由表完全一样。数据通道有N个波长的光突发环形网,需要N个此类存储器来保存固定带宽分配结果,一个波长对应一个,波长0对应固定时隙分配结果随机存储器0,波长n对应固定时隙分配结果随机存储器n。
保证时隙和非保证时隙分配结果采用双端口随机存储器保存,该类存储器的位宽为W,存储器地址线根数以及地址数据结构和路由表完全一样。数据通道有N个波长的光突发环形网,需要N组双端口随机存储器来保存保证时隙和非保证时隙分配结果,一个波长对应一组双端口存储器。每组利用两个存储器来保存,它们分别为保证和非保证时隙分配结果随机存储器n0和保证和非保证时隙分配结果随机存储器n1。之所以每组采用两个保证和非保证时隙分配结果随机存储器,是为了确保时隙分配一个DBA周期接着一个DBA周期流水进行:一个保存了所有节点对保证和非保证时隙分配结果的随机存储器供主节点在当前DBA带宽分配周期中读取带宽地图,另一个没有保存保证和非保证时隙分配结果或虽然保存有保证和非保证时隙分配结果,但该分配结果已经被主节点在前一个DBA周期中完全读取,后者用来保存下一个DBA时隙分配周期保证和非保证时隙分配结果。换句话说,数据通道有N个波长的光突发环形网需要两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的双端口随机存储器来保存保证时隙和非保证时隙分配结果,每组双端口随机存储器具有对应于不同N个波长的N个双端口随机存储器。
结合图4和图5,动态带宽分配过程如下:
系统启动的时候,首先对所有的寄存器进行复位,然后通过CPU接口模块40对装置的各组成模块进行初始化工作。
在初始化阶段,首先通过CPU接口模块40对带宽请求生成模块10进行配置,为每个(S,D)节点对配置以字节为单位的固定带宽,配置每个时隙以字节为单位的负载长度。此时,带宽请求生成10模块输出给主节点的固定带宽分配完成信号无效,主节点因而不会给光突发环网动态带宽分配装置输入带宽请求。
在初始化阶段,通过CPU接口模块40为非保证带宽调度模块20配置必要的参数,例如优先级、权重等,使得非保证带宽调度模块20能够在初始化完成后按照要求进行非保证带宽调度工作。
本实施例以4节点光突发环形网络为例。
在初始化阶段,对带宽地图生成模块30也需要进行初始化,将每个源节点资源状态寄存器和目的节点资源状态寄存器的每一位都置为1,表示相应的时隙都空闲,如图图6b所示的本发明实施例提供的带宽地图生成模块30中源节点资源状态表的初始化示意图和图6c所示的本发明实施例提供的带宽地图生成模块30中目的节点资源状态表的初始化示意图;将每个波长的每段链路对应的链路资源状态寄存器的每一位都置1,表示相应链路相关时隙也空闲,如图6d所示的本发明实施例提供的带宽地图生成模块30中波长0链路资源状态表初始化示意图和图6e所示的本发明实施例提供的带宽地图生成模块30中波长1链路资源状态表初始化示意图。此外,对路由表进行初始化,路由表每个存储单元对应一个(S,D)节点对的路由,存储单元的每一位对应数据从源节点S到目的节点D需要经过的每一段链路,经过的链路置1,不经过的链路置0,如图6a所示的本发明实施例提供的带宽地图生成模块30中路由表的初始化示意图。
在初始化配置完成之后,CPU接口模块40向带宽请求生成模块10发出指示,启动固定带宽时隙分配工作。带宽请求生成模块10将CPU配置的以字节为单位的固定带宽换算为以时隙为单位的固定时隙请求数据,如图7b所示的本发明实施例提供的带宽请求模块输出的固定时隙请求示意图(其中的数字以16进制表示),并将该请求数据发送给带宽地图生成模块30,带宽地图生成模块30将该数据保存在保证时隙请求随机存储器0,一个(S,D)节点对占用一个存储单元。带宽地图生成模块30接收完所有(S,D)节点对的固定时隙请求之后,启动固定时隙的分配工作。固定时隙分配的结果,也就是固定带宽地图以波长分组,分别保存在固定时隙分配结果随机存储器0至固定带宽时隙分配结果随机存储器N-1中。
固定带宽时隙分配完成之后,系统的初始化就完成了。此时,带宽地图生成模块30告知带宽请求生成模块10,带宽请求生成模块10将固定带宽分配完成指示信号置为有效。主节点将各个(S,D)节点对以字节为单位的带宽请求报告发送到带宽请求生成模块10,带宽请求报告如图7a所示(其中的数字以10进制表示)。带宽请求生成模块10根据每个节点对的带宽请求生成保证时隙请求和非保证时隙请求,保证时隙请求如图7c所示(其中的数字以16进制表示),非保证时隙请求如图7d所示(其中的数字以16进制表示)。保证时隙请求直接发送到带宽地图生成模块30的保证时隙请求随机存储器0,非保证时隙请求发送到非保证带宽调度模块20,非保证带宽请求模块10根据初始化配置的参数,按照公平性原则,对所有(S,D)节点对非保证时隙请求进行调度,选取参加非保证时隙分配的节点对,每次给予某个选中
的节点对一个非保证时隙请求机会,由于每个机会只代表某个(S,D)节点对的一个非保证时隙请求,所以FIFO存储器保存的是该节点对的二进制编号组合成的二进制数据{S,D},非保证带宽调度模块20先将非保证时隙请求FIFO存储器0清空,然后将每个调度得到的二进制数据{S,D}发送到带宽地图生成模块30的非保证时隙请求FIFO存储器0中。
当光突发环形网络的所有(S,D)节点对的保证时隙请求保存到带宽地图生成模块30之后,带宽请求生成模块10向带宽地图生成模块30发出带宽地图生成启动信号,带宽地图生成模块30的时隙分配与运行控制模块收到带宽地图生成启动信号之后,启动保证时隙分配。为了缩短运行时间,保证时隙采用批量分配的方法,一次调度就按照需求将某个节点对请求的保证时隙分配给该节点对,并将分配的结果按照波长保存在保证和非保证时隙分配结果随机存储器n0中,其中,n代表所分配到的时隙占用的波长编号,所有节点对的保证时隙分配完毕之后,时隙分配与运行控制模块读取非保证时隙请求FIFO存储器,一次从该FIFO存储器中读取一个节点对的一个非保证时隙请求,然后时隙分配与运行控制模块进行资源状态查询,如果找到合适的时隙就给该节点对分配一个时隙,并将相应的时隙按照波长保存在保证和非保证时隙分配结果存储器n0中,如果找不到合适的时隙给请求的节点对,分配就失败。不管某个节点对的非保证时隙分配成功还是失败,如果非保证时隙请求FIFO不为空,时隙分配与运行控制模块会继续读取该FIFO,为别的节点对分配非保证时隙。时隙分配与运行控制模块按照上述方式继续非保证时隙的分配,只有两种情况才完成或停止非保证时隙的分配,一种情况是是FIFO为空,该种情况是所有的非保证时隙已经分配完毕了;一种情况是保证时隙请求随机存储器1已经接收到所有(S,D)节点对下一个DBA周期带宽分配的保证时隙请求数据,这种情况说明下一个DBA分配的时间到了,当前DBA周期被强行结束。一次带宽分配结果实例如图8a至图8d所示(其中的数字以16进制表示),一次DBA带宽分配之后各状态寄存器值如图9a至图9d所示。非保证时隙分配完毕之后,时隙分配与运行控制模块发出带宽地图准备好信号,主节点接收到该信号之后,读取固定时隙分配结果存储器0至固定时隙分配结果存储器N-1的数据,取走固定带宽分配结果,读取保证时隙和非保证时隙分配结果存储器00至保证时隙和非保证时隙分配结果存储器(N-1)0的数据,取走保证时隙和非保证时隙分配结果。
下一个DBA周期的带宽分配在保证时隙请求随机存储器1已经接收到所有(S,D)节点对下一个DBA周期带宽分配的保证时隙请求数据之后启动,时隙分配与运行控制模块先读取保证时隙请求随机存储器1启动保证时隙的分配,并将分配的结果按照波长区分保存在保证时隙和非保证时隙分配结果存储器n1中(n为波长编号)。在保证时隙分配完毕之后,读取非保证时隙请求FIFO存储器1,启动非保证时隙分配,同样也将分配的结果按照波长区分保存在保证时隙和非保证时隙分配结果存储器n1中(n为波长编号)。时隙分配与运行控制模块只有两种情况下才会停止非保证时隙分配,一种是FIFO为空,一种是保证时隙请求随机存储器0已经接收到所有(S,D)节点对下一个DBA周期带宽分配的保证时隙请求数据。按照上述规则,本装置为光突发环形网络循环进行带宽分配工作。
每个(S,D)节点对的分配时隙分成三类:固定带宽、保证带宽和非保证带宽。固定带宽和保证带宽采用批量分配的方式,一次分配就将所有需求的时隙分配完。非保证带宽时隙分
配,为了确保公平性,一次只给请求的(S,D)节点对分配一个请求的时隙,非保证带宽需要多次分配才能分配完。固定带宽在初始化阶段完成,以后系统在运行过程中不再进行固定带宽的分配工作。
带宽地图生成模块30的时隙分配采用流水线工作,不论是固定带宽、保证带宽还是非保证带宽,一个(S,D)节点对的一次带宽分配都分成六个步骤,但由于保证带宽和非保证带宽每次分配的时隙数不一样,运行需要的时钟周期不一样,为任意一个(S,D)节点对一次分配num_slots(num_slots大于1)个固定带宽或保证带宽时隙需要花费八个时钟周期,为任意一个(S,D)节点对分配一个非保证带宽时隙只需要花费五个时钟周期。
对于固定带宽和保证带宽来说,每次带宽请求num_slots个时隙,带宽地图生成模块30的固定带宽或保证带宽时隙分配过程包括如下六个步骤:
步骤一:查询路由表,得到(S,D)节点对经过的所有链路。
步骤二:首先,查询源/目的节点资源状态寄存器,得到源节点S的资源状态Src_State,和目的节点D的资源状态Dst_State。查询链路资源状态表,查询到(S,D)节点对经过的每一段链路(i,j)的资源状态。
步骤三:对于(S,D)节点对路由经过的每一段链路(i,j)的资源状态、源节点S的资源状态Src_State和目的节点D的资源状态Dst_State,按照波长进行区分,依次分别进行按位与操作并将结果分别保存。
也就是说,上述波长0的按位与操作结果保存在Wave_0_State,波长1的按位与操作结果保存在Wave_1_State,波长n的按位逻辑与操作结果保存在Wave_n_State,n为非负整数。
步骤四:判断波长编号最小/最大的波长对应的状态值是否为0,为便于叙述,假设该波长为a,它的状态值为Wave_a_State。如果Wave_a_State大于0,从Wave_a_State最高位开始,寻找所有为1的比特位,并记下它们的序列号,同时计算为1的位的个数N。
(1)如果N等于(S,D)的num_slots,则确保时隙分配结束,否则,如果N大于(S,D)的num_slots,转向(2),否则转向(3)。
(2)若N大于(S,D)的num_slots,从最低/最高比特位开始的num_slots个为1的位表示的时隙参与时隙分配,其它的所有位代表的时隙都不参与时隙分配,时隙分配成功,转向步骤五。
也就是说,若所述未占用时隙数量大于或等于待分配给所述节点对的待分配时隙数量,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的num_slots个未占用时隙;
(3)令num_slots=num_slots-N。
取波长编号比上一个可用波长序号大/小的下一个波长对应的状态值,如果它的状态值等于0,就再取下一个编号更大的波长对应的状态值,如果取不到状态值不为0的波长,则该(S,D)
时隙分配结束,转向步骤五,否则将取到下一个状态值不为0的波长b进行下列运算,为了便于描述,假设其状态值为Wave_b_State,令:
State_temp=Wave_a_State^1111…1;
State=State_temp&Wave_b_State;
即,将Wave_a_State与二进制数1111…1进行按位逻辑异或运算,得到State_temp,然后将State_temp与Wave_b_State进行按位逻辑与运算,得到State。
上式中每位都为1的二进制数1111…1中1的个数为W。从所得到的State的最高位开始,寻找所有为1的位,并记下它们的序列号,同时计算为1的位的个数M,M就是该波长可以为本次的(S,D)节点对时隙分配贡献的最大时隙数。令N=M,Wave_a_State=Wave_a_State+State,转向(1)。
也就是说,如果所述未占用时隙数量小于待分配给所述节点对的待分配时隙数量,就需要按照波长编号由小至大/由小至大的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果满足所请求的固定带宽或保证带宽时隙的时隙数量num_slots。
步骤五:将(S,D)节点对时隙分配的结果更新到随机存储器中,即对于固定时隙分配结果,按照波长保存至固定时隙分配结果随机存储器中;对于保证时隙分配结果,按照波长保存至保证和非保证时隙分配结果随机存储器中。
进一步地,当某个波长参与时隙分配成功,贡献了时隙时,更新源节点资源状态寄存器、目的节点资源状态寄存器和该波长相应的链路资源状态寄存器,将使用的时隙置0,表示该时隙已经被占用,使之不能在下次时隙分配时再次被分配,从而避免资源冲突。本次(S,D)节点对的时隙分配结束。
步骤六:分配失败,没有一个波长成功参与时隙分配,不需要更新带宽地图,不需要更新(S,D)节点对的源节点资源状态寄存器、目的节点资源状态寄存器和所有波长的链路资源状态寄存器。本次(S,D)节点对的时隙分配结束。
对于非保证带宽来说,每次费保证时隙请求为一个时隙,带宽地图生成模块30的非保证时隙分配过程包括如下六个步骤:
步骤一:查询路由表,得到(S,D)节点对经过的所有链路。
步骤二:查询源/目的节点资源状态寄存器,得到源节点S的资源状态Src_State,和目的节点D的资源状态Dst_State。查询链路资源状态表,查询到(S,D)节点对经过的每一段链路(i,j)的资源状态。
步骤三:对于(S,D)节点对路由经过的每一段链路(i,j)的资源状态、源节点S资源状态Src_State和目的节点D资源状态Dst_State,按照波长进行区分,依次分别进行按位与操作并将结果分别保存。
也就是说,上述波长0的按位与操作结果保存在Wave_0_State,波长1的按位与操作结果保存在Wave_1_State,波长n的按位逻辑与操作结果保存在Wave_n_State,n为非负整数。
步骤四:判断波长编号最小/最大的波长对应的状态值是否为0,为便于叙述,假设该波长为a,它的状态值为Wave_a_State。如果Wave_a_State大于0,从Wave_a_State最低/最高位开始,寻找数据为1的第一个数据的位置,并记下它的序列号,它对应的时隙就是本次非保证时隙带宽分配到的时隙,转向步骤五。如果Wave_a_State等于0,就取波长编号比上一个可用波长序号大/小的下一个波长对应的状态值,如果没有波长可供选择了,则转向步骤六,否则重复本步骤。
步骤五:将(S,D)节点对时隙分配的结果更新到保证和非保证时隙分配结果随机存储器中,如果有某个波长参与时隙分配成功,贡献了时隙,就更新源节点资源状态寄存器、目的节点资源状态寄存器和该波长相应的链路资源状态寄存器,将使用的时隙置0,表示该时隙已经被占用,使之不能在下次时隙分配再次被分配。本次(S,D)节点对的时隙分配结束。
步骤六:分配失败,没有一个波长成功参与时隙分配,不需要更新带宽地图,不需要更新(S,D)节点对的源节点资源状态寄存器、目的节点资源状态寄存器和所有波长的链路资源状态寄存器。本次(S,D)节点对的时隙分配结束。
本发明具有以下技术效果:
本发明在光突发环网的动态带宽按需分配时,具备快速计算能力,响应快速,减少了每次环网带宽分配时间,也就是每个DBA周期的时间很短,避免了算法延时导致的响应延时及时延、抖动和丢包等负面影响。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
本发明实施例提供的上述技术方案,可以应用于光突发环网动态带宽分配过程中,通过在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,并将所述每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。大大减少了资源状态查询的次数,大大缩短了动态带宽分配的时钟周期,能够快速响应各个节点对的带宽请求,降低了功耗。
Claims (20)
- 一种光突发环网动态带宽分配方法,包括:在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,并将所述每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。
- 根据权利要求1所述的方法,其中,为每个节点对分配固定时隙的步骤包括:对于某一节点对,根据固定时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a;若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙;否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙。
- 根据权利要求2所述的方法,其中,按照波长进行区分,将所确定的a个未占用时隙作为固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。
- 根据权利要求1所述的方法,其中,所述的为每个节点对分配保证时隙的步骤包括:根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状 态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量;比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b;若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙;否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙。
- 根据权利要求4所述的方法,其中,所述的确定实际参与非保证时隙分配的非保证时隙请求的步骤包括:根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
- 根据权利要求5所述的方法,其中,所述的为每个节点对分配非保证时隙的步骤包括:根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态;按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙。
- 根据权利要求4-6任意一项所述的方法,其中,设置两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求。
- 根据权利要求4-6任意一项所述的方法,其中,设置两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。
- 根据权利要求6所述的方法,其中,设置两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器,从而按照动态带宽分配周期和不同的波长,将为每个节点对分配的保证时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。
- 根据权利要求2、4、6任意一项所述的方法,其中,设置一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、用来保存每段链路每个波长的链路资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长的链路资源状态表寄存器得到路由经过的每段链路每个波长的链路资源状态。
- 一种光突发环网动态带宽分配装置,包括:带宽请求生成模块,设置为在光突发环网中,根据外界输入的关于每个节点对的带宽请求,生成每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求,将所生成的每个节点对的以字节为单位的固定带宽请求、保证带宽请求和非保证带宽请求分别转换成以时隙为单位的固定时隙请求、保证时隙请求和非保证时隙请求;非保证带宽调度模块,设置为通过对每个节点对的非保证时隙请求进行调度,确定实际参与非保证时隙分配的非保证时隙请求;带宽地图生成模块,设置为根据固定时隙请求、保证时隙请求和实际参与非保证时隙分配的非保证时隙请求,为每个节点对分配固定时隙、保证时隙和非保证时隙,并根据分配给每个节点对的固定时隙、保证时隙和非保证时隙生成带宽地图。
- 根据权利要求11所述的装置,其中,对于某一节点对,根据固定时隙请求所述带宽地图生成模块查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,并按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值;根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配固定时隙数量a,若所述未占用时隙数量大于或等于所述节点对的待分配固定时隙数量a,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与固定时隙分配的a个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于a,然后再确定参与固定时隙分配的a个未占用时隙。
- 根据权利要求12所述的装置,其中,所述带宽地图生成模块具有多个分别对应于不同波长编号的固定时隙分配结果随机存储器,所述带宽地图生成模块按照波长进行区分,将所确定的a个未占用时隙作为固定时隙保存至相应波长编号的固定时隙分配结果随机存储器中。
- 根据权利要求11所述的装置,其中,所述带宽地图生成模块根据某一节点对的保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资 源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并计算其未占用时隙的比特位和未占用时隙数量,比较所述未占用时隙数量与所述节点对的待分配保证时隙数量b,若所述未占用时隙数量大于或等于待分配给所述节点对的待分配保证时隙数量b,则按照未占用时隙的比特位由低至高/由高至低的顺序,确定参与保证时隙分配的b个未占用时隙,否则,按照波长编号由小至大/由大至小的顺序,依次取出后续时隙资源未全部占用的波长,直至未占用时隙数量的累加结果大于或等于b,然后再确定参与保证时隙分配的b个未占用时隙。
- 根据权利要求14所述的装置,其中,所述非保证带宽调度模块根据每个节点对的优先级或权重,选取实际参与非保证时隙分配的节点对,并将所选取的实际参与非保证时隙分配的节点对所对应的非保证时隙请求作为实际参与非保证时隙分配的非保证时隙请求。
- 根据权利要求15所述的装置,其中,所述带宽地图生成模块根据某一实际参与非保证时隙分配的节点对的非保证时隙请求,查找所述节点对的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态,按照波长进行区分,将所找到的源节点资源状态、目的节点资源状态、路由经过的每段链路每个波长的链路资源状态的状态值进行按位逻辑与操作,得到对应于不同波长的状态值,根据对应于不同波长的状态值,确定波长编号最小/最大的且时隙资源未全部占用的某个波长,并将比特位最低/最高的未占用时隙作为非保证时隙。
- 根据权利要求14-16任意一项所述的装置,其中,所述带宽地图生成模块具有两个保证时隙请求随机存储器,分别保存两个不同动态带宽分配周期的保证时隙请求。
- 根据权利要求14-16任意一项所述的装置,其中,所述带宽地图生成模块具有两个非保证时隙请求先入先出存储器,分别保存两个不同动态带宽分配周期的非保证时隙请求。
- 根据权利要求16所述的装置,其中,所述带宽地图生成模块具有两组用来分别保存两个不同动态带宽分配周期的保证和非保证时隙分配结果的保证和非保证时隙分配结果随机存储器,其每组具有对应于不同波长编号的多个保证和非保证时隙分配结果随机存储器,从而按照动态带宽分配周期和不同的波长,将为每个节点对分配的保证时隙和非保证时隙保存至相应组的保证和非保证时隙分配结果随机存储器。
- 根据权利要求12、14、16任意一项所述的装置,其中,所述带宽地图生成模块具有一个用来保存源节点资源状态表的源节点资源状态表寄存器、用来保存目的节点资源状态表的目的节点资源状态表寄存器、用来保存每段链路每个波长的链路资源状态表的链路资源状态表寄存器、用来保存路由表的路由表双端口随机存储器,通过查询源节点资源状态表寄存器得到所述节点对的源节点资源状态、通过查找目的节点资源状态表寄存器得到所述节点对的目的节点资源状态、通过查找路由表得到所述节点对经过的每个链路,通过查找每段链路每个波长对应的链路资源状态表寄存器得到路由经过的每段链路每个波长的链路资源状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510213033.9 | 2015-04-30 | ||
CN201510213033.9A CN106209686B (zh) | 2015-04-30 | 2015-04-30 | 一种光突发环网动态带宽分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016173346A1 true WO2016173346A1 (zh) | 2016-11-03 |
Family
ID=57198102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/077144 WO2016173346A1 (zh) | 2015-04-30 | 2016-03-23 | 一种光突发环网动态带宽分配方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106209686B (zh) |
WO (1) | WO2016173346A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564975A (zh) * | 2020-12-11 | 2021-03-26 | 广州广哈通信股份有限公司 | 环网节点的时隙分配方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117675079B (zh) * | 2024-01-11 | 2024-10-18 | 中国电信股份有限公司技术创新中心 | 数据发送方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436916A (zh) * | 2007-11-15 | 2009-05-20 | 华为技术有限公司 | 一种无源光网络的带宽处理方法、装置和系统 |
US20100027561A1 (en) * | 2006-12-18 | 2010-02-04 | Telecom Italia S.P.A. | Dynamic bandwidth allocation in a passive optical access network |
CN104348754A (zh) * | 2013-07-26 | 2015-02-11 | 中兴通讯股份有限公司 | 一种光突发环网的带宽分配方法和装置 |
CN104348551A (zh) * | 2013-07-23 | 2015-02-11 | 中兴通讯股份有限公司 | 一种光突发传送环网的动态带宽调度方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060274654A1 (en) * | 2005-06-03 | 2006-12-07 | Intel Corporation | Range matching |
-
2015
- 2015-04-30 CN CN201510213033.9A patent/CN106209686B/zh active Active
-
2016
- 2016-03-23 WO PCT/CN2016/077144 patent/WO2016173346A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100027561A1 (en) * | 2006-12-18 | 2010-02-04 | Telecom Italia S.P.A. | Dynamic bandwidth allocation in a passive optical access network |
CN101436916A (zh) * | 2007-11-15 | 2009-05-20 | 华为技术有限公司 | 一种无源光网络的带宽处理方法、装置和系统 |
CN104348551A (zh) * | 2013-07-23 | 2015-02-11 | 中兴通讯股份有限公司 | 一种光突发传送环网的动态带宽调度方法和装置 |
CN104348754A (zh) * | 2013-07-26 | 2015-02-11 | 中兴通讯股份有限公司 | 一种光突发环网的带宽分配方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564975A (zh) * | 2020-12-11 | 2021-03-26 | 广州广哈通信股份有限公司 | 环网节点的时隙分配方法及系统 |
CN112564975B (zh) * | 2020-12-11 | 2022-09-27 | 广州广哈通信股份有限公司 | 环网节点的时隙分配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106209686B (zh) | 2019-11-05 |
CN106209686A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4880802B1 (ja) | 中継装置 | |
KR101125647B1 (ko) | 시간 슬롯 할당을 위한 집적 회로 및 방법, 및 데이터 처리 시스템 | |
JP6962599B2 (ja) | クライアントサービス送信方法および装置 | |
JP5853211B2 (ja) | バスインタフェース装置、中継装置、およびそれらを備えたバスシステム | |
US8064341B2 (en) | Temporal-spatial burst switching | |
JP3793189B2 (ja) | ツリーアルゴリズムを使用した動的帯域幅割り当て方法及びこれを使用したイーサネット(登録商標)受動光加入者ネットワーク | |
US9755980B2 (en) | Dynamic bandwidth scheduling method and device, and computer storage medium | |
CN104348754B (zh) | 一种光突发环网的带宽分配方法和装置 | |
WO2018149102A1 (zh) | 一种降低高优先级数据传输时延的方法和装置、存储介质 | |
WO2021130804A1 (ja) | 光通信装置およびリソース管理方法 | |
JP6373996B2 (ja) | 帯域幅マップ更新方法及び装置 | |
WO2016173346A1 (zh) | 一种光突发环网动态带宽分配方法及装置 | |
CN117750552A (zh) | 一种无线网络的通信资源管理方法及节点 | |
JP6244032B2 (ja) | マスターノードをクロッシングするサービスの処理方法及び装置 | |
JP2004201099A (ja) | 親局及び子局及び通信制御方法及び通信制御プログラム | |
JP4076171B2 (ja) | 光tdmネットワーク管理方法、光tdmネットワーク管理プログラム、そのプログラムを記憶した記憶媒体および光tdmネットワーク管理装置 | |
JP2001007854A (ja) | パケット転送網における平均遅延時間短縮方式及び方法 | |
JP2018125671A (ja) | 通信装置およびデータ伝送プログラム | |
An et al. | A high-throughput energy-efficient passive optical datacenter network | |
JP6189258B2 (ja) | 光tdmリング網のタイムスロット割り当て方法 | |
Maode et al. | A receiver-oriented message scheduling algorithm for WDM lightwave networks | |
Ma et al. | An adaptive scheduling algorithm for differentiated services on WDM optical networks | |
Agusti-Torra et al. | Wavelength and offset window assignment schemes to avoid contention in OBS rings | |
Baziana et al. | A channel reuse strategy with adaptive channel allocation for all-optical WDM networks | |
CN117675721A (zh) | 流量控制方法、转发节点、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16785777 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16785777 Country of ref document: EP Kind code of ref document: A1 |