[go: up one dir, main page]

WO2020040047A1 - 帯域割当装置、帯域割当方法及び帯域割当プログラム - Google Patents

帯域割当装置、帯域割当方法及び帯域割当プログラム Download PDF

Info

Publication number
WO2020040047A1
WO2020040047A1 PCT/JP2019/032107 JP2019032107W WO2020040047A1 WO 2020040047 A1 WO2020040047 A1 WO 2020040047A1 JP 2019032107 W JP2019032107 W JP 2019032107W WO 2020040047 A1 WO2020040047 A1 WO 2020040047A1
Authority
WO
WIPO (PCT)
Prior art keywords
amount
variable
uplink data
value
subscriber line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2019/032107
Other languages
English (en)
French (fr)
Inventor
寛之 鵜澤
裕隆 氏川
浩崇 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US17/269,211 priority Critical patent/US11849432B2/en
Priority to CN201980053615.1A priority patent/CN112534781B/zh
Priority to EP19852069.4A priority patent/EP3823221B1/en
Publication of WO2020040047A1 publication Critical patent/WO2020040047A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Definitions

  • the present invention relates to a band allocation device, a band allocation method, and a band allocation program.
  • the functions of a base station may be divided into functions of an upper layer and functions of a lower layer.
  • the higher-level device is a device (central unit) that is collectively arranged, and is a device that executes a function on the upper layer side of the base station.
  • the lower device is a device (distribution unit) that is distributed and arranged, and is a device that performs a function of a lower layer of the base station.
  • the upper device and the lower device are connected by an optical fiber.
  • the space between the upper device and the lower device is called a mobile fronthaul (MFH: @ Mobile @ Fronthaul).
  • MHF Mobile @ Fronthaul
  • a portion where the function of the base station is divided between the higher-level device and the lower-level device is referred to as a “functional division point”.
  • a functional division point for example, an LLS (Low Layer Split) having a division point inside the physical layer and an HLS (High Layer Split) having a division point in a layer higher than the physical layer are being studied. .
  • the delay requirement of MFH differs depending on the function division point.
  • the MFH delay requirement is 250 ⁇ s one way.
  • the delay requirement of MFH is 1.5 to 10 ms (see Non-Patent Document 1).
  • TDM-PON Time Division Multiplexing-Passive Optical Network
  • NG-PON2 Next Generation-Passive Optical Network 2
  • an OLT Optical Line Terminal: subscriber line terminal unit
  • ONUs Optical Network Unit: subscriber line termination unit
  • the OLT communicates with the ONU by time division multiplexing (TDM: ⁇ Time ⁇ Division ⁇ Multiplexing).
  • TDM Time ⁇ Division ⁇ Multiplexing
  • up the direction from the ONU to the OLT is referred to as “up”.
  • uplink transmission For transmission of uplink data (hereinafter referred to as “uplink transmission”), the OLT controls uplink transmission of each ONU in order to avoid collision of uplink optical signals between the ONUs.
  • the ONU accumulates the uplink data in its own buffer, waits for the uplink transmission, and transmits according to the instruction from the OLT.
  • the lower device When TDM-PON is applied to MFH, the lower device is connected to the ONU.
  • the host device is connected to the OLT.
  • the upper device performs scheduling every radio transmission cycle (TTI: Transmission Time Interval) so that the upper device centrally controls the uplink transmission of the user terminal wirelessly connected to the lower device.
  • TTI Transmission Time Interval
  • the higher-level device transmits this scheduling result to each user terminal via the ONU and the lower-level device.
  • Each user terminal performs uplink transmission based on the scheduling result.
  • the uplink data that the lower device receives from each user terminal is referred to as “mobile data”, and the time at which the lower device receives mobile data from each user terminal is referred to as “uplink data reception time”.
  • scheduling information information including information for specifying the amount of uplink data and the time of receiving uplink data in the lower-level device for LLS is referred to as “scheduling information”.
  • the OLT receives the scheduling information in advance from the higher-level device.
  • the OLT determines an allocation amount to each ONU based on the scheduling information received in advance, and notifies each ONU.
  • allocation can be performed in accordance with arrival of uplink data from the lower device to the ONU, and uplink data transfer with low delay becomes possible.
  • Non-Patent Document 3 and 4 a bandwidth allocation method for periodically allocating a bandwidth of a fixed data amount to each ONU. Since the OLT allocates a bandwidth of a fixed data amount to each ONU regardless of whether or not uplink data has arrived from each user terminal to the ONU, the number of ONUs that can be accommodated in the OLT is limited.
  • SR-DBA dynamic bandwidth allocation
  • the OLT periodically allocates a band for notifying the OLT of the amount of data (requested amount of uplink transmission) accumulated in the buffer to each ONU, and transmits information indicating the requested amount from each ONU. collect.
  • the OLT determines, based on the information indicating the requested amount, the information on the allocation amount including the information on the start time of the uplink transmission and the information on the data amount permitted to be transmitted, and notifies each ONU of the determined allocation amount.
  • Each ONU transmits the upstream data stored in the buffer of the ONU to the OLT based on the notified information on the allocated amount.
  • a time longer than a maximum round trip time (RTT: ⁇ Round ⁇ Trip ⁇ Time) between the OLT and the ONU (hereinafter referred to as "maximum RTT") is required. It is. When the maximum allowable distance between the OLT and the ONU is, for example, 20 km, the maximum RTT is, for example, 200 ⁇ s.
  • RTT Round ⁇ Trip ⁇ Time
  • the maximum RTT is, for example, 200 ⁇ s.
  • the information indicating the requested amount is stored in the buffer of the ONU from the time when the ONU transmits the information.
  • SR-DBA is a bandwidth allocation process that is not suitable for applications that do not tolerate a delay of about several ms. However, since it is an allocation to data that has been stored in the ONU buffer, the bandwidth utilization efficiency is high and the The number of possible ONUs can be increased. SR-DBA is applicable to HLS, as HLS allows delays from 1.5 to 10 ms.
  • the OLT may accommodate a plurality of MFHs having different delay requirements using the same TDM-PON. Furthermore, since the TDM-PON is also used in the FTTH, the ONU for the FTTH may be accommodated on the same TDM-PON as the MFH in order to maximize the economy.
  • the OLT uses a cooperative DBA for ONUs (hereinafter, “ONLs for LLS”) connected to lower-level devices for LLS, and uses ONUs (hereinafter, “HLS-type devices for HLS”) connected to lower-level devices for HLS. ONU) and the FTTH ONU using SR-DBA to control uplink transmission.
  • ONLs for LLS a cooperative DBA for ONUs
  • HLS-type devices for HLS ONUs
  • FTTH ONU FTTH ONU using SR-DBA to control uplink transmission.
  • DBA cycle the time length of a cycle for calculating and determining the uplink data allocation amount
  • the conventional bandwidth allocating apparatus sets the cooperative DBA that is required to set the DBA cycle to be equal to or less than the time length (low delay) of the wireless transmission cycle, and sets the DBA cycle to a cycle equal to or more than the maximum RTT time length. May not be compatible with SR-DBA, which is required to be compatible.
  • One aspect of the present invention is an acquisition unit that acquires scheduling information on transmission of uplink data of a first subscriber line termination device that is a subscriber line termination device that needs to transfer uplink data with low delay, From a second subscriber line termination device, which is a subscriber line termination device that does not need to be transferred with a low delay, information indicating a requested amount of uplink data transmission of the second subscriber line termination device is transmitted to a predetermined maximum round trip.
  • a request amount receiving unit for receiving in a request amount receiving cycle that is a cycle of more than a time, and in an allocation amount determining cycle shorter than the request amount receiving cycle, the uplink data of the first subscriber line termination device is transmitted based on the scheduling information.
  • An allocating unit for allocating a bandwidth and allocating a bandwidth to uplink data of the second subscriber line termination device based on the information indicating the required amount in the quota determining cycle.
  • a bandwidth allocating device for allocating a bandwidth and allocating a bandwidth to uplink data of the second subscribe
  • One aspect of the present invention is the above-mentioned band allocating apparatus, wherein the allocating unit allocates a band for transmitting the information indicating the required amount, and remains unallocated for transmitting the information indicating the required amount.
  • the allocated band is allocated for transmission of uplink data of the first subscriber line termination device, and the remaining band not allocated for transmission of uplink data of the first subscriber line termination device is allocated to the uplink of the second subscriber line termination device.
  • the bandwidth is allocated for data transmission, and the remaining band which is not allocated for the uplink data transmission of the second subscriber line termination device is allocated for the uplink data transmission of the first subscriber line termination device.
  • One aspect of the present invention is the above-mentioned band allocating apparatus, wherein the allocating unit obtains information indicating a predetermined minimum data amount and information indicating a predetermined maximum data amount, and Is less than the minimum data amount, a bandwidth of the minimum data amount is allocated for transmission of uplink data of the second subscriber line termination device, and if the request amount exceeds the maximum data amount, the second subscription is performed. The bandwidth of the maximum data amount is allocated for transmitting uplink data of the subscriber line termination device.
  • One aspect of the present invention is the above-mentioned band allocating device, wherein the allocating unit is configured to perform the request based on a weight coefficient determined for each second subscriber line termination device and information indicating the required amount.
  • a band is allocated for transmission of uplink data of the second subscriber line termination device with the amount of data amount as the upper limit.
  • One aspect of the present invention is a bandwidth allocation method executed by a bandwidth allocation apparatus, wherein transmission of uplink data by a first subscriber line termination device, which is a subscriber line termination device that needs to transfer uplink data with low delay.
  • a bandwidth is allocated to uplink data of the subscriber line termination device, and in the allocation amount determination cycle, the second subscriber line termination device Ri is the band allocation method comprising the steps of assigning a bandwidth to the data.
  • One aspect of the present invention is the band allocation method, wherein, in the allocating step, a band is allocated for transmitting uplink data of the information indicating the request amount, and a band is allocated for transmission of the uplink data of the information indicating the request amount.
  • the remaining band not allocated to the first subscriber line termination device is allocated for transmission of uplink data, and the remaining band not allocated for transmission of uplink data of the first subscriber line termination device is allocated to the second subscriber. Allocated for transmission of uplink data of the subscriber line termination device, and allocates the remaining bandwidth not allocated for transmission of uplink data of the second subscriber line termination device for transmission of uplink data of the first subscriber line termination device.
  • One aspect of the present invention is the above-mentioned band allocation method, wherein the allocating step obtains information representing a predetermined minimum data amount and information representing a predetermined maximum data amount, and Is smaller than the minimum data amount, the bandwidth of the minimum data amount is allocated to the upstream data of the second subscriber line termination device, and if the request amount exceeds the maximum data amount, the second subscriber line termination The bandwidth of the maximum data amount is allocated to the uplink data of the device.
  • One embodiment of the present invention is a band allocation program for causing a computer to function as the above band allocation device.
  • FIG. 2 is a diagram illustrating a configuration example of an optical communication system according to the first embodiment.
  • FIG. 11 is a diagram showing a comparison between a conventional SR-DBA process and an example of an SR-DBA process executed by an assignment unit.
  • FIG. 5 is a diagram illustrating an example of a timing of a DBA process in the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a time at which information indicating a request amount is read from a cooperation processing unit in the first embodiment. It is a flowchart in the 1st Embodiment which shows the example of the calculation procedure of an allocation amount.
  • 5 is a flowchart illustrating an example of a procedure for acquiring a required amount of LLS ONU data in the first embodiment.
  • 5 is a flowchart illustrating an example of a procedure for acquiring a required amount of HLS ONU data in the first embodiment.
  • 5 is a flowchart illustrating an example of a procedure for updating a required amount of data of an ONU in the first embodiment.
  • FIG. 4 is a diagram illustrating an example of a timing of updating an ONU data request amount in the first embodiment.
  • 5 is a flowchart illustrating an example of a procedure for calculating a fixed allocation data amount and an additional allocation data amount of uplink transmission in the first embodiment.
  • 9 is a flowchart illustrating an example of a procedure for assigning an HLS ONU to a data amount required for notification of a request amount in the first embodiment.
  • FIG. 5 is a flowchart illustrating an example of a procedure for assigning a fixed data amount to an LLS ONU in the first embodiment. It is a 1st part of the flowchart in the 1st Embodiment which shows the example of the procedure which allocates the additional data amount to ONU for HLS. It is a 2nd part of the flowchart in the 1st Embodiment which shows the example of the procedure which allocates the additional data amount to ONU for HLS. It is the 3rd part of the flow chart in the 1st Embodiment which shows the example of the procedure of allocating an additional data amount to ONU for HLS.
  • FIG. 5 is a diagram illustrating an example of a procedure for allocating an additional data amount to an LLS ONU in the first embodiment. It is a figure in the 2nd Embodiment which shows the example of the relationship between the request amount and the allocation amount. It is a flowchart in the 2nd Embodiment which shows the example of the procedure of acquiring the required amount of ONU for LLS. It is a flowchart in the 2nd Embodiment which shows the example of the procedure of acquiring the required amount of ONU for HLS. It is a 1st part of the flowchart in the 3rd Embodiment which shows the example of the procedure of allocating an additional data amount to ONU for HLS.
  • FIG. 14 is a diagram illustrating an example of a relationship between a weight coefficient and an uplink delay according to the third embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of the optical communication system 1.
  • the optical communication system 1 is a system that performs communication using an optical signal.
  • the optical communication system 1 includes a host device 2, a host device 3, an L2SW 4, an OLT 5, one or more ONUs 6, one or more ONUs 7, one or more lower devices 8, and one or more lower devices 9.
  • a host device 2 a host device 3
  • an L2SW 4 an OLT 5
  • one or more ONUs 6, one or more ONUs 7, one or more lower devices 8 and one or more lower devices 9.
  • the host device 2 is a device for LLS that is higher than the OLT 5.
  • the upper device 2 transmits the scheduling information of the lower device 8 for LLS to the OLT 5.
  • the upper-level device 2 receives the uplink data transmitted by the ONU 6 for LLS from the OLT 5 via the L2SW 4.
  • the host device 3 is a device for HLS that is higher than the OLT 5.
  • the host device 3 receives the upstream data transmitted by the HLS ONU 7 from the OLT 5 via the L2SW 4.
  • L2SW4 is a layer 2 switch.
  • the L2SW 4 relays data between the host device 2 and the OLT 5.
  • the L2SW 4 relays data between the host device 3 and the OLT 5.
  • OLT5 is a terminal device.
  • the OLT 5 executes control related to uplink transmission.
  • the OLT 5 allocates the bandwidth of the upstream data of the ONU 6 for LLS to the ONU 6 by executing the allocation for the linked DBA.
  • the OLT 5 allocates the bandwidth of the uplink data of the ONU 7 for the HLS to the ONU 7 by executing the allocation for the SR-DBA.
  • the ONU 6 is a subscriber line termination device for LLS.
  • the ONU 6 transmits the uplink data received from the lower-level device 8 based on the allocated amount notified from the OLT 5.
  • the upstream data of the ONU 6 needs to be transferred with low delay.
  • the ONU 7 is an HLS subscriber line termination device.
  • the ONU 7 transmits the uplink data received from the lower-level device 9 based on the allocated amount notified from the OLT 5.
  • the upstream data of the ONU 7 does not need to be transferred with a low delay.
  • the lower device 8 is a device for LLS lower than the OLT 5.
  • the lower-level device 8 executes wireless communication with a user terminal (not shown).
  • the lower-level device 8 transmits the mobile data received from the user terminal to the ONU 6 as uplink data.
  • the upstream data of the lower order device 8 needs to be transferred with low delay.
  • the lower-level device 9 is a device for HLS lower than the OLT 5.
  • the lower order device 9 executes wireless communication with a user terminal (not shown).
  • the lower-level device 8 transmits the mobile data received from the user terminal to the ONU 7 as uplink data.
  • the upstream data of the lower order device 9 does not need to be transferred with low delay.
  • the OLT 5 includes a cooperation processing unit 50, a communication unit 51, a request amount reception unit 52, an ONU management unit 53, and an assignment unit 54.
  • Each functional unit is realized by a processor such as a CPU (Central Processing Unit) executing a program stored in a storage unit.
  • Each functional unit may be realized using hardware such as an LSI (Large Scale Integration) or an ASIC (Application Specific Integrated Circuit).
  • the cooperative processing unit 50 is an obtaining unit that obtains scheduling information from the higher-level device 2.
  • the cooperation processing unit 50 extracts information indicating the uplink data reception time and the uplink data amount for the LLS lower-level device 8 from the scheduling information for each wireless transmission cycle.
  • the communication unit 51 transmits to the ONU 7 an instruction requesting a notification of a request amount regarding transmission of uplink data.
  • the communication unit 51 receives from the ONU 7 information indicating the required amount of transmission of uplink data of the ONU 7.
  • the communication unit 51 outputs to the request amount receiving unit 52 information indicating the request amount of the ONU 7 regarding the transmission of the uplink data.
  • the communication unit 51 may receive, from the ONU 6, information indicating a request amount of the ONU 6 regarding transmission of uplink data.
  • the communication unit 51 notifies the ONU 6 and the ONU 7 of the allocation amount of the uplink data allocated by the allocation unit 54, for example, in each allocation amount calculation cycle (allocation amount determination cycle). That is, the communication unit 51 transmits information indicating the allocation amount of the uplink data of the ONU 6 to the ONU 6 in, for example, each allocation amount calculation cycle. The communication unit 51 transmits information indicating the allocation amount of the uplink data of the ONU 7 to the ONU 7 in each allocation amount calculation cycle, for example.
  • the communication unit 51 transmits the uplink data acquired from the ONU 6 to the host device 2 via the L2SW 4.
  • the communication unit 51 transmits the upstream data obtained from the ONU 7 to the host device 3 via the L2SW 4.
  • the request amount receiving unit 52 acquires information indicating the request amount related to transmission of uplink data from the communication unit 51.
  • the request amount receiving unit 52 stores information indicating a request amount regarding transmission of uplink data for each ONU.
  • the request amount receiving unit 52 updates the information indicating the request amount regarding the transmission of the uplink data for each ONU.
  • the request amount receiving unit 52 outputs to the allocating unit 54 information indicating a request amount related to transmission of uplink data of the ONU designated by the allocating unit 54.
  • the ONU management unit 53 has a non-volatile recording medium (non-temporary recording medium) such as a flash memory and an HDD (Hard Disk Drive).
  • the ONU management unit 53 may have a volatile recording medium such as a RAM (Random Access Memory) and a register.
  • the ONU management unit 53 stores, for example, programs and data tables.
  • a unique identifier of an ONU that can be connected to the OLT 5 a setting value (ONU_TYPE) indicating whether the ONU is an ONU for LLS, and a logical link identifier are associated with each other.
  • the unique identifier and the setting value (ONU_TYPE) are recorded in a data table in advance by an external device or the like.
  • the logical link identifier is uniquely assigned to the ONU when the connection between the OLT and the ONU is established.
  • the data table does not record the unique identifier, and the logical link identifier and the set value (ONU_TYPE) May be recorded.
  • the ONU management unit 53 measures the number of ONUs already connected to the OLT 5.
  • the ONU management unit 53 notifies the assignment unit 54 of the number of ONUs already connected to the OLT 5.
  • the ONU management unit 53 reads out the setting value (ONU_TYPE) associated with the notified logical link identifier from the data table and notifies it.
  • the allocating unit 54 obtains, from the coordination processing unit 50, information indicating the required amount of transmission of the uplink data of the ONU 6 for LLS (information including the uplink data reception time and the uplink data amount) for each predetermined allocation amount calculation cycle. I do.
  • the allocating unit 54 acquires, from the required amount receiving unit 52, information indicating the required amount of uplink data transmission of the HLS ONU 7 (information representing the buffer accumulated data amount) for each predetermined allocated amount calculation cycle.
  • the allocating unit 54 determines the allocated amount of the uplink data of the ONU 6 based on the information indicating the required amount of the transmission of the uplink data of the ONU 6 for LLS.
  • the allocating unit 54 determines an allocated amount of uplink data of the ONU 7 based on information indicating a required amount of transmission of uplink data of the ONU 7 for HLS.
  • the allocating unit 54 outputs information indicating the determined allocated amount to the communication unit 51.
  • the allocating unit 54 performs a process other than the allocation of the data amount for notifying the required amount of transmission of the uplink data of the ONU 7 for HLS (request amount notification allocation).
  • the allocation of the uplink data bandwidth of the ONU 6 for LLS (allocation for linked DBA) is executed prior to the allocation of the uplink data bandwidth of the ONU 7 for HLS (allocation for SR-DBA).
  • the allocating unit 54 transmits the uplink of the ONU 7 for HLS based on the required amount of transmission of uplink data of the ONU 7 for HLS.
  • the data band allocation (SR-DBA allocation) is executed.
  • the allocating unit 54 sets the bandwidth of the uplink data of the ONU 6 for the LLS. Are assigned equally to the ONUs 6 for LLS.
  • the allocation cycle number of the data amount allocation (request amount notification allocation) for notifying the request amount related to the transmission of the uplink data of the ONU 7 for HLS is a number determined in advance.
  • the allocation cycle number of the allocation for request amount notification is a number represented as Expression (1).
  • FIG. 2 is a diagram showing a comparison between a conventional SR-DBA process and an example of the SR-DBA process executed by the allocating unit 54.
  • the upper part of FIG. 2 shows a conventional SR-DBA process.
  • the lower part of FIG. 2 illustrates an SR-DBA process performed by the allocating unit 54.
  • the OLT starts calculating the allocation amount of uplink data after receiving the request amount from all ONUs connected to the OLT. Therefore, the OLT executes the requested amount receiving process and the assigned amount calculating process in the same DBA cycle. In the conventional SR-DBA process, the OLT uses the completion of the requested amount receiving process as a start trigger of the allocated amount calculating process.
  • the allocating unit executes the requested amount receiving process and the allocated amount calculating process in different DBA cycles. That is, the allocating unit 54 separates the required amount receiving cycle and the allocated amount calculating cycle, and executes the required amount receiving cycle and the allocated amount calculating cycle.
  • the time length of the virtual DBA cycle which is the cycle of the requested amount reception processing (requested amount reception cycle), is the same as the DBA cycle length of the conventional SR-DBA processing.
  • the time length of the cycle of the quota calculation process (quota calculation cycle) is the same as the time length of the DBA cycle of the linked DBA.
  • the allocating unit 54 integrates the cooperative DBA and the SR-DBA by executing only the SR-DBA allocation amount calculation cycle in the same cycle as the cooperative DBA cycle.
  • the allocating unit 54 compares the allocation start time (the head time of the quota calculation cycle) and the requested amount reception completion time for each quota calculation cycle (actual DBA cycle). When the allocation start time is greater than the requested amount reception completion time (when the allocation start time is later than the requested amount reception completion time), the allocating unit 54 acquires information indicating the requested amount related to uplink data transmission. The allocating unit 54 calculates an allocated amount of uplink data based on information indicating a required amount of transmission of uplink data.
  • the allocating unit 54 holds information on the amount of uplink data in the band that has not been allocated, and carries over the amount of uplink data as a request amount related to transmission of uplink data in the next quota calculation cycle. .
  • FIG. 3 is a diagram showing an example of the timing of the DBA process.
  • the request amount receiving unit 52 executes a request amount reception 100 process.
  • the allocating unit 54 gives the ONU 6 to the ONU 6 by the coordination DBA allocation 101. Regardless of the presence or absence of the unallocated band (remaining band), allocation for request amount notification of the HLS ONU 7 (request amount notification allocation 102) is executed.
  • the allocating unit 54 executes the cooperative DBA allocation 101 and the SR-DBA allocation 103 in the same allocation amount calculation cycle.
  • the allocating unit 54 allocates a band (remaining band) other than the band allocated by the request amount notification allocation 102 to the ONU 6 that is not allocated to the ONU 6 by the linked DBA allocation 101. Assigned to ONU 7 by DBA assignment 103.
  • the allocating unit 54 allocates the remaining bandwidth in both the cooperative DBA allocation 101 and the SR-DBA allocation 103 to the LLS ONU 6 by further cooperative DBA allocation.
  • the reason for allocating the surplus bandwidth in both the linked DBA assignment 101 and the SR-DBA assignment 103 to the LLS ONU 6 is that the linked DBA is required to have lower delay than the SR-DBA.
  • FIG. 4 is a diagram illustrating an example of a time at which information indicating the requested amount is read from the cooperation processing unit 50.
  • the time “ReadTime” at which the requested amount is read from the cooperative processing unit 50 is a time obtained by subtracting the allocation cycle length from the end time of the allocation target period (the end time of the allocation amount calculation cycle) (the time before the allocation cycle length). Time).
  • the time length (hereinafter, referred to as “allocation cycle length”) of the minimum unit (hereinafter, referred to as “allocation cycle”) of the period for which the allocating unit 54 allocates the uplink data is predetermined.
  • the minimum value (hereinafter, referred to as “minimum arrival amount”) of the uplink data amount of the uplink data that can reach the LLS ONU 6 from the lower-level device 8 in the allocation cycle is predetermined.
  • the allocation cycle length is the length of time during which the allocation amount calculation cycle is divided into a plurality.
  • the time length of the allocation amount calculation cycle is the same as the time length of the wireless transmission cycle of the lower order device 8 (the period less than the uplink transmission scheduling period defined between the upper order device 2 and the lower order device 8).
  • the number of divisions is the number of allocation cycles of uplink data of the ONU 6 for LLS (hereinafter, referred to as “the number of LLS allocation cycles”).
  • the time length of the DBA cycle of the cooperative DBA has the same value as “allocation cycle length ⁇ number of LLS allocation cycles”.
  • the time length of the SR-DBA DBA cycle is equal to “allocation cycle length ⁇ number of HLS allocation cycles”.
  • FIG. 5 is a flowchart illustrating an example of a procedure for calculating the assigned amount.
  • the allocating unit 54 executes the operation of the flowchart shown in FIG. 5 for each quota calculation cycle.
  • the allocating unit 54 acquires from the coordination processing unit 50 information (uplink data reception time and uplink data amount) indicating the request amount of the LLS ONU 6 regarding the transmission of the uplink data.
  • the allocating unit 54 acquires information indicating the required amount of transmission of the uplink data of the ONU 7 for HLS from the required amount receiving unit 52 (Step S101).
  • the request amount receiving unit 52 and the allocating unit 54 update information indicating a request amount (RequestSize) related to transmission of uplink data (Step S102).
  • the allocating unit 54 calculates the amount of uplink data permitted for uplink transmission for each ONU (step S103).
  • the allocating unit 54 calculates the start time of uplink transmission of each ONU based on the uplink data amount of each ONU, for example, as in the process described in Non-Patent Document 2 (Step S104).
  • the allocating unit 54 increments a current allocation cycle number for LLS (hereinafter, referred to as “LLS current allocation cycle number”).
  • LLS current allocation cycle number The allocating unit 54 increments the current allocation cycle number for HLS (hereinafter referred to as “HLS current allocation cycle number”) (Step S105).
  • the allocation unit 54 determines whether the HLS current allocation cycle number is equal to the number of HLS allocation cycles (step S106). When the HLS current allocation cycle number is different from the HLS allocation cycle number (step S106: NO), the allocation unit 54 proceeds to step S108. If the HLS current allocation cycle number is equal to the HLS allocation cycle number (step S106: YES), the allocating unit 54 sets the HLS current allocation cycle number to 0 (step S107). Note that the HLS current allocation cycle number is not cleared to 0 even when the end of this flow is reached, and is retained.
  • the allocation unit 54 determines whether or not the current LLS allocation cycle number is equal to the number of LLS allocation cycles (step S108). If the current LLS allocation cycle number is different from the number of LLS allocation cycles (step S108: NO), the allocation unit 54 returns the process to step S102. If the current LLS allocation cycle number is equal to the number of LLS allocation cycles (step S108: YES), the allocation unit 54 ends the processing illustrated in FIG. The LLS current allocation cycle number is different from the HLS current allocation cycle number, and is cleared to 0 when the end of the flowchart shown in FIG. 5 is reached.
  • variable “id” indicates identification information uniquely assigned to the ONU connected to the OLT 5. This identification information is an internal ID in the allocating unit 54.
  • FIG. 6 is a flowchart showing an example of a procedure (step S101 in FIG. 5) for acquiring the required amount of data of the ONU 6 for LLS.
  • the characters or numbers described at the beginning of the determination process in the flowchart below indicate that the process proceeds to the step in which the same character or number is described.
  • the character "A" described at the destination of the determination process in step S203 in FIG. 6 indicates that the process proceeds to step S301 in which the same character "A" is described in FIG.
  • the assigning unit 54 substitutes 0 for a variable “id” (Step S201).
  • the allocating unit 54 determines whether the variable “id” is equal to the number of ONUs connected to the OLT 5 (Step S202). When the variable “id” is equal to the number of ONUs connected to the OLT 5 (step S202: YES), the allocating unit 54 ends the processing illustrated in FIG. When the variable “id” is different from the number of ONUs connected to the OLT 5 (step S202: NO), the allocating unit 54 determines whether the ONU_TYPE of the logical link identifier [id] indicates LLS (step S202). Step S203).
  • the allocating unit 54 proceeds to step S301 in FIG.
  • ONU_TYPE of the logical link identifier [id] indicates LLS (step S203: YES)
  • the allocating unit 54 sets “variable“ ReadTime ”to“ allocated amount calculation cycle start time + (number of LLS allocated cycles ⁇ 1) ⁇ ”.
  • the result of “allocation cycle length” is substituted (step S204).
  • the allocating unit 54 acquires, from the cooperation processing unit 50, information indicating the requested amount after the variable “ReadTime” in the logical link identifier [id] (Step S205).
  • the higher-level device 2 notifies the variable "ReadTime” and the logical link identifier (logical link identifier [id]) of the target ONU to the cooperation processing unit 50.
  • the cooperation processing unit 50 searches for information indicating the uplink data reception time after the time “ReadTime”. When the information indicating the uplink data reception time after the time “ReadTime” exists in the memory of the association processing unit 50, the coordination processing unit 50 allocates the uplink data reception time and the uplink data amount as the information indicating the request amount. Notify section 54. In order to avoid redundant reading, the cooperative processing unit 50 deletes the information indicating the uplink data reception time and the information indicating the uplink data amount notified to the allocating unit 54 from the memory of the cooperative processing unit 50.
  • the cooperation processing unit 50 If the information indicating the uplink data reception time after the time “ReadTime” does not exist in the memory of the cooperation processing unit 50, the cooperation processing unit 50 requests the uplink data reception time “0” and the uplink data amount “0”. The allocation unit 54 is notified as information indicating the amount.
  • the allocating unit 54 substitutes the acquired uplink data amount of the requested amount into the variable “RequestSizeTmp [id]”.
  • the allocating unit 54 substitutes the acquired request data uplink data reception time into the variable “RequestTime [id]” (Step S206).
  • the allocating unit 54 increments the variable “id” (Step S207).
  • the allocating unit 54 returns the process to step S202.
  • FIG. 7 is a flowchart showing an example of a procedure (step S101 in FIG. 5) for acquiring the required amount of data of the ONU 7 for HLS.
  • the allocating unit 54 determines whether or not the HLS current allocated cycle number is 0. That is, the allocating unit 54 determines whether or not the current time is the head time of the SR-DBA DBA cycle (step S301). If the HLS current allocation cycle number is not 0 (step S301: NO), the allocation unit 54 returns the process to step S207 in FIG.
  • the allocation unit 54 acquires the required amount of the logical link identifier [id] from the required amount receiving unit 52 (step S302).
  • the allocating unit 54 substitutes the requested amount (uplink data amount) of the logical link identifier [id] into a variable “RequestSizeTmp [id]” (Step S303).
  • the allocating unit 54 determines whether the value of the variable “RequestSizeTmp [id]” is larger than the value of the variable “AllocatedSize [id]” (Step S304).
  • Step S304 YES
  • the allocating unit 54 determines the value of the requested amount (RequestSize) of the logical link identifier [id]. , The value of the allocated uplink data amount (AllocatedSize [id]) is subtracted.
  • the reason why the allocation unit 54 subtracts the allocated data amount (AllocatedSize [id]) from the value of the requested amount of the logical link identifier [id] is that the uplink data stored in the ONU buffer at the time of notification. This is because the ONU notifies the OLT 5 of the amount as the requested amount, so that the requested amount of the logical link identifier [id] includes data for which transmission has already been determined (step S305).
  • the allocating unit 54 determines from the value of the request amount (RequestSize) of the logical link identifier [id]. , Does not subtract the allocated data amount (AllocatedSize [id]).
  • Step S304 When the value of the variable “RequestSizeTmp [id]” is equal to or less than the value of the variable “AllocatedSize [id]” (Step S304: NO), the allocating unit 54 substitutes 0 for the variable “RequestSizeTmp [id]” (Step S306). ).
  • the number of LLS ONUs whose variable “RequestSize” is not 0 in the allocation cycle is referred to as “the number of LLS valid ONUs”.
  • the number of HLS ONUs in which the variable “RequestSize” is not 0 in the allocation cycle is referred to as “the number of HLS valid ONUs”.
  • the number of ONUs for LLS connected to the OLT is called “the number of LLS connection ONUs”.
  • FIG. 8 is a flowchart showing an example of a procedure (step S102 in FIG. 5) for updating the required amount of ONU data.
  • the allocating unit 54 substitutes 0 for the variable “id”, substitutes 0 for the variable “number of LLS valid ONUs”, substitutes 0 for the variable “number of HLS valid ONUs”, and substitutes 0 for the variable “number of LLS valid ONUs”. Is substituted (step S401).
  • the assignment unit 54 determines whether the variable “id” is equal to the number of connected ONUs (Step S402). When the variable “id” is equal to the number of connected ONUs (step S401: YES), the allocating unit 54 ends the processing illustrated in FIG. When the variable “id” is different from the number of connected ONUs (step S401: NO), the allocating unit 54 determines whether the set value (ONU_TYPE) of the logical link identifier [id] indicates LLS. (Step S403).
  • step S403 When the set value (ONU_TYPE) of the logical link identifier [id] indicates LLS (step S403: YES), the allocating unit 54 determines whether the allocated cycle start time is earlier than the time “RequestTime [id]”. A determination is made (step S404). When the allocation cycle start time is before the time “RequestTime [id]” (step S404: YES), the allocation unit 54 advances the process to step S407.
  • step S404 If the allocation cycle start time is equal to or later than the time “RequestTime [id]” (step S404: NO), the allocation unit 54 sets the value of the variable “RequestSize [id]” representing the requested amount to the variable “RequestSizeTmp [id]”. Are added (step S405). The allocating unit 54 sets the value of the variable “RequestSizeTmp [id]” to 0 (Step S406).
  • the assigning unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 (Step S407). When the value of the variable “RequestSize [id]” is equal to or smaller than 0 (step S407: NO), the allocating unit 54 proceeds to step S409. When the value of the variable “RequestSize [id]” is larger than 0 (Step S407: YES), the allocating unit 54 increments the value of the variable “LLS valid ONU number” (Step S408).
  • the allocating unit 54 increments the value of the variable “number of LLS connection ONUs” (Step S409).
  • the allocating unit 54 increments the value of the variable “id” (Step S410).
  • the allocating unit 54 returns the process to step S402.
  • the allocating unit 54 determines whether the variable “HLS currently allocated cycle number” is equal to 0 (step S411). ). When the variable “HLS current allocation cycle number” is different from 0 (step S411: NO), the allocation unit 54 advances the processing to step S413. If the variable “HLS current allocation cycle number” is equal to 0 (step S411: YES), the allocation unit 54 substitutes the value of the variable “RequestSizeTmp [id]” for the value of the variable “RequestSize [id]” (step S411). S412).
  • the assigning unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 (Step S413). If the value of the variable “RequestSize [id]” is equal to or smaller than 0 (step S413: NO), the allocating unit 54 proceeds to step S410.
  • step S407 If the value of the variable “RequestSize [id]” is greater than 0 (step S407: YES), the allocating unit 54 increments the value of the variable “the number of HLS valid ONUs” (step S414). The allocating unit 54 advances the process to step S410.
  • FIG. 9 is a diagram showing an example of the timing for updating the required amount of data of the ONU.
  • the allocation unit 54 updates the variable “RequestSize” of the ONS for LLS.
  • the allocation unit 54 updates the value of the variable “RequestSize” of the HLS ONU. That is, the allocating unit 54 updates the value of the variable “RequestSize” of the ONU for HLS at the beginning of the DBA cycle (request amount receiving cycle) of the SR-DBA.
  • FIG. 10 is a flowchart illustrating an example of a procedure for calculating the fixed allocation data amount and the additional allocation data amount of the uplink transmission data amount.
  • the allocating unit 54 when the amount of LLS ONUs remaining (request size “RequestSize” of all ONLs 6 for LLS becomes 0), goes up to the HLS ONU 7 based on the request amount of the HLS ONU 7. Allocate the amount of data. Further, the additional allocation processing for HLS (FIGS. 13, 14, and 15) is first performed on the additional allocation data amount so that the remaining uplink data amount is equally allocated to the ONU 6 for LLS. The additional allocation process for LLS (FIG. 16) is executed.
  • the allocating unit 54 allocates a data amount (an HLS fixed allocation data amount) required for notifying the required amount of the HLS ONU to the HLS ONU (step S501). ). As will be described later with reference to FIG. 12, the allocating unit 54 allocates the fixed allocation data amount (LLS fixed allocation data amount) of the LLS ONU to the LLS ONU (step S502).
  • the allocating unit 54 adaptively determines the remaining unallocated data amount according to the request amount related to the transmission of uplink data of the HLS ONU by the HLS. Is additionally assigned to the ONU for use (step S503). As will be described later with reference to FIG. 16, the allocating unit 54 adaptively allocates the remaining unallocated data amount to the LLS ONUs adaptively according to the request amount related to transmission of uplink data of the LLS ONU. (Step S504).
  • each of the flowcharts from FIG. 10 to FIG. 16 for simplicity of description, assignments not including parity bits for error correction are described.
  • Each of the flowcharts in FIGS. 10 to 16 may be an allocation flowchart including a parity bit.
  • FIG. 11 is a flowchart showing an example of a procedure for allocating the data amount required for notification of the request amount to the ONS 7 for HLS.
  • the amount of data required for notification of the requested amount is referred to as “amount of allocated data for request amount notification”.
  • amount of allocated data for request amount notification a value indicating the unallocated data amount among the data amounts that can be allocated within the allocation cycle.
  • burst overhead (Burst @ Overhead) is described as "BOH”.
  • the allocating unit 54 substitutes the maximum amount of data that can be transmitted in the allocated cycle length into the variable “rGrantCycleLength” (Step S601).
  • the allocating unit 54 determines whether the HLS current allocated cycle number is equal to the requested amount notification allocated cycle number (step S602). If the HLS current allocation cycle number is different from the request amount notification allocation cycle number (step S602: NO), the allocation unit 54 ends the processing illustrated in FIG.
  • the allocation unit 54 sets the value of the variable “id” to 0 (step S603).
  • the allocation unit 54 determines whether the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (Step S604). If the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (step S604: YES), the allocating unit 54 ends the processing illustrated in FIG.
  • step S604 determines whether or not the set value (ONU_TYPE) of the logical link identifier [id] indicates LLS. Is determined (step S605).
  • step S605 YES
  • the allocating unit 54 returns the process to step S604.
  • the allocating unit 54 sets the value of the variable “allocated data amount [logical link identifier [id]]” to the variable “request The value of “amount notification allocation data amount + BOH” is substituted.
  • the allocating unit 54 substitutes 1 for a variable “request amount notification request flag [logical link identifier [id]]”.
  • the request amount notification request flag being 1 means instructing the ONU to notify the request amount (step S606).
  • the allocating unit 54 subtracts the value of the variable “allocated data amount [logical link identifier [id]]” from the value of the variable “rGrantCycleLength”.
  • the allocating unit 54 sets the value of the variable “AllocatedSize [id]” to 0 (Step S607).
  • the allocating unit 54 increments the value of the variable “id” (Step S608).
  • the allocating unit 54 returns the process to Step S604.
  • FIG. 12 is a flowchart showing an example of a procedure for allocating a fixed data amount to the ONU 6 for LLS. Regardless of the value of the request amount “RequestSize”, the data amount to be allocated to the ONU for LLS in each allocation cycle is hereinafter referred to as “LLS minimum allocated data amount”.
  • the assigning unit 54 determines whether the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (Step S701). If the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (step S701: YES), the allocating unit 54 ends the processing illustrated in FIG. When the value of the variable “id” is different from the value of the variable “number of connected ONUs” (step S701: NO), the allocating unit 54 determines whether or not ONU_TYPE of the logical link identifier [id] indicates LLS. (Step S702). When ONU_TYPE of the logical link identifier [id] indicates HLS (step S702: NO), the allocating unit 54 ends the processing illustrated in FIG.
  • step S702 When ONU_TYPE of the logical link identifier [id] indicates LLS (step S702: YES), the allocating unit 54 sets the value of the variable “allocated data amount [logical link identifier [id]]” to the variable “LLS minimum allocation”. The value of “data amount + BOH” is substituted (step S703). The allocating unit 54 subtracts the value of the variable “allocated data amount [logical link identifier [id]] from the value of the variable“ rGrantCycleLength ”(Step S704). The allocating unit 54 increments the value of the variable“ id ”. (Step S705). The allocating unit 54 returns the process to step S701.
  • FIG. 13 is a first part of a flowchart showing an example of a procedure for allocating an additional data amount to the ONS 7 for HLS.
  • the allocating unit 54 does not add the burst overhead as the allocation data amount. Calculates the unassigned burst overhead amount “AddBOH”.
  • the assignment unit 54 does not assign a request amount equal to or larger than the variable “RequestSize”.
  • the allocating unit 54 subtracts the allocated uplink data amount (request amount) from the variable “RequestSize” and carries over the subtracted uplink data amount to the next allocation cycle. .
  • the allocation unit 54 determines whether or not the value of the variable “number of LLS valid ONUs” is 0 and the value of the variable “number of HLS valid ONUs” is greater than 0 (step S801). When the value of the variable “the number of LLS valid ONUs” is 0 and the value of the variable “the number of HLS valid ONUs” is larger than 0 (step S801: YES), the allocating unit 54 sets the variable “HLS current allocation cycle number” Is determined to be equal to the value of the variable “assignment cycle number for request amount notification” (step S802).
  • step S802 When the value of the variable “HLS current allocation cycle number” is equal to the value of the variable “request amount notification allocation cycle number” (step S802: YES), the allocation unit 54 sets the variable “AddBOH” of the unassigned burst overhead amount. Is set to 0 (step S803). The allocating unit 54 advances the process to step S805.
  • step S802 When the value of the variable “HLS current allocation cycle number” is different from the value of the variable “request amount notification allocation cycle number” (step S802: NO), the allocation unit 54 sets the variable “AddBOH” of the unassigned burst overhead amount. Is set to the value of the variable “BOH ⁇ the number of HLS valid ONUs” (step S804). The allocating unit 54 advances the process to step S805.
  • the assigning unit 54 determines whether the value of the variable “rGrantCycleLength” is larger than the value of the variable “AddBOH” (Step S805). When the value of the variable “rGrantCycleLength” is larger than the value of the variable “AddBOH” (step S805: YES), the allocating unit 54 stores the result of “(rGrantCycleLength ⁇ AddBOH) / HLS effective ONU number” in the variable “AddGrantSizeHls”. Substitution (step S806). The allocating unit 54 sets the value of the variable “id” to 0 (Step S807).
  • the assignment unit 54 determines whether the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (Step S808). If the value of the variable “id” is different from the value of the variable “number of connected ONUs” (step S808: NO), the allocating unit 54 determines whether or not ONU_TYPE of the logical link identifier [id] indicates LLS. (Step S809). If ONU_TYPE of the logical link identifier [id] indicates HLS (step S809: NO), the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 (step S810). ).
  • step S810 YES
  • the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is larger than the value of the variable “AddGrantSizeHls”. (Step S811).
  • FIG. 14 is a second part of the flowchart showing an example of a procedure for allocating an additional data amount to the ONU 7 for HLS.
  • the allocating unit 54 determines whether the value of the variable “AddBOH” is larger than 0 (Step S812). When the value of the variable “AddBOH” is 0 or less (step S812: NO), the allocating unit 54 adds the value of the variable “AddGrantSizeHls” to the value of the variable “allocated data amount [logical link identifier [id]]”. I do. The allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “AddGrantSizeHls” from the value of the variable “rGrantCycleLength” (step S813).
  • the allocating unit 54 advances the process to step S815.
  • Step S812 When the value of the variable “AddBOH” is larger than 0 (Step S812: YES), the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls + BOH” for the value of the variable “allocated data amount [logical link identifier [id]]”. .
  • the allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “AddGrantSizeHls + BOH” from the value of the variable “rGrantCycleLength” (step S814).
  • the assigning unit 54 subtracts the value of the variable “AddGrantSizeHls” from the value of the variable “RequestSize [id]” (Step S815).
  • the allocating unit 54 determines whether the value of the variable “HLS current allocation cycle number” is smaller than the value of the variable “request amount notification allocation cycle number” (Step S816). When the value of the variable “HLS current allocation cycle number” is smaller than the value of the variable “request amount notification allocation cycle number” (step S816: YES), the allocation unit 54 advances the process to step S818.
  • step S816 NO
  • the allocation unit 54 sets the value of the variable “AllocatedSize [id]” to: The value of the variable “AllocatedSizeTmp” is added (step S817), and the allocating unit 54 increments the value of the variable “id” (step S818).
  • FIG. 15 is a third part of a flowchart showing an example of a procedure for allocating an additional data amount to the ONU 7 for HLS.
  • the allocating unit 54 determines whether the value of the variable “AddBOH” is larger than 0 (Step S819). When the value of the variable “AddBOH” is larger than 0 (step S819: YES), the allocating unit 54 adds the value of the variable “RequestSize [id]” to the value of the variable “allocated data amount [logical link identifier [id]]”. Is assigned. The allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “RequestSize [id]” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “RequestSize [id] + BOH” from the value of the variable “rGrantCycleLength” (Step S820).
  • Step S819: NO the allocating unit 54 replaces the value of the variable “Allocated data amount [logical link identifier [id]]” with the value of the variable “RequestSize [id]”. Add values.
  • the allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “RequestSize [id]” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “RequestSize [id]” from the value of the variable “rGrantCycleLength” (Step S821).
  • the allocating unit 54 substitutes 0 for the value of the variable “RequestSize [id]” (Step S822).
  • FIG. 16 is a diagram illustrating an example of a procedure for allocating an additional data amount to the ONU 6 for LLS. If there is an unallocated data amount and the number of LLS valid ONUs is not 0, the allocating unit 54 equalizes the unallocated data amount to only the LLS ONU 6 for which the variable “RequestSize” representing the requested amount is not 0. Distribute to When the number of LLS valid ONUs is 0, the allocating unit 54 evenly distributes the unallocated data amount to all the ONUs for LLS.
  • the assigning unit 54 determines whether the value of the variable “rGrantCycleLength” is greater than 0 (Step S901). When the value of the variable “rGrantCycleLength” is equal to or smaller than 0 (step S901: NO), the allocating unit 54 ends the processing illustrated in FIG. When the value of the variable “rGrantCycleLength” is larger than 0 (step S901: YES), the allocating unit 54 determines whether the value of the variable “the number of LLS valid ONUs” is 0 (step S902).
  • step S902 If the value of the variable “LLS valid ONU number” is 0 (step S902: YES), the allocating unit 54 substitutes the result of “rGrantCycleLength / number of LLS connection ONUs” into the variable “AddGrantSizeHls” (step S903). If the value of the variable “number of LLS-enabled ONUs” is not 0 (step S902: NO), the allocating unit 54 substitutes the result of “rGrantCycleLength / number of LLS-enabled ONUs” into the variable “AddGrantSizeHls” (step S904). The allocating unit 54 sets the value of the variable “id” to 0 (Step S905).
  • the assigning unit 54 determines whether the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (Step S906). When the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (step S906: YES), the allocating unit 54 ends the processing illustrated in FIG. When the value of the variable “id” is different from the value of the variable “number of connected ONUs” (step S906: NO), the allocating unit 54 determines whether or not ONU_TYPE of the logical link identifier [id] indicates LLS. (Step S907). If ONU_TYPE of the logical link identifier [id] indicates HLS (step S907: NO), the allocating unit 54 proceeds to step S913.
  • step S907 When ONU_TYPE of the logical link identifier [id] indicates LLS (step S907: YES), the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 or the variable “LLS”. It is determined whether the value of “valid ONU number” is 0 (step S908). If the value of the variable “RequestSize [id]” is equal to or less than 0 and the value of the variable “the number of LLS valid ONUs” is not 0 (step S908: NO), the allocating unit 54 proceeds to step S913.
  • step S908 When the value of the variable “RequestSize [id]” is larger than 0 or the value of the variable “the number of LLS valid ONUs” is 0 (step S908: YES), the allocating unit 54 sets the variable “allocated data amount [logical The value of the variable “AddGrantSizeLls” is added to the value of the "link identifier [id]]” (step S909).
  • the allocating unit 54 sets the value of the variable “RequestSize [id]” to be smaller than the smaller of the predetermined minimum arrival amount and the value of the variable “AddGrantSizeLls” for the uplink data amount for the ONU 6 for LLS. It is determined whether or not this is the case (step S910). If the value of the variable “RequestSize [id]” is equal to or greater than the smaller of the minimum arrival amount and the value of the variable “AddGrantSizeLls” (step S910: NO), the allocating unit 54 sets the variable “RequestSize [id]”. Is subtracted from the value of the minimum arrival amount and the value of the variable "AddGrantSizeLls” (step S911).
  • Step S910 When the value of the variable “RequestSize [id]” is smaller than the smaller one of the minimum arrival amount and the value of the variable “AddGrantSizeLls” (Step S910: YES), the allocation unit 54 sets the variable “RequestSize [id” ] Is substituted for 0 (step S912). The allocating unit 54 increments the variable “id” (Step S913). The allocating unit 54 returns the process to Step S906.
  • the OLT 5 bandwidth allocating device of the first embodiment includes the cooperation processing unit 50 (acquisition unit), the request amount receiving unit 52, and the allocating unit 54.
  • the cooperative processing unit 50 acquires scheduling information on transmission of uplink data of the ONU 6 (first subscriber line terminal) that needs to transfer uplink data with low delay.
  • the request amount receiving unit 52 transmits information indicating a request amount related to transmission of uplink data of the ONU 7 from the ONU 7 (second subscriber line termination device) that does not need to transfer the uplink data with low delay in a cycle equal to or more than the maximum RTT. Received in a certain request amount receiving cycle.
  • the allocating unit 54 allocates a band to the uplink data of the ONU 6 based on the scheduling information in an allocation amount calculation cycle (an allocation amount determination cycle) shorter than the request amount reception cycle.
  • the allocating unit 54 allocates a band to the upstream data of the ONU 7 based on the information indicating the requested amount in an assigned amount calculation cycle (assigned amount determination cycle) shorter than the requested amount receiving cycle.
  • the OLT 5 of the first embodiment can make both the cooperative DBA and the SR-DBA compatible.
  • the OLT 5 of the first embodiment can operate the SR-DBA and the linked DBA in virtually different DBA cycles on the same OLT.
  • the OLT 5 of the first embodiment can achieve both low delay for LLS and high bandwidth use efficiency for HLS and FTTH by simultaneous operation (fusion) of SR-DBA and cooperative DBA.
  • the allocation unit 54 of the first embodiment may allocate a band for transmission of uplink data of information indicating a request amount in the request amount notification allocation 102.
  • the allocating unit 54 may allocate the remaining bandwidth that has not been allocated for transmitting the uplink data of the information indicating the requested amount to the ONU 6 for transmitting the uplink data in the linked DBA allocation 101.
  • the allocating unit 54 may allocate the remaining bandwidth not allocated to the upstream data of the ONU 6 in the SR-DBA allocation 103 for transmission of the upstream data of the ONU 7.
  • the allocating unit 54 may evenly allocate, to the upstream data of the ONU 6, the remaining bandwidth that has not been allocated for transmission of the upstream data of the ONU 7, for example.
  • the ONU 7 is connected to the lower-level device 9 for HLS, but may be connected to the lower-level device for FTTH.
  • the host device 3 is also an FTTH device.
  • the host device for FTTH and the host device for HLS may be mixed in the optical communication system 1.
  • the allocation unit for the HLS ONUs 7 ranges from the minimum allocated data amount (hereinafter, referred to as “minimum data amount”) to the maximum allocated data amount (hereinafter, “maximum data amount”). 54 differs from the first embodiment in that it is assigned. In the second embodiment, differences from the first embodiment will be described.
  • FIG. 17 is a diagram illustrating an example of the relationship between the required amount and the allocated amount (allocated data amount).
  • the minimum data amount is the data amount to be assigned to the HLS ONU 7 regardless of the presence / absence of the request amount notified from the HLS ONU 7 to the OLT 5.
  • the maximum data amount is the maximum value of the data amount that can be allocated to the ONS 7 for HLS.
  • the minimum data amount and the maximum data amount are values predetermined by an external device or the like for each ONU 7 for HLS.
  • the upper limit of the allocated data amount that can be additionally allocated depends on the remaining data amount of the ONU 6 for LLS (the remaining bandwidth when the request amount “RequestSize” of all the ONUs 6 for LLS is 0). Change.
  • the upper limit (allocation upper limit) of the allocated data amount to which additional allocation is possible changes depending on the remaining of the allocated data amount (remaining data amount).
  • the maximum data amount is valid only when the remaining data amount is larger than the maximum data amount.
  • the minimum data amount is effective only when the remaining data amount is larger than the minimum data amount.
  • FIG. 18 is a flowchart showing an example of a procedure for acquiring the required amount of the ONS 6 for LLS.
  • the operation from step S1001 to step S1007 is the same as the operation from step S201 to step S207 in FIG.
  • FIG. 19 is a flowchart showing an example of a procedure (step S101 in FIG. 5) for obtaining the required amount of the ONU 7 for HLS.
  • the allocating unit 54 determines whether or not the HLS current allocated cycle number is 0. That is, the allocating unit 54 determines whether or not the current time is the head time of the DBA cycle of SR-DBA (step S1101). If the HLS current allocation cycle number is not 0 (step S1101: NO), the allocation unit 54 returns the process to step S1007 in FIG.
  • the allocation unit 54 acquires the required amount of the logical link identifier [id] from the required amount receiving unit 52 (step S1102).
  • the allocating unit 54 substitutes the requested amount (uplink data amount) of the logical link identifier [id] into a variable “RequestSizeTmp [id]” (Step S1103).
  • the allocating unit 54 determines whether or not the value of the variable “RequestSizeTmp [id]” is larger than the value of the variable “AllocatedSize [id]” (Step S1104).
  • Step S1104 determines the value of the requested amount (RequestSize) of the logical link identifier [id]. Then, the value of the allocated data amount (AllocatedSize [id]) is subtracted (step S1105).
  • Step S1104 When the value of the variable “RequestSizeTmp [id]” is equal to or less than the value of the variable “AllocatedSize [id]” (Step S1104: NO), the assigning unit 54 substitutes 0 for the variable “RequestSizeTmp [id]” (Step S1106). ).
  • the assigning unit 54 determines whether the value of the variable “RequestSizeTmp [id]” is larger than the value of the variable “minimum data amount [logical link identifier [id]]” (Step S1107). If the value of the variable “RequestSizeTmp [id]” is larger than the value of the variable “minimum data amount [logical link identifier [id]]” (step S1107: YES), the allocating unit 54 proceeds to step S1109.
  • the allocating unit 54 sets the variable “RequestSizeTmp [id]” to “RequestSizeTmp [id]”. Then, the value of the variable “minimum data amount [logical link identifier [id]]” is substituted (step S1108). The allocating unit 54 determines whether or not the value of the variable “RequestSizeTmp [id]” is larger than the value of the variable “maximum data amount [logical link identifier [id]]” (Step S1109).
  • Step S1109 YES
  • the allocating unit 54 is illustrated in FIG. The process proceeds to step S1007.
  • step S1109 NO
  • the allocating unit 54 sets the variable “RequestSizeTmp [id]” Is substituted for the value of the variable “maximum data amount [logical link identifier [id]]” (step S1110).
  • the allocating unit 54 advances the process to step S1007 shown in FIG.
  • the allocating unit 54 of the second embodiment acquires information indicating a predetermined minimum data amount and information indicating a predetermined maximum data amount.
  • the allocating unit 54 allocates a band of the minimum data amount for transmitting the uplink data of the ONU 7.
  • the allocating unit 54 allocates the band of the maximum data amount for transmitting the uplink data of the ONU 7.
  • the OLT 5 of the second embodiment can improve the efficiency of achieving both cooperative DBA and SR-DBA.
  • the allocation unit 54 distributes the remaining data amount to the ONUs 7 for HLS according to a weighting factor predetermined for each ONU 7 for HLS.
  • this is different from the first embodiment and the second embodiment.
  • differences from the first embodiment and the second embodiment will be described.
  • the allocating unit 54 determines the allocated data amount of the ONS 7 for HLS by calculating the value of the variable “AddGrantSizeHls” according to the weight coefficient.
  • FIG. 20 is a first part of a flowchart showing an example of a procedure for allocating an additional data amount to the ONS 7 for HLS.
  • the allocating unit 54 determines whether the value of the variable “the number of LLS valid ONUs” is 0 and the value of the variable “the number of HLS valid ONUs” is larger than 0 (step S1201). When the value of the variable “the number of LLS valid ONUs” is 0 and the value of the variable “the number of HLS valid ONUs” is greater than 0 (step S1201: YES), the allocating unit 54 sets the variable “HLS current allocated cycle number”. Is determined to be equal to the value of the variable “assignment cycle number for request amount notification” (step S1202).
  • step S1202 When the value of the variable “HLS current allocation cycle number” is equal to the value of the variable “request amount notification allocation cycle number” (step S1202: YES), the allocation unit 54 sets the variable “AddBOH” of the unassigned burst overhead amount. Is set to 0 (step S1203). The allocating unit 54 advances the process to step S1205.
  • step S1202 When the value of the variable “HLS current allocation cycle number” is different from the value of the variable “request amount notification allocation cycle number” (step S1202: NO), the allocation unit 54 sets the variable “AddBOH” of the unassigned burst overhead amount. Is set to the value of the variable “BOH ⁇ the number of HLS valid ONUs” (step S1204). The allocating unit 54 advances the process to step S1205.
  • the allocating unit 54 determines whether the value of the variable “rGrantCycleLength” is larger than the value of the variable “AddBOH” (Step S1205). If the value of the variable “rGrantCycleLength” is larger than the value of the variable “AddBOH” (step S1205: YES), the allocating unit 54 sets “(rGrantCycleLength ⁇ AddBOH) / OnuWeightSum (Result of Substituting the result of (rGrantCycleLength ⁇ AddBOH)” to the variable “AddGrantSizeHls”. Step S1206). The allocating unit 54 sets the value of the variable “id” to 0 (Step S1207).
  • the allocating unit 54 determines whether the value of the variable “id” is equal to the value of the variable “number of connected ONUs” (Step S1208). If the value of the variable “id” is different from the value of the variable “number of connected ONUs” (step S1208: NO), the allocating unit 54 determines whether or not ONU_TYPE of the logical link identifier [id] indicates LLS. (Step S1209). When ONU_TYPE of the logical link identifier [id] represents HLS (step S1209: NO), the allocating unit 54 stores the result of “AddGrantSizeHlsTmp ⁇ weight coefficient [logical link identifier [id]]” in the variable “AddGrantSizeHls”. Substitution is performed (step S1210).
  • the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is larger than 0 (Step S1211). If the value of the variable “RequestSize [id]” is larger than 0 (step S1211: YES), the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is larger than the value of the variable “AddGrantSizeHls”. (Step S1212).
  • FIG. 21 is a second part of a flowchart showing an example of a procedure for allocating an additional data amount to the ONU 7 for HLS.
  • the allocating unit 54 determines whether the value of the variable “AddBOH” is larger than 0 (Step S1213). If the value of the variable “AddBOH” is 0 or less (step S1213: NO), the allocating unit 54 adds the value of the variable “AddGrantSizeHls” to the value of the variable “allocated data amount [logical link identifier [id]]”. I do. The allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “AddGrantSizeHls” from the value of the variable “rGrantCycleLength” (step S1214).
  • the allocating unit 54 advances the process to step S1216.
  • step S1213 When the value of the variable “AddBOH” is larger than 0 (step S1213: YES), the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls + BOH” for the value of the variable “allocated data amount [logical link identifier [id]]”. .
  • the allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “AddGrantSizeHls” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “AddGrantSizeHls + BOH” from the value of the variable “rGrantCycleLength” (step S1215).
  • the allocating unit 54 subtracts the value of the variable “AddGrantSizeHls” from the value of the variable “RequestSize [id]” (Step S1216).
  • the allocating unit 54 determines whether the value of the variable “HLS current allocated cycle number” is smaller than the value of the variable “requested amount notification allocated cycle number” (Step S1217). If the value of the variable “HLS current allocation cycle number” is smaller than the value of the variable “request amount notification allocation cycle number” (step S1217: YES), the allocation unit 54 advances the process to step S1219.
  • the allocation unit 54 sets the value of the variable “AllocatedSize [id]” to: The value of the variable “AllocatedSizeTmp” is added (step S1218), and the allocating unit 54 increments the value of the variable “id” (step S1219).
  • FIG. 22 is a third part of a flowchart showing an example of a procedure for allocating an additional data amount to the ONU 7 for HLS.
  • the allocating unit 54 determines whether the value of the variable “AddBOH” is larger than 0 (Step S1220). When the value of the variable “AddBOH” is larger than 0 (step S1220: YES), the allocating unit 54 adds the value of the variable “RequestSize [id]” to the value of the variable “allocated data amount [logical link identifier [id]]”. Is assigned. The allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”.
  • the allocating unit 54 substitutes the value of the variable “RequestSize [id]” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “RequestSize [id] + BOH” from the value of the variable “rGrantCycleLength” (Step S1221).
  • step S1220 When the value of the variable “AddBOH” is equal to or smaller than 0 (step S1220: NO), the allocating unit 54 adds the value of the variable “RequestSize [id]” to the value of the variable “allocated data amount [logical link identifier [id]]”. Add values. The allocating unit 54 substitutes 0 for the value of the variable “request amount notification request flag [logical link identifier [id]]”. The allocating unit 54 substitutes the value of the variable “RequestSize [id]” for the value of the variable “AllocatedSizeTmp”.
  • the allocating unit 54 subtracts the value of the variable “RequestSize [id]” from the value of the variable “rGrantCycleLength” (Step S1222).
  • the allocating unit 54 substitutes 0 for the value of the variable “RequestSize [id]” (Step S1223).
  • FIG. 23 is a flowchart showing an example (step S102 in FIG. 5) of a procedure for acquiring the required amount of ONU data, including a process of measuring the weight coefficient of the ONU 7 for HLS.
  • the allocating unit 54 substitutes 0 for the variable “id”, substitutes 0 for the variable “number of LLS valid ONUs”, substitutes 0 for the variable “number of HLS valid ONUs”, and substitutes 0 for the variable “number of LLS valid ONUs”. Is assigned, and 0 is assigned to the variable “OnuWeightSum” (step S1301).
  • the allocation unit 54 determines whether the variable “id” is equal to the number of connected ONUs (step S1302). When the variable “id” is equal to the number of connected ONUs (step S1301: YES), the allocating unit 54 ends the processing illustrated in FIG. When the variable “id” is different from the number of connected ONUs (step S1301: NO), the allocating unit 54 determines whether the set value (ONU_TYPE) of the logical link identifier [id] indicates LLS. (Step S1303).
  • step S1303: YES the allocating unit 54 determines whether or not the allocation cycle start time is earlier than the time “RequestTime [id]”. A determination is made (step S1304). If the allocation cycle start time is earlier than the time “RequestTime [id]” (step S1304: YES), the allocation unit 54 advances the process to step S1307.
  • the allocation unit 54 sets the value of the variable “RequestSize [id]” representing the requested amount to the variable “RequestSizeTmp [id]”. Are added (step S1305).
  • the allocating unit 54 sets the value of the variable “RequestSizeTmp [id]” to 0 (Step S1306).
  • the allocating unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 (Step S1307). When the value of the variable “RequestSize [id]” is equal to or smaller than 0 (step S1307: NO), the allocating unit 54 advances the process to step S1309. When the value of the variable “RequestSize [id]” is larger than 0 (Step S1307: YES), the allocating unit 54 increments the value of the variable “LLS valid ONU number” (Step S1308).
  • the allocating unit 54 increments the value of the variable “number of LLS connection ONUs” (step S1309).
  • the allocating unit 54 increments the value of the variable “id” (Step S1310).
  • the allocating unit 54 returns the process to step S1302.
  • the allocating unit 54 determines whether the variable “HLS currently allocated cycle number” is equal to 0 (step S1311). ). If the variable “HLS current allocation cycle number” is different from 0 (step S1311: NO), the allocation unit 54 advances the processing to step S1313. When the variable “HLS current allocation cycle number” is equal to 0 (Step S1311: YES), the allocation unit 54 substitutes the value of the variable “RequestSizeTmp [id]” for the value of the variable “RequestSize [id]” (Step S131). S1312).
  • the assigning unit 54 determines whether the value of the variable “RequestSize [id]” is greater than 0 (Step S1313). If the value of the variable “RequestSize [id]” is equal to or smaller than 0 (step S1313: NO), the allocating unit 54 advances the process to step S1310.
  • Step S1307 YES
  • the allocating unit 54 increments the value of the variable “HLS valid ONU number”.
  • the allocating unit 54 adds the value of the variable “weight coefficient [logical link identifier [id]]” to the value of the variable “OnuWeightSum” (step S1314).
  • the allocating unit 54 advances the process to step S1310.
  • FIG. 24 is a diagram illustrating an example of the relationship between the weighting factor and the uplink delay.
  • the allocating unit 54 allocates the uplink data amount to each HLS ONU 7 under the same conditions.
  • the uplink delays of the HLS ONUs 7 are equivalent.
  • the allocating unit 54 allocates a band for transmitting the uplink data of the HLS ONU 7 by giving priority to the HLS ONU 7 having the larger weighting coefficient.
  • the uplink delay of the uplink data of the ONS 7 for HLS having a large weighting factor is smaller than the uplink delay of the uplink data of the ONU 7 for HLS having a small weighting factor.
  • the allocating unit 54 of the third embodiment sets the uplink data of the ONU 7 based on the weight coefficient determined for each ONU 7 and the information indicating the required amount, with the bandwidth of the required amount of data as the upper limit. Allocate bandwidth for transmission.
  • the OLT 5 of the third embodiment can improve the efficiency of achieving both cooperative DBA and SR-DBA.
  • the OLT, ONU, higher-level device, and lower-level device in the above-described embodiment may be realized by a computer.
  • a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read and executed by a computer system.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system.
  • a "computer-readable recording medium” refers to a communication line for transmitting a program via a network such as the Internet or a communication line such as a telephone line, and dynamically holds the program for a short time.
  • a program may include a program that holds a program for a certain period of time, such as a volatile memory in a computer system serving as a server or a client in that case.
  • the program may be for realizing a part of the functions described above, or may be a program that can realize the functions described above in combination with a program already recorded in a computer system. It may be realized by using a programmable logic device such as an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • the present invention is applicable to an optical communication system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)

Abstract

帯域割当装置は、上りデータを低遅延で転送する必要がある加入者線終端装置である第1加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、上りデータを低遅延で転送する必要がない加入者線終端装置である第2加入者線終端装置から、第2加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、要求量受信サイクルよりも短い割当量決定サイクルで、スケジューリング情報に基づいて第1加入者線終端装置の上りデータに帯域を割り当て、割当量決定サイクルで、要求量を表す情報に基づいて第2加入者線終端装置の上りデータに帯域を割り当てる割当部とを備える。

Description

帯域割当装置、帯域割当方法及び帯域割当プログラム
 本発明は、帯域割当装置、帯域割当方法及び帯域割当プログラムに関する。
 移動体の無線通信システム(モバイルシステム)では、上位層側の機能と下位層側の機能とに、基地局の機能が分割される場合がある。上位装置は、集約配置される装置(中央ユニット)であって、基地局の上位層側の機能を実行する装置である。下位装置は、分散配置される装置(分散ユニット)であって、基地局の下位層側の機能を実行する装置である。
 上位装置及び下位装置は、光ファイバで接続される。上位装置と下位装置との間は、モバイルフロントホール(MFH: Mobile Fronthaul)と呼ばれる。以下、上位装置及び下位装置との間で基地局の機能が分割される箇所を「機能分割点」という。この機能分割点には、例えば、物理層の内部に分割点を持つLLS(Low Layer Split)と、物理層よりも上位の層に分割点を持つHLS(High Layer Split)とが検討されている。
 MFHの遅延要件は、機能分割点に応じて異なる。LLSの場合、MFHの遅延要件は片道250μsである。HLSの場合、MFHの遅延要件は1.5~10msである(非特許文献1参照)。
 MFHには、NG-PON2(Next Generation - Passive Optical Network 2)に代表されるTDM-PON(Time Division Multiplexing - Passive Optical Network)システムを適用することが検討されている(非特許文献2参照)。
 TDM-PONでは、OLT(Optical Line Terminal:加入者線端局装置)は、複数のONU(Optical Network Unit:加入者線終端装置)に接続される。OLTは、時分割多重(TDM: Time Division Multiplexing)によってONUと通信する。以下、ONUからOLTへの向きを「上り」という。上りデータの送信(以下「上り送信」という。)に関して、各ONUの間で上り光信号の衝突を避けるために、OLTによって各ONUの上り送信が制御されている。ONUは、自装置のバッファに上りデータを蓄積して上り送信を待たせ、OLTからの指示に従って送信する。
 MFHにTDM-PONが適用される場合、下位装置はONUに接続される。上位装置はOLTに接続される。
 LLS用の下位装置をTDM-PONで収容する際において、LLSの遅延要件を満たすために、上位装置におけるスケジューリング処理と連携した、TDM-PONの上り送信の動的帯域割当(以下「連携DBA」という。)方法が、非特許文献2に開示されている。
 LLSの場合、下位装置に無線接続するユーザ端末の上り送信を上位装置が集中制御するために、上位装置は、無線送信周期(TTI: Transmission Time Interval)ごとに、スケジューリングを実行する。上位装置は、このスケジューリング結果を、ONU及び下位装置を介して各ユーザ端末に送信する。各ユーザ端末は、スケジューリング結果に基づいて、上り送信を実行する。
 以下、下位装置が各ユーザ端末から受信する上りデータを「モバイルデータ」といい、下位装置が各ユーザ端末からモバイルデータを受信する時刻を「上りデータ受信時刻」という。上記スケジューリング結果のうち、LLS用の下位装置における上りデータ量及び上りデータ受信時刻を特定する情報を含む情報を「スケジューリング情報」という。
 非特許文献2の方法では、OLTは、スケジューリング情報を、上位装置から予め受信する。OLTは、予め受信されたスケジューリング情報に基づいて、各ONUへの割当量を決定し、各ONUに通知する。これにより、下位装置からONUに上りデータが到着するのに合わせた割当が可能となり、低遅延での上りデータ転送が可能になる。
 一方で、HLSの場合、上記スケジューリング処理は下位装置で実行される。このため、OLTは、スケジューリング情報を上位装置から受信することができないので、連携DBAを実行することができない。スケジューリング情報を用いずにOLTが上り送信を制御する方法として、各ONUに周期的に固定データ量の帯域を割り当てる帯域割当方法(FBA: Fixed Bandwidth Allocation)が開示されている(非特許文献3及び4参照)。各ユーザ端末からONUへの上りデータの到着の有無に関係なくOLTが固定データ量の帯域を各ONUに割り当てるので、OLTに収容可能であるONUの数は限定される。
 HLS用の下位装置をTDM-PONで収容する場合における上り送信制御としては、ステータス・レポート(Status-Report)方式の動的帯域割当(以下「SR-DBA」という。)方法が適用可能である(非特許文献5及び6参照)。SR-DBAは、FTTH(Fiber to the home)等に広く採用されている帯域割当方法である。
 この方法において、OLTは、各ONUに対して、バッファに蓄積されたデータ量(上り送信の要求量)をOLTに通知するための帯域を周期的に割り当て、要求量を表す情報を各ONUから収集する。OLTは、要求量を表す情報に基づいて、上り送信の開始時刻の情報と送信を許可するデータ量の情報とを含む割当量の情報を決定し、決定された割当量を各ONUに通知する。各ONUは、ONUのバッファに蓄積された上りデータを、通知された割当量の情報に基づいてOLTに送信する。
 この制御において、要求量を表す情報をOLTが各ONUから収集するには、OLT及びONUの間の最大往復時間(RTT: Round Trip Time)(以下「最大RTT」という。)以上の時間が必要である。OLT及びONUの間の最大許容距離が例えば20kmである場合、最大RTTは、例えば200μsである。OLTでの割当量の決定及び通知には、要求量を表す情報を各ONUから収集することが必要であるため、要求量を表す情報をONUが送信した時刻から、ONUのバッファに蓄積された上りデータの送信時刻に達するまでで、最大RTT以上の時間を要する。さらに、伝搬遅延時間(=RTT/2)と、上りデータの送信完了までに要する時間と、他ONUの上り送信のための待ち時間が加わり、結果として、TDM-PONがHLS用の下位装置からの上りデータに印加する遅延は、合計1msから2ms程度となる。このため、SR-DBAは、数ms程度の遅延を許容しないアプリケーションには適さない帯域割当処理であるが、ONUのバッファに蓄積済みのデータに対する割当であることから、帯域利用効率が高く、収容可能なONU数を多くすることができる。HLSでは1.5から10msまでの遅延が許容されるので、SR-DBAはHLSに適用可能である。
中村 武宏、「2020年の5G導入に向けて」、[online]、5G Deployment toward 2020 and Beyond、MPLS Japan 2016、[平成30年7月27日検索]、インターネット〈https://www.mpls.jp/2016/presentations/20161107_MPLS-Japan2016_docomo_Nakamura.pdf〉 H. Uzawa et al.,"Practical Mobile-DBA Scheme Considering Data Arrival Period for 5G Mobile Fronthaul with TDM-PON", 2017 European Conference on Optical Communication (ECOC). D.Hisano et al.,"TDM-PON for Accomodating TDD-BasedFronthaul and Secondary Services", Journal of lightwave technology, vol.35, NO.14, July 15, 2017. Y.Luo et al.,"Bandwidth Allocation for Multiservice Accesson EPONs", IEEE Optical Communications, February 2005. H. Ou et al.,"Integrated Dynamic Bandwidth Allocation for Low Buffer Aggregated Passive Optical Network Systems", Journal of optical communication network, vol.7, No.8, August 2015. NTT、「技術基礎講座[GE-PON技術]第3回DBA機能」、NTT技術ジャーナル、2005.10
 経済性の観点から、OLTは、遅延要件が互いに異なる複数のMFHを、同一のTDM-PONを用いて収容する場合がある。さらに、FTTHでもTDM-PONが採用されていることから、その経済性を最大限に活用するために、FTTH用のONUもMFHと同一TDM-PON上で収容される場合がある。
 これらの場合、OLTは、LLS用の下位装置と接続するONU(以下「LLS用のONU」という。)に対して連携DBAを用い、HLS用の下位装置と接続するONU(以下「HLS用のONU」という。)とFTTH用のONUとに対してSR-DBAを用いて、上り送信を制御することが考えられる。しかしながら、上りデータの割当量を算出及び決定するサイクル(以下「DBAサイクル」という。)の時間長は、SR-DBAでは最大RTTの時間長以上である必要がある。
 このため、従来の帯域割当装置は、DBAサイクルを無線送信周期の時間長以下(低遅延)のサイクルにすることが要求される連携DBAと、DBAサイクルを最大RTTの時間長以上のサイクルにすることが要求されるSR-DBAとを、両立させることができない場合があった。
 上記事情に鑑み、本発明は、連携DBAとSR-DBAとを両立させることが可能である帯域割当装置、帯域割当方法及び帯域割当プログラムを提供することを目的としている。
 本発明の一態様は、上りデータを低遅延で転送する必要がある加入者線終端装置である第1加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、上りデータを低遅延で転送する必要がない加入者線終端装置である第2加入者線終端装置から、第2加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第1加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第2加入者線終端装置の上りデータに帯域を割り当てる割当部とを備える帯域割当装置である。
 本発明の一態様は、上記の帯域割当装置であって、前記割当部は、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当て、第1加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第2加入者線終端装置の上りデータの送信用に割り当て、第2加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当てる。
 本発明の一態様は、上記の帯域割当装置であって、前記割当部は、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第2加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第2加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる。
 本発明の一態様は、上記の帯域割当装置であって、前記割当部は、第2加入者線終端装置ごとに定められた重み係数と、前記要求量を表す情報とに基づいて、前記要求量のデータ量の帯域を上限として、第2加入者線終端装置の上りデータの送信用に帯域を割り当てる。
 本発明の一態様は、帯域割当装置が実行する帯域割当方法であって、上りデータを低遅延で転送する必要がある加入者線終端装置である第1加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得するステップと、上りデータを低遅延で転送する必要がない加入者線終端装置である第2加入者線終端装置から、第2加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信するステップと、前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第1加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第2加入者線終端装置の上りデータに帯域を割り当てるステップとを含む帯域割当方法である。
 本発明の一態様は、上記の帯域割当方法であって、前記割り当てるステップでは、前記要求量を表す情報の上りデータの送信用に帯域を割り当て、前記要求量を表す情報の上りデータの送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当て、第1加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第2加入者線終端装置の上りデータの送信用に割り当て、第2加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当てる。
 本発明の一態様は、上記の帯域割当方法であって、前記割り当てるステップは、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第2加入者線終端装置の上りデータに前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第2加入者線終端装置の上りデータに前記最大データ量の帯域を割り当てる。
 本発明の一態様は、上記の帯域割当装置としてコンピュータを機能させるための帯域割当プログラムである。
 本発明により、連携DBAとSR-DBAとを両立させることが可能である。
第1実施形態における、光通信システムの構成例を示す図である。 従来におけるSR-DBA処理と、割当部が実行するSR-DBA処理の例との比較を示す図である。 第1実施形態における、DBA処理のタイミングの例を示す図である。 第1実施形態における、要求量を表す情報を連携処理部から読み出す時刻の例を示す図である。 第1実施形態における、割当量の算出手順の例を示すフローチャートである。 第1実施形態における、LLS用のONUのデータの要求量を取得する手順の例を示すフローチャートである。 第1実施形態における、HLS用のONUのデータの要求量を取得する手順の例を示すフローチャートである。 第1実施形態における、ONUのデータの要求量を更新する手順の例を示すフローチャートである。 第1実施形態における、ONUのデータの要求量を更新するタイミングの例を示す図である。 第1実施形態における、上り送信の固定割当データ量及び追加割当データ量を算出する手順の例を示すフローチャートである。 第1実施形態における、要求量の通知に必要とされるデータ量をHLS用のONUの割り当てる手順の例を示すフローチャートである。 第1実施形態における、LLS用のONUに固定データ量を割り当てる手順の例を示すフローチャートである。 第1実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第1部分である。 第1実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第2部分である。 第1実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第3部分である。 第1実施形態における、LLS用のONUに追加データ量を割り当てる手順の例を示す図である。 第2実施形態における、要求量と割当量との関係の例を示す図である。 第2実施形態における、LLS用のONUの要求量を取得する手順の例を示すフローチャートである。 第2実施形態における、HLS用のONUの要求量を取得する手順の例を示すフローチャートである。 第3実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第1部分である。 第3実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第2部分である。 第3実施形態における、HLS用のONUに追加データ量を割り当てる手順の例を示すフローチャートの第3部分である。 第3実施形態における、HLS用のONUの重み係数を計測する処理を含む、ONUのデータの要求量を取得する手順の例を示すフローチャートである。 第3実施形態における、重み係数と上り遅延との関係の例を示す図である。
 本発明の実施形態について、図面を参照して詳細に説明する。
 (第1実施形態)
 図1は、光通信システム1の構成例を示す図である。光通信システム1は、光信号を用いて通信するシステムである。光通信システム1は、上位装置2と、上位装置3と、L2SW4と、OLT5と、1以上のONU6と、1以上のONU7と、1以上の下位装置8と、1以上の下位装置9とを備える。
 上位装置2は、OLT5に対して上位のLLS用の装置である。上位装置2は、LLS用の下位装置8のスケジューリング情報をOLT5に送信する。上位装置2は、LLS用のONU6が送信した上りデータを、L2SW4を介してOLT5から受信する。
 上位装置3は、OLT5に対して上位のHLS用の装置である。上位装置3は、HLS用のONU7が上り送信した上りデータを、L2SW4を介してOLT5から受信する。
 L2SW4は、レイヤ2スイッチである。L2SW4は、上位装置2及びOLT5の間でデータを中継する。L2SW4は、上位装置3及びOLT5の間でデータを中継する。
 OLT5は、端局装置である。OLT5は、上り送信に関する制御を実行する。OLT5は、連携DBA用割当を実行することによって、LLS用のONU6の上りデータの帯域をONU6に割り当てる。OLT5は、SR-DBA用割当を実行することによって、HLS用のONU7の上りデータの帯域をONU7に割り当てる。
 ONU6は、LLS用の加入者線終端装置である。ONU6は、下位装置8から受信した上りデータを、OLT5から通知される割当量に基づいて送信する。ONU6の上りデータは、低遅延で転送される必要がある。
 ONU7は、HLS用の加入者線終端装置である。ONU7は、下位装置9から受信した上りデータを、OLT5から通知される割当量に基づいて送信する。ONU7の上りデータは、低遅延で転送される必要はない。
 下位装置8は、OLT5に対して下位のLLS用の装置である。下位装置8は、ユーザ端末(不図示)との無線通信を実行する。下位装置8は、ユーザ端末から受信したモバイルデータを、上りデータとしてONU6に送信する。下位装置8の上りデータは、低遅延で転送される必要がある。
 下位装置9は、OLT5に対して下位のHLS用の装置である。下位装置9は、ユーザ端末(不図示)との無線通信を実行する。下位装置8は、ユーザ端末から受信したモバイルデータを、上りデータとしてONU7に送信する。下位装置9の上りデータは、低遅延で転送される必要はない。
 次に、OLT5の構成の詳細を説明する。
 OLT5は、連携処理部50と、通信部51と、要求量受信部52と、ONU管理部53と、割当部54とを備える。
 各機能部は、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現される。各機能部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェアを用いて実現されてもよい。
 連携処理部50は、スケジューリング情報を上位装置2から取得する取得部である。連携処理部50は、LLS用の下位装置8に対する、上りデータ受信時刻及び上りデータ量を表す情報を、無線送信周期ごとにスケジューリング情報から抽出する。
 通信部51は、上りデータの送信に関する要求量の通知を要求する指示を、ONU7に送信する。通信部51は、ONU7の上りデータの送信に関する要求量を表す情報を、ONU7から受信する。通信部51は、ONU7の上りデータの送信に関する要求量を表す情報を、要求量受信部52に出力する。
 なお、通信部51は、ONU6の上りデータの送信に関する要求量を表す情報を、ONU6から受信してもよい。
 通信部51は、割当部54によって割り当てられた上りデータの割当量を、例えば割当量算出サイクル(割当量決定サイクル)ごとに、ONU6及びONU7に通知する。すなわち、通信部51は、ONU6の上りデータの割当量を表す情報を、例えば割当量算出サイクルごとに、ONU6に送信する。通信部51は、ONU7の上りデータの割当量を表す情報を、例えば割当量算出サイクルごとに、ONU7に送信する。
 通信部51は、ONU6から取得された上りデータを、L2SW4を介して上位装置2に送信する。通信部51は、ONU7から取得された上りデータを、L2SW4を介して上位装置3に送信する。
 要求量受信部52は、上りデータの送信に関する要求量を表す情報を、通信部51から取得する。要求量受信部52は、上りデータの送信に関する要求量を表す情報を、ONUごと記憶する。要求量受信部52は、上りデータの送信に関する要求量を表す情報を通信部51から新たに取得した場合、その上りデータの送信に関する要求量を表す情報を、ONUごとに更新する。要求量受信部52は、割当部54から指定されたONUの上りデータの送信に関する要求量を表す情報を、割当部54に出力する。
 ONU管理部53は、例えばフラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性の記録媒体(非一時的な記録媒体)を有する。ONU管理部53は、例えば、RAM(Random Access Memory)やレジスタなどの揮発性の記録媒体を有してもよい。
 ONU管理部53は、例えば、プログラム及びデータテーブルを記憶する。データテーブルでは、OLT5に接続することが可能であるONUの固有識別子と、ONUがLLS用のONUであるか否かを表す設定値(ONU_TYPE)と、論理リンク識別子とが対応づけられている。固有識別子と設定値(ONU_TYPE)とは、外部装置等によってデータテーブルに予め記録される。論理リンク識別子は、OLTとONUとの接続が確立された場合に、そのONUに一意に付与される。
 なお、OLTに接続された際にONUに付与される論理リンク識別子がONU固有の識別子として扱える場合には、データテーブルでは、固有識別子が記録されずに、論理リンク識別子と設定値(ONU_TYPE)とが記録されていてもよい。
 ONU管理部53は、OLT5に接続済みであるONUの数を計測する。ONU管理部53は、OLT5に接続済みであるONUの数を、割当部54に通知する。ONU管理部53は、論理リンク識別子を割当部54から通知された場合、通知された論理リンク識別子に対応付けられた設定値(ONU_TYPE)を、データテーブルから読み出して通知する。
 割当部54は、LLS用のONU6の上りデータの送信に関する要求量を表す情報(上りデータ受信時刻及び上りデータ量から成る情報)を、所定の割当量算出サイクルごとに、連携処理部50から取得する。割当部54は、HLS用のONU7の上りデータの送信に関する要求量を表す情報(バッファ蓄積データ量を表す情報)を、所定の割当量算出サイクルごとに、要求量受信部52から取得する。
 割当部54は、LLS用のONU6の上りデータの送信に関する要求量を表す情報に基づいて、ONU6の上りデータの割当量を決定する。割当部54は、HLS用のONU7の上りデータの送信に関する要求量を表す情報に基づいて、ONU7の上りデータの割当量を決定する。割当部54は、決定された割当量を表す情報を、通信部51に出力する。
 上りデータの割当量をONUごとに決定する処理では、HLS用のONU7の上りデータの送信に関する要求量を通知するためのデータ量の割当(要求量通知用割当)以外に関して、割当部54は、LLS用のONU6の上りデータの帯域の割当(連携DBA用割当)を、HLS用のONU7の上りデータの帯域の割当(SR-DBA用割当)よりも優先して実行する。
 例えば、割当部54は、LLS用の全てのONU6の上りデータの送信に関する要求量が0である期間において、HLS用のONU7の上りデータの送信に関する要求量に基づいて、HLS用のONU7の上りデータの帯域の割当(SR-DBA用割当)を実行する。LLS用のONU6の上りデータの送信に関する要求量とHLS用のONU7の上りデータの送信に関する要求量とがいずれも0である場合には、割当部54は、LLS用のONU6の上りデータの帯域を、LLS用のONU6に対して均等に割り当てる。
 HLS用のONU7の上りデータの送信に関する要求量を通知するためのデータ量の割当(要求量通知用割当)の割当サイクル番号は、事前に決定される番号である。要求量通知用割当の割当サイクル番号は、式(1)のように表される番号である。
Figure JPOXMLDOC01-appb-M000001
 図2は、従来におけるSR-DBA処理と、割当部54が実行するSR-DBA処理の例との比較を示す図である。図2の上段は、従来におけるSR-DBA処理を表す。図2の下段は、割当部54が実行するSR-DBA処理を表す。
 従来におけるSR-DBA処理では、OLTは、OLTに接続されている全てのONUから要求量を受信した後で、上りデータの割当量の算出を開始する。したがって、OLTは、要求量受信処理と割当量算出処理とを、同一のDBAサイクル内で実行する。従来におけるSR-DBA処理では、OLTは、要求量受信処理の完了を割当量算出処理の起動トリガとする。
 これに対して、割当部54が実行するSR-DBA処理では、割当部54は、要求量受信処理と割当量算出処理とを、互いに異なるDBAサイクル内で実行する。すなわち、割当部54は、要求量受信サイクルと割当量算出サイクルとを分離して、要求量受信サイクルと割当量算出サイクルとを実行する。
 要求量受信処理の周期(要求量受信サイクル)である仮想DBAサイクルの時間長は、従来におけるSR-DBA処理のDBAサイクル長と同一である。割当量算出処理の周期(割当量算出サイクル)の時間長は、連携DBAのDBAサイクルの時間長と同一である。このように、割当部54は、SR-DBAの割当量算出サイクルのみを連携DBAのサイクルと同一のサイクルで実行することによって、連携DBAとSR-DBAとを融合する。
 割当量算出処理では、割当部54は、割当開始時刻(割当量算出サイクルの先頭時刻)と要求量受信完了時刻とを、割当量算出サイクル(実DBAサイクル)ごとに比較する。
割当部54は、要求量受信完了時刻よりも割当開始時刻が大きい場合(割当開始時刻が要求量受信完了時刻よりも後である場合)、上りデータの送信に関する要求量を表す情報を取得する。割当部54は、上りデータの送信に関する要求量を表す情報に基づいて、上りデータの割当量を算出する。
 割当量算出サイクルの時間長が連携DBAのDBAサイクルの時間長と同一であることによって、従来におけるDBAサイクルよりも割当量算出サイクル(実DBAサイクル)が短くなるので、割当部54は、同一の割当量算出サイクルでは帯域を割り当て切れない場合がある。このため、割当部54は、割当量算出処理では、割り当て切れなかった帯域の上りデータ量の情報を保持し、次の割当量算出サイクルにおける上りデータの送信に関する要求量として、上りデータ量を繰り越す。
 図3は、DBA処理のタイミングの例を示す図である。要求量受信部52は、要求量受信100処理を実行する。要求量受信100の完了時刻以降の割当量算出サイクルの先頭時刻から、要求量受信サイクルの末尾時刻から最大RTTだけ前の時刻までの期間において、割当部54は、連携DBA用割当101によってONU6に割り当てられていない帯域(残余帯域)の有無に関係なく、HLS用のONU7の要求量通知用の割り当て(要求量通知用割当102)を実行する。
 図3では、割当部54は、同一の割当量算出サイクルにおいて、連携DBA用割当101とSR-DBA用割当103とを実行する。要求量受信サイクルにおいて、割当部54は、要求量通知用割当102によって割り当てられた帯域以外の帯域であって、連携DBA用割当101によってONU6に割り当てられていない帯域(残余帯域)を、SR-DBA用割当103によってONU7に割り当てる。
 割当部54は、連携DBA用割当101とSR-DBA用割当103との両方で余った帯域を、更なる連携DBA用割当によってLLS用のONU6に割り当てる。連携DBA用割当101とSR-DBA用割当103との両方で余った帯域をLLS用のONU6に割り当てる理由は、連携DBAがSR-DBAよりも低遅延性が求められるからである。
 図4は、要求量を表す情報を連携処理部50から読み出す時刻の例を示す図である。要求量を連携処理部50から読み出す時刻「ReadTime」は、割当対象とする期間の末尾時刻(割当量算出サイクルの末尾時刻)から、割当サイクル長を減算した結果の時刻(割当サイクル長だけ前の時刻)を表す変数である。
 割当部54が上りデータの割当対象とする期間の最小単位(以下「割当サイクル」という。)の時間長(以下「割当サイクル長」という。)は、予め定められる。割当サイクルにおいてLLS用のONU6に下位装置8から到着し得る上りデータの上りデータ量の最小値(以下「最小到着量」という。)は、予め定められる。
 割当サイクル長は、割当量算出サイクルが複数に分割された時間長である。割当量算出サイクルの時間長は、下位装置8の無線送信周期(上位装置2及び下位装置8の間で規定される上り送信スケジューリング周期以下の周期)の時間長と同一である。分割数は、LLS用のONU6の上りデータの割当サイクルの数(以下「LLS割当サイクル数」という。)である。
 以下、割当サイクル長で要求量受信サイクルを除算して得られる整数を、「HLS割当サイクル数」という。連携DBAのDBAサイクルの時間長は、「割当サイクル長×LLS割当サイクル数」と同値である。SR-DBAのDBAサイクルの時間長は、「割当サイクル長×HLS割当サイクル数」と同値である。
 次に、光通信システム1の動作を説明する。
 図5は、割当量の算出手順の例を示すフローチャートである。割当部54は、図5に示されたフローチャートの動作を、割当量算出サイクルごとに実行する。
 割当部54は、LLS用のONU6の上りデータの送信に関する要求量を表す情報(上りデータ受信時刻及び上りデータ量)を、連携処理部50から取得する。割当部54は、HLS用のONU7の上りデータの送信に関する要求量を表す情報を、要求量受信部52から取得する(ステップS101)。
 要求量受信部52及び割当部54は、上りデータの送信に関する要求量(RequestSize)を表す情報を更新する(ステップS102)。割当部54は、上り送信を許可される上りデータ量を、ONUごとに算出する(ステップS103)。割当部54は、各ONUのその上りデータ量に基づいて、例えば非特許文献2に示された処理のように、各ONUの上り送信の開始時刻を算出する(ステップS104)。割当部54は、LLS用の現在の割当サイクル番号(以下「LLS現在割当サイクル番号」という。)をインクリメントする。割当部54は、HLS用の現在の割当サイクル番号(以下「HLS現在割当サイクル番号」という。)をインクリメントする(ステップS105)。
 割当部54は、HLS現在割当サイクル番号とHLS割当サイクル数とが等しいか否かを判定する(ステップS106)。HLS現在割当サイクル番号とHLS割当サイクル数とが異なる場合(ステップS106:NO)、割当部54は、ステップS108に処理を進める。HLS現在割当サイクル番号とHLS割当サイクル数とが等しい場合(ステップS106:YES)、割当部54は、HLS現在割当サイクル番号を0にする(ステップS107)。なお、HLS現在割当サイクル番号は、本フローの終了に達しても0にクリアされず、保持されることとする。
 割当部54は、LLS現在割当サイクル番号とLLS割当サイクル数とが等しいか否かを判定する(ステップS108)。LLS現在割当サイクル番号とLLS割当サイクル数とが異なる場合(ステップS108:NO)、割当部54は、ステップS102に処理を戻す。LLS現在割当サイクル番号とLLS割当サイクル数とが等しい場合(ステップS108:YES)、割当部54は、図5に示された処理を終了する。LLS現在割当サイクル番号は、HLS現在割当サイクル番号と異なり、図5に示されたフローチャートの終了に達すると、0にクリアされる。
 以下、変数「id」は、OLT5に接続されているONUに一意に付与される識別情報を表す。この識別情報は、割当部54における内部IDである。
 図6は、LLS用のONU6のデータの要求量を取得する手順(図5におけるステップS101)の例を示すフローチャートである。以下のフローチャートの判断処理の進み先に記載された文字又は数字は、同一の文字又は数字が記載されたステップの処理に進むことを示している。例えば、図6のステップS203の判断処理の進み先に記載された文字「A」は、図7において同一の文字である「A」が記載されたステップS301の処理に進むことを示している。
 割当部54は、変数「id」に0を代入する(ステップS201)。割当部54は、変数「id」とOLT5に接続されているONUの数とが等しいか否かを判定する(ステップS202)。変数「id」とOLT5に接続されているONUの数とが等しい場合(ステップS202:YES)、割当部54は、図6に示された処理を終了する。変数「id」とOLT5に接続されているONUの数とが異なる場合(ステップS202:NO)、割当部54は、論理リンク識別子[id]のONU_TYPEがLLSを表しているか否かを判定する(ステップS203)。
 論理リンク識別子[id]のONU_TYPEがHLSを表している場合(ステップS203:YES)、割当部54は、図7のステップS301に処理を進める。論理リンク識別子[id]のONU_TYPEがLLSを表している場合(ステップS203:YES)、割当部54は、変数「ReadTime」に、「割当量算出サイクル先頭時刻+(LLS割当サイクル数-1)×割当サイクル長」の結果を代入する(ステップS204)。割当部54は、論理リンク識別子[id]における変数「ReadTime」以降の要求量を表す情報を、連携処理部50から取得する(ステップS205)。
 上位装置2は、変数「ReadTime」と、対象ONUの論理リンク識別子(論理リンク識別子[id])とを、連携処理部50に通知する。連携処理部50は、時刻「ReadTime」以降の上りデータ受信時刻を表す情報を検索する。連携処理部50は、時刻「ReadTime」以降の上りデータ受信時刻を表す情報が連携処理部50のメモリに存在する場合、その上りデータ受信時刻と上りデータ量とを、要求量を表す情報として割当部54に通知する。重複読み出しを避けるために、連携処理部50は、割当部54にに通知された上りデータ受信時刻を表す情報と上りデータ量を表す情報とを、連携処理部50のメモリから消去する。
 時刻「ReadTime」以降の上りデータ受信時刻を表す情報が連携処理部50のメモリに存在しない場合、連携処理部50は、その上りデータ受信時刻「0」と上りデータ量「0」とを、要求量を表す情報として割当部54に通知する。
 割当部54は、変数「RequestSizeTmp[id]」に、取得された要求量の上りデータ量を代入する。割当部54は、変数「RequestTime[id]」に、取得された要求量の上りデータ受信時刻を代入する(ステップS206)。割当部54は、変数「id」をインクリメントする(ステップS207)。割当部54は、ステップS202に処理を戻す。
 図7は、HLS用のONU7のデータの要求量を取得する手順(図5におけるステップS101)の例を示すフローチャートである。割当部54は、HLS現在割当サイクル番号が0であるか否かを判定する。すなわち、割当部54は、現在時刻がSR-DBAのDBAサイクルの先頭時刻であるか否かを判定する(ステップS301)。HLS現在割当サイクル番号が0でない場合(ステップS301:NO)、割当部54は、図6のステップS207に処理を戻す。
 HLS現在割当サイクル番号が0である場合(ステップS301:YES)、割当部54は、論理リンク識別子[id]の要求量を、要求量受信部52から取得する(ステップS302)。割当部54は、論理リンク識別子[id]の要求量(上りデータ量)を、変数「RequestSizeTmp[id]」に代入する(ステップS303)。割当部54は、変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値よりも大きいか否かを判定する(ステップS304)。
 変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値よりも大きい場合(ステップS304:YES)、割当部54は、論理リンク識別子[id]の要求量(RequestSize)の値から、割り当てられた上りデータ量(AllocatedSize[id])の値を減算する。
 ここで、論理リンク識別子[id]の要求量の値から、割り当てられたデータ量(AllocatedSize[id])を割当部54が減算する理由は、通知時点においてONUのバッファに蓄積されている上りデータ量をONUが要求量としてOLT5に通知するので、論理リンク識別子[id]の要求量には、既に送信が確定しているデータも含まれているためである(ステップS305)。
 なお、送信を確定しているデータをONUが除去して要求量としてOLT5に通知している場合、ステップS305において、割当部54は、論理リンク識別子[id]の要求量(RequestSize)の値から、割り当てられたデータ量(AllocatedSize[id])を減算しない。
 変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値以下である場合(ステップS304:NO)、割当部54は、変数「RequestSizeTmp[id]」に0を代入する(ステップS306)。
 以下、割当サイクルにおいて変数「RequestSize」が0でないLLS用のONUの数を「LLS有効ONU数」という。以下、割当サイクルにおいて変数「RequestSize」が0でないHLS用のONUの数を「HLS有効ONU数」という。変数「RequestSize」の値とは関係なく、OLTに接続されているLLS用のONUの数を「LLS接続ONU数」という。
 図8は、ONUのデータの要求量を更新する手順(図5におけるステップS102)の例を示すフローチャートである。割当部54は、変数「id」に0を代入し、変数「LLS有効ONU数」に0を代入し、変数「HLS有効ONU数」に0を代入し、変数「LLS接続ONU数」に0を代入する(ステップS401)。
 割当部54は、変数「id」と接続されているONUの数とが等しいか否かを判定する(ステップS402)。変数「id」と接続されているONUの数とが等しい場合(ステップS401:YES)、割当部54は、図8に示された処理を終了する。変数「id」と接続されているONUの数とが異なる場合(ステップS401:NO)、割当部54は、論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表すか否かを判定する(ステップS403)。
 論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表す場合(ステップS403:YES)、割当部54は、割当サイクル先頭時刻が時刻「RequestTime[id]」よりも前であるか否かを判定する(ステップS404)。割当サイクル先頭時刻が時刻「RequestTime[id]」よりも前である場合(ステップS404:YES)、割当部54は、ステップS407に処理を進める。
 割当サイクル先頭時刻が時刻「RequestTime[id]」以降である場合(ステップS404:NO)、割当部54は、要求量を表す変数「RequestSize[id]」の値に、変数「RequestSizeTmp[id]」の値を加算する(ステップS405)。割当部54は、変数「RequestSizeTmp[id]」の値を0にする(ステップS406)。
 割当部54は、変数「RequestSize[id]」の値が0より大きいか否かを判定する(ステップS407)。変数「RequestSize[id]」の値が0以下である場合(ステップS407:NO)、割当部54は、ステップS409に処理を進める。変数「RequestSize[id]」の値が0より大きい場合(ステップS407:YES)、割当部54は、変数「LLS有効ONU数」の値をインクリメントする(ステップS408)。
 割当部54は、変数「LLS接続ONU数」の値をインクリメントする(ステップS409)。割当部54は、変数「id」の値をインクリメントする(ステップS410)。
割当部54は、ステップS402に処理を戻す。
 論理リンク識別子[id]の設定値(ONU_TYPE)がHLSを表す場合(ステップS403:NO)、割当部54は、変数「HLS現在割り当てサイクル番号」が0と等しいか否かを判定する(ステップS411)。変数「HLS現在割り当てサイクル番号」が0とは異なる場合(ステップS411:NO)、割当部54は、ステップS413に処理を進める。変数「HLS現在割り当てサイクル番号」が0と等しい場合(ステップS411:YES)、割当部54は、変数「RequestSize[id]」の値に、変数「RequestSizeTmp[id]」の値を代入する(ステップS412)。
 割当部54は、変数「RequestSize[id]」の値が0より大きいか否かを判定する(ステップS413)。変数「RequestSize[id]」の値が0以下である場合(ステップS413:NO)、割当部54は、ステップS410に処理を進める。
 変数「RequestSize[id]」の値が0より大きい場合(ステップS407:YES)、割当部54は、変数「HLS有効ONU数」の値をインクリメントする(ステップS414)。割当部54は、ステップS410に処理を進める。
 図9は、ONUのデータの要求量を更新するタイミングの例を示す図である。割当部54は、割当サイクル先頭時刻が時刻「RequestTime」以降となった場合、LLS用のONUの変数「RequestSize」を更新する。割当部54は、HLS現在割当サイクル番号が0である場合、HLS用のONUの変数「RequestSize」の値を更新する。すなわち、割当部54は、SR-DBAのDBAサイクル(要求量受信サイクル)の先頭にて、HLS用のONUの変数「RequestSize」の値を更新する。
 図10は、上り送信のデータ量固定割当データ量及び追加割当データ量を算出する手順の例を示すフローチャートである。割当部54は、LLS用のONUの残余分(LLS用の全てのONU6の要求量「RequestSize」が0)になった場合、HLS用のONU7の要求量に基づいて、HLS用のONU7に上りデータ量を割り当てる。さらに、両者で余った上りデータ量をLLS用のONU6に均等に割り当てるように、追加割当データ量に関して、HLS用の追加割当処理(図13、図14及び図15)を先に実行した後、LLS用の追加割当処理(図16)を実行する。
 割当部54は、図11を用いて後述されるように、HLS用のONUの要求量の通知に必要とされるデータ量(HLS固定割当データ量)を、HLS用のONUに割り当てる(ステップS501)。割当部54は、図12を用いて後述されるように、LLS用のONUの固定割当データ量(LLS固定割当データ量)を、LLS用のONUに割り当てる(ステップS502)。
 割当部54は、図13、図14及び図15を用いて後述されるように、HLS用のONUの上りデータの送信に関する要求量に応じて適応的に、残った未割当のデータ量をHLS用のONUに追加割当する(ステップS503)。割当部54は、図16を用いて後述されるように、LLS用のONUの上りデータの送信に関する要求量に応じて適応的に、残った未割当のデータ量をLLS用のONUに追加割当する(ステップS504)。
 なお、図10から図16までまでの各フローチャートにおいて、説明を簡単にするために、誤り訂正のためのパリティビット分を含まない割り当てが記載されている。図10から図16までの各フローチャートは、パリティビットを含む割り当てのフローチャートでもよい。
 図11は、要求量の通知に必要とされるデータ量をHLS用のONU7に割り当てる手順の例を示すフローチャートである。以下では、要求量の通知に必要とされるデータ量を「要求量通知用割当データ量」と表記する。以下では、割当サイクル内にて割当可能なデータ量のうち、未割当のデータ量を示す値を「rGrantCycleLength」と表記する。以下では、バースト・オーバヘッド(Burst Overhead)を「BOH」と表記する。
 割当部54は、変数「rGrantCycleLength」に、割当サイクル長において送信できる最大データ量を代入する(ステップS601)。割当部54は、HLS現在割当サイクル番号と要求量通知用割当サイクル番号とが等しいか否かを判定する(ステップS602)。HLS現在割当サイクル番号と要求量通知用割当サイクル番号とが異なる場合(ステップS602:NO)、割当部54は、図11に示された処理を終了する。
 HLS現在割当サイクル番号と要求量通知用割当サイクル番号とが等しい場合(ステップS602:YES)、割当部54は、変数「id」の値を0にする(ステップS603)。割当部54は、変数「id」の値と変数「接続ONU数」の値とが等しいか否かを判定する(ステップS604)。変数「id」の値と変数「接続ONU数」の値とが等しい場合(ステップS604:YES)、割当部54は、図11に示された処理を終了する。
 変数「id」の値と変数「接続ONU数」の値とが異なる場合(ステップS604:NO)、割当部54は、論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表すか否かを判定する(ステップS605)。論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表す場合(ステップS605:YES)、割当部54は、ステップS604に処理を戻す。論理リンク識別子[id]の設定値(ONU_TYPE)がHLSを表す場合(ステップS605:NO)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「要求量通知用割当データ量+BOH」の値を代入する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」に1を代入する。要求量通知要求フラグが1であるとは、要求量の通知をONUに指示することを意味する(ステップS606)。
 割当部54は、変数「rGrantCycleLength」の値から、変数「割り当てデータ量[論理リンク識別子[id]]」の値を減算する。割当部54は、変数「AllocatedSize[id]」の値を0にする(ステップS607)。割当部54は、変数「id」の値をインクリメントする(ステップS608)。割当部54は、ステップS604に処理を戻す。
 図12は、LLS用のONU6に固定データ量を割り当てる手順の例を示すフローチャートである。要求量「RequestSize」の値とは無関係に、割当サイクルごとにLLS用のONUに割り当てるデータ量を、以下では「LLS最小割当データ量」と表記する。
 割当部54は、変数「id」の値と変数「接続ONU数」の値とが等しいか否かを判定する(ステップS701)。変数「id」の値と変数「接続ONU数」の値とが等しい場合(ステップS701:YES)、割当部54は、図12に示された処理を終了する。変数「id」の値と変数「接続ONU数」の値とが異なる場合(ステップS701:NO)、割当部54は、論理リンク識別子[id]のONU_TYPEがLLSを表しているか否かを判定する(ステップS702)。論理リンク識別子[id]のONU_TYPEがHLSを表している場合(ステップS702:NO)、割当部54は、図12に示された処理を終了する。
 論理リンク識別子[id]のONU_TYPEがLLSを表している場合(ステップS702:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「LLS最小割当データ量+BOH」の値を代入する(ステップS703)。割当部54は、変数「rGrantCycleLength」の値から、変数「割当データ量[論理リンク識別子[id]]の値を減算する(ステップS704)。割当部54は、変数「id」の値をインクリメントする(ステップS705)。割当部54は、ステップS701に処理を戻す。
 図13は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第1部分である。固定割当データ量計算(図10におけるステップS501及びステップS502)において、バーストオーバヘッドが割当データ量として既に付与されている場合、バーストオーバヘッドが割当データ量として追加付与されないようにするために、割当部54は、未付与のバーストオーバヘッド量「AddBOH」を算出する。
 図13、図14及び図15における追加割当処理では、割当部54は、変数「RequestSize」以上の要求量を割り当てないようにする。割り当ての要求量が変数「RequestSize」よりも小さい場合、割当部54は、割り当てた上りデータ量(要求量)を変数「RequestSize」から減算し、減算された上りデータ量を次の割当サイクルに繰り越す。
 割当部54は、変数「LLS有効ONU数」の値が0であり、かつ、変数「HLS有効ONU数」の値が0より大きいか否かを判定する(ステップS801)。変数「LLS有効ONU数」の値が0であり、かつ、変数「HLS有効ONU数」の値が0より大きい場合(ステップS801:YES)、割当部54は、変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しいか否かを判定する(ステップS802)。
 変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しい場合(ステップS802:YES)、割当部54は、未付与のバーストオーバヘッド量の変数「AddBOH」の値を0にする(ステップS803)。割当部54は、ステップS805に処理を進める。
 変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが異なる場合(ステップS802:NO)、割当部54は、未付与のバーストオーバヘッド量の変数「AddBOH」の値を、変数「BOH×HLS有効ONU数」の値にする(ステップS804)。割当部54は、ステップS805に処理を進める。
 割当部54は、変数「rGrantCycleLength」の値が変数「AddBOH」の値よりも大きいか否かを判定する(ステップS805)。変数「rGrantCycleLength」の値が変数「AddBOH」の値よりも大きい場合(ステップS805:YES)、割当部54は、変数「AddGrantSizeHls」に、「(rGrantCycleLength-AddBOH)/HLS有効ONU数」の結果を代入する(ステップS806)。割当部54は、変数「id」の値を0にする(ステップS807)。
 割当部54は、変数「id」の値と変数「接続ONU数」の値とが等しいか否かを判定する(ステップS808)。変数「id」の値と変数「接続ONU数」の値とが異なる場合(ステップS808:NO)、割当部54は、論理リンク識別子[id]のONU_TYPEがLLSを表しているか否かを判定する(ステップS809)。論理リンク識別子[id]のONU_TYPEがHLSを表している場合(ステップS809:NO)、割当部54は、変数「RequestSize[id]」の値が0よりも大きいか否かを判定する(ステップS810)。変数「RequestSize[id]」の値が0よりも大きい場合(ステップS810:YES)、割当部54は、変数「RequestSize[id]」の値が変数「AddGrantSizeHls」の値より大きいか否かを判定する(ステップS811)。
 図14は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第2部分である。割当部54は、変数「AddBOH」の値が0より大きいか否かを判定する(ステップS812)。変数「AddBOH」の値が0以下である場合(ステップS812:NO)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「AddGrantSizeHls」の値を加算する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「AddGrantSizeHls」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「AddGrantSizeHls」の値を減算する(ステップS813)。割当部54は、ステップS815に処理を進める。
 変数「AddBOH」の値が0より大きい場合(ステップS812:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「AddGrantSizeHls+BOH」の値を代入する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「AddGrantSizeHls」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「AddGrantSizeHls+BOH」の値を減算する(ステップS814)。
 割当部54は、変数「RequestSize[id]」の値から、変数「AddGrantSizeHls」の値を減算する(ステップS815)。割当部54は、変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さいか否かを判定する(ステップS816)。変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さい場合(ステップS816:YES)、割当部54は、ステップS818に処理を進める。
 変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値以上である場合(ステップS816:NO)、割当部54は、変数「AllocatedSize[id]」の値に、変数「AllocatedSizeTmpの値を加算する(ステップS817)。割当部54は、変数「id」の値をインクリメントする(ステップS818)。
 図15は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第3部分である。割当部54は、変数「AddBOH」の値が0より大きいか否かを判定する(ステップS819)。変数「AddBOH」の値が0より大きい場合(ステップS819:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「RequestSize[id]+BOH」の値を減算する(ステップS820)。
 変数「AddBOH」の値が0以下である場合(ステップS819:NO)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「RequestSize[id]」の値を加算する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「RequestSize[id]」の値を減算する(ステップS821)。割当部54は、変数「RequestSize[id]」の値に0を代入する(ステップS822)。
 図16は、LLS用のONU6に追加データ量を割り当てる手順の例を示す図である。
未割当データ量が存在し、かつ、LLS有効ONU数が0でない場合、割当部54は、要求量を表す変数「RequestSize」が0でないLLS用のONU6のみに対して、未割当データ量を均等に分配する。LLS有効ONU数が0である場合、割当部54は、LLS用の全てのONUに対して、未割当データ量を均等に分配する。
 割当部54は、変数「rGrantCycleLength」の値が0よりも大きいか否かを判定する(ステップS901)。変数「rGrantCycleLength」の値が0以下である場合(ステップS901:NO)、割当部54は、図16に示された処理を終了する。変数「rGrantCycleLength」の値が0よりも大きい場合(ステップS901:YES)、割当部54は、変数「LLS有効ONU数」の値が0であるか否かを判定する(ステップS902)。
 変数「LLS有効ONU数」の値が0である場合(ステップS902:YES)、割当部54は、変数「AddGrantSizeHls」に、「rGrantCycleLength/LLS接続ONU数」の結果を代入する(ステップS903)。変数「LLS有効ONU数」の値が0でない場合(ステップS902:NO)、割当部54は、変数「AddGrantSizeHls」に、「rGrantCycleLength/LLS有効ONU数」の結果を代入する(ステップS904)。割当部54は、変数「id」の値を0にする(ステップS905)。
 割当部54は、変数「id」の値と変数「接続ONU数」の値とが等しいか否かを判定する(ステップS906)。変数「id」の値と変数「接続ONU数」の値とが等しい場合(ステップS906:YES)、割当部54は、図16に示された処理を終了する。変数「id」の値と変数「接続ONU数」の値とが異なる場合(ステップS906:NO)、割当部54は、論理リンク識別子[id]のONU_TYPEがLLSを表しているか否かを判定する(ステップS907)。論理リンク識別子[id]のONU_TYPEがHLSを表している場合(ステップS907:NO)、割当部54は、ステップS913に処理を進める。
 論理リンク識別子[id]のONU_TYPEがLLSを表している場合(ステップS907:YES)、割当部54は、変数「RequestSize[id]」の値が0よりも大きいか否か、又は、変数「LLS有効ONU数」の値が0であるか否かを判定する(ステップS908)。変数「RequestSize[id]」の値が0以下である、かつ、変数「LLS有効ONU数」の値が0でない場合(ステップS908:NO)、割当部54は、ステップS913に処理を進める。
 変数「RequestSize[id]」の値が0よりも大きい、又は、変数「LLS有効ONU数」の値が0である場合(ステップS908:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「AddGrantSizeLls」の値を加算する(ステップS909)。
 割当部54は、LLS用のONU6に対する上りデータ量について予め定められた最小到着量と変数「AddGrantSizeLls」の値とのうちで小さいほうの値よりも、変数「RequestSize[id]」の値が小さいか否かを判定する(ステップS910)。変数「RequestSize[id]」の値が最小到着量と変数「AddGrantSizeLls」の値とのうちで小さいほうの値以上である場合(ステップS910:NO)、割当部54は、変数「RequestSize[id]」の値から、最小到着量と変数「AddGrantSizeLls」の値とのうちで小さいほうの値を減算する(ステップS911)。
 最小到着量と変数「AddGrantSizeLls」の値とのうちで小さいほうの値よりも、変数「RequestSize[id]」の値が小さい場合(ステップS910:YES)、割当部54は、変数「RequestSize[id]」に0を代入する(ステップS912)。割当部54は、変数「id」をインクリメントする(ステップS913)。割当部54は、ステップS906に処理を戻す。
 以上のように、第1実施形態のOLT5(帯域割当装置)は、連携処理部50(取得部)と、要求量受信部52と、割当部54とを備える。連携処理部50は、上りデータを低遅延で転送する必要があるONU6(第1加入者線終端装置)の上りデータの送信に関するスケジューリング情報を取得する。要求量受信部52は、上りデータを低遅延で転送する必要がないONU7(第2加入者線終端装置)から、ONU7の上りデータの送信に関する要求量を表す情報を、最大RTT以上のサイクルである要求量受信サイクルで受信する。割当部54は、要求量受信サイクルよりも短い割当量算出サイクル(割当量決定サイクル)で、スケジューリング情報に基づいてONU6の上りデータに帯域を割り当てる。
割当部54は、要求量受信サイクルよりも短い割当量算出サイクル(割当量決定サイクル)で、要求量を表す情報に基づいてONU7の上りデータに帯域を割り当てる。
 これによって、第1実施形態のOLT5は、連携DBAとSR-DBAとを両立させることが可能である。
 すなわち、第1実施形態のOLT5は、同一OLT上で、SR-DBAと連携DBAとを仮想的に異なるDBAサイクルで動作させることが可能である。第1実施形態のOLT5は、SR-DBAと連携DBAとの同時運用(融合)による、LLS向けの低遅延とHLS及びFTTH向けの高帯域利用効率とを両立させることが可能である。
 第1実施形態の割当部54は、要求量通知用割当102において、要求量を表す情報の上りデータの送信用に帯域を割り当ててもよい。割当部54は、要求量を表す情報の上りデータの送信用に割り当てられずに残った帯域を、連携DBA用割当101において、ONU6の上りデータの送信用に割り当ててもよい。割当部54は、ONU6の上りデータに割り当てられずに残った帯域を、SR-DBA用割当103において、ONU7の上りデータの送信用に割り当ててもよい。割当部54は、ONU7の上りデータの送信用に割り当てられずに残った帯域を、ONU6の上りデータに例えば均等に割り当ててもよい。
 また、第1の実施形態において、ONU7は、HLS用の下位装置9と接続されているが、FTTH用の下位装置と接続されても良い。この場合、上位装置3は同様にFTTH用の装置である。また、FTTH用の上位装置とHLS用の上位装置とは、光通信システム1において混在しても良い。
 (第2実施形態)
 第2実施形態では、HLS用のONU7に対して、最低割当データ量(以下「最小データ量」という。)から最大割当データ量(以下「最大データ量」という。)までの範囲内で割当部54が割り当てる点が、第1実施形態と相違する。第2実施形態では、第1実施形態との相違点を説明する。
 図17は、要求量と割当量(割当データ量)との関係の例を示す図である。最小データ量は、HLS用のONU7からOLT5に通知された要求量の有無に関係なく、HLS用のONU7に割り当てるデータ量である。最大データ量は、HLS用のONU7に割り当て可能であるデータ量の最大値である。最小データ量及び最大データ量は、HLS用のONU7ごとに、外部装置等によって予め定められた値である。追加割当可能である割当データ量の上限(割当上限)は、LLS用のONU6の残余データ量(LLS用の全てのONU6の要求量「RequestSize」が0であることによって余る帯域))に応じて変化する。すなわち、割当データ量の残余(残余データ量)次第で、追加割当が可能である割当データ量の上限(割当上限)が変化する。最大データ量は、残余データ量が最大データ量よりも大きい場合のみ有効である。最小データ量は、残余データ量が最小データ量よりも大きい場合のみ有効である。
 図18は、LLS用のONU6の要求量を取得する手順の例を示すフローチャートである。ステップS1001からステップS1007までの動作は、図6におけるステップS201からステップS207までの動作と同様である。
 図19は、HLS用のONU7の要求量を取得する手順(図5におけるステップS101)の例を示すフローチャートである。割当部54は、HLS現在割当サイクル番号が0であるか否かを判定する。すなわち、割当部54は、現在時刻がSR-DBAのDBAサイクルの先頭時刻であるか否かを判定する(ステップS1101)。HLS現在割当サイクル番号が0でない場合(ステップS1101:NO)、割当部54は、図18のステップS1007に処理を戻す。
 HLS現在割当サイクル番号が0である場合(ステップS1101:YES)、割当部54は、論理リンク識別子[id]の要求量を、要求量受信部52から取得する(ステップS1102)。割当部54は、論理リンク識別子[id]の要求量(上りデータ量)を、変数「RequestSizeTmp[id]」に代入する(ステップS1103)。
割当部54は、変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値よりも大きいか否かを判定する(ステップS1104)。
 変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値よりも大きい場合(ステップS1104:YES)、割当部54は、論理リンク識別子[id]の要求量(RequestSize)の値から、割り当てられたデータ量(AllocatedSize[id])の値を減算する(ステップS1105)。
 変数「RequestSizeTmp[id]」の値が変数「AllocatedSize[id]」の値以下である場合(ステップS1104:NO)、割当部54は、変数「RequestSizeTmp[id]」に0を代入する(ステップS1106)。
 割当部54は、変数「RequestSizeTmp[id]」の値が変数「最小データ量[論理リンク識別子[id]]」の値よりも大きいか否かを判定する(ステップS1107)。変数「RequestSizeTmp[id]」の値が変数「最小データ量[論理リンク識別子[id]]」の値よりも大きい場合(ステップS1107:YES)、割当部54は、ステップS1109に処理を進める。
 変数「RequestSizeTmp[id]」の値が変数「最小データ量[論理リンク識別子[id]]」の値以下である場合(ステップS1107:NO)、割当部54は、変数「RequestSizeTmp[id]」に、変数「最小データ量[論理リンク識別子[id]]」の値を代入する(ステップS1108)。割当部54は、変数「RequestSizeTmp[id]」の値が、変数「最大データ量[論理リンク識別子[id]]」の値よりも大きいか否かを判定する(ステップS1109)。
 変数「RequestSizeTmp[id]」の値が、変数「最大データ量[論理リンク識別子[id]]」の値よりも大きい場合(ステップS1109:YES)、割当部54は、図18に示されているステップS1007に処理を進める。
 変数「RequestSizeTmp[id]」の値が、変数「最大データ量[論理リンク識別子[id]]」の値以下である場合(ステップS1109:NO)、割当部54は、変数「RequestSizeTmp[id]」に、変数「最大データ量[論理リンク識別子[id]]」の値を代入する(ステップS1110)。割当部54は、図18に示されているステップS1007に処理を進める。
 以上のように、第2実施形態の割当部54は、予め定められた最小データ量を表す情報と、予め定められた最大データ量を表す情報とを取得する。割当部54は、要求量が最小データ量未満である場合、ONU7の上りデータの送信用に最小データ量の帯域を割り当てる。割当部54は、要求量が最大データ量を超えている場合、ONU7の上りデータの送信用に最大データ量の帯域を割り当てる。
 これによって、第2実施形態のOLT5は、連携DBAとSR-DBAとを両立させる効率を向上させることが可能である。
 (第3実施形態)
 第3実施形態では、HLS用のONU7の上りデータの追加割当処理において、HLS用のONU7ごとに予め定められた重み係数に応じて割当部54が残余データ量をHLS用のONU7に分配する点が、第1実施形態及び第2実施形態と相違する。第3実施形態では、第1実施形態及び第2実施形態との相違点を説明する。
 以下、要求量「RequestSize」が0でないHLS用のONUの重み係数(OnuWeight)の和を「OnuWeightSum」と表記する。割当部54は、変数「AddGrantSizeHls」の値を重み係数に応じて算出することによって、HLS用のONU7の割当データ量を決定する。
 図20は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第1部分である。割当部54は、変数「LLS有効ONU数」の値が0であり、かつ、変数「HLS有効ONU数」の値が0より大きいか否かを判定する(ステップS1201)。変数「LLS有効ONU数」の値が0であり、かつ、変数「HLS有効ONU数」の値が0より大きい場合(ステップS1201:YES)、割当部54は、変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しいか否かを判定する(ステップS1202)。
 変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しい場合(ステップS1202:YES)、割当部54は、未付与のバーストオーバヘッド量の変数「AddBOH」の値を0にする(ステップS1203)。
割当部54は、ステップS1205に処理を進める。
 変数「HLS現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが異なる場合(ステップS1202:NO)、割当部54は、未付与のバーストオーバヘッド量の変数「AddBOH」の値を、変数「BOH×HLS有効ONU数」の値にする(ステップS1204)。割当部54は、ステップS1205に処理を進める。
 割当部54は、変数「rGrantCycleLength」の値が変数「AddBOH」の値よりも大きいか否かを判定する(ステップS1205)。変数「rGrantCycleLength」の値が変数「AddBOH」の値よりも大きい場合(ステップS1205:YES)、割当部54は、変数「AddGrantSizeHls」に、「(rGrantCycleLength-AddBOH)/OnuWeightSum」の結果を代入する(ステップS1206)。割当部54は、変数「id」の値を0にする(ステップS1207)。
 割当部54は、変数「id」の値と変数「接続ONU数」の値とが等しいか否かを判定する(ステップS1208)。変数「id」の値と変数「接続ONU数」の値とが異なる場合(ステップS1208:NO)、割当部54は、論理リンク識別子[id]のONU_TYPEがLLSを表しているか否かを判定する(ステップS1209)。論理リンク識別子[id]のONU_TYPEがHLSを表している場合(ステップS1209:NO)、割当部54は、変数「AddGrantSizeHls」に、「AddGrantSizeHlsTmp×重み係数[論理リンク識別子[id]]」の結果を代入する(ステップS1210)。
 割当部54は、変数「RequestSize[id]」の値が0よりも大きいか否かを判定する(ステップS1211)。変数「RequestSize[id]」の値が0よりも大きい場合(ステップS1211:YES)、割当部54は、変数「RequestSize[id]」の値が変数「AddGrantSizeHls」の値より大きいか否かを判定する(ステップS1212)。
 図21は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第2部分である。割当部54は、変数「AddBOH」の値が0より大きいか否かを判定する(ステップS1213)。変数「AddBOH」の値が0以下である場合(ステップS1213:NO)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「AddGrantSizeHls」の値を加算する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。
割当部54は、変数「AllocatedSizeTmp」の値に、変数「AddGrantSizeHls」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「AddGrantSizeHls」の値を減算する(ステップS1214)。割当部54は、ステップS1216に処理を進める。
 変数「AddBOH」の値が0より大きい場合(ステップS1213:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「AddGrantSizeHls+BOH」の値を代入する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「AddGrantSizeHls」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「AddGrantSizeHls+BOH」の値を減算する(ステップS1215)。
 割当部54は、変数「RequestSize[id]」の値から、変数「AddGrantSizeHls」の値を減算する(ステップS1216)。割当部54は、変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さいか否かを判定する(ステップS1217)。変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さい場合(ステップS1217:YES)、割当部54は、ステップS1219に処理を進める。
 変数「HLS現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値以上である場合(ステップS1217:NO)、割当部54は、変数「AllocatedSize[id]」の値に、変数「AllocatedSizeTmpの値を加算する(ステップS1218)。割当部54は、変数「id」の値をインクリメントする(ステップS1219)。
 図22は、HLS用のONU7に追加データ量を割り当てる手順の例を示すフローチャートの第3部分である。割当部54は、変数「AddBOH」の値が0より大きいか否かを判定する(ステップS1220)。変数「AddBOH」の値が0より大きい場合(ステップS1220:YES)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「RequestSize[id]+BOH」の値を減算する(ステップS1221)。
 変数「AddBOH」の値が0以下である場合(ステップS1220:NO)、割当部54は、変数「割当データ量[論理リンク識別子[id]]」の値に、変数「RequestSize[id]」の値を加算する。割当部54は、変数「要求量通知要求フラグ[論理リンク識別子[id]]」の値に0を代入する。割当部54は、変数「AllocatedSizeTmp」の値に、変数「RequestSize[id]」の値を代入する。割当部54は、変数「rGrantCycleLength」の値から、変数「RequestSize[id]」の値を減算する(ステップS1222)。割当部54は、変数「RequestSize[id]」の値に0を代入する(ステップS1223)。
 図23は、HLS用のONU7の重み係数を計測する処理を含む、ONUのデータの要求量を取得する手順の例(図5におけるステップS102)を示すフローチャートである。割当部54は、変数「id」に0を代入し、変数「LLS有効ONU数」に0を代入し、変数「HLS有効ONU数」に0を代入し、変数「LLS接続ONU数」に0を代入し、変数「OnuWeightSum」に0を代入する(ステップS1301)。
 割当部54は、変数「id」と接続されているONUの数とが等しいか否かを判定する(ステップS1302)。変数「id」と接続されているONUの数とが等しい場合(ステップS1301:YES)、割当部54は、図8に示された処理を終了する。変数「id」と接続されているONUの数とが異なる場合(ステップS1301:NO)、割当部54は、論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表すか否かを判定する(ステップS1303)。
 論理リンク識別子[id]の設定値(ONU_TYPE)がLLSを表す場合(ステップS1303:YES)、割当部54は、割当サイクル先頭時刻が時刻「RequestTime[id]」よりも前であるか否かを判定する(ステップS1304)。割当サイクル先頭時刻が時刻「RequestTime[id]」よりも前である場合(ステップS1304:YES)、割当部54は、ステップS1307に処理を進める。
 割当サイクル先頭時刻が時刻「RequestTime[id]」以降である場合(ステップS1304:NO)、割当部54は、要求量を表す変数「RequestSize[id]」の値に、変数「RequestSizeTmp[id]」の値を加算する(ステップS1305)。割当部54は、変数「RequestSizeTmp[id]」の値を0にする(ステップS1306)。
 割当部54は、変数「RequestSize[id]」の値が0より大きいか否かを判定する(ステップS1307)。変数「RequestSize[id]」の値が0以下である場合(ステップS1307:NO)、割当部54は、ステップS1309に処理を進める。変数「RequestSize[id]」の値が0より大きい場合(ステップS1307:YES)、割当部54は、変数「LLS有効ONU数」の値をインクリメントする(ステップS1308)。
 割当部54は、変数「LLS接続ONU数」の値をインクリメントする(ステップS1309)。割当部54は、変数「id」の値をインクリメントする(ステップS1310)。割当部54は、ステップS1302に処理を戻す。
 論理リンク識別子[id]の設定値(ONU_TYPE)がHLSを表す場合(ステップS1303:NO)、割当部54は、変数「HLS現在割り当てサイクル番号」が0と等しいか否かを判定する(ステップS1311)。変数「HLS現在割り当てサイクル番号」が0とは異なる場合(ステップS1311:NO)、割当部54は、ステップS1313に処理を進める。変数「HLS現在割り当てサイクル番号」が0と等しい場合(ステップS1311:YES)、割当部54は、変数「RequestSize[id]」の値に、変数「RequestSizeTmp[id]」の値を代入する(ステップS1312)。
 割当部54は、変数「RequestSize[id]」の値が0より大きいか否かを判定する(ステップS1313)。変数「RequestSize[id]」の値が0以下である場合(ステップS1313:NO)、割当部54は、ステップS1310に処理を進める。
 変数「RequestSize[id]」の値が0より大きい場合(ステップS1307:YES)、割当部54は、変数「HLS有効ONU数」の値をインクリメントする。
割当部54は、変数「OnuWeightSum」の値に、変数「重み係数[論理リンク識別子[id]]」の値を加算する(ステップS1314)。割当部54は、ステップS1310に処理を進める。
 図24は、重み係数と上り遅延との関係の例を示す図である。HLS用の各ONU7の重み係数が互いに同じである場合、割当部54は、HLS用の各ONU7に同条件で上りデータ量を割り当てる。HLS用の各ONU7の重み係数が互いに同じである場合、HLS用の各ONU7の上り遅延は同等である。HLS用の各ONU7の重み係数が互いに異なる場合、割当部54は、重み係数が大きいHLS用のONU7を優先して、HLS用のONU7の上りデータの送信用に帯域を割り当てる。重み係数が大きいHLS用のONU7の上りデータの上り遅延は、重み係数が小さいHLS用のONU7の上りデータの上り遅延よりも小さい。
 以上のように、第3実施形態の割当部54は、ONU7ごとに定められた重み係数と、要求量を表す情報とに基づいて、要求量のデータ量の帯域を上限として、ONU7の上りデータの送信用に帯域を割り当てる。
 これによって、第3実施形態のOLT5は、連携DBAとSR-DBAとを両立させる効率を向上させることが可能である。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 上述した実施形態における、OLT、ONU、上位装置及び下位装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
 本発明は、光通信システムに適用可能である。
 1…光通信システム、2…上位装置、3…上位装置、4…L2SW、5…OLT、6…ONU、7…ONU、8…下位装置、9…下位装置、50…連携処理部、51…通信部、52…要求量受信部、53…ONU管理部、54…割当部、100…要求量受信、101…連携DBA用割当、102…要求量通知用割当、103…SR-DBA用割当

Claims (8)

  1.  上りデータを低遅延で転送する必要がある加入者線終端装置である第1加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、
     上りデータを低遅延で転送する必要がない加入者線終端装置である第2加入者線終端装置から、第2加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、
     前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第1加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第2加入者線終端装置の上りデータに帯域を割り当てる割当部と
     を備える帯域割当装置。
  2.  前記割当部は、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当て、第1加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第2加入者線終端装置の上りデータの送信用に割り当て、第2加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当てる、請求項1に記載の帯域割当装置。
  3.  前記割当部は、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第2加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第2加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる、請求項1又は請求項2に記載の帯域割当装置。
  4.  前記割当部は、第2加入者線終端装置ごとに定められた重み係数と、前記要求量を表す情報とに基づいて、前記要求量のデータ量の帯域を上限として、第2加入者線終端装置の上りデータの送信用に帯域を割り当てる、請求項1から請求項3のいずれか一項に記載の帯域割当装置。
  5.  帯域割当装置が実行する帯域割当方法であって、
     上りデータを低遅延で転送する必要がある加入者線終端装置である第1加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得するステップと、
     上りデータを低遅延で転送する必要がない加入者線終端装置である第2加入者線終端装置から、第2加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信するステップと、
     前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第1加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第2加入者線終端装置の上りデータに帯域を割り当てるステップと
     を含む帯域割当方法。
  6.  前記割り当てるステップでは、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当て、第1加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第2加入者線終端装置の上りデータの送信用に割り当て、第2加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第1加入者線終端装置の上りデータの送信用に割り当てる、請求項5に記載の帯域割当方法。
  7.  前記割り当てるステップは、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第2加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第2加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる、請求項5又は請求項6に記載の帯域割当方法。
  8.  請求項1から請求項4のいずれか一項に記載の帯域割当装置としてコンピュータを機能させるための帯域割当プログラム。
PCT/JP2019/032107 2018-08-22 2019-08-16 帯域割当装置、帯域割当方法及び帯域割当プログラム Ceased WO2020040047A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/269,211 US11849432B2 (en) 2018-08-22 2019-08-16 Bandwidth allocation apparatus, bandwidth allocation method, and bandwidth allocation program
CN201980053615.1A CN112534781B (zh) 2018-08-22 2019-08-16 带宽分配装置以及带宽分配方法
EP19852069.4A EP3823221B1 (en) 2018-08-22 2019-08-16 Band allocation device, band allocation method, and band allocation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018155620A JP6963185B2 (ja) 2018-08-22 2018-08-22 帯域割当装置、帯域割当方法及び帯域割当プログラム
JP2018-155620 2018-08-22

Publications (1)

Publication Number Publication Date
WO2020040047A1 true WO2020040047A1 (ja) 2020-02-27

Family

ID=69592756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/032107 Ceased WO2020040047A1 (ja) 2018-08-22 2019-08-16 帯域割当装置、帯域割当方法及び帯域割当プログラム

Country Status (5)

Country Link
US (1) US11849432B2 (ja)
EP (1) EP3823221B1 (ja)
JP (1) JP6963185B2 (ja)
CN (1) CN112534781B (ja)
WO (1) WO2020040047A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114520938A (zh) * 2020-11-20 2022-05-20 华为技术有限公司 一种数据传输方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178375A1 (ja) * 2013-05-02 2014-11-06 三菱電機株式会社 親局装置、子局装置、光通信システム、制御装置および帯域割当方法
JP2017208769A (ja) * 2016-05-20 2017-11-24 日本電信電話株式会社 端局装置及び帯域割当方法
WO2018020559A1 (ja) * 2016-07-25 2018-02-01 三菱電機株式会社 光ネットワークの光端局装置および上りスケジューリング方式
JP2018101912A (ja) * 2016-12-20 2018-06-28 日本電信電話株式会社 端局装置及び帯域割当方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925068B1 (en) * 1999-05-21 2005-08-02 Wi-Lan, Inc. Method and apparatus for allocating bandwidth in a wireless communication system
US8913549B2 (en) * 2011-08-11 2014-12-16 Cortina Access, Inc. Congestion control in an optical line terminal
WO2015117653A1 (en) * 2014-02-06 2015-08-13 Telefonaktiebolaget L M Ericsson (Publ) Improved control channel for a radio access technology
US20160270118A1 (en) * 2015-03-13 2016-09-15 Qualcomm Incorporated Low-latency time-sharing media access control
US20160270018A1 (en) * 2015-03-13 2016-09-15 Qualcomm Incorporated Synchronous low-latency media access control
WO2016158846A1 (ja) * 2015-03-30 2016-10-06 日本電信電話株式会社 端局装置及び帯域割当方法
CN108141345B (zh) * 2015-10-08 2021-01-08 日本电信电话株式会社 传输系统、传输方法以及传输装置
EP3301986A1 (en) * 2016-09-30 2018-04-04 Panasonic Intellectual Property Corporation of America Improved uplink resource allocation among different ofdm numerology schemes
WO2018143398A1 (ja) * 2017-02-02 2018-08-09 株式会社Nttドコモ ユーザ端末及び無線通信方法
WO2018171964A1 (en) * 2017-03-24 2018-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Harq process for grant-free uplink transmissions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178375A1 (ja) * 2013-05-02 2014-11-06 三菱電機株式会社 親局装置、子局装置、光通信システム、制御装置および帯域割当方法
JP2017208769A (ja) * 2016-05-20 2017-11-24 日本電信電話株式会社 端局装置及び帯域割当方法
WO2018020559A1 (ja) * 2016-07-25 2018-02-01 三菱電機株式会社 光ネットワークの光端局装置および上りスケジューリング方式
JP2018101912A (ja) * 2016-12-20 2018-06-28 日本電信電話株式会社 端局装置及び帯域割当方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
5G-MFH HLS/LLS TDM-PON, April 2019 (2019-04-01), pages 19 - 24 *
D. HISANO ET AL.: "TDM-PON for Accomodating TDD-BasedFronthaul and Secondary Services", JOURNAL OF LIGHTWAVE TECHNOLOGY, vol. 35, no. 14, 15 July 2017 (2017-07-15)
H. OU ET AL.: "Integrated Dynamic Bandwidth Allocation for Low Buffer Aggregated Passive Optical Network Systems", JOURNAL OF OPTICAL COMMUNICATION NETWORK, vol. 7, no. 8, August 2015 (2015-08-01), XP011665961, DOI: 10.1364/JOCN.7.000814
H. UZAWA ET AL.: "Practical Mobile-DBA Scheme Considering Data Arrival Period for 5G Mobile Fronthaul with TDM-PON", EUROPEAN CONFERENCE ON OPTICAL COMMUNICATION (ECOC, 2017
HIROKO NOMURA, HIROTAKA USHIKAWA, HIROYUKI UZAWA, HIROTAKA NAKAMURA, JUN TERADA,: "Bandwidth allocation of co-existing HLS/LLS base stations for TDM-PON system in 5G-MFH", IEICE TECHNICAL REPORT, CS, vol. 119, no. 6 (CS2019-4), 11 April 2019 (2019-04-11), pages 19 - 24, XP009525779
NTT: "Basic Technology Course [GE-PON Technology], 3rd Session, DBA Function", NTT TECHNOLOGY JOURNAL, October 2005 (2005-10-01)
See also references of EP3823221A4
TAKEHIRO NAKAMURA: "Toward 5G Introduction in 2020", 5G DEPLOYMENT TOWARD 2020 AND BEYOND, MPLS JAPAN, 2016, Retrieved from the Internet <URL:<https://www.mplsjp/2016/presentations/20161107MPLS-Japan2016_Nakamura.pdf>>

Also Published As

Publication number Publication date
US11849432B2 (en) 2023-12-19
CN112534781B (zh) 2022-07-19
EP3823221A4 (en) 2022-04-06
US20220417914A1 (en) 2022-12-29
EP3823221B1 (en) 2023-05-24
CN112534781A (zh) 2021-03-19
JP6963185B2 (ja) 2021-11-05
JP2020031325A (ja) 2020-02-27
EP3823221A1 (en) 2021-05-19

Similar Documents

Publication Publication Date Title
CA2401490C (en) Dynamic bandwidth allocation circuit, dynamic bandwidth allocation method, dynamic bandwidth allocation program and recording medium
CN109729588A (zh) 业务数据传输方法及装置
US10827240B2 (en) Cooperatiave dynamic bandwidth allocation method in mobile network with optical network, and device of performing the cooperatiave dynamic bandwidth allocation method
KR102088922B1 (ko) 광 가입자 망에서 저지연 서비스 제공을 위한 대역 할당 장치 및 방법
JP6958649B2 (ja) 光ノード装置、光ネットワーク制御装置、および光ネットワーク制御方法
EP3780424B1 (en) Message processing method and device
CN112534781B (zh) 带宽分配装置以及带宽分配方法
JP4969367B2 (ja) 動的帯域割当方法、光端局装置、動的帯域割当プログラム
KR102013432B1 (ko) 사용자를 그룹과 연관 짓는 방법 및 기기
JP6291628B2 (ja) 端局装置及び帯域割当方法
CN108141403A (zh) 中继传输系统、中继传输方法以及中继传输装置
WO2019203005A1 (ja) 通信制御装置、通信制御方法及び通信制御システム
CN112262551B (zh) 订户线路终端站装置和频带分配方法
JP6189806B2 (ja) 通信装置及び通信方法
JP6401677B2 (ja) 端局装置及び帯域割当方法
WO2016158767A1 (ja) 端局装置及び帯域割当方法
JP3768422B2 (ja) 動的帯域割当回路、加入者終端装置、ponシステム、動的帯域割当方法、動的帯域割当プログラムおよび記録媒体
WO2017028623A1 (zh) 信道配置方法和装置
JP6386420B2 (ja) 通信システム及び帯域割当方法
JP6640649B2 (ja) 端局装置及び帯域割当方法
JP5385229B2 (ja) 帯域割当方法、光端局装置及びponシステム
JP2019161454A (ja) 帯域割当装置及び帯域割当方法
JP6401678B2 (ja) 端局装置及び帯域割当方法
WO2018047942A1 (ja) 光伝送システム及び帯域割り当て方法
JP2018019381A (ja) 光加入者線終端装置、光加入者線ネットワーク装置及びコンピュータプログラム

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: 19852069

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019852069

Country of ref document: EP

Effective date: 20210215

NENP Non-entry into the national phase

Ref country code: DE